Kaynağa Gözat

Merge branch 'xuankuang' of http://47.100.220.92:10001/WAREWMS/WAREAMS into xuankuang

李卫 1 yıl önce
ebeveyn
işleme
82c5b16009

+ 0 - 10
warewms-ams/src/main/java/com/ruoyi/ams/task/service/IWcsTaskService.java

@@ -1,7 +1,5 @@
 package com.ruoyi.ams.task.service;
 
-import java.util.List;
-
 import com.ruoyi.ams.task.domain.WcsTask;
 import com.ruoyi.ams.task.dto.WcsTaskLocationDTO;
 import com.ruoyi.base.constant.Constant;
@@ -178,14 +176,6 @@ public interface IWcsTaskService {
      */
     AjaxResult  moveStartingPointToDestination(WcsTask wcsTask);
 
-    /**
-     * 出库将起始点库存放到终点位置
-     *
-     * @param wcsTask
-     * @return
-     */
-    AjaxResult moveStartingPointToDestinationout(WcsTask wcsTask);
-
     /**
      * 翻转任务状态
      * @author chenyang

+ 4 - 59
warewms-ams/src/main/java/com/ruoyi/ams/task/service/impl/WcsTaskServiceImpl.java

@@ -492,25 +492,8 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
     @Override
     @Transactional
     public AjaxResult moveMiddleCacheToDestination(WcsTask wcsTask) {
-        //终点位置
-        Long locationTo = Long.valueOf(wcsTask.getLocationTo());
-        //中间缓存位置
-        Long middleCache = Constant.LOC_MIDDLE_CACHE;
-        //任务号
-        String taskNo = wcsTask.getTaskNo();
-        //检验起点库位库存
-        InvLotLocId invLotLocIdQuery = new InvLotLocId();
-        invLotLocIdQuery.setLocationId(middleCache.toString());
-        invLotLocIdQuery.setTraceid(taskNo);
-        List<InvLotLocId> invLotLocIdList = invLotLocIdService.selectInvLotLocIdList(invLotLocIdQuery);
-        if (invLotLocIdList.size() > 0) {
-            // 转移库存
-            invLotLocIdMapper.moveInvByTraceId(middleCache, locationTo, taskNo);
-        }
-        //修改目标库位状态为占用
-        baseLocationInfoService.occupyLocation(locationTo, Constant.WAREHOUSE_ID, wcsTask.getUpdateBy());
-
-        return AjaxResult.success();
+        wcsTask.setLocationFrom(Constant.LOC_MIDDLE_CACHE.toString());
+        return moveStartingPointToDestination(wcsTask);
     }
 
 
@@ -530,46 +513,8 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
 
         //任务号
         String taskNo = wcsTask.getTaskNo();
-        //检验起点库位库存
-        InvLotLocId invLotLocIdQuery = new InvLotLocId();
-        invLotLocIdQuery.setLocationId(locationFrom.toString());
-        invLotLocIdQuery.setTraceid(taskNo);
-        List<InvLotLocId> invLotLocIdList = invLotLocIdService.selectInvLotLocIdList(invLotLocIdQuery);
-        if (invLotLocIdList.size() > 0) {
-            // 转移库存
-            invLotLocIdMapper.moveInvByTraceId(locationFrom, locationTo, taskNo);
-        }
-        //修改目标库位状态为占用
-        baseLocationInfoService.occupyLocation(locationTo, Constant.WAREHOUSE_ID, wcsTask.getUpdateBy());
-
-        return AjaxResult.success();
-    }
-
-
-    /**
-     * 出库将起始点库存放到终点位置
-     *
-     * @param wcsTask
-     * @return
-     */
-    @Override
-    @Transactional
-    public AjaxResult moveStartingPointToDestinationout(WcsTask wcsTask) {
-        //起始位置
-        Long locationFrom = Long.valueOf(wcsTask.getLocationFrom());
-        //终点位置
-        Long locationTo = Long.valueOf(wcsTask.getLocationTo());
-
-        //任务号
-        String taskNo = wcsTask.getTaskNo();
-        //检验起点库位库存
-        InvLotLocId invLotLocIdQuery = new InvLotLocId();
-        invLotLocIdQuery.setLocationId(locationFrom.toString());
-        List<InvLotLocId> invLotLocIdList = invLotLocIdService.selectInvLotLocIdList(invLotLocIdQuery);
-        if (invLotLocIdList.size() > 0) {
-            // 转移库存
-            invLotLocIdMapper.moveInvByTraceIdOut(locationFrom, locationTo, taskNo);
-        }
+        // 转移库存
+        invLotLocIdMapper.moveInvByTraceIdOut(locationFrom, locationTo, taskNo);
         //修改目标库位状态为占用
         baseLocationInfoService.occupyLocation(locationTo, Constant.WAREHOUSE_ID, wcsTask.getUpdateBy());
         return AjaxResult.success();

+ 4 - 61
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WcsToWmsApiService.java

@@ -15,6 +15,7 @@ import com.ruoyi.ams.task.domain.WcsTask;
 import com.ruoyi.ams.task.service.IWcsTaskService;
 import com.ruoyi.ams.xuankuang.domain.dto.LocationCoordDTO;
 import com.ruoyi.ams.xuankuang.domain.form.*;
+import com.ruoyi.ams.xuankuang.facade.IUnpackingMachineFacade;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.base.domain.BaseLocationInfo;
 import com.ruoyi.base.domain.vo.BaseLocationLotattDTO;
@@ -66,6 +67,8 @@ public class WcsToWmsApiService {
     @Autowired
     private WmsDocAsnDetailsMapper wmsDocAsnDetailsMapper;
     @Autowired
+    private IUnpackingMachineFacade unpackingMachineFacade;
+    @Autowired
     private IdSequenceUtils idSequenceUtils;
     @Autowired
     private StirringTankClient stirringTankClient;
@@ -380,67 +383,7 @@ public class WcsToWmsApiService {
     public AjaxResult lineOpenNotification(LineOpenNotificationForm lineOpenNotificationForm) {
         String lineId = lineOpenNotificationForm.getLineId();
         boolean[] booleans = stirringTankClient.readTank14();
-        if (lineId.equals("1")) {
-            if (booleans[15] = true) {
-                //一号拆包机启动——碳酸钠
-                unpackingMachineSubClient.writeV140_5();
-                CallbackBbmForm callbackBbmForm = new CallbackBbmForm();
-                callbackBbmForm.setBbmId(lineId);
-                wmsToWcsApiService.wmsCallbackBbmTask(callbackBbmForm);
-                //写仓库收到请求已经开始碳酸钠注药
-                stirringTankClient.writeTank03();
-                return AjaxResult.success();
-            }
-        }
-        if (lineId.equals("2")) {
-            if (booleans[14] = true) {
-                //二号拆包机启动——丁黄药
-                unpackingMachineSubClient.writeV140_6();
-                CallbackBbmForm callbackBbmForm = new CallbackBbmForm();
-                callbackBbmForm.setBbmId(lineId);
-                wmsToWcsApiService.wmsCallbackBbmTask(callbackBbmForm);
-                //写仓库收到请求已经开始丁黄药注药
-                stirringTankClient.writeTank03_1();
-                return AjaxResult.success();
-            }
-        }
-        if (lineId.equals("3")) {
-            if (booleans[12] = true) {
-                //三号拆包机启动——六偏磷酸钠
-                unpackingMachineSubClient.writeV140_7();
-                CallbackBbmForm callbackBbmForm = new CallbackBbmForm();
-                callbackBbmForm.setBbmId(lineId);
-                wmsToWcsApiService.wmsCallbackBbmTask(callbackBbmForm);
-                //写仓库收到请求已经开始六偏磷酸钠注药
-                stirringTankClient.writeTank03_2();
-                return AjaxResult.success();
-            }
-        }
-        if (lineId.equals("4")) {
-            if (booleans[11] = true) {
-                //四号拆包机启动——硫酸铵
-                unpackingMachineSubClient.writeV141_0();
-                CallbackBbmForm callbackBbmForm = new CallbackBbmForm();
-                callbackBbmForm.setBbmId(lineId);
-                wmsToWcsApiService.wmsCallbackBbmTask(callbackBbmForm);
-                //写仓库收到请求已经开始硫酸铵注药
-                stirringTankClient.writeTank03_4();
-                return AjaxResult.success();
-            }
-        }
-        if (lineId.equals("5")) {
-            if (booleans[10] = true) {
-                //五号拆包机启动——乙黄药
-                unpackingMachineSubClient.writeV141_1();
-                CallbackBbmForm callbackBbmForm = new CallbackBbmForm();
-                callbackBbmForm.setBbmId(lineId);
-                wmsToWcsApiService.wmsCallbackBbmTask(callbackBbmForm);
-                //写仓库收到请求已经开始乙黄药注药
-                stirringTankClient.writeTank03_5();
-                return AjaxResult.success();
-            }
-        }
-        return AjaxResult.success();
+        return unpackingMachineFacade.unpackingMachineOpen(lineId, booleans) ? AjaxResult.success() : AjaxResult.error();
     }
 
     /**

+ 10 - 0
warewms-ams/src/main/java/com/ruoyi/ams/xuankuang/service/WmsToWcsApiService.java

@@ -27,6 +27,11 @@ public class WmsToWcsApiService {
      * @param outTaskForm
      * @return
      */
+    @Retryable(
+            maxAttempts = 4, //指定重试次数
+            //调用失败后,等待5s重试,后面重试间隔依次变为原来的2倍
+            backoff = @Backoff(delay = 5000, multiplier = 2)
+    )
     public WcsResponseVo wmsOutTask(OutTaskForm outTaskForm) {
         String json = JSON.toJSONString(outTaskForm);
         String r = "";
@@ -46,6 +51,11 @@ public class WmsToWcsApiService {
      * @param billTaskForm
      * @return
      */
+    @Retryable(
+            maxAttempts = 4, //指定重试次数
+            //调用失败后,等待5s重试,后面重试间隔依次变为原来的2倍
+            backoff = @Backoff(delay = 5000, multiplier = 2)
+    )
     public WcsResponseVo wmsBillTask(BillTaskForm billTaskForm) {
         String json = JSON.toJSONString(billTaskForm);
         String r = "";