自动化立体仓库 - WMS系统
#
lsh
2024-01-13 5d53d2306e8c93baeb61b1dc3579256775f0dc20
#
8个文件已修改
118 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/SingleUnstackingCompleteParam.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/SingleMountUnstackingCompleteParam.java
@@ -19,7 +19,7 @@
    private String uuid;//        是    字符串    时间戳
    private Integer staStart;//        是    字符串    起始站点(托盘所在站点)
    private Integer staEnd;//        是    字符串    目标站点(拆垛目的站点)
    private List<MatList> matLists;//        是    列表    拆垛剩余货物信息(可以为空)
    private List<MatList> matList;//        是    列表    拆垛剩余货物信息(可以为空)
    @Data
    public static class MatList{
@@ -37,13 +37,42 @@
        createTime=now.toString();
        uuid=String.valueOf(now.getTime());
        List<MatList> matLists=new ArrayList<>();
        for (WrkDetl wrkDetl:wrkDetlList){
            MatList matList = new MatList();
            matList.setBoxNo(wrkDetl.getBatch());
            matList.setPosition(wrkDetl.getOrigin());
            matList.setUnstackingEnd(false);
            matLists.add(matList);
        if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==120){
            for (WrkDetl wrkDetl:wrkDetlList){
                if (wrkDetl.getOrigin().equals("1")) continue;
                MatList matList = new MatList();
                matList.setBoxNo(wrkDetl.getBatch());
                matList.setPosition(wrkDetl.getOrigin());
                matList.setUnstackingEnd(false);
                matLists.add(matList);
            }
            for (WrkDetl wrkDetl:wrkDetlList){
                if (wrkDetl.getOrigin().equals("2")) continue;
                MatList matList = new MatList();
                matList.setBoxNo(wrkDetl.getBatch());
                matList.setPosition(wrkDetl.getOrigin());
                matList.setUnstackingEnd(false);
                matLists.add(matList);
            }
        }else {
            for (WrkDetl wrkDetl:wrkDetlList){
                if (wrkDetl.getOrigin().equals("2")) continue;
                MatList matList = new MatList();
                matList.setBoxNo(wrkDetl.getBatch());
                matList.setPosition(wrkDetl.getOrigin());
                matList.setUnstackingEnd(false);
                matLists.add(matList);
            }
            for (WrkDetl wrkDetl:wrkDetlList){
                if (wrkDetl.getOrigin().equals("1")) continue;
                MatList matList = new MatList();
                matList.setBoxNo(wrkDetl.getBatch());
                matList.setPosition(wrkDetl.getOrigin());
                matList.setUnstackingEnd(false);
                matLists.add(matList);
            }
        }
        this.matLists = matLists;
        this.matList = matLists;
    }
}
src/main/java/com/zy/asrs/entity/param/SingleUnstackingCompleteParam.java
@@ -13,7 +13,7 @@
    private String palletizingNo;//    是    字符串    拆垛位编号
    private String createTime;//        是    字符串    创建时间
    private String uuid;//        是    字符串    时间戳
    private List<MatList> matLists;//        是    列表    拆垛货物信息(2箱,尾箱可能1箱)
    private List<MatList> matList;//        是    列表    拆垛货物信息(2箱,尾箱可能1箱)
    @Data
    public static class MatList{
@@ -39,9 +39,9 @@
        if (!Cools.isEmpty(this.palletizingNo)){
            switch (this.palletizingNo){
                case "1":
                    return 132;
                    return 131;
                case "2":
                    return 134;
                    return 135;
                default:
                    return null;
            }
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -816,14 +816,14 @@
        //判断param参数
        if (Cools.isEmpty(param.getPalletizingNo())){
            throw new CoolException("参数:码垛位编号 palletizingNo为空");
        }else if (Cools.isEmpty(param.getMatLists()) || param.getMatLists().size()==0){
        }else if (Cools.isEmpty(param.getMatList()) || param.getMatList().size()==0){
            throw new CoolException("参数:物料明细 matLists为空");
        }
        ArrayList<WrkDetl> wrkDetlsNew = new ArrayList<>();
        ArrayList<WrkDetlSingle> wrkDetlsOld = new ArrayList<>();
        //判断matLists参数
        for (SingleUnstackingCompleteParam.MatList matList:param.getMatLists()){
        for (SingleUnstackingCompleteParam.MatList matList:param.getMatList()){
            if (Cools.isEmpty(matList.getPosition())){
                throw new CoolException("参数:码垛位置 position为空");
            }else if (Cools.isEmpty(matList.getBoxNo())){
@@ -858,7 +858,7 @@
        wrkMast.setIoType(202); // 入出库状态:202.拆垛后出库
        wrkMast.setIoPri(99D); // 优先级
        wrkMast.setSourceStaNo(param.getDevNo$());
        wrkMast.setStaNo(140); //贴标站点
        wrkMast.setStaNo(144); //贴标站点  直接到尾端
        // 操作人员数据
        wrkMast.setAppeUser(userId);
        wrkMast.setAppeTime(now);
src/main/java/com/zy/asrs/task/LocMoveAllScheduler.java
@@ -41,7 +41,7 @@
    @Autowired
    private SlaveProperties slaveProperties;
//    @Scheduled(cron = "0/3 * * * * ? ")
    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute(){
        if (!moveAll) return;
@@ -50,6 +50,8 @@
            return;
        }
        for (BasCrnp basCrnp:basCrnps){
            if (basCrnp.getCrnSts()!=3) continue;
            if (basCrnp.getCrnNo()==5) continue;
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",basCrnp.getCrnNo()));
            if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0) {
                LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts","D").eq("crn_no",basCrnp.getCrnNo()).orderBy("appe_time",true));//空板所在
src/main/java/com/zy/asrs/task/ReportToDismantleTheStackScheduler.java
@@ -22,7 +22,7 @@
        for (int staNo : staNos){
            ReturnT<String> result = reportToDismantleTheStackHandler.start(staNo);
            if (result.getCode()==200){
                break;
                continue;
            }
        }
    }
src/main/java/com/zy/asrs/task/handler/LocMoveAllHandler.java
@@ -24,7 +24,7 @@
    private WorkService workService;
    @Autowired
    private LocMastService locMastService;
    private final Integer BAY = 20;//YINGTAN
    private final Integer BAY = 28;//YINGTAN
    @Transactional
@@ -43,7 +43,7 @@
                row2 = row1-1;
            }
            Integer signInt = 0;
            while (Cools.isEmpty(locMastEndNew) && lev1<10 && signInt<100){
            while (Cools.isEmpty(locMastEndNew) && lev1<9 && signInt<100){
                signInt++;
                bay1 = BAY+1-bay1;
src/main/java/com/zy/asrs/task/handler/ReportToDismantleTheStackHandler.java
@@ -51,11 +51,14 @@
        try {
            BasDevp basDevp = basDevpService.selectById(staNo);
            Integer staOther = getStaOther(staNo);
            Integer staEnd = getStaEnd(staNo);
            if (staOther==0) return SUCCESS;
            BasDevp basDevpOther = basDevpService.selectById(staOther);
            if (Cools.isEmpty(basDevpOther) || basDevpOther.getReportSign()==1){
                return SUCCESS;
            }
            WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("io_type", 202).eq("source_sta_no", staEnd));
            if (!Cools.isEmpty(wrkMast1)) return SUCCESS;
            if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()!=0){ //上传前工作号跟电控约定为9992中控(桁架):码垛完成下发入库信息(你可以自定义)
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
@@ -71,24 +74,25 @@
                singleMountUnstackingCompleteParam.setStaEnd(staNo>119? 135:131);
                ReturnT<String> result = null;
                result = postMesData(reportOutPath,singleMountUnstackingCompleteParam);
                System.out.println(result);
                if (true){
                    for (WrkDetl wrkDetl:wrkDetls){
                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
                        wrkDetlSingle.sync(wrkDetl);
                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
                        wrkDetlSingleService.insert(wrkDetlSingle);
                    }
                    wrkMast.setSheetNo("1");
                    wrkMastService.updateById(wrkMast);
                    basDevp.setReportSign(1);
                    basDevpService.updateById(basDevp);
                    return SUCCESS;
                }
//                System.out.println(result);
//                if (true){
//                    for (WrkDetl wrkDetl:wrkDetls){
//                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
//                        wrkDetlSingle.sync(wrkDetl);
//                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
//                        wrkDetlSingleService.insert(wrkDetlSingle);
//                    }
//                    wrkMast.setSheetNo("1");
//                    wrkMastService.updateById(wrkMast);
//                    basDevp.setReportSign(1);
//                    basDevpService.updateById(basDevp);
//                    return SUCCESS;
//                }
                if (result.getCode()==200){
                    for (WrkDetl wrkDetl:wrkDetls){
                        WrkDetlSingle wrkDetlSingle = new WrkDetlSingle();
                        wrkDetlSingle.sync(wrkDetl);
                        wrkDetlSingle.setWrkNo(wrkDetl.getWrkNo().longValue());
                        wrkDetlSingleService.insert(wrkDetlSingle);
                    }
                    wrkMast.setSheetNo("1");
@@ -119,7 +123,7 @@
                        .build()
                        .doPost();
                JSONObject jsonObject = JSON.parseObject(response);
                if (jsonObject.getString("result").equals("Y")) {
                if (jsonObject.getInteger("Code")==200) {
                    success = true;
                } else {
                    log.error("拆垛信息上传请求接口失败!!!url:{};request:{};response:{}"+erpUrl+erpPath, JSON.toJSONString(combParam), response);
@@ -161,4 +165,17 @@
                return 0;
        }
    }
    public Integer getStaEnd(Integer staNo){
        switch (staNo){
            case 118:
            case 119:
                return 131;
            case 120:
            case 121:
                return 135;
            default:
                return 0;
        }
    }
}
src/main/resources/application.yml
@@ -68,10 +68,10 @@
  # 出库上报
  outPath: EosServer/PluginGateway.ashx?pluginid=DataIOHttp&func=senddata&userno=ASRS&sign=5DD885999945BA2F3DC9A61F1B857DB3&dataname=cpckwc
srHangJia:
  url: 192.168.18.229:16126
  url: 192.168.18.209:16126
  # 拆垛信息上传
  reportOutPath: api/DepalletizingInfo/Post
  # 码垛信息上传
  reportInPath: api/PalletizingInfo/Post
loc-move:
  move-all: true
  move-all: false