#
tqs
2023-01-31 179e4116a33beb31a19e4d1b1b4bbab56663aae3
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -7,6 +7,7 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.mapper.WrkChargeMapper;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.*;
@@ -91,6 +92,8 @@
    private CommonService commonService;
    @Autowired
    private WrkChargeMapper wrkChargeMapper;
    @Autowired
    private BasDevpMapper basDevpMapper;
    /**
     * 组托
@@ -304,10 +307,18 @@
                        case 104:
                        case 108:
                            staNo = 103;
                            List<BasDevp> basDevps1 = basDevpMapper.getLoading(103);
                            if (basDevps1.size()!=0){
                                continue;
                            }
                            break;
                        case 204:
                        case 208:
                            staNo = 203;
                            List<BasDevp> basDevps2 = basDevpMapper.getLoading(203);
                            if (basDevps2.size()!=0){
                                continue;
                            }
                            break;
                        default:
                            News.error("{}任务再入库失败,系统数据异常!", wrkMast.getWrkNo());
@@ -489,6 +500,7 @@
                            LocMast sourceLocMast = locMastService.selectById(sourceLocNo);
                            if (sourceLocMast.getLocSts().equals("P")) {
                                sourceLocMast.setLocSts("O");
                                sourceLocMast.setBarcode("");
                                sourceLocMast.setModiTime(new Date());
                                if (!locMastService.updateById(sourceLocMast)) {
                                    throw new CoolException(wrkMast.getWrkNo() + "修改源库位状态 O.空库位");
@@ -986,6 +998,14 @@
                continue;
            }
            if (wrkMast.getWrkSts() == 11 && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107)){
                Integer sour = wrkMast.getStaNo();
                List<WrkMast> wrkMasts = wrkMastMapper.selectWrkStsAndIoType(sour);
                if (wrkMasts.size() > 0){
                    continue;
                }
            }
            // 判断是否已存在小车绑定任务
            BasSte basSte = basSteService.findByCrnNo(wrkMast.getCrnNo());
            if(basSte == null) continue;
@@ -1045,7 +1065,13 @@
                        } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
                            if (null == waitWrkMast) {
                                // 生成一笔移库任务工作档、改变浅库位的源库/目标库 库位状态
                                moveLocForDeepLoc(slave, shallowLoc);
                                // 没有作业中的出库任务时,才能生成移库任务
                                WrkMast one2 = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
                                        .eq("crn_no",slave.getId())
                                        .last(" and wrk_sts in (12,13,14,15,16)"));
                                if(one2==null) {
                                    moveLocForDeepLoc(slave, shallowLoc);
                                }
                                flag = true;
                                break;
                            } else {
@@ -1488,8 +1514,11 @@
            if(!Cools.isEmpty(deeplocs)){
                for(String deepLocNo : deeplocs) {
                    LocMast deepLoc = locMastService.selectById(deepLocNo);
//                WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(deepLocNo);
                    if(deepLoc != null && !deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("O")){
                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(deepLocNo);
                    if(deepLoc != null && !deepLoc.getLocSts().equals("F")
                            && !deepLoc.getLocSts().equals("D")
                            && !deepLoc.getLocSts().equals("O")
                            && (waitWrkMast!=null && waitWrkMast.getWrkSts()<17)){
                        News.error("移库再回库时,深库位组深库位状态为作业中 ===>> deepLoc={},loc_sts={}", deepLoc.getLocNo(), deepLoc.getLocSts());
                        flag = true;
                        break;