自动化立体仓库 - WMS系统
LSH
2023-01-04 ddfa8220125b528f0e391a7842c2583d1c4c75ee
#中间表对接:ERP与LK库存校对完成
4个文件已修改
58 ■■■■ 已修改文件
src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/task/scheduler/ErpLkScheduler.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java
@@ -3,7 +3,6 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.Order;
src/main/java/com/zy/ints/task/scheduler/ErpLkScheduler.java
@@ -1,8 +1,12 @@
package com.zy.ints.task.scheduler;
import com.baomidou.mybatisplus.plugins.Page;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.service.ApiLogService;
import com.zy.ints.entity.ErpDetTb;
import com.zy.asrs.service.LocDetlService;
import com.zy.common.web.BaseController;
import com.zy.ints.entity.ErpLk;
import com.zy.ints.entity.ErpLkBak;
import com.zy.ints.erp.ErpSqlServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -11,6 +15,7 @@
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
@@ -19,7 +24,7 @@
 */
@Slf4j
@Component
public class ErpLkScheduler {
public class ErpLkScheduler extends BaseController {
    /**
     * ERP接口是否启用
     */
@@ -31,6 +36,9 @@
    private ApiLogService apiLogService;
    @Autowired
    private ErpSqlServer erpSqlServer;
    @Autowired
    private LocDetlService locDetlService;
    /**
     * ERP与lk库存数据比对
     */
@@ -47,13 +55,48 @@
                for (ErpLk erpLk:erpLks){
                    Integer status = erpLk.getStatus();
                    if (status == 0){
                        HashMap<String, Object> param = new HashMap<>();
                        param.put("curr", 1);
                        param.put("limit", 20);
                        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) {
                            for (LocDetl locDetl : stockStatis.getRecords()) {
                                if (locDetl.getAnfme() - erpLk.getQty() == 0) {
                                    erpSqlServer.update(sqlUpDateErpLkOne + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'");
                                    callApiLogSave(erpLk, "bas_erp_lk", "库存对比数量相同!!!总量为:" + erpLk.getQty(), true);
                                } else {
                                    erpSqlServer.update(sqlUpDateErpLkTwo + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'");
                                    callApiLogSave(erpLk, "bas_erp_lk", "库存对比数量不同!!!立库总量为:" + locDetl.getAnfme() + "、ERP总量为:" + erpLk.getQty(), false);
                                }
                            }
                        } else {
                            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);
                    }else if (status == 2){
                        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() + "'");
                        erpSqlServer.delete(ErpLk.class, condition2);
                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份后删除成功!!!总量为:" + erpLk.getQty(), true);
                    }else {
                        callApiLogSave(erpLk, "bas_erp_lk", "库存对比存在异常数据未处理!!!", false);
                    }
                }
            }
src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -6,7 +6,6 @@
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;
src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
@@ -10,8 +9,6 @@
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.ints.entity.ErpDetTb;
import com.zy.ints.entity.ErpDetTbBak;
import com.zy.ints.entity.LkDetTb;
import com.zy.ints.entity.LkDetTbBak;
import com.zy.ints.erp.ErpSqlServer;