自动化立体仓库 - WMS系统
#
18516761980
2023-02-26 449761eaa6121e464a65a197c582a5cfcd6b17d0
src/main/java/com/zy/ints/task/scheduler/ErpLkScheduler.java
@@ -46,8 +46,10 @@
    public void proofread() {
        if (!erpEnabled) return;
        String sqlSelectErpLk = "select prd_no as prdNo,prd_mark as prdMark,qty,wh,status,temp1,temp2,temp3 from bas_erp_lk where 1=1";
        String sqlSelectErpLkBak = "select prd_no as prdNo,prd_mark as prdMark,qty,wh,status,temp1,temp2,temp3 from bas_erp_lk_bak where 1=1";
        String sqlUpDateErpLkOne = "update bas_erp_lk set status=1 where prd_no=";
        String sqlUpDateErpLkTwo = "update bas_erp_lk set status=2 where prd_no=";
        String sqlUpDateErpLkBak = "update bas_erp_lk_bak set qty=";
        try {
            List<ErpLk> erpLks = erpSqlServer.select(sqlSelectErpLk, ErpLk.class);
@@ -61,7 +63,7 @@
                        param.put("matnr", erpLk.getPrdNo());
                        param.put("batch", erpLk.getPrdMark());
                        Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(1, 10, param, LocDetl.class));
                        if (stockStatis.getSize() == 1) {
                        if (stockStatis.getRecords().size() == 1) {
                            for (LocDetl locDetl : stockStatis.getRecords()) {
                                if (locDetl.getAnfme() - erpLk.getQty() == 0) {
                                    erpSqlServer.update(sqlUpDateErpLkOne + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'");
@@ -75,27 +77,35 @@
                            callApiLogSave(erpLk, "bas_erp_lk", "立库库存异常!!!相同品号、货品特征的货物重复!!!", false);
                        }
                    } else if (status == 1) {
                        HashMap<String, Object> condition = new HashMap<>();
                        condition.put("prd_no", "'" + erpLk.getPrdNo() + "'");
                        condition.put("prd_mark", "'" + erpLk.getPrdMark() + "'");
                        condition.put("qty", "'" + erpLk.getQty() + "'");
                        condition.put("wh", "'" + erpLk.getWh() + "'");
                        condition.put("status", "'" + erpLk.getStatus() + "'");
                        condition.put("temp1", "'" + erpLk.getTemp1() + "'");
                        condition.put("temp2", "'" + erpLk.getTemp2() + "'");
                        condition.put("temp3", "'" + erpLk.getTemp3() + "'");
                        erpSqlServer.insert(ErpLkBak.class, condition);
                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份成功!!!总量为:" + erpLk.getQty(), true);
                        List<ErpLkBak> erpLkBaks = erpSqlServer.select(sqlSelectErpLkBak + " and prd_no='" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'", ErpLkBak.class);
                        if (erpLkBaks.size() == 1) {
                            erpSqlServer.update(sqlUpDateErpLkBak + "'" + erpLk.getQty() + "' where 1=1  " +
                                    "and prd_no='" + erpLk.getPrdNo() + "'" +
                                    "and prd_mark='" + erpLk.getPrdMark() + "'"
                            );
                        } else if (erpLkBaks.size() == 0) {
                            HashMap<String, Object> condition = new HashMap<>();
                            condition.put("prd_no", "'" + erpLk.getPrdNo() + "'");
                            condition.put("prd_mark", "'" + erpLk.getPrdMark() + "'");
                            condition.put("qty", "'" + erpLk.getQty() + "'");
                            condition.put("wh", "'" + erpLk.getWh() + "'");
                            condition.put("status", "'" + erpLk.getStatus() + "'");
                            condition.put("temp1", "'" + erpLk.getTemp1() + "'");
                            condition.put("temp2", "'" + erpLk.getTemp2() + "'");
                            condition.put("temp3", "'" + erpLk.getTemp3() + "'");
                            erpSqlServer.insert(ErpLkBak.class, condition);
                        } else {
                            callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份存在异常!!!", false);
                        }
//                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份成功!!!总量为:" + erpLk.getQty(), true);
                        HashMap<String, String> condition2 = new HashMap<>();
                        condition2.put("prd_no", "'" + erpLk.getPrdNo() + "'");
                        condition2.put("prd_mark", "'" + erpLk.getPrdNo() + "'");
                        condition2.put("prd_mark", "'" + erpLk.getPrdMark() + "'");
                        erpSqlServer.delete(ErpLk.class, condition2);
//                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份后删除成功!!!总量为:" + erpLk.getQty(), true);
                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份后删除成功!!!总量为:" + erpLk.getQty(), true);
                    }else {
                    } else {
                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比存在异常数据未处理!!!", false);
                    }
                }
@@ -108,7 +118,7 @@
    public void callApiLogSave(ErpLk erpLk, String tableName, String response, Boolean bool) {
        apiLogService.save("ERP与lk库存数据比对", tableName, "null", ip,
                "品号:" + erpLk.getPrdNo() + "、货品特征:" + erpLk.getPrdMark() + "、数量:" + erpLk.getQty() + "、状态:" + erpLk.getStatus(),
                "品号:" + erpLk.getPrdNo() + "、货品特征:" + erpLk.getPrdMark() + "、数量:" + erpLk.getQty() + "、状态:" + erpLk.getStatus$(),
                response, bool);
    }
}