瀏覽代碼

将虚拟库位库存转移到目标库位方法

(cherry picked from commit dcb647ad296e5bb1a17973029f00fbf7da177ffe)
LZH 2 年之前
父節點
當前提交
5e7c4fafcf

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

@@ -138,9 +138,34 @@ public interface IWcsTaskService {
 
     /**
      * 任务回调
+     *
      * @param taskNo
      * @param state
      * @param carNo
      */
     void callBack(String taskNo, Integer state, Integer carNo);
+
+    /**
+     * 将起点库存放到中间缓存位置
+     *
+     * @param wcsTask
+     * @return
+     */
+    AjaxResult moveStartingPointToMiddleCache(WcsTask wcsTask);
+
+    /**
+     * 将中间缓存位库存放到终点位置
+     *
+     * @param wcsTask
+     * @return
+     */
+    AjaxResult moveMiddleCacheToDestination(WcsTask wcsTask);
+
+    /**
+     * 将起始点库存放到终点位置
+     *
+     * @param wcsTask
+     * @return
+     */
+    AjaxResult moveStartingPointToDestination(WcsTask wcsTask);
 }

+ 34 - 0
warewms-ams/src/main/java/com/ruoyi/ams/task/service/impl/WcsTaskServiceImpl.java

@@ -441,6 +441,7 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
      * @param wcsTask
      * @return
      */
+    @Override
     @Transactional
     public AjaxResult moveStartingPointToMiddleCache(WcsTask wcsTask) {
         //起点位置
@@ -467,6 +468,7 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
      * @param wcsTask
      * @return
      */
+    @Override
     @Transactional
     public AjaxResult moveMiddleCacheToDestination(WcsTask wcsTask) {
         //终点位置
@@ -490,6 +492,38 @@ public class WcsTaskServiceImpl implements IWcsTaskService {
         return AjaxResult.success();
     }
 
+
+    /**
+     * 将起始点库存放到终点位置
+     *
+     * @param wcsTask
+     * @return
+     */
+    @Override
+    @Transactional
+    public AjaxResult moveStartingPointToDestination(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());
+        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();
+    }
+
     /**
      * 修改库存出入库标记
      *