自动化立体仓库 - WMS系统
#
lsh
2024-01-28 2af6ef4a9c654040138bc846d5fa1396e0305975
#
1个文件已修改
81 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/WrkMastStaInItScheduler.java 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
@@ -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>() {{
@@ -52,6 +50,12 @@
    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>() {{
@@ -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;
                        }
                    }
@@ -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;