自动化立体仓库 - WMS系统
zc
2025-07-16 c42346453608186971fad5e80ffd08fd58d38d06
完善erp对接
9个文件已修改
51 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/StockOutParam.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/DetlDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkDetlMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -28,7 +28,7 @@
        private String matnr;
        // 序列码
        private String batch;
        private String sku;
        // 数量
        private Double count;
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -331,7 +331,7 @@
                if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                        eq("zpallet", param.getBarcode())
                        .eq("io_status", "N")
                        .eq("matnr", elem.getMatnr()).eq("three_code", elem.getThreeCode()).eq("batch", elem.getBatch())) > 0) {
                        .eq("matnr", elem.getMatnr()).eq("three_code", elem.getThreeCode())) > 0) {
                    throw new CoolException(param.getBarcode() + "已有相同数据");
                }
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -174,7 +174,7 @@
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
            }
        }
@@ -912,7 +912,7 @@
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
            }
        }
@@ -940,7 +940,7 @@
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
            }
        }
@@ -1250,7 +1250,7 @@
                    if (!locDetl.getAnfme().equals(adjust.getCount())) {
                        // todo 盘点记录
                        // 修改库存
                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getSku())) {
                            throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "批号修改数量失败");
                        }
                        // 保存调整记录
@@ -1705,7 +1705,7 @@
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
            }
        }
@@ -1726,7 +1726,7 @@
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getSku());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
            }
        }
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -109,10 +109,10 @@
                    // 遍历工作明细,更新库存明细和入库通知档
                    for (WrkDetl wrkDetl : wrkDetls) {
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getSku());
                        if (null != locDetl) {
                            Double anfme = locDetl.getAnfme() + wrkDetl.getAnfme();
                            if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
                            if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getSku())) {
//                                exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                return FAIL.setMsg("全板入库 ===>> 更新库存明细失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
src/main/java/com/zy/common/model/DetlDto.java
@@ -100,7 +100,7 @@
    public static boolean has(List<DetlDto> detlDtos, DetlDto detlDto) {
        for (DetlDto dto : detlDtos) {
            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) && dto.getFromOrderNo().equals(detlDto.getFromOrderNo())) {
            if (dto.getMatnr().equals(detlDto.getMatnr()) && Cools.eq(dto.getBatch(), detlDto.getBatch()) &&Cools.eq(dto.getFromOrderNo(),detlDto.getFromOrderNo())) {
                return true;
            }
        }
src/main/java/com/zy/common/service/CommonService.java
@@ -982,8 +982,14 @@
                    for (LocMast locMastGro1 : locMasts1) {
                        if (locMastGro1.getLocSts().equals("F")) {
                            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_No", locMastGro1.getLocNo()));
                            if (!locDetl.getMatnr().equals(matnr) || !locDetl.getBatch().equals(batch)) {
                                continue;
                            if (!Cools.isEmpty(locDetl.getSku())){
                                if (!locDetl.getMatnr().equals(matnr) || !locDetl.getSku().equals(batch)) {
                                    continue;
                                }
                            }else {
                                if (!locDetl.getMatnr().equals(matnr)) {
                                    continue;
                                }
                            }
                        }
                        if (locMastGro1.getLocSts().equals("P") || locMastGro1.getLocSts().equals("Q") || locMastGro1.getLocSts().equals("R")) {
src/main/java/com/zy/common/web/WcsController.java
@@ -625,7 +625,7 @@
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
        List<String> batchs = waitPakins.stream().map(WaitPakin::getSku).distinct().collect(Collectors.toList());
        boolean mixtrue = false;
src/main/resources/mapper/LocDetlMapper.xml
@@ -53,10 +53,10 @@
    <sql id="batchSeq">
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
                and sku = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
                and (sku IS NULL OR sku = '')
            </otherwise>
        </choose>
    </sql>
@@ -67,7 +67,14 @@
        where 1=1
        and loc_no = #{locNo}
        and matnr = #{matnr}
        <include refid="batchSeq"></include>
        <choose>
            <when test="batch != null and batch != ''">
                and sku = #{batch}
            </when>
            <otherwise>
                and (sku IS NULL OR sku = '')
            </otherwise>
        </choose>
    </select>
    <delete id="deleteItem">
src/main/resources/mapper/WrkDetlMapper.xml
@@ -54,10 +54,10 @@
    <sql id="batchSeq">
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
                and sku = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
                and (sku IS NULL OR sku = '')
            </otherwise>
        </choose>
    </sql>