自动化立体仓库 - WMS系统
#
yxFwq
2025-04-01 74fd6eb7fb0322078f7946f51073f20e90231df1
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java
@@ -2,14 +2,8 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.RgvOneSign;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastSta;
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.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.task.handler.WrkMastStaInItHandler;
import org.slf4j.Logger;
@@ -23,7 +17,7 @@
/**
 * Created by Monkey D. Luffy on 2023.07.25
 * 徐工汉云..............以下.............上饶江铜.............自动补空板
 * 徐工汉云..............以下.............上饶江铜.............小车执行作业生成
 */
@Component
public class WrkMastStaInItScheduler {
@@ -40,6 +34,10 @@
    private RgvOneSignService rgvOneSignService;
    @Autowired
    private WrkMastStaService wrkMastStaService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private LocDetlService locDetlService;
    public static final List<Integer> STA_WORK_CU = new ArrayList<Integer>() {{
@@ -53,13 +51,19 @@
    public static final List<Integer> STA_WORK_CU_CAR_TWO = new ArrayList<Integer>() {{
        add(120);add(121);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_THREE  = new ArrayList<Integer>() {{
        add(118);add(120);
    }};
    public static final List<Integer> STA_WORK_CU_CAR_FOUR  = new ArrayList<Integer>() {{
        add(119);add(121);
    }};
    public static final List<Integer> STA_WORK_RU = new ArrayList<Integer>() {{
        add(118);add(119);add(120);add(121);add(122);add(123);
    }};
    @Scheduled(cron = "0/3 * * * * ? ")
//    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute(){
        for(Integer staNo : STA_WORK_CU){
            BasDevp basDevp = basDevpService.selectById(staNo);
@@ -86,14 +90,14 @@
                        if (result.getCode()==200){
                            continue;
                        }else {
                            System.out.println(staNo+"失败!");
                            System.out.println(staNo+"失败1!");
                        }
                    } else {
                        ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,23);//5:满取
                        if (result.getCode()==200){
                            continue;
                        }else {
                            System.out.println(staNo+"失败!");
                            System.out.println(staNo+"失败2!");
                        }
                    }
                }
@@ -119,14 +123,14 @@
                        if (result.getCode()==200) {
                            continue;
                        } else {
                            System.out.println(staNo+"失败!");
                            System.out.println(staNo+"失败3!");
                        }
                }
            }
        }
    }
    @Scheduled(cron = "0/3 * * * * ? ")
//    @Scheduled(cron = "0/3 * * * * ? ")
    private void execute2(){
        try{
            for(Integer staNo : STA_WORK_CU){
@@ -149,6 +153,10 @@
                    if (count!=0){
                        continue;
                    }
                    int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
                    if (countStart!=0){
                        continue;
                    }
                    BasDevp basDevpEnd = basDevpService.selectById(wrkMast.getStaNo());
                    if (!basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0){
                        continue;
@@ -156,6 +164,24 @@
                    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.getIoType()!=101){
                        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                        if (wrkDetls.size()!=0){
                            String origin = wrkDetls.get(0).getOrigin();
                            if (origin.equals("1")){
                                if (!STA_WORK_CU_CAR_FOUR.contains(wrkMast.getStaNo())){
                                    continue;
                                }
                            }else {
                                if (!STA_WORK_CU_CAR_THREE.contains(wrkMast.getStaNo())){
                                    continue;
                                }
                            }
                        }else {
                            log.error("未查询到工作明细");
                            continue;
                        }
                    }
@@ -167,7 +193,7 @@
                            if (result.getCode()==200){
                                continue;
                            }else {
                                System.out.println(staNo+"失败!");
                                System.out.println(staNo+"失败4!");
                            }
                        }
                    }
@@ -192,8 +218,32 @@
                    if (wrkMastStaNo<118 || wrkMastStaNo>121){
                        continue;
                    }
                    String origin = null;
                    boolean sign = false;
                    if (wrkMast.getIoType()!=101){
                        List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                        if (wrkDetls.size()!=0){
                            origin = wrkDetls.get(0).getOrigin();
                            if (origin.equals("1")){
                                if (!STA_WORK_CU_CAR_FOUR.contains(wrkMastStaNo)){
                                    sign = true;
                                }
                            }else {
                                if (!STA_WORK_CU_CAR_THREE.contains(wrkMastStaNo)){
                                    sign = true;
                                }
                            }
                        }else {
                            log.error("未查询到工作明细");
                            continue;
                        }
                    }
                    int count = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", wrkMastStaNo).or().eq("sta_end", wrkMastStaNo));
                    if (count!=0){
                        continue;
                    }
                    int countStart = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNo).or().eq("sta_end", staNo).or().eq("wrk_no", wrkMast.getWrkNo()));
                    if (countStart!=0){
                        continue;
                    }
                    RgvOneSign rgvOneSign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","oneSign"));
@@ -202,9 +252,22 @@
                    }
                    BasDevp basDevpEnd = basDevpService.selectById(wrkMastStaNo);
                    if (!basDevpEnd.getLoading().equals("Y") || basDevpEnd.getWrkNo()!=0 || basDevpEnd.getLoading().equals("Y") || basDevpEnd.getReportSign()!=0) {
                    if (sign || !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;
                            if (sign){
                                if (origin.equals("1")){
                                    if (!STA_WORK_CU_CAR_FOUR.contains(staNoOther)){
                                        continue;
                                    }
                                }else {
                                    if (!STA_WORK_CU_CAR_THREE.contains(staNoOther)){
                                        continue;
                                    }
                                }
                            }
                            int countOther = wrkMastStaService.selectCount(new EntityWrapper<WrkMastSta>().eq("sta_start", staNoOther).or().eq("sta_end", staNoOther));
                            if (countOther!=0){
                                continue;