Bläddra i källkod

1、生成agv入库和出库任务
2、移库操作

LZH 1 år sedan
förälder
incheckning
ebb0f6636e

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/pda/PdaInvLotLocIdController.java

@@ -111,7 +111,7 @@ public class PdaInvLotLocIdController {
 
         // 判断是否叫车
         if (invLotLocIdMoveForm.getIsCallCar() == null
-                || invLotLocIdMoveForm.getIsCallCar().equals(Constant.IS_YES.Y.getValue())) {
+                || invLotLocIdMoveForm.getIsCallCar().equals(Constant.IS_YES.Y.name())) {
             return invLotLocIdService.move(invLotLocIdMoveForm);
         } else {
             return invLotLocIdService.moveDirect(invLotLocIdMoveForm);

+ 14 - 6
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -334,11 +334,11 @@ public class BusinessServiceImpl implements IBusinessService {
                     if (!redisCache.lockCacheObject(RedisKey.LOCK_LOCATION + b.getId(), b.getId().toString(), token)) {
                         continue;
                     }
-                    // 判断起始库位上的库存质检状态是否可以出库
-                    boolean con = invLotLocIdService.verifyInventoryCanOutbound(b.getId().toString());
-                    if (!con) {
-                        continue;
-                    }
+//                    // 判断起始库位上的库存质检状态是否可以出库
+//                    boolean con = invLotLocIdService.verifyInventoryCanOutbound(b.getId().toString());
+//                    if (!con) {
+//                        continue;
+//                    }
                     locationInfo = b;
                     break;
                 }
@@ -446,7 +446,15 @@ public class BusinessServiceImpl implements IBusinessService {
                 wcsTask.setAreaTo(locationTo.getZoneId() + "");
                 wcsTask.setLocationTo(locationTo.getId().toString());
             }
-            wcsTask.setState(9L);
+            //入库为生成,安全交握后才可变为待下发,出库不用安全交握
+            if (locationTo.getId().toString().equals("100733")) {
+                wcsTask.setState(13L);
+            } else {
+                wcsTask.setState(9L);
+            }
+            if (locationFrom.getId().toString().equals("100733")) {
+                wcsTask.setExt5(agvCallDTO.getAgvCallItemDTOList().get(0).getLotattDTO().getLotatt08());
+            }
             wcsTask.setPriority(1L);
             wcsTask.setShopId(Constant.WAREHOUSE_ID.toString());
             wcsTask.setCreateDate(new Date());

+ 6 - 13
warewms-ams/src/main/java/com/ruoyi/ams/inv/service/impl/InvLotLocIdServiceImpl.java

@@ -232,17 +232,6 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
         wcsTask.setBusinessType("01");
         wcsTask.setTaskType(Constant.TASK_TYPE.FORWARD.getValue());
         wcsTask.setExt8("");
-        // 三向车叉尺方向(货叉朝左1,朝右2,中位或其他0)
-        // 如果起始点是仓储区,左1,右2,我们系统A是靠马路也就是叉尺的右边
-        if (baseLocationFrom.getZoneId() != null
-                && Objects.equals(baseLocationFrom.getZoneId(), Constant.ZONE_TYPE.STORAGE.getValue())) {
-            wcsTask.setExt4(baseLocationFrom.getRowNo().equals("A") ? "2" : "1");
-        }
-        // 如果起始点是接驳位,默认给1
-        if (baseLocationFrom.getZoneId() != null
-                && Objects.equals(baseLocationFrom.getZoneId(), Constant.ZONE_TYPE.TRANSIT.getValue())) {
-            wcsTask.setExt4("1");
-        }
         iBusinessService.addTask(wcsTask);
 
         // 锁定起始和目标库位任务状态
@@ -280,6 +269,12 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
         baseLocationFrom = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationFrom, warehouseId);
         baseLocationTo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(locationTo, warehouseId);
 
+//        // 验证起始库位必须有货
+//        List<InvLotLocIdLotattVO> invLotLocIdLotattVOList = invLotLocIdService.selectInvLocIdLotattByLocationId(baseLocationFrom.getId());
+//        if (invLotLocIdLotattVOList.size() == 0) {
+//            return AjaxResult.error("起始库位需要有库存!");
+//        }
+
         // 转移库存
         int stockTransfer = invLotLocIdService.stockTransfer(baseLocationFrom.getId(), invLotLocIdMoveForm.getPalletNo(), baseLocationTo.getId());
         if (stockTransfer <= 0) {
@@ -290,8 +285,6 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
         // 更新目标库位空闲有货
         baseLocationInfoService.updateLocationIdleAndNoEmpty(baseLocationTo.getId(), warehouseId, updateBy);
 
-        // todo 事务
-
         return AjaxResult.success("操作成功!");
     }