自动化立体仓库 - WMS系统
#
whycq
2024-09-03 ead73e3697fdb4e2a3de786a82393cd28a6c0e01
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -68,6 +68,10 @@
        wapperSetCondition(wrapper,"three_code",csocode);
        wapperSetCondition(wrapper,"dead_time",isoseq);
        if ("JG".equals(orderNo.substring(0,2))) {
            wapperSetCondition(wrapper,"process_sts","1");
        }
        List<AgvLocDetl> agvLocDetls = this.selectList(wrapper);
        for (AgvLocDetl agvLocDetl: agvLocDetls) {
@@ -86,10 +90,11 @@
                String orderNoWrkDtel = Utils.getOrderNo(orderNo,anfme);
                //更新订单数量
                orderNo = Utils.orderMergeUpdate(orderNo,anfme);
                LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme);
                LocDto locDto = new LocDto(agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getMaktx(), agvLocDetl.getBatch(), orderNoWrkDtel, anfme,agvLocDetl.getProcessSts());
                locDto.setCsocode(csocode);
                locDto.setIsoseq(isoseq);
                locDto.setContainerCode(agvLocDetl.getSuppCode());
                locDto.setProcessSts(agvLocDetl.getProcessSts());
                //当前库位所处楼层
                int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]);
                //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
@@ -123,8 +128,23 @@
    }
    @Override
    public Double getSumAnfmeProcess(String matnr, String threeCode) {
        return this.baseMapper.selectSumAnfmeByMatnrProcess(matnr, threeCode);
    }
    @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);
    }
    @Override
    public Double getSumAnfmeback(String matnr, String threeCode,Integer floor) {
        return this.baseMapper.getSumAnfmeback(matnr, threeCode, floor);
    }
    /*
@@ -170,10 +190,25 @@
        } else {
            AgvLocDetl agvLocDetl = this.selectOne(wrapper);
            agvLocDetl.setAnfme(anfme);
            agvLocDetl.setModiTime(new Date());
            return this.baseMapper.updateAnfme(locNo,anfme,matnr,batch,csocode,isocode) > 0;
        }
    }
    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)){