Explorar o código

华兰:优化出入库生成任务流程代码

k %!s(int64=2) %!d(string=hai) anos
pai
achega
3aeadec64a

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

@@ -46,21 +46,6 @@ public class PdaDocAsnController {
         if (StringUtils.isEmpty(agvCallItem.getLocationFrom())) {
             return AjaxResult.error("起始库位不可为空!");
         }
-        //查询所属流程
-        FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(ASN_FLOW_ID);
-
-        AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
-        BeanUtils.copyProperties(agvCallItem, agvCallItemDTO);
-
-        List<AgvCallDTO> list = new ArrayList<>();
-        AgvCallDTO agvCallDTO = new AgvCallDTO();
-        agvCallDTO.setWarehouseId(Constant.WAREHOUSE_ID);
-        agvCallDTO.setLocationFrom(agvCallItemDTO.getLocationFrom());
-        agvCallDTO.setLocationTo(agvCallItemDTO.getLocationTo());
-        agvCallItemDTO.setWarehouseId(Constant.WAREHOUSE_ID);
-        agvCallItemDTO.setFlowConfigHeaderVO(flowConfigHeaderVO);
-        agvCallDTO.getAgvCallItemDTOList().add(agvCallItemDTO);
-        list.add(agvCallDTO);
-        return businessService.agvCall(flowConfigHeaderVO, list);
+        return businessService.agvCall(agvCallItem, ASN_FLOW_ID);
     }
 }

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

@@ -46,21 +46,6 @@ public class PdaDocSoController {
         if (StringUtils.isEmpty(agvCallItem.getLocationTo())) {
             return AjaxResult.error("目标库位不可为空!");
         }
-        //查询所属流程
-        FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(SO_FLOW_ID);
-
-        AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
-        BeanUtils.copyProperties(agvCallItem, agvCallItemDTO);
-
-        List<AgvCallDTO> list = new ArrayList<>();
-        AgvCallDTO agvCallDTO = new AgvCallDTO();
-        agvCallDTO.setWarehouseId(Constant.WAREHOUSE_ID);
-        agvCallDTO.setLocationFrom(agvCallItemDTO.getLocationFrom());
-        agvCallDTO.setLocationTo(agvCallItemDTO.getLocationTo());
-        agvCallItemDTO.setWarehouseId(Constant.WAREHOUSE_ID);
-        agvCallItemDTO.setFlowConfigHeaderVO(flowConfigHeaderVO);
-        agvCallDTO.getAgvCallItemDTOList().add(agvCallItemDTO);
-        list.add(agvCallDTO);
-        return businessService.agvCall(flowConfigHeaderVO, list);
+        return businessService.agvCall(agvCallItem, SO_FLOW_ID);
     }
 }

+ 23 - 0
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -35,6 +35,7 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.uuid.SnowflakeIdWorker;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -72,6 +73,8 @@ public class BusinessServiceImpl implements IBusinessService {
     private IWcsTaskService wcsTaskService;
     @Autowired
     private IAmsTaskService amsTaskService;
+    @Autowired
+    private IFlowConfigHeaderService flowConfigHeaderService;
 
     private int geniKey(String taskNo) {
         int res = CRC16Util.calcCrc16(ByteUtil.string2byteArray(taskNo));
@@ -84,6 +87,26 @@ public class BusinessServiceImpl implements IBusinessService {
         }
     }
 
+    @Override
+    public AjaxResult agvCall(AgvCallItem agvCallItem,Long flowId) {
+        //查询所属流程
+        FlowConfigHeaderVO flowConfigHeaderVO = flowConfigHeaderService.selectFlowConfigHeaderById(flowId);
+
+        AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
+        BeanUtils.copyProperties(agvCallItem, agvCallItemDTO);
+
+        List<AgvCallDTO> list = new ArrayList<>();
+        AgvCallDTO agvCallDTO = new AgvCallDTO();
+        agvCallDTO.setWarehouseId(Constant.WAREHOUSE_ID);
+        agvCallDTO.setLocationFrom(agvCallItemDTO.getLocationFrom());
+        agvCallDTO.setLocationTo(agvCallItemDTO.getLocationTo());
+        agvCallItemDTO.setWarehouseId(Constant.WAREHOUSE_ID);
+        agvCallItemDTO.setFlowConfigHeaderVO(flowConfigHeaderVO);
+        agvCallDTO.getAgvCallItemDTOList().add(agvCallItemDTO);
+        list.add(agvCallDTO);
+        return this.agvCall(flowConfigHeaderVO, list);
+    }
+
     @Transactional
     @Override
     public AjaxResult agvCall(FlowConfigHeaderVO flowConfigHeaderVO, List<AgvCallDTO> agvCallDTOList) {

+ 13 - 4
warewms-ams/src/main/java/com/ruoyi/ams/business/IBusinessService.java

@@ -1,10 +1,7 @@
 package com.ruoyi.ams.business;
 
 import com.ruoyi.ams.config.domain.AsnSoStrategy;
-import com.ruoyi.ams.config.domain.dto.AgvCallDTO;
-import com.ruoyi.ams.config.domain.dto.AgvCallItemDTO;
-import com.ruoyi.ams.config.domain.dto.InWarehouseDTO;
-import com.ruoyi.ams.config.domain.dto.OutWarehouseDTO;
+import com.ruoyi.ams.config.domain.dto.*;
 import com.ruoyi.ams.config.domain.vo.FlowConfigHeaderVO;
 import com.ruoyi.ams.task.domain.WcsTask;
 import com.ruoyi.base.domain.BaseLocationInfo;
@@ -20,6 +17,16 @@ import java.util.List;
  */
 public interface IBusinessService {
 
+
+    /**
+     * AGV呼叫业务
+     *
+     * @param agvCallItem
+     * @param flowId
+     * @return
+     */
+    AjaxResult agvCall(AgvCallItem agvCallItem, Long flowId);
+
     /**
      * AGV呼叫业务
      *
@@ -122,6 +129,7 @@ public interface IBusinessService {
 
     /**
      * 任务拆分
+     *
      * @param wcsTask
      * @return
      */
@@ -129,6 +137,7 @@ public interface IBusinessService {
 
     /**
      * 任务可执行判断
+     *
      * @param wcsTask
      * @return
      */