自动化立体仓库 - WMS系统
#
18516761980
2023-02-03 2fe8875acf7d4fb9f8e088a7747798040a2b8aa0
src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -3,6 +3,7 @@
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;
@@ -31,6 +32,10 @@
     */
    @Value("${erp.enabled}")
    private Boolean erpEnabled;
    @Value("${erp.useName.ip}")
    private String ip;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
    private TagService tagService;
    @Autowired
@@ -44,9 +49,9 @@
    @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=";
        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);
@@ -71,9 +76,14 @@
                                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());
@@ -83,8 +93,10 @@
                                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) {
@@ -92,37 +104,44 @@
                            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 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() + "'");
                        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);
                    } else if (prdt.getStatus() == 2) {
//                        callApiLogSave(prdt, "erp_prdt", "ERP下发商品信息备份后删除成功!", true);
                    } else {
                        callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false);
                    }
                }
            }
        } 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);
    }
}