Browse Source

bug修复

andy 2 years ago
parent
commit
200695b47f

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

@@ -2,11 +2,15 @@ package com.ruoyi.web.controller.warewms.pda;
 
 import com.ruoyi.ams.inv.domain.form.InvLotLocIdAdjForm;
 import com.ruoyi.ams.inv.domain.form.InvLotLocIdMoveForm;
+import com.ruoyi.ams.inv.form.InvMovePalletForm;
 import com.ruoyi.ams.inv.service.IInvLotLocIdService;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -32,16 +36,30 @@ public class PdaInvLotLocIdController {
      */
     @Log(title = "PDA库位库存移动", businessType = BusinessType.UPDATE)
     @PostMapping("/move")
-    public AjaxResult move(@Validated @RequestBody InvLotLocIdMoveForm invLotLocIdMoveForm) {
+    public AjaxResult move(@RequestBody InvLotLocIdMoveForm invLotLocIdMoveForm) {
         invLotLocIdMoveForm.setUpdateBy(invLotLocIdMoveForm.getUpdateBy());
         invLotLocIdMoveForm.setWarehouseId(Constant.WAREHOUSE_ID);
-        // 判断是否叫车
-        if (invLotLocIdMoveForm != null
-                && invLotLocIdMoveForm.getIsCallCar().equals(Constant.IS_YES.Y.getValue())) {
-            return invLotLocIdService.move(invLotLocIdMoveForm);
+
+        if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationFrom()) && StringUtils.isEmpty(invLotLocIdMoveForm.getPalletNo())) {
+            return AjaxResult.error("起始库位不能为空");
+        }
+
+        if (StringUtils.isEmpty(invLotLocIdMoveForm.getLocationTo())) {
+            return AjaxResult.error("目标库位不能为空");
+        }
+
+        if (!StringUtils.isEmpty(invLotLocIdMoveForm.getLocationFrom())) {
+            // 判断是否叫车
+            if (invLotLocIdMoveForm != null
+                    && invLotLocIdMoveForm.getIsCallCar().equals(Constant.IS_YES.Y.getValue())) {
+                return invLotLocIdService.move(invLotLocIdMoveForm);
+            } else {
+                return invLotLocIdService.moveDirect(invLotLocIdMoveForm);
+            }
         } else {
-            return invLotLocIdService.moveDirect(invLotLocIdMoveForm);
+            return invLotLocIdService.movePallet(invLotLocIdMoveForm.getPalletNo(), invLotLocIdMoveForm.getLocationTo(), invLotLocIdMoveForm.getIsCallCar(), invLotLocIdMoveForm.getReason(), invLotLocIdMoveForm.getWarehouseId(), invLotLocIdMoveForm.getUpdateBy());
         }
+
     }
 
     /**

+ 2 - 0
warewms-ams/src/main/java/com/ruoyi/ams/asn/service/IWmsDocAsnHeaderService.java

@@ -118,6 +118,7 @@ public interface IWmsDocAsnHeaderService {
 
     /**
      * 查询已码盘
+     *
      * @param palletNo
      * @return
      */
@@ -148,6 +149,7 @@ public interface IWmsDocAsnHeaderService {
 
     /**
      * 条码检测
+     *
      * @param snCheckForm
      * @return
      */

+ 6 - 26
warewms-ams/src/main/java/com/ruoyi/ams/asn/service/impl/WmsDocAsnHeaderServiceImpl.java

@@ -32,6 +32,8 @@ import com.ruoyi.ams.order.mapper.WmsDocOrderDetailsMapper;
 import com.ruoyi.ams.order.service.IActAllocationDetailsService;
 import com.ruoyi.ams.order.service.IWmsDocOrderDetailsService;
 import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
+import com.ruoyi.ams.task.domain.WcsTask;
+import com.ruoyi.ams.task.service.IWcsTaskService;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.base.domain.BaseLocationInfo;
 import com.ruoyi.base.domain.BaseSku;
@@ -99,6 +101,8 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
     private IBusinessService businessService;
     @Autowired
     private IBaseLocationInfoService baseLocationInfoService;
+    @Autowired
+    private IWcsTaskService wcsTaskService;
 
     /**
      * 查询入库单
@@ -478,6 +482,7 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
         if (wmsBoxInfo == null) {
             throw new ServiceException("托盘不存在");
         }
+
         BaseLocationInfo locationTo = baseLocationInfoService.selectBaseLocationInfoById(Long.parseLong(paForm.getLocationTo()));
         if (locationTo != null) {
             locationTo.setIsEmpty("N");
@@ -519,32 +524,7 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
         if (result <= 0) {
             throw new ServiceException("托盘绑定更新失败");
         }
-
-        //更新分配表
-        actAllocationDetailsService.updateAllocationDetailsLocationIdByPalletNo(paForm.getLocationTo(), palletNo);
-
-        //库存移动
-        InvLotLocIdMoveForm moveForm = new InvLotLocIdMoveForm();
-        moveForm.setLocationFrom(paForm.getLocationFrom());
-        moveForm.setLocationTo(paForm.getLocationTo());
-        moveForm.setIsCallCar("N");
-
-        //TODO 添加过滤条件sku
-
-
-        //生成入库上架任务
-        /*FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(5L);
-        AgvCallDTO agvCallDTO = new AgvCallDTO();
-
-        businessService.agvCall(flowConfigHeaderVO, agvCallDTO);*/
         return AjaxResult.success("操作成功");
-        //TODO 事务日志
-        /*String tracNo = idSequenceUtils.generateId("TRANSACTIONID");
-        ActTransactionLog paLog = new ActTransactionLog();
-        paLog.setTransactionId(tracNo);
-        paLog.setTransactionType(Constant.Transaction_TYPE.PA.getValue());
-        //paLog.setDocNo();
-        actTransactionLogService.insertActTransactionLog(paLog);*/
     }
 
     @Override
@@ -619,7 +599,7 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
     @Override
     public CodeSkuRelationshipVO searchSn(SnCheckForm snCheckForm) {
         CodeSkuRelationshipVO codeSkuRelationshipVO = codeSkuRelationshipService.snCheck(snCheckForm.getSn());
-        if (snCheckForm.getAsnNoList() != null && snCheckForm.getAsnNoList().size()>0) {
+        if (snCheckForm.getAsnNoList() != null && snCheckForm.getAsnNoList().size() > 0) {
             Double receivedQty = wmsDocAsnHeaderMapper.selectReceivedQtyByAsnNos(codeSkuRelationshipVO.getSku(), snCheckForm.getAsnNoList());
             if (receivedQty == null) {
                 receivedQty = 0d;

+ 12 - 0
warewms-ams/src/main/java/com/ruoyi/ams/inv/form/InvMovePalletForm.java

@@ -0,0 +1,12 @@
+package com.ruoyi.ams.inv.form;
+
+import lombok.Data;
+
+@Data
+public class InvMovePalletForm {
+    private String palletNo;
+    private String locationTo;
+    private String sku;
+    private String isCallCar;
+    private String reason;
+}

+ 2 - 0
warewms-ams/src/main/java/com/ruoyi/ams/inv/service/impl/InvLotLocIdServiceImpl.java

@@ -445,6 +445,8 @@ public class InvLotLocIdServiceImpl implements IInvLotLocIdService {
     public String initInv(String locationFrom, String sku, String customerId, Double qty, LotattDTO lotattDTO, BigDecimal qtyallocated) {
         InvLotAtt invLotAtt = new InvLotAtt();
         BeanUtils.copyProperties(lotattDTO, invLotAtt);
+        invLotAtt.setCustomerId(customerId);
+        invLotAtt.setSku(sku);
         //查询lotatt是否存在
         String lotnum;
         List<InvLotAtt> queryList = invLotAttMapper.selectInvLotAttList(invLotAtt);