|  |  |  | 
|---|
|  |  |  | import com.zy.asrs.service.ApiLogService; | 
|---|
|  |  |  | import com.zy.asrs.service.MatService; | 
|---|
|  |  |  | import com.zy.asrs.service.TagService; | 
|---|
|  |  |  | import com.zy.ints.entity.ErpDetTb; | 
|---|
|  |  |  | import com.zy.ints.entity.Prdt; | 
|---|
|  |  |  | import com.zy.ints.entity.PrdtBak; | 
|---|
|  |  |  | import com.zy.ints.erp.ErpSqlServer; | 
|---|
|  |  |  | 
|---|
|  |  |  | private Boolean erpEnabled; | 
|---|
|  |  |  | @Value("${erp.useName.ip}") | 
|---|
|  |  |  | private String ip; | 
|---|
|  |  |  | @Value("${erp.enabledErpPrdt}") | 
|---|
|  |  |  | private Boolean enabledErpPrdt; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApiLogService apiLogService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Scheduled(cron = "${erp.refreshtime}") | 
|---|
|  |  |  | public void obtainPedt() { | 
|---|
|  |  |  | if (!erpEnabled) return; | 
|---|
|  |  |  | String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,type,status from erp_prdt where 1=1"; | 
|---|
|  |  |  | String sqlUpDatePrdtOne = "update erp_prdt set status=1 where prd_no="; | 
|---|
|  |  |  | String sqlUpDatePrdtTwo = "update erp_prdt set status=2 where prd_no="; | 
|---|
|  |  |  | if (!enabledErpPrdt) return; | 
|---|
|  |  |  | String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc,status,type,temp1,temp2,temp3 from ERP_PRDT where 1=1 and temp1 is null"; | 
|---|
|  |  |  | String sqlUpDatePrdtOne = "update ERP_PRDT set status=1 where prd_no="; | 
|---|
|  |  |  | String sqlUpDatePrdtTwo = "update ERP_PRDT set status=2 "; | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Tag tag = tagService.selectByName("全部", 1); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | matNew.setUpdateTime(date); | 
|---|
|  |  |  | if (matService.insert(matNew)) { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!添加商品信息成功!", true); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); | 
|---|
|  |  |  | if (Cools.isEmpty(prdt.getTemp1())){ | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='添加ERP下发商品信息失败!!!状态异常!!!'" | 
|---|
|  |  |  | + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "添加ERP下发商品信息失败!!!状态异常!!!", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息失败!!!商品已存在!!!", false); | 
|---|
|  |  |  | if (Cools.isEmpty(prdt.getTemp1())){ | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!商品已存在!!!'" | 
|---|
|  |  |  | + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (type == 2) { | 
|---|
|  |  |  | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); | 
|---|
|  |  |  | 
|---|
|  |  |  | mat.setSpecs(prdt.getSpc()); | 
|---|
|  |  |  | if (matService.updateById(mat)) { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!修改商品信息成功!", true); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!修改商品信息成功!", true); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false); | 
|---|
|  |  |  | if (Cools.isEmpty(prdt.getTemp1())){ | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!修改商品信息失败!!!'" | 
|---|
|  |  |  | + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (type == 3) { | 
|---|
|  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(mat)) { | 
|---|
|  |  |  | if (matService.deleteById(mat.getId())) { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!删除商品信息成功!", true); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!删除商品信息成功!", true); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "接收ERP下发商品信息成功!删除商品信息失败!", false); | 
|---|
|  |  |  | if (Cools.isEmpty(prdt.getTemp1())){ | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息成功!删除商品信息失败!'" | 
|---|
|  |  |  | + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!删除商品信息失败!", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "商品信息出现异常资料未处理!", false); | 
|---|
|  |  |  | if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){ | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!type状态异常!!!'" | 
|---|
|  |  |  | + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "商品信息出现异常资料未处理!", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else if (prdt.getStatus() == 1) { | 
|---|
|  |  |  | HashMap<String, Object> condition = new HashMap<>(); | 
|---|
|  |  |  | 
|---|
|  |  |  | condition.put("type", "'" + prdt.getType() + "'"); | 
|---|
|  |  |  | condition.put("status", "'" + prdt.getStatus() + "'"); | 
|---|
|  |  |  | erpSqlServer.insert(PrdtBak.class, condition); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份成功!", true); | 
|---|
|  |  |  | //                        callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份成功!", true); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | HashMap<String, String> condition2 = new HashMap<>(); | 
|---|
|  |  |  | condition2.put("prd_no", "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | erpSqlServer.delete(Prdt.class, condition2); | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份后删除成功!", true); | 
|---|
|  |  |  | //                        callApiLogSave(prdt, "erp_prdt", "ERP下发商品信息备份后删除成功!", true); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | callApiLogSave(prdt, "erp_prdt", "商品信息出现异常资料未处理!", false); | 
|---|
|  |  |  | if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){ | 
|---|
|  |  |  | erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!status状态异常!!!'" | 
|---|
|  |  |  | + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'"); | 
|---|
|  |  |  | callApiLogSave(prdt, "ERP_PRDT", "商品信息出现异常资料未处理!", false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | Date date = new Date(); | 
|---|
|  |  |  | log.error(date + ": 表名:erp_prdt :" + e); | 
|---|
|  |  |  | log.error(date + ": 表名:ERP_PRDT :" + e); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void callApiLogSave(Prdt prdt, String tableName, String response, Boolean bool) { | 
|---|
|  |  |  | apiLogService.save("ERP下发商品信息", "中间表:" + tableName, "null", ip, | 
|---|
|  |  |  | "品号:" + prdt.getPrdNo() + "、品名:" + prdt.getName() + "、类型:" + prdt.getType() + "、状态:" + prdt.getStatus(), | 
|---|
|  |  |  | apiLogService.save("ERP下发商品信息", tableName, "null", ip, | 
|---|
|  |  |  | "品号:" + prdt.getPrdNo() + "、品名:" + prdt.getName() + "、类型:" + prdt.getType() + "、状态:" + prdt.getStatus$(), | 
|---|
|  |  |  | response, bool); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|