AutoDockItemService.java 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. package service;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import common.ServiceController;
  5. import common.YosException;
  6. import common.data.Row;
  7. import common.data.Rows;
  8. import common.data.RowsMap;
  9. import common.data.SQLFactory;
  10. import org.apache.commons.lang.StringEscapeUtils;
  11. import org.apache.commons.lang.StringUtils;
  12. import restcontroller.webmanage.sale.item.Item;
  13. import utility.ERPDocking;
  14. import java.text.SimpleDateFormat;
  15. import java.util.ArrayList;
  16. import java.util.Calendar;
  17. import java.util.Date;
  18. public class AutoDockItemService extends ServiceController {
  19. @Override
  20. public void serviceRun() throws YosException {
  21. ArrayList<String> sqlList = new ArrayList<>();
  22. String siteid ="ZZYOS";
  23. Rows itemRows = dbConnect.runSqlQuery("SELECT itemid,itemno from plm_item WHERE siteid = '" + siteid + "' AND status = '新建' ");
  24. Rows itemRowsAll = dbConnect.runSqlQuery("SELECT itemid,itemno from plm_item WHERE siteid = '" + siteid + "'");
  25. //单位
  26. Rows unitRows = dbConnect.runSqlQuery("SELECT unitid,unitname from plm_unit WHERE siteid = '" + siteid + "'");
  27. RowsMap unitRowsMap = itemRows.toRowsMap("unitname");
  28. RowsMap itemRowsMap = itemRows.toRowsMap("itemno");
  29. RowsMap itemRowsMapAll = itemRowsAll.toRowsMap("itemno");
  30. ERPDocking erpDocking =new ERPDocking();
  31. Rows servicesRows = dbConnect.runSqlQuery("select lastruntime from sys_services where classname='AutoDockItemService'");
  32. Date date =new Date();
  33. if(!servicesRows.isEmpty()){
  34. if(StringUtils.isNotBlank(servicesRows.get(0).getString("lastruntime"))){
  35. date=servicesRows.get(0).getDate("lastruntime");
  36. }
  37. }
  38. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  39. JSONArray jsonArray = erpDocking.getErpItemRows(simpleDateFormat.format(date), 100000, 1);
  40. if(!jsonArray.isEmpty()){
  41. for (Object object:jsonArray) {
  42. JSONObject jsonObject =(JSONObject)object;
  43. if(!itemRowsMapAll.containsKey(jsonObject.getString("fitemno"))){
  44. long itemid = createTableID("plm_item");
  45. SQLFactory sqlFactory = new SQLFactory(Item.class, "货品档案新增");
  46. sqlFactory.addParameter("siteid", siteid);
  47. sqlFactory.addParameter("itemid", createTableID("plm_item"));
  48. sqlFactory.addParameter("username", "admin");
  49. sqlFactory.addParameter("userid", 1);
  50. sqlFactory.addParameter("itemno", jsonObject.getString("fitemno"));
  51. if(unitRowsMap.containsKey(jsonObject.getString("funit"))){
  52. sqlFactory.addParameter("unitid", unitRowsMap.get(jsonObject.getString("funit")).get(0).getLong("unitid"));
  53. }else {
  54. sqlFactory.addParameter("unitid", 0);
  55. }
  56. sqlFactory.addParameter("isauxunit", 0);
  57. sqlFactory.addParameter("unitgroupid","null");
  58. sqlFactory.addParameter("itemname", jsonObject.getString("fitemname"));
  59. sqlFactory.addParameter("isonsale", 0);
  60. sqlFactory.addParameter("model", jsonObject.getString("fmodel"));
  61. sqlFactory.addParameter("spec", jsonObject.getString("spec"));
  62. // 订单起订量
  63. sqlFactory.addParameter("orderminqty", 1);
  64. // 订单增量
  65. sqlFactory.addParameter("orderaddqty", 1);
  66. // 订单起订量控制单位(0:主单位;1:辅助单位)
  67. sqlFactory.addParameter("orderminqty_auxunit", 0);
  68. // 订单增量控制单位(0:主单位;1:辅助单位)
  69. sqlFactory.addParameter("orderaddqty_auxunit", 0);
  70. // 说明
  71. sqlFactory.addParameter("remarks", "");
  72. // 商品条形码
  73. sqlFactory.addParameter("barcode", "");
  74. // 是否单品管理
  75. sqlFactory.addParameter("skucontrol",0);
  76. // 是否批次管理
  77. sqlFactory.addParameter("batchcontrol", jsonObject.getBooleanValue("fisbatch"));
  78. // 毛重(g)
  79. sqlFactory.addParameter("grossweight", 0);
  80. // 净重(g)
  81. sqlFactory.addParameter("weight", 0);
  82. // 高度(mm)
  83. sqlFactory.addParameter("height", 0);
  84. // 宽度(mm)
  85. sqlFactory.addParameter("width", 0);
  86. // 长度(mm)
  87. sqlFactory.addParameter("length", 0);
  88. // 交期
  89. sqlFactory.addParameter("delivery", 1);
  90. // 牌价
  91. sqlFactory.addParameter("marketprice", 0);
  92. // 是否工具
  93. sqlFactory.addParameter("istool", 0);
  94. // 产品标准
  95. sqlFactory.addParameter("standards","");
  96. // 库存缺货标准
  97. sqlFactory.addParameter("stockstatus2", 1);
  98. // 库存充足标准
  99. sqlFactory.addParameter("stockstatus1", 1);
  100. // 保修期(年)
  101. sqlFactory.addParameter("warrantyday", 1);
  102. // 是否营销物料
  103. sqlFactory.addParameter("iswuliao",1);
  104. // 是否服务物料
  105. sqlFactory.addParameter("isservice", 0);
  106. sqlFactory.addParameter("color", jsonObject.getStringValue("fcolor"));
  107. sqlFactory.addParameter("cheek", jsonObject.getStringValue("fsizedescription"));
  108. sqlFactory.addParameter("delistingstatus","");
  109. sqlFactory.addParameter("ismodule", 0);
  110. sqlFactory.addParameter("packageqty", 0);
  111. sqlFactory.addParameter("iswoodproducts", 0);
  112. sqlFactory.addParameter("sa_customschemeid", 0);
  113. sqlFactory.addParameter("financeclasstype", jsonObject.getStringValue("fdescription"));
  114. sqlList.add(sqlFactory.getSQL());
  115. // 货品档案扩展属性字段表
  116. sqlFactory = new SQLFactory(Item.class, "货品档案-扩展新增");
  117. sqlFactory.addParameter("siteid", siteid);
  118. sqlFactory.addParameter("userid", 1);
  119. sqlFactory.addParameter("username", "admin");
  120. sqlFactory.addParameter("plm_itemextendid", createTableID("plm_itemextend"));
  121. sqlFactory.addParameter("itemid", itemid);
  122. sqlFactory.addParameter("material", jsonObject.getString("fmaterialdes"));
  123. sqlFactory.addParameter("pressure", "");
  124. sqlFactory.addParameter("caliber", "");
  125. sqlFactory.addParameter("butterflyplatedrive", "");
  126. sqlFactory.addParameter("connection", "");
  127. sqlFactory.addParameter("valveplatematerial", "");
  128. sqlFactory.addParameter("bodymaterial", "");
  129. sqlFactory.addParameter("actuatortype", "");
  130. sqlFactory.addParameter("actuatorbrand", "");
  131. sqlFactory.addParameter("isbutterfly", "");
  132. sqlFactory.addParameter("erpitemno", jsonObject.getString("fitemno"));
  133. sqlFactory.addParameter("erpitemname", jsonObject.getString("fitemname"));
  134. sqlFactory.addParameter("specalnote","");
  135. sqlFactory.addParameter("prodline", "");
  136. sqlFactory.addParameter("device", "");
  137. sqlList.add(sqlFactory.getSQL());
  138. }
  139. }
  140. }
  141. dbConnect.runSqlUpdate(sqlList);
  142. }
  143. }