浏览代码

增加辊筒任务和多入库口任务

wuhb 5 天之前
父节点
当前提交
1d22e00932

+ 51 - 17
mes/ktg-mes/src/main/java/com/ktg/mes/rms/service/impl/RmsLineServiceImpl.java

@@ -1290,7 +1290,19 @@ public class RmsLineServiceImpl implements IRmsLineService {
                         runStatus = rmsSiteLiftList.get(0).getRunStatus();
                     }
                 }
-                RmsSiteLift rmsSiteLift = getRmsSiteLift(parentTaskPool.getRmsLift().getLiftCode(), runStatus);
+                if(pickPlat == null){
+                    //获取设备绑定的拣货平台,巷道车入口对应拣货平台上架点
+                    RmsLift rmsLift = new RmsLift();
+                    rmsLift.setDeviceType("6");
+                    rmsLift.setDeviceCodes(rmsLine.getDeviceCode());
+                    List<RmsLift> rmsLifts = rmsLiftMapper.selectRmsLiftList(rmsLift);
+                    if(rmsLifts.size() > 0){
+                        pickPlat = rmsLifts.get(0);
+                        RmsSiteLift rmsSiteLift = getRmsSiteLift(pickPlat.getLiftCode(), runStatus, "拣货平台");
+                        runStatus = rmsSiteLift.getRunStatus();
+                    }
+                }
+                RmsSiteLift rmsSiteLift = getRmsSiteLift(parentTaskPool.getRmsLift().getLiftCode(), runStatus, "巷道车");
                 RmsSite rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
                 agvSite = rmsSite.getSiteType() + "$" + rmsSite.getSiteCode();
                 break;
@@ -1301,7 +1313,7 @@ public class RmsLineServiceImpl implements IRmsLineService {
                     rmsTaskPool.setRmsLift(rmsLift);
                     parentTaskPool.setRmsLift(rmsLift);
                 }
-                RmsSiteLift rmsSiteLift = getRmsSiteLift(parentTaskPool.getRmsLift().getLiftCode(), 2);
+                RmsSiteLift rmsSiteLift = getRmsSiteLift(parentTaskPool.getRmsLift().getLiftCode(), 2, "巷道车");
                 RmsSite rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
                 agvSite = rmsSite.getSiteType() + "$" + rmsSite.getSiteCode();
                 break;
@@ -1313,7 +1325,7 @@ public class RmsLineServiceImpl implements IRmsLineService {
                 if (!StringUtils.isEmpty(rmsLine.getErpOutstockCode())) {
                     boolean isBack = checkIsBack(parentTaskPool);
                     if (isBack) {
-                        RmsSiteLift rmsSiteLift = getRmsSiteLift(parentTaskPool.getRmsLift().getLiftCode(), 1);
+                        RmsSiteLift rmsSiteLift = getRmsSiteLift(parentTaskPool.getRmsLift().getLiftCode(), 1, "巷道车");
                         RmsSite rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
                         agvSite = rmsSite.getSiteType() + "$" + rmsSite.getSiteCode();
                     } else {
@@ -1330,7 +1342,7 @@ public class RmsLineServiceImpl implements IRmsLineService {
                 if(rmsLine != null && rmsLine.getPickPlat() != null){
                     pickPlat = rmsLine.getPickPlat();
                 }else{
-                    if(parentTaskPool.getTaskType().equals(TaskTypeEnum.PULL.getValue())){
+                    if(TaskTypeEnum.PULL.getValue().equals(parentTaskPool.getTaskType())){
                         if(rmsTaskOutstockLine == null){
                             Long sourceId = parentTaskPool.getSourceId();
                             rmsTaskOutstockLine = rmsTaskOutstockLineMapper.selectRmsTaskOutstockLineByLineId(sourceId);
@@ -1355,10 +1367,20 @@ public class RmsLineServiceImpl implements IRmsLineService {
                         }
                     }
                 }
+                if(pickPlat == null && rmsLine != null){
+                    //获取设备绑定的拣货平台
+                    RmsLift rmsLift = new RmsLift();
+                    rmsLift.setDeviceType("6");
+                    rmsLift.setDeviceCodes(rmsLine.getDeviceCode());
+                    List<RmsLift> rmsLifts = rmsLiftMapper.selectRmsLiftList(rmsLift);
+                    if(rmsLifts.size() > 0){
+                        pickPlat = rmsLifts.get(0);
+                    }
+                }
                 if(pickPlat == null){
                     throw new Exception("没有可用的拣货平台");
                 }
-                RmsSiteLift rmsSiteLift = getRmsSiteLift(pickPlat.getLiftCode(), 1);
+                RmsSiteLift rmsSiteLift = getRmsSiteLift(pickPlat.getLiftCode(), 1, "拣货平台");
                 RmsSite rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
                 agvSite = rmsSite.getSiteType() + "$" + rmsSite.getSiteCode();
                 break;
@@ -1369,13 +1391,13 @@ public class RmsLineServiceImpl implements IRmsLineService {
                 if(rmsLine != null && rmsLine.getPickPlat() != null){
                     pickPlat = rmsLine.getPickPlat();
                 }else{
-                    if(parentTaskPool.getTaskType().equals(TaskTypeEnum.PULL.getValue())){
+                    if(TaskTypeEnum.PULL.getValue().equals(parentTaskPool.getTaskType())){
                         if(rmsTaskOutstockLine == null){
                             Long sourceId = parentTaskPool.getSourceId();
                             rmsTaskOutstockLine = rmsTaskOutstockLineMapper.selectRmsTaskOutstockLineByLineId(sourceId);
                         }
                     }
-                    if(parentTaskPool.getTaskType().equals(TaskTypeEnum.PUSH.getValue())){
+                    if(TaskTypeEnum.PUSH.getValue().equals(parentTaskPool.getTaskType())){
                         if(rmsTaskInstockLine == null){
                             Long sourceId = parentTaskPool.getSourceId();
                             rmsTaskInstockLine = rmsTaskInstockLineMapper.selectRmsTaskInstockLineByLineId(sourceId);
@@ -1431,7 +1453,7 @@ public class RmsLineServiceImpl implements IRmsLineService {
                 if(pickPlat == null){
                     throw new Exception("没有可用的拣货平台");
                 }
-                RmsSiteLift rmsSiteLift = getRmsSiteLift(pickPlat.getLiftCode(), 2);
+                RmsSiteLift rmsSiteLift = getRmsSiteLift(pickPlat.getLiftCode(), 2, "拣货平台");
                 RmsSite rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
                 agvSite = rmsSite.getSiteType() + "$" + rmsSite.getSiteCode();
                 break;
@@ -1478,32 +1500,44 @@ public class RmsLineServiceImpl implements IRmsLineService {
      * @return
      * @throws Exception
      */
-    private RmsSiteLift getRmsSiteLift(String liftCode, long runStatus) throws Exception {
+    private RmsSiteLift getRmsSiteLift(String liftCode, long runStatus, String liftName) throws Exception {
         RmsSiteLift rmsSiteLift = new RmsSiteLift();
         rmsSiteLift.setLiftCode(liftCode);
         rmsSiteLift.setRunStatus(runStatus);
         List<RmsSiteLift> rmsSiteLiftList = rmsSiteLiftMapper.selectRmsSiteLiftList(rmsSiteLift);
+        if(rmsSiteLiftList.size() == 0 && runStatus == 1){
+            rmsSiteLift = new RmsSiteLift();
+            rmsSiteLift.setLiftCode(liftCode);
+            rmsSiteLift.setRunStatus(5L);
+            rmsSiteLiftList = rmsSiteLiftMapper.selectRmsSiteLiftList(rmsSiteLift);
+        }
         if(rmsSiteLiftList.size() == 0){
-            throw new Exception("轨道车没有设置"+(runStatus==1?"入":"出")+"库点");
+            throw new Exception(liftName+"没有设置"+(runStatus==1?"入":"出")+"库点");
         }
         rmsSiteLift = rmsSiteLiftList.get(0);
         if(rmsSiteLift.getSiteId() == null){
-            throw new Exception("轨道车"+(runStatus==1?"入":"出")+"库站点不能为空");
+            throw new Exception(liftName+(runStatus==1?"入":"出")+"库站点不能为空");
         }
         return rmsSiteLift;
     }
 
-    private RmsSiteLift getRmsSiteLiftBySiteCode(String siteCode, long runStatus) throws Exception {
+    private RmsSiteLift getRmsSiteLiftBySiteCode(String siteCode, long runStatus, String liftName) throws Exception {
         RmsSiteLift rmsSiteLift = new RmsSiteLift();
         rmsSiteLift.setSiteCode(siteCode);
         rmsSiteLift.setRunStatus(runStatus);
         List<RmsSiteLift> rmsSiteLiftList = rmsSiteLiftMapper.selectRmsSiteLiftList(rmsSiteLift);
+        if(rmsSiteLiftList.size() == 0 && runStatus == 1){
+            rmsSiteLift = new RmsSiteLift();
+            rmsSiteLift.setSiteCode(siteCode);
+            rmsSiteLift.setRunStatus(5L);
+            rmsSiteLiftList = rmsSiteLiftMapper.selectRmsSiteLiftList(rmsSiteLift);
+        }
         if(rmsSiteLiftList.size() == 0){
-            throw new Exception("轨道车没有设置"+(runStatus==1?"入":"出")+"库点");
+            throw new Exception(liftName+"没有设置"+(runStatus==1?"入":"出")+"库点");
         }
         rmsSiteLift = rmsSiteLiftList.get(0);
         if(rmsSiteLift.getSiteId() == null){
-            throw new Exception("轨道车"+(runStatus==1?"入":"出")+"库站点不能为空");
+            throw new Exception(liftName+(runStatus==1?"入":"出")+"库站点不能为空");
         }
         return rmsSiteLift;
     }
@@ -1848,7 +1882,7 @@ public class RmsLineServiceImpl implements IRmsLineService {
     }
 
     public RmsLift queryRoller(RmsLift lift, int rollerType) throws Exception {
-        RmsSiteLift rmsSiteLift = getRmsSiteLiftBySiteCode(lift.getSiteCode(), rollerType);
+        RmsSiteLift rmsSiteLift = getRmsSiteLiftBySiteCode(lift.getSiteCode(), rollerType, "巷道车");
         RmsLift selLift = rmsLiftMapper.selectRmsLiftByLiftId(rmsSiteLift.getLiftId());
         RmsLift rollerLift = new RmsLift();
         rollerLift.setSiteCode(lift.getSiteCode());
@@ -1885,11 +1919,11 @@ public class RmsLineServiceImpl implements IRmsLineService {
         if(String.valueOf(DeviceTypeEnum.LIFT.getValue()).equals(rmsTaskPool.getDeviceType())){
             RmsSite rmsSite = new RmsSite();
             if(rmsTaskPool.getTaskType().equals(TaskTypeEnum.PUSH.getValue())){
-                RmsSiteLift rmsSiteLift = getRmsSiteLift(rmsTaskPool.getLiftCode(), 1);
+                RmsSiteLift rmsSiteLift = getRmsSiteLift(rmsTaskPool.getLiftCode(), 1, "巷道车");
                 rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
             }
             if(rmsTaskPool.getTaskType().equals(TaskTypeEnum.PULL.getValue())){
-                RmsSiteLift rmsSiteLift = getRmsSiteLift(rmsTaskPool.getLiftCode(), 2);
+                RmsSiteLift rmsSiteLift = getRmsSiteLift(rmsTaskPool.getLiftCode(), 2, "巷道车");
                 rmsSite = RmsSiteMapper.selectRmsSiteById(rmsSiteLift.getSiteId());
             }
             parentToSite = rmsSite.getSiteCode();

+ 1 - 1
mes/ktg-mes/src/main/java/com/ktg/mes/rms/thread/LiftThread.java

@@ -203,7 +203,7 @@ public class LiftThread extends BaseThread{
             throw new Exception("轨道车上架和下架站点配置错误");
         }
         rmsSiteLift = rmsSiteLiftList.get(0);
-        log.info("启动上架");
+        log.info("启动上架: " + rmsSiteLift.getRunStatus());
         pushStart(0);
         String boxCodeOrItemCode = "";
         if(rmsTaskPool.getFromType() == 4){