自动化立体仓库 - WMS系统
#
lsh
2024-01-28 08d48e15eb1a33bef4125b99abc802d1aa7e1c54
#
4个文件已修改
148 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/license.lic 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -9,8 +9,11 @@
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.RgvOneSignService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.WrkMastStaService;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WrkMastStaInItHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@@ -25,6 +28,8 @@
@Component
public class WrkMastStaInItScheduler {
    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
    @Autowired
    private WrkMastStaInItHandler wrkMastStaInItHandler;
    @Autowired
@@ -33,10 +38,20 @@
    private WrkMastService wrkMastService;
    @Autowired
    private RgvOneSignService rgvOneSignService;
    @Autowired
    private WrkMastStaService wrkMastStaService;
    public static final List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{
        add(101);add(102);add(104);add(105);add(107);add(108);add(110);add(111);add(113);add(114);add(116);add(117);
    }};
    public static final List<Integer> STA_WORK_CU_CAR = new ArrayList<Integer>() {{
        add(118);add(119);add(120);add(121);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
        add(120);add(121);
    }};
    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
@@ -61,12 +76,9 @@
                if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                    continue;
                }
//                if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
//                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
//                    if (rgvOneSign.getRgvOneSign()==1){
//                        continue;
//                    }
//                }
                if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119 || wrkMast.getStaNo()==120 || wrkMast.getStaNo()==121){
                    continue;
                }
                boolean wrkTypeSign = fullKM(wrkMast);
                if (!Cools.isEmpty(wrkMast)){
                    if (wrkTypeSign) {
@@ -92,6 +104,10 @@
            BasDevp basDevp = basDevpService.selectById(staNo);
            if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                if (Cools.isEmpty(wrkMast)){
                    continue;
                }
                if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){
                    continue;
                }
@@ -105,19 +121,111 @@
                        } else {
                            System.out.println(staNo+"失败!");
                        }
//                    }else {
//                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);
//                        if (result.getCode()==200) {
//                            continue;
//                        } else {
//                            System.out.println(staNo+"失败!");
//                        }
//                    }
                }
            }
        }
    }
    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute2(){
        try{
            for(Integer staNo : STA_WORK_CU){
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if(Cools.isEmpty(wrkMast)){
                        continue;
                    }
                    if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){
                        continue;
                    }
                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                        continue;
                    }
                    if (wrkMast.getStaNo()<118 || wrkMast.getStaNo()>121){
                        continue;
                    }
                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMast.getStaNo()).or().eq("sta_end", wrkMast.getStaNo()));
                    if (count!=0){
                        continue;
                    }
                    BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
                    if (!basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
                        continue;
                    }
                    if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
                        RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
                        if (rgvOneSign.getRgvOneSign()==1){
                            continue;
                        }
                    }
//
                    boolean wrkTypeSign = fullKM(wrkMast);
                    if (!Cools.isEmpty(wrkMast)){
                        if (wrkTypeSign) {
                            ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,13);//3:取放
                            if (result.getCode()==200){
                                continue;
                            }else {
                                System.out.println(staNo+"失败!");
                            }
                        }
                    }
                }
            }
            for(Integer staNo : STA_WORK_CU){
                BasDevp basDevp = basDevpService.selectById(staNo);
                if (basDevp.getWrkNo()!=0 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){
                    List<Integer> STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR;
                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
                    if(Cools.isEmpty(wrkMast)){
                        continue;
                    }
                    if (wrkMast.getIoType()!=101 && wrkMast.getIoType()!=104){
                        continue;
                    }
                    if (wrkMast.getWrkSts()!=14 && wrkMast.getWrkSts()!=15){
                        continue;
                    }
                    Integer wrkMastStaNo = wrkMast.getStaNo();
                    if (wrkMastStaNo<118 || wrkMastStaNo>121){
                        continue;
                    }
                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo));
                    if (count!=0){
                        continue;
                    }
                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
                    if (rgvOneSign.getRgvOneSign()==1){
                        STA_WORK_CU_CAR_NOW = STA_WORK_CU_CAR_TWO;
                    }
                    BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo);
                    if (!basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) {
                        for (Integer staNoOther : STA_WORK_CU_CAR_NOW) {
                            if (staNoOther.equals(wrkMastStaNo)) continue;
                            int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther));
                            if (countOther!=0){
                                continue;
                            }
                            BasDevp basDevpOther = basDevpService.selectById(staNoOther);
                            if (!basDevpOther.getLoading().equals("Y") || basDevpOther.getWrkNo()!=0 || basDevpOther.getLoading().equals("Y") || basDevpOther.getReportSign()!=0) {
                                continue;
                            }
                            wrkMast.setStaNo(staNoOther);
                            wrkMastService.updateById(wrkMast);
                            log.info("工作号"+wrkMast.getWrkNo()+"修改目标站为:"+staNoOther+";原目标站为:"+wrkMastStaNo);
                            return;
                        }
                    }
                }
            }
        }catch (Exception e){
            log.error("目标为拆垛位置的任务生成小车工作档案失败!!"+e);
        }
    }
    public boolean fullKM(WrkMast wrkMast){
        if (wrkMast.getIoType()!=10 && wrkMast.getIoType()!=110){
            return true;
src/main/java/com/zy/asrs/utils/OutboundAllocationUtil.java
@@ -213,11 +213,11 @@
                if (locDetlList.size()==0){
                    continue;
                }
//                if (sign>lists.size()/2) {
//                    //120、121
//                    staA=120;
//                    staB=121;
//                }
                if (sign>lists.size()/2) {
                    //120、121
                    staA=120;
                    staB=121;
                }
                List<StockOutParam.LocDetl> locDetlsA = new ArrayList<>();
                List<StockOutParam.LocDetl> locDetlsB = new ArrayList<>();
                List<String> locNos = new ArrayList<>();
src/main/resources/application.yml
@@ -10,7 +10,7 @@
    enabled: false
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://192.168.18.3:49977;databasename=srjtasrs
    url: jdbc:sqlserver://192.168.18.4:49977;databasename=srjtasrs
    username: sa
    password: sa@123
  mvc:
src/main/resources/license.lic
Binary files differ