自动化立体仓库 - WMS系统
d8a25a3d3bbb1c93048d7da4eb18408999605a01..b85ee8f8faf8db4669a61a72c855baf4cb2a6482
2025-06-14 ytfl
#
b85ee8 对比 | 目录
2025-06-14 Junjie
#
6c8a21 对比 | 目录
2025-06-14 Junjie
#
503bfb 对比 | 目录
2025-06-14 Junjie
#
ebdd49 对比 | 目录
2025-06-14 Junjie
#
6b2ea2 对比 | 目录
10个文件已修改
81 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MobileController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/ReportToThirdService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/asrs/WrkDetlMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -297,8 +297,13 @@
            return R.error("未找到此条码");
        }
        ArrayList<HashMap<String, Object>> list = new ArrayList<>();
        List<String> orderNos = new ArrayList<>();
        List<HashMap<String, Object>> list = new ArrayList<>();
        for (NccXsckmxTkWms nccXsckmxTkWms : nccXsckmxTkWmsList) {
            if (orderNos.contains(nccXsckmxTkWms.getVsourcebillcode())) {
                continue;
            }
            orderNos.add(nccXsckmxTkWms.getVsourcebillcode());
            HashMap<String, Object> map = new HashMap<>();
            Mat mat = matService.selectByMatnr(nccXsckmxTkWms.getWlbm());
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -18,6 +18,8 @@
    int updateAnfme(@Param("anfme")Double anfme, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
    int updateWeight(@Param("weight")Double weight, @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
    List<WrkDetl> selectAndLogByOrderNo(String orderNo);
    int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
src/main/java/com/zy/asrs/service/ReportToThirdService.java
@@ -10,6 +10,6 @@
    void report(Order order, List<OrderDetl> orderDetls, DocType docType) throws Exception;
    void reportTkrk(String batch, Double anfme);
    void reportTkrk(String batch, String orderNo, Double anfme);
}
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -77,6 +77,9 @@
            //转换关系
            String origin = mat.getOrigin();
            if (Cools.isEmpty(origin)) {
                return true;
            }
            String[] split = origin.split("/");
            //辅单位
            Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -838,26 +838,21 @@
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("添加" + wrkMast.getWrkNo() + "盘点任务," + wrkDetl.getMatnr() + "商品," + wrkDetl.getBatch() + "批号任务明细失败");
            }
        }
        List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        for (WrkDetl wrkDetl : wrkDetls1) {
            LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
            locDetlAdjusts.add(locDetlAdjust);
            String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
            for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
                if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
                    checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
                    checkOrderDetl.setStatus("2");
                } else {
                    InventoryCheckOrderDetl newDetl = new InventoryCheckOrderDetl();
                    Synchro.Copy(wrkDetl, newDetl);
                    newDetl.setAnfme(0D);
                    newDetl.setCheckAnfme(wrkDetl.getAnfme());
                    newDetl.setOrderNo(checkOrderDetl.getOrderNo());
                    newDetl.setStatus("2");
                    inventoryCheckOrderDetlService.updateById(checkOrderDetl);
                }
            }
        }
        List<WrkDetl> wrkDetls1 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
        for (WrkDetl wrkDetl : wrkDetls1) {
            LocDetlAdjustParam.LocDetlAdjust locDetlAdjust = new LocDetlAdjustParam.LocDetlAdjust(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme());
            locDetlAdjusts.add(locDetlAdjust);
        }
        // 修改盘点任务主档状态
        wrkMast.setFullPlt(wrkDetls1.size() != 0 ? "Y" : "N");
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -137,6 +137,7 @@
            orderDetl.setLineNumber(detlDto.getLineNumber());
            orderDetl.setBatch(detlDto.getBatch());
            orderDetl.setAnfme(detlDto.getAnfme());
            orderDetl.setWeight(detlDto.getWeight());
            orderDetl.setBrand(detlDto.getBrand());
            orderDetl.setStandby1(detlDto.getStandby1());
            orderDetl.setStandby2(detlDto.getStandby2());
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -210,8 +210,8 @@
    }
    @Override
    public void reportTkrk(String batch, Double anfme) {
        Object process1 = processTKRK(batch, anfme);
    public void reportTkrk(String batch, String orderNo, Double anfme) {
        Object process1 = processTKRK(batch, orderNo, anfme);
        //发送请求
        NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1));
        log.info("销售发货response:{}", response);
@@ -261,16 +261,18 @@
        return data;
    }
    private Object processTKRK(String batch, Double anfme) {
    private Object processTKRK(String batch, String orderNo, Double anfme) {
        EntityWrapper<NccXsckmxTkWms> wrapper = new EntityWrapper<>();
        wrapper.like("VBATCHCODE", batch);
        wrapper.eq("VBATCHCODE", batch).eq("VSOURCEBILLCODE", orderNo);
        NccXsckmxTkWms nccXsckmxTkWms = nccXsckmxTkWmsService.selectOne(wrapper);
        if (null == nccXsckmxTkWms) {
            throw new CoolException("未找到此条码");
        }
        NccSaleXsfhmxWms nccSaleXsfhmxWms = nccSaleXsfhmxWmsService.selectOne(new EntityWrapper<NccSaleXsfhmxWms>()
                .eq("VBILLCODE", nccXsckmxTkWms.getVsourcebillcode()));
                .eq("VBILLCODE", nccXsckmxTkWms.getVsourcebillcode())
                .eq("WLBM", nccXsckmxTkWms.getWlbm())
        );
        if(null == nccSaleXsfhmxWms) {
            throw new CoolException("未找到销售单据");
        }
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -61,7 +61,26 @@
        if (anfme <= 0) {
            return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0;
        } else {
            return baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0;
            boolean result = baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0;
            if (!result) {
                return false;
            }
            //更新辅料
            Mat mat = matService.selectByMatnr(matnr);
            if (mat == null) {
                return false;
            }
            //转换关系
            String origin = mat.getOrigin();
            if (Cools.isEmpty(origin)) {
                return true;
            }
            String[] split = origin.split("/");
            //辅单位
            Double weight = (anfme / Double.parseDouble(split[1])) / Double.parseDouble(split[0]);
            return baseMapper.updateWeight(weight, wrkNo, matnr, batch) > 0;
        }
    }
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -70,8 +70,8 @@
                    // 入库通知单
                    if (!Cools.isEmpty(wrkMast.getBarcode())) {
                        WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()));
                        if ("Y".equals(waitPakin.getTkFlag())) {
                            reportToThirdService.reportTkrk(waitPakin.getBatch(), waitPakin.getAnfme());
                        if (!Cools.isEmpty(waitPakin.getTkFlag())) {
                            reportToThirdService.reportTkrk(waitPakin.getBatch(), waitPakin.getTkFlag(), waitPakin.getAnfme());
                        }
                        // 保存入库通知档历史档
src/main/resources/mapper/asrs/WrkDetlMapper.xml
@@ -87,6 +87,16 @@
        <include refid="batchSeq"></include>
    </update>
    <update id="updateWeight">
        update asr_wrk_detl
        set weight = #{weight}
        , modi_time = getdate()
        where 1=1
        and wrk_no = #{wrkNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
    </update>
    <select id="selectAndLogByOrderNo" resultMap="BaseResultMap">
        select awd.*
        from asr_wrk_detl awd