自动化立体仓库 - WMS系统
#
yxFwq
2024-11-23 da8323a2468e2a3dcfab461f459008da8c6139a5
src/main/java/com/zy/asrs/task/WrkMastSplitTwinInItScheduler.java
@@ -2,14 +2,8 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.WrkMastSplitTwin;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.WrkMastSplitTwinService;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.handler.WrkMastSplitTwinInItHandler;
import com.zy.common.model.enums.CrnStnType;
import com.zy.common.model.enums.WrkMastExecuteType;
@@ -30,6 +24,7 @@
public class WrkMastSplitTwinInItScheduler {
    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
    private static  Integer signBigTurn = 0;
    @Autowired
    private WrkMastSplitTwinInItHandler wrkMastSplitTwinInItHandler;
@@ -41,6 +36,8 @@
    private BasDevpService basDevpService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private RgvOneSignService rgvOneSignService;
    public static final List<Integer> SplitTwin_CRN_NO = new ArrayList<Integer>() {{
        add(3);
@@ -114,9 +111,39 @@
                                        break;
                                    }else {
                                        for (WrkMast wrkMast:wrkMasts){
                                            if (wrkMast.getStaNoSign().equals(signBigTurn)){
                                                continue;
                                            }
                                            if (wrkMast.getStaNo()>309){
                                                int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 110).gt("sta_no", 309).lt("sta_no", 314).gt("wrk_sts",11L));
                                                if (wrkCount>=12){
                                                    continue;
                                                }
                                                RgvOneSign bigTurn = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","bigTurn"));
                                                if (Cools.isEmpty(bigTurn)){
                                                    continue;
                                                }
                                                if (bigTurn.getRgvOneSign()>13){
                                                    continue;
                                                }
                                                BasDevp basDevp = basDevpService.selectById(212);
                                                if (basDevp.getLoading().equals("Y")
                                                        || !basDevp.getAutoing().equals("Y")
                                                        || (!Cools.isEmpty(basDevp.getWrkNo()) && basDevp.getWrkNo()!=0) ){
                                                    continue;
                                                }
                                            }
                                            wrkMastSplitTwinInItHandler.start(wrkMastSplitTwin,wrkMast,2);
                                            signBigTurn++;
                                            if (signBigTurn > 2){
                                                signBigTurn = 0;
                                            }
                                            break;
                                        }
                                        signBigTurn++;
                                        if (signBigTurn > 2){
                                            signBigTurn = 0;
                                        }
                                        break;
                                    }
                                }