afterserviceorder.java 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package afterserviceorder;
  2. import java.io.IOException;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. import baseclass.PaoCust;
  6. import baseclass.tools.GetFieldsName;
  7. import openapi.base.SQLFactory;
  8. import openapi.base.data.Rows;
  9. import openapi.base.data.db.DBConnect;
  10. import openapi.restcontroller.housekeeperpublic.tools.HttpURLRest;
  11. import p2.p2server.P2Server;
  12. import p2.pao.PaoRemote;
  13. import p2.pao.PaoSet;
  14. import p2.pao.PaoSetRemote;
  15. import p2.util.P2AppException;
  16. import p2.util.P2Exception;
  17. import sysmsg.sysmsg;
  18. public class afterserviceorder extends PaoCust {
  19. /**
  20. * 构造函数
  21. *
  22. * @param arg0
  23. */
  24. public afterserviceorder(PaoSet arg0) {
  25. super(arg0);
  26. }
  27. @Override
  28. protected void save() throws P2Exception {
  29. super.save();
  30. }
  31. @Override
  32. public void init() throws P2Exception {
  33. super.init();
  34. try {
  35. if (!toBeAdded() && getThisPaoSet().getApp() != null) {
  36. if ("待处理".equals(getString("fstatus"))) {
  37. setFieldFlag("backreason", READONLY, false);
  38. }else {
  39. System.out.println(111);
  40. setFieldFlag("backreason", READONLY, true);
  41. }
  42. }
  43. } catch (Exception e) {
  44. e.printStackTrace();
  45. }
  46. }
  47. @Override
  48. public void add() throws P2Exception {
  49. super.add();
  50. setValue("fstatus","新建",11l);
  51. setValue("Servicenum",getBillNum("AFTERORDER"),11l);
  52. }
  53. @Override
  54. public void fieldAction(Object paoField, String fieldname) throws P2Exception {
  55. super.fieldAction(paoField, fieldname);
  56. }
  57. @Override
  58. public void fieldValidate(Object paoField, String fieldname) throws P2Exception {
  59. super.fieldValidate(paoField, fieldname);
  60. }
  61. @Override
  62. public void delete() throws P2Exception {
  63. super.delete();
  64. }
  65. /**生成海盐工单**/
  66. public long createhyWorkorder() throws P2Exception {
  67. if(!getString("fstatus").equals("待处理")&&!getString("fstatus").equals("进行中"))throw new P2AppException("","非处理和进行中状态不可生成工单");
  68. PaoSetRemote hyworkorder = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo());
  69. hyworkorder.setInsertSite(getSite());
  70. System.out.println(getSite());
  71. PaoRemote remote = hyworkorder.addAtEnd();
  72. remote.setValue("FAGENTNUM",getString("FAGENTNUM"),11l);
  73. remote.setValue("servernum",getString("Servicenum"),11l);
  74. remote.setValue("FPROVINCE",getString("FPROVINCE"),11l);
  75. remote.setValue("FCITY",getString("FCITY"),11l);
  76. remote.setValue("FCOUNTY",getString("FCOUNTY"),11l);
  77. remote.setValue("FADDRESS",getString("FADDRESS"),11l);
  78. remote.setValue("scenefname",getString("scenefname"),11l);
  79. remote.setValue("scenephone",getString("scenephone"),2l);
  80. remote.setValue("errormsg",getString("error_msg"),11l);
  81. remote.setValue("ftext",getString("fnotes"),11l);
  82. String fsonum=getString("fsonum");
  83. DBConnect connect = new DBConnect();
  84. SQLFactory factory = null;
  85. if(getSite().equals("TZ")) {
  86. factory = new SQLFactory(this, "查询台州订单收货日期");
  87. }else if(getSite().equals("HY")) {
  88. factory = new SQLFactory(this, "查询订单收货日期");
  89. }
  90. Rows rows = new Rows();
  91. if(fsonum!=null && fsonum.length()>0) {
  92. factory.addParameter("fsonum", fsonum);
  93. rows = connect.runSqlQuery(factory.getSQL());
  94. }
  95. if(!rows.isEmpty()) {
  96. System.out.println(888);
  97. Date receivedate=rows.get(0).getDate("receivedate");
  98. Calendar calendar = Calendar.getInstance();
  99. calendar.add(Calendar.YEAR, -2);
  100. Date date =calendar.getTime();
  101. if(date.before(receivedate)) {
  102. System.out.println(999);
  103. remote.setValue("FISPERIOD",true,11l);
  104. }
  105. }
  106. hyworkorder.save();
  107. //return 1;
  108. return remote.getUniqueIDValue();
  109. }
  110. /**生成海盐工单**/
  111. public long createhyWorkorder(String ftype) throws P2Exception {
  112. if(!getString("fstatus").equals("待处理")&&!getString("fstatus").equals("进行中"))throw new P2AppException("","非处理和进行中状态不可生成工单");
  113. PaoSetRemote hyworkorder = P2Server.getP2Server().getPaoSet("HYWORKORDER", P2Server.getP2Server().getSystemUserInfo());
  114. hyworkorder.setInsertSite(getSite());
  115. System.out.println(getSite());
  116. PaoRemote remote = hyworkorder.addAtEnd();
  117. remote.setValue("FAGENTNUM",getString("FAGENTNUM"),11l);
  118. remote.setValue("servernum",getString("Servicenum"),11l);
  119. remote.setValue("FPROVINCE",getString("FPROVINCE"),11l);
  120. remote.setValue("FCITY",getString("FCITY"),11l);
  121. remote.setValue("FCOUNTY",getString("FCOUNTY"),11l);
  122. remote.setValue("FADDRESS",getString("FADDRESS"),11l);
  123. remote.setValue("scenefname",getString("scenefname"),11l);
  124. remote.setValue("scenephone",getString("scenephone"),2l);
  125. remote.setValue("errormsg",getString("error_msg"),11l);
  126. remote.setValue("ftext",getString("fnotes"),11l);
  127. remote.setValue("ftype",ftype,11l);
  128. String fsonum=getString("fsonum");
  129. DBConnect connect = new DBConnect();
  130. SQLFactory factory = null;
  131. if(getSite().equals("TZ")) {
  132. factory = new SQLFactory(this, "查询台州订单收货日期");
  133. }else if(getSite().equals("HY")) {
  134. factory = new SQLFactory(this, "查询订单收货日期");
  135. }
  136. Rows rows = new Rows();
  137. if(fsonum!=null && fsonum.length()>0) {
  138. factory.addParameter("fsonum", fsonum);
  139. rows = connect.runSqlQuery(factory.getSQL());
  140. }
  141. if(!rows.isEmpty()) {
  142. System.out.println(888);
  143. Date receivedate=rows.get(0).getDate("receivedate");
  144. Calendar calendar = Calendar.getInstance();
  145. calendar.add(Calendar.YEAR, -2);
  146. Date date =calendar.getTime();
  147. if(date.before(receivedate)) {
  148. System.out.println(999);
  149. remote.setValue("FISPERIOD",true,11l);
  150. }
  151. }
  152. hyworkorder.save();
  153. //return 1;
  154. return remote.getUniqueIDValue();
  155. }
  156. @Override
  157. public void submit(boolean issubmit) throws P2Exception {
  158. if(issubmit){
  159. if(!getString("fstatus").equals("新建"))throw new P2AppException("","非新建不可提交");
  160. if(getSite().equals("TZ")) {
  161. /** 给经销商发送消息 **/
  162. PaoSetRemote paoSet = getPaoSet("$workermassage", "workermassage", "");
  163. PaoRemote remote1 = paoSet.addAtEnd();
  164. remote1.setValue("ftype", "经销商消息", 11l);
  165. remote1.setValue("title", "服务申请单:" + getString("Servicenum") + "已经提交", 11l);
  166. remote1.setValue("content", "服务申请单:" + getString("Servicenum") + "已经提交", 11l);
  167. remote1.setValue("phone", getString("fagentnum"), 11l);
  168. }
  169. setValue("fstatus","待处理",11l);
  170. try {
  171. PaoSetRemote hyworker = P2Server.getP2Server().getPaoSet("HYWORKER", P2Server.getP2Server().getSystemUserInfo());
  172. hyworker.setWhere("ROLE='服务主管' and siteid='"+getSite()+"'");
  173. hyworker.reset();
  174. PaoSetRemote tagents =getPaoSet("TAGENTS");
  175. String fagentshortname = tagents.getPao(0).getString("FAGENTSHORTNAME");
  176. int size = hyworker.count();
  177. while (size>0 && getSite().equals("HY")){
  178. String phone = hyworker.getPao(size-1).getString("WORKPHONE");
  179. HttpURLRest rest = new HttpURLRest("http://smssh1.253.com/msg/v1/send/json");
  180. rest.addHeader("Content-type", "application/json");
  181. org.json.JSONObject jsonObject = new org.json.JSONObject();
  182. jsonObject.put("account", "N3147701");
  183. jsonObject.put("password", "4ClGyab6fv6a87");
  184. jsonObject.put("msg", "【Banninger】服务单号:" + getString("SERVICENUM") + "已指派请处理,客户名称:"+fagentshortname+",提交人:"+getString("SUBMITBY")+",备注:"+getString("FNOTES"));
  185. jsonObject.put("phone", phone);
  186. rest.addRawBody(jsonObject.toString());
  187. String s = rest.post();
  188. PaoSetRemote verCodehistory = P2Server.getP2Server().getPaoSet("VerCodehistory", P2Server.getP2Server().getSystemUserInfo());
  189. PaoRemote remote = verCodehistory.addAtEnd();
  190. remote.setValue("phone", phone);
  191. remote.setValue("msg", "【Banninger】服务单号:" + getString("SERVICENUM") + "已指派请处理,客户名称:"+fagentshortname+",提交人:"+getString("SUBMITBY")+",备注:"+getString("FNOTES"));
  192. remote.setValue("content", s);
  193. verCodehistory.save();
  194. size--;
  195. }
  196. } catch (IOException e) {
  197. e.printStackTrace();
  198. }
  199. }
  200. }
  201. }