afterserviceorder.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  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"),11l);
  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"),11l);
  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. setValue("fstatus","待处理",11l);
  161. try {
  162. PaoSetRemote hyworker = P2Server.getP2Server().getPaoSet("HYWORKER", P2Server.getP2Server().getSystemUserInfo());
  163. hyworker.setWhere("ROLE='服务主管' and siteid='"+getSite()+"'");
  164. hyworker.reset();
  165. PaoSetRemote tagents =getPaoSet("TAGENTS");
  166. String fagentshortname = tagents.getPao(0).getString("FAGENTSHORTNAME");
  167. int size = hyworker.count();
  168. while (size>0 && getSite().equals("HY")){
  169. String phone = hyworker.getPao(size-1).getString("WORKPHONE");
  170. HttpURLRest rest = new HttpURLRest("http://smssh1.253.com/msg/v1/send/json");
  171. rest.addHeader("Content-type", "application/json");
  172. org.json.JSONObject jsonObject = new org.json.JSONObject();
  173. jsonObject.put("account", "N3147701");
  174. jsonObject.put("password", "4ClGyab6fv6a87");
  175. jsonObject.put("msg", "【Banninger】服务单号:" + getString("SERVICENUM") + "已指派请处理,客户名称:"+fagentshortname+",提交人:"+getString("SUBMITBY")+",备注:"+getString("FNOTES"));
  176. jsonObject.put("phone", phone);
  177. rest.addRawBody(jsonObject.toString());
  178. String s = rest.post();
  179. PaoSetRemote verCodehistory = P2Server.getP2Server().getPaoSet("VerCodehistory", P2Server.getP2Server().getSystemUserInfo());
  180. PaoRemote remote = verCodehistory.addAtEnd();
  181. remote.setValue("phone", phone);
  182. remote.setValue("msg", "【Banninger】服务单号:" + getString("SERVICENUM") + "已指派请处理,客户名称:"+fagentshortname+",提交人:"+getString("SUBMITBY")+",备注:"+getString("FNOTES"));
  183. remote.setValue("content", s);
  184. verCodehistory.save();
  185. size--;
  186. }
  187. } catch (IOException e) {
  188. e.printStackTrace();
  189. }
  190. }
  191. }
  192. }