| | |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.Tag; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.TagService; |
| | | import com.zy.ints.entity.Prdt; |
| | | import com.zy.ints.entity.PrdtBak; |
| | | import com.zy.ints.erp.ErpSqlServer; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | */ |
| | | @Value("${erp.enabled}") |
| | | private Boolean erpEnabled; |
| | | @Value("${erp.useName.ip}") |
| | | private String ip; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | | private TagService tagService; |
| | | @Autowired |
| | | private ErpSqlServer erpSqlServer; |
| | | @Autowired |
| | | private MatService matService; |
| | | |
| | | /** |
| | | * 获取商品信息表资料 |
| | | */ |
| | | @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="; |
| | | Tag tag = tagService.selectByName("全部", 1); |
| | | String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1"; |
| | | String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO="; |
| | | String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO="; |
| | | try { |
| | | Tag tag = tagService.selectByName("全部", 1); |
| | | |
| | | List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt,Prdt.class); |
| | | if (prdts.size() > 0){ |
| | | for (Prdt prdt : prdts) { |
| | | Date date = new Date(); |
| | | if (prdt.getStatus()==0) { |
| | | Integer type = prdt.getType(); |
| | | if (type==1){ |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (Cools.isEmpty(mat)){ |
| | | Mat matNew = new Mat(); |
| | | matNew.setTagId(tag.getId()); |
| | | matNew.setMatnr(prdt.getPrdNo()); |
| | | matNew.setMaktx(prdt.getName()); |
| | | matNew.setUnit(prdt.getUt()); |
| | | matNew.setSpecs(prdt.getSpc()); |
| | | matNew.setCreateBy(9999L); |
| | | matNew.setCreateTime(date); |
| | | matNew.setUpdateBy(9999L); |
| | | matNew.setUpdateTime(date); |
| | | if (matService.insert(matNew)){ |
| | | erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'"); |
| | | }else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'"); |
| | | List<Prdt> prdts = erpSqlServer.select(sqlSelectPrdt, Prdt.class); |
| | | if (prdts.size() > 0) { |
| | | for (Prdt prdt : prdts) { |
| | | Date date = new Date(); |
| | | if (prdt.getStatus() == 0) { |
| | | Integer type = prdt.getType(); |
| | | if (type == 1) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (Cools.isEmpty(mat)) { |
| | | Mat matNew = new Mat(); |
| | | matNew.setTagId(tag.getId()); |
| | | matNew.setMatnr(prdt.getPrdNo()); |
| | | matNew.setMaktx(prdt.getName()); |
| | | matNew.setUnit(prdt.getUt()); |
| | | matNew.setSpecs(prdt.getSpc()); |
| | | matNew.setCreateBy(9999L);//9999表示erp下发 |
| | | matNew.setCreateTime(date); |
| | | matNew.setUpdateBy(9999L);//9999表示erp下发 |
| | | matNew.setUpdateTime(date); |
| | | if (matService.insert(matNew)) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false); |
| | | } |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false); |
| | | } |
| | | } |
| | | }else if (type==2){ |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (!Cools.isEmpty(mat)){ |
| | | mat.setMaktx(prdt.getName()); |
| | | mat.setUnit(prdt.getUt()); |
| | | mat.setSpecs(prdt.getSpc()); |
| | | if (matService.updateById(mat)){ |
| | | erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'"); |
| | | }else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'"); |
| | | } else if (type == 2) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (!Cools.isEmpty(mat)) { |
| | | mat.setMaktx(prdt.getName()); |
| | | mat.setUnit(prdt.getUt()); |
| | | mat.setSpecs(prdt.getSpc()); |
| | | if (matService.updateById(mat)) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!修改商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false); |
| | | } |
| | | } |
| | | } |
| | | }else if (type==3){ |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (!Cools.isEmpty(mat)){ |
| | | if (matService.deleteById(mat.getId())){ |
| | | erpSqlServer.update(sqlUpDatePrdtOne+"'" + prdt.getPrdNo() + "'"); |
| | | }else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo+"'" + prdt.getPrdNo() + "'"); |
| | | } else if (type == 3) { |
| | | Mat mat = matService.selectByMatnr(prdt.getPrdNo()); |
| | | if (!Cools.isEmpty(mat)) { |
| | | if (matService.deleteById(mat.getId())) { |
| | | erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息成功!", true); |
| | | } else { |
| | | erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'"); |
| | | callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息失败!", false); |
| | | } |
| | | } |
| | | } else { |
| | | callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false); |
| | | } |
| | | }else { |
| | | } else if (prdt.getStatus() == 1) { |
| | | HashMap<String, Object> condition = new HashMap<>(); |
| | | condition.put("PRD_NO", "'" + prdt.getPrdNo() + "'"); |
| | | condition.put("NAME", "'" + prdt.getName() + "'"); |
| | | condition.put("UT", "'" + prdt.getUt() + "'"); |
| | | condition.put("SPC", "'" + prdt.getSpc() + "'"); |
| | | condition.put("TYPE", "'" + prdt.getType() + "'"); |
| | | condition.put("STATUS", "'" + prdt.getStatus() + "'"); |
| | | erpSqlServer.insert(PrdtBak.class, condition); |
| | | // 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", "ERP下发商品信息备份后删除成功!", true); |
| | | } else { |
| | | callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false); |
| | | } |
| | | }else if (prdt.getStatus()==1){ |
| | | // HashMap<String, Object> condition = new HashMap<>(); |
| | | // condition.put("prd_no","'" + prdt.getPrdNo() + "'"); |
| | | // condition.put("name","'" + prdt.getName() + "'"); |
| | | // condition.put("ut","'" + prdt.getUt() + "'"); |
| | | // condition.put("spc","'" + prdt.getSpc() + "'"); |
| | | // condition.put("type","'" + prdt.getType() + "'"); |
| | | // condition.put("status","'" + prdt.getStatus() + "'"); |
| | | // erpSqlServer.insert(Prdt.class, condition); |
| | | // |
| | | // HashMap<String, String> condition2 = new HashMap<>(); |
| | | // condition2.put("prd_no","'" + prdt.getPrdNo() + "'"); |
| | | // erpSqlServer.delete(Prdt.class,condition2); |
| | | }else if (prdt.getStatus()==2){ |
| | | |
| | | }else { |
| | | |
| | | } |
| | | |
| | | } |
| | | } catch (Exception e) { |
| | | Date date = new Date(); |
| | | log.error(date + ": 表名: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$(), |
| | | response, bool); |
| | | } |
| | | } |