package afterserviceorder; import java.io.IOException; import java.util.Calendar; import java.util.Date; import baseclass.PaoCust; import baseclass.tools.GetFieldsName; import openapi.base.SQLFactory; import openapi.base.data.Rows; import openapi.base.data.db.DBConnect; import openapi.restcontroller.housekeeperpublic.tools.HttpURLRest; import p2.p2server.P2Server; import p2.pao.PaoRemote; import p2.pao.PaoSet; import p2.pao.PaoSetRemote; import p2.util.P2AppException; import p2.util.P2Exception; import sysmsg.sysmsg; public class afterserviceorder extends PaoCust { /** * 构造函数 * * @param arg0 */ public afterserviceorder(PaoSet arg0) { super(arg0); } @Override protected void save() throws P2Exception { super.save(); } @Override public void init() throws P2Exception { super.init(); try { if (!toBeAdded() && getThisPaoSet().getApp() != null) { if ("待处理".equals(getString("fstatus"))) { setFieldFlag("backreason", READONLY, false); }else { System.out.println(111); setFieldFlag("backreason", READONLY, true); } } } catch (Exception e) { e.printStackTrace(); } } @Override public void add() throws P2Exception { super.add(); setValue("fstatus","新建",11l); setValue("Servicenum",getBillNum("AFTERORDER"),11l); } @Override public void fieldAction(Object paoField, String fieldname) throws P2Exception { super.fieldAction(paoField, fieldname); } @Override public void fieldValidate(Object paoField, String fieldname) throws P2Exception { super.fieldValidate(paoField, fieldname); } @Override public void delete() throws P2Exception { super.delete(); } /**生成海盐工单**/ public long createhyWorkorder() throws P2Exception { if(!getString("fstatus").equals("待处理")&&!getString("fstatus").equals("进行中"))throw new P2AppException("","非处理和进行中状态不可生成工单"); PaoSetRemote hyworkorder = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo()); hyworkorder.setInsertSite(getSite()); System.out.println(getSite()); PaoRemote remote = hyworkorder.addAtEnd(); remote.setValue("FAGENTNUM",getString("FAGENTNUM"),11l); remote.setValue("servernum",getString("Servicenum"),11l); remote.setValue("FPROVINCE",getString("FPROVINCE"),11l); remote.setValue("FCITY",getString("FCITY"),11l); remote.setValue("FCOUNTY",getString("FCOUNTY"),11l); remote.setValue("FADDRESS",getString("FADDRESS"),11l); remote.setValue("scenefname",getString("scenefname"),11l); remote.setValue("scenephone",getString("scenephone"),2l); remote.setValue("errormsg",getString("error_msg"),11l); remote.setValue("ftext",getString("fnotes"),11l); String fsonum=getString("fsonum"); DBConnect connect = new DBConnect(); SQLFactory factory = null; if(getSite().equals("TZ")) { factory = new SQLFactory(this, "查询台州订单收货日期"); }else if(getSite().equals("HY")) { factory = new SQLFactory(this, "查询订单收货日期"); } Rows rows = new Rows(); if(fsonum!=null && fsonum.length()>0) { factory.addParameter("fsonum", fsonum); rows = connect.runSqlQuery(factory.getSQL()); } if(!rows.isEmpty()) { System.out.println(888); Date receivedate=rows.get(0).getDate("receivedate"); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, -2); Date date =calendar.getTime(); if(date.before(receivedate)) { System.out.println(999); remote.setValue("FISPERIOD",true,11l); } } hyworkorder.save(); //return 1; return remote.getUniqueIDValue(); } /**生成海盐工单**/ public long createhyWorkorder(String ftype) throws P2Exception { if(!getString("fstatus").equals("待处理")&&!getString("fstatus").equals("进行中"))throw new P2AppException("","非处理和进行中状态不可生成工单"); PaoSetRemote hyworkorder = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo()); hyworkorder.setInsertSite(getSite()); System.out.println(getSite()); PaoRemote remote = hyworkorder.addAtEnd(); remote.setValue("FAGENTNUM",getString("FAGENTNUM"),11l); remote.setValue("servernum",getString("Servicenum"),11l); remote.setValue("FPROVINCE",getString("FPROVINCE"),11l); remote.setValue("FCITY",getString("FCITY"),11l); remote.setValue("FCOUNTY",getString("FCOUNTY"),11l); remote.setValue("FADDRESS",getString("FADDRESS"),11l); remote.setValue("scenefname",getString("scenefname"),11l); remote.setValue("scenephone",getString("scenephone"),2l); remote.setValue("errormsg",getString("error_msg"),11l); remote.setValue("ftext",getString("fnotes"),11l); remote.setValue("ftype",ftype,11l); String fsonum=getString("fsonum"); DBConnect connect = new DBConnect(); SQLFactory factory = null; if(getSite().equals("TZ")) { factory = new SQLFactory(this, "查询台州订单收货日期"); }else if(getSite().equals("HY")) { factory = new SQLFactory(this, "查询订单收货日期"); } Rows rows = new Rows(); if(fsonum!=null && fsonum.length()>0) { factory.addParameter("fsonum", fsonum); rows = connect.runSqlQuery(factory.getSQL()); } if(!rows.isEmpty()) { System.out.println(888); Date receivedate=rows.get(0).getDate("receivedate"); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, -2); Date date =calendar.getTime(); if(date.before(receivedate)) { System.out.println(999); remote.setValue("FISPERIOD",true,11l); } } hyworkorder.save(); //return 1; return remote.getUniqueIDValue(); } @Override public void submit(boolean issubmit) throws P2Exception { if(issubmit){ if(!getString("fstatus").equals("新建"))throw new P2AppException("","非新建不可提交"); if(getSite().equals("TZ")) { /** 给经销商发送消息 **/ PaoSetRemote paoSet = getPaoSet("$workermassage", "workermassage", ""); PaoRemote remote1 = paoSet.addAtEnd(); remote1.setValue("ftype", "经销商消息", 11l); remote1.setValue("title", "服务申请单:" + getString("Servicenum") + "已经提交", 11l); remote1.setValue("content", "服务申请单:" + getString("Servicenum") + "已经提交", 11l); remote1.setValue("phone", getString("fagentnum"), 11l); } setValue("fstatus","待处理",11l); try { PaoSetRemote hyworker = P2Server.getP2Server().getPaoSet("HYWORKER", P2Server.getP2Server().getSystemUserInfo()); hyworker.setWhere("ROLE='服务主管' and siteid='"+getSite()+"'"); hyworker.reset(); PaoSetRemote tagents =getPaoSet("TAGENTS"); String fagentshortname = tagents.getPao(0).getString("FAGENTSHORTNAME"); int size = hyworker.count(); while (size>0 && getSite().equals("HY")){ String phone = hyworker.getPao(size-1).getString("WORKPHONE"); HttpURLRest rest = new HttpURLRest("http://smssh1.253.com/msg/v1/send/json"); rest.addHeader("Content-type", "application/json"); org.json.JSONObject jsonObject = new org.json.JSONObject(); jsonObject.put("account", "N3147701"); jsonObject.put("password", "4ClGyab6fv6a87"); jsonObject.put("msg", "【Banninger】服务单号:" + getString("SERVICENUM") + "已指派请处理,客户名称:"+fagentshortname+",提交人:"+getString("SUBMITBY")+",备注:"+getString("FNOTES")); jsonObject.put("phone", phone); rest.addRawBody(jsonObject.toString()); String s = rest.post(); PaoSetRemote verCodehistory = P2Server.getP2Server().getPaoSet("VerCodehistory", P2Server.getP2Server().getSystemUserInfo()); PaoRemote remote = verCodehistory.addAtEnd(); remote.setValue("phone", phone); remote.setValue("msg", "【Banninger】服务单号:" + getString("SERVICENUM") + "已指派请处理,客户名称:"+fagentshortname+",提交人:"+getString("SUBMITBY")+",备注:"+getString("FNOTES")); remote.setValue("content", s); verCodehistory.save(); size--; } } catch (IOException e) { e.printStackTrace(); } } } }