自动化立体仓库 - WMS系统
#
whycq
2024-06-13 84cfd49774d4aa0e475b319a70a411c4cc078694
#
10个文件已修改
92 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/AgvLocDetlService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/AgvLocDetlMapper.xml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
@@ -279,6 +279,9 @@
            if (orderDetl.getProcessSts() == 1) {
                flag = true;
            }
            if (param.getDocType() != 32) {
                orderDetl.setProcessSts(3);
            }
            DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
            if (DetlDto.has(list, dto)) {
                OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
@@ -746,6 +749,8 @@
                        proSts = 3;
                    }
                }
            } else {
                proSts = 3;
            }
src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -187,7 +187,7 @@
        wrapper.in("source",docIds);
        Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
        for (OrderDetl record : page.getRecords()) {
            Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
            Double sumAnfme = agvLocDetlService.getSumAnfmeProcessed(record.getMatnr(), record.getThreeCode());
            record.setStock(sumAnfme == null ? 0 : sumAnfme);
        }
src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -42,7 +42,10 @@
        //货架码
        private String suppCode;
        public LocDetlAdjust(String matnr, String batch, Double count, String orderNo,String threeCode, String deadTime, String suppCode) {
        // 工序
        private Integer processSts;
        public LocDetlAdjust(String matnr, String batch, Double count, String orderNo,String threeCode, String deadTime, String suppCode, Integer processSts) {
            this.matnr = matnr;
            this.batch = batch;
            this.count = count;
@@ -50,6 +53,7 @@
            this.threeCode = threeCode;
            this.deadTime = deadTime;
            this.suppCode = suppCode;
            this.processSts = processSts;
        }
    }
@@ -68,7 +72,7 @@
                }
            }
            if (!exit) {
                copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(),adjust.getOrderNo(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode()));
                copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(),adjust.getOrderNo(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode(),adjust.getProcessSts()));
            }
        }
        list = copyList;
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -28,6 +28,9 @@
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts = 1")
    Double selectSumAnfmeByMatnrProcess(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND b.lev1 != 2")
    Double selectSumAnfmeByMatnrProcessed(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
    @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor = #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1")
    Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
@@ -52,6 +55,8 @@
    int updateAnfme(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
    int updateAnfmeProcess(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode, @Param("process")Integer process);
    int deleteLocDetl(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
    AgvLocDetl selectLocdetl(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
src/main/java/com/zy/asrs/service/AgvLocDetlService.java
@@ -24,6 +24,8 @@
    Double getSumAnfmeProcess(String matnr, String threeCode);
    Double getSumAnfmeProcessed(String matnr, String threeCode);
    Double getSumAnfmeDb(String matnr, String threeCode, Integer floor);
    Integer sum();
@@ -37,6 +39,8 @@
     */
    boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode);
    boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode,Integer process);
    public AgvLocDetl selectByLocNo(String locNo);
    public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto);
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -133,6 +133,11 @@
    }
    @Override
    public Double getSumAnfmeProcessed(String matnr, String threeCode) {
        return this.baseMapper.selectSumAnfmeByMatnrProcessed(matnr, threeCode);
    }
    @Override
    public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) {
        return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor);
    }
@@ -185,6 +190,20 @@
        }
    }
    public boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode, Integer process) {
        EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_no", locNo);
        Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
        if (anfme <= 0) {
            return this.baseMapper.deleteLocDetl(locNo,anfme,matnr,batch,csocode,isocode) > 0;
        } else {
            AgvLocDetl agvLocDetl = this.selectOne(wrapper);
            agvLocDetl.setAnfme(anfme);
            agvLocDetl.setModiTime(new Date());
            return this.baseMapper.updateAnfmeProcess(locNo,anfme,matnr,batch,csocode,isocode,process) > 0;
        }
    }
    private void wapperSetCondition(Wrapper wrapper,String column, String condition){
        if(Cools.isEmpty(condition)){
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -425,7 +425,7 @@
            throw new CoolException("当前"+agvLocMast.getBarcode()+"货架码已在工作档中");
        }
        //检索库位,选择合适的库位
        AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,true);
        AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false);
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("当前楼层没有空库位");
        }
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -565,10 +565,10 @@
                LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
                if (adjust.getCount() == 0) { continue; }
                if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(),adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(),adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(),adjust.getDeadTime())) {
                    if (!locDetl.getAnfme().equals(adjust.getCount())) {
                    if (!locDetl.getAnfme().equals(adjust.getCount()) || !locDetl.getProcessSts().equals(adjust.getProcessSts())) {
                        // todo 盘点记录
                        // 修改库存
                        if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
                        if (!agvLocDetlService.updateAnfmeProcess(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),adjust.getProcessSts())) {
                            throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码修改数量失败");
                        }
                        // 保存调整记录
@@ -599,7 +599,7 @@
        // 删除库存
        for (AgvLocDetl locDetl : locDetls) {
            // todo 盘点记录
            if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
            if (!agvLocDetlService.updateAnfmeProcess(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getProcessSts())) {
                throw new CoolException("删除" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码库存明细失败");
            }
            // 保存调整记录
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -224,6 +224,7 @@
        switch (agvWrkMast.getIoType()) {
            case 108:
            case 12:
            case 57:
                agvTaskCreateParam.setTaskTyp("F06");
                break;
            case 109:
src/main/resources/mapper/AgvLocDetlMapper.xml
@@ -153,6 +153,46 @@
        </choose>
    </update>
    <update id="updateAnfmeProcess">
        update agv_loc_detl
        set anfme = #{anfme}
        where 1=1
        and loc_no = #{locNo}
        and matnr = #{matnr}
        <choose>
            <when test="batch != null and batch != ''">
                and batch = #{batch}
            </when>
            <otherwise>
                and (batch IS NULL OR batch = '')
            </otherwise>
        </choose>
        <choose>
            <when test="csocode != null and csocode != ''">
                and three_code = #{csocode}
            </when>
            <otherwise>
                and (three_code IS NULL OR three_code = '')
            </otherwise>
        </choose>
        <choose>
            <when test="isocode != null and isocode != ''">
                and dead_time = #{isocode}
            </when>
            <otherwise>
                and (dead_time IS NULL OR dead_time = '')
            </otherwise>
        </choose>
        <choose>
            <when test="process != null and process != ''">
                and process_sts = #{process}
            </when>
            <otherwise>
                and (process_sts IS NULL OR process_sts = '')
            </otherwise>
        </choose>
    </update>
    <delete id = "deleteLocDetl">
        delete from agv_loc_detl
        where 1=1