Browse Source

bug修复

andy 3 years ago
parent
commit
178bd9b431

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/ams/LineCallController.java

@@ -40,7 +40,7 @@ public class LineCallController {
         agvCallDTO.setLocationFrom(lineCallForm.getLocationFrom());
         agvCallDTO.setLocationTo(lineCallForm.getLocationTo());
         agvCallDTO.setSku(lineCallForm.getSku());
-        agvCallDTO.setWarehouseId(1L);
+        agvCallDTO.setWarehouseId(1L);//没用暂时写死
         agvCallDTO.setQty(lineCallForm.getQty());
         agvCallDTO.setSupplier(lineCallForm.getSupplier());
         agvCallDTO.setWeight(lineCallForm.getWeight());

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -86,7 +86,7 @@ token:
     # 令牌密钥
     secret: abcdefghijklmnopqrstuvwxyz
     # 令牌有效期(默认30分钟)
-    expireTime: 60
+    expireTime: 120
   
 # MyBatis配置
 mybatis:

+ 1 - 1
ruoyi-ui/src/views/ams/lineCall/index.vue

@@ -410,7 +410,7 @@
       },
       /** 提交按钮 */
       submitForm() {
-        this.$refs["form"].validate(valid => {
+        this.$refs["relForm"].validate(valid => {
           if (valid) {
             if (this.form.skuTypeFlag === 'Required' && this.form.skuType === '') {
               this.$modal.msgError("物料必须选择");

+ 7 - 81
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -24,6 +24,7 @@ import com.ruoyi.base.mapper.BaseLocationInfoMapper;
 import com.ruoyi.base.service.IBaseLocationInfoService;
 import com.ruoyi.base.service.IBaseSkuService;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -60,86 +61,7 @@ public class BusinessServiceImpl implements IBusinessService {
     @Override
     public AjaxResult agvCall(List<AgvCallDTO> agvCallDTOList) {
         for (AgvCallDTO agvCallDTO : agvCallDTOList) {
-            if (!StringUtils.isEmpty(agvCallDTO.getLocationFrom()) && StringUtils.isEmpty(agvCallDTO.getLocationTo())) {
-                //如果起始库位不为空、目标库位为空则表示为入库
-                //1.分配库位
-                BaseLocationInfo locationFrom = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(agvCallDTO.getLocationFrom(), agvCallDTO.getWarehouseId());
-                InWarehouseDTO inWarehouseDTO = new InWarehouseDTO();
-                inWarehouseDTO.setWarehouseId(agvCallDTO.getWarehouseId());
-                inWarehouseDTO.setSku(agvCallDTO.getSku());
-                inWarehouseDTO.setLocationTo(agvCallDTO.getLocationTo());
-                inWarehouseDTO.setLocationFrom(agvCallDTO.getLocationFrom());
-                inWarehouseDTO.setQty(agvCallDTO.getQty());
-                inWarehouseDTO.setSupplier(agvCallDTO.getSupplier());
-                inWarehouseDTO.setWeight(agvCallDTO.getWeight());
-                inWarehouseDTO.setLotattDTO(agvCallDTO.getLotattDTO());
-                BaseLocationInfo locationInfo = inLocationAllocation(inWarehouseDTO);
-                if (locationInfo == null) {
-                    throw new RuntimeException("没有可以分配的库位");
-                }
-                //2.初始化库存
-                invLotLocIdService.initInv(agvCallDTO.getLocationFrom(), agvCallDTO.getSku(), Constant.CUSTOMER_ID, agvCallDTO.getQty(), agvCallDTO.getLotattDTO());
-                //3.生成任务
-                String taskNo = System.currentTimeMillis() + "";
-                WcsTask wcsTask = new WcsTask();
-                wcsTask.setTaskNo(taskNo);
-                wcsTask.setAreaFrom(locationFrom.getZoneId().toString());
-                wcsTask.setLocationFrom(agvCallDTO.getLocationFrom());
-                wcsTask.setAreaTo(locationInfo.getZoneId() + "");
-                wcsTask.setLocationTo(locationInfo.getId().toString());
-                wcsTask.setState(9L);
-                wcsTask.setPriority(1L);
-                wcsTask.setCreateDate(new Date());
-                wcsTask.setBusinessType("01");
-                wcsTask.setTaskType("");
-                return businessService.addTask(wcsTask);
-            } else if (StringUtils.isEmpty(agvCallDTO.getLocationFrom()) && !StringUtils.isEmpty(agvCallDTO.getLocationTo())) {
-                //如果起始库位为空、目标库位不为空则表示为出库
-                BaseLocationInfo locationTo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(agvCallDTO.getLocationTo(), agvCallDTO.getWarehouseId());
-                OutWarehouseDTO outWarehouseDTO = new OutWarehouseDTO();
-                outWarehouseDTO.setLocationTo(locationTo.getId().toString());
-                outWarehouseDTO.setSku(agvCallDTO.getSku());
-                outWarehouseDTO.setQty(agvCallDTO.getQty());
-                outWarehouseDTO.setWeight(agvCallDTO.getWeight());
-                outWarehouseDTO.setSupplier(agvCallDTO.getSupplier());
-                outWarehouseDTO.setLotattDTO(agvCallDTO.getLotattDTO());
-                outWarehouseDTO.setWarehouseId(agvCallDTO.getWarehouseId());
-                BaseLocationInfo locationFrom = outInvAllocation(outWarehouseDTO);
-                if (locationFrom == null) {
-                    throw new RuntimeException("没有可分配的库存");
-                }
-                //3.生成任务
-                String taskNo = System.currentTimeMillis() + "";
-                WcsTask wcsTask = new WcsTask();
-                wcsTask.setTaskNo(taskNo);
-                wcsTask.setAreaFrom(locationFrom.getZoneId().toString());
-                wcsTask.setLocationFrom(locationFrom.getId().toString());
-                wcsTask.setAreaTo(locationTo.getZoneId() + "");
-                wcsTask.setLocationTo(locationTo.getId().toString());
-                wcsTask.setState(9L);
-                wcsTask.setPriority(1L);
-                wcsTask.setCreateDate(new Date());
-                wcsTask.setBusinessType("01");
-                wcsTask.setTaskType("");
-                return businessService.addTask(wcsTask);
-            } else if (!StringUtils.isEmpty(agvCallDTO.getLocationFrom()) && !StringUtils.isEmpty(agvCallDTO.getLocationTo())) {
-                BaseLocationInfo locationFrom = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(agvCallDTO.getLocationFrom(), agvCallDTO.getWarehouseId());
-                BaseLocationInfo locationTo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(agvCallDTO.getLocationTo(), agvCallDTO.getWarehouseId());
-                //如果都不为空则表示指定任务
-                String taskNo = System.currentTimeMillis() + "";
-                WcsTask wcsTask = new WcsTask();
-                wcsTask.setTaskNo(taskNo);
-                wcsTask.setAreaFrom(locationFrom.getZoneId().toString());
-                wcsTask.setLocationFrom(locationFrom.getId().toString());
-                wcsTask.setAreaTo(locationTo.getZoneId() + "");
-                wcsTask.setLocationTo(locationTo.getId().toString());
-                wcsTask.setState(9L);
-                wcsTask.setPriority(1L);
-                wcsTask.setCreateDate(new Date());
-                wcsTask.setBusinessType("01");
-                wcsTask.setTaskType("");
-                return businessService.addTask(wcsTask);
-            }
+            //BaseLocationInfo locationFrom = agvCallDTO.getLocationFrom();
         }
         return AjaxResult.error("无效的指令");
     }
@@ -150,6 +72,10 @@ public class BusinessServiceImpl implements IBusinessService {
         /**
          * 根据sku查询可以存放的zone
          * 根据每个zone的配置去分配可以存放的库位
+         *
+         * force
+         * optimization
+         * ignore
          */
         if (!StringUtils.isEmpty(inWarehouseDTO.getLocationTo())) { //指定库位则直接返回库位
             BaseLocationInfo baseLocationInfo = baseLocationInfoService.selectBaseLocationInfoByIdOrNo(inWarehouseDTO.getLocationTo(), inWarehouseDTO.getWarehouseId());
@@ -260,7 +186,7 @@ public class BusinessServiceImpl implements IBusinessService {
         if (result > 0) {
             return AjaxResult.success("任务生成成功");
         } else {
-            throw new RuntimeException("任务生成失败");
+            throw new ServiceException("任务生成失败");
         }
     }
 

+ 2 - 0
warewms-ams/src/main/java/com/ruoyi/ams/lineCall/domain/form/LineCallDetailsForm.java

@@ -7,7 +7,9 @@ package com.ruoyi.ams.lineCall.domain.form;
  */
 public class LineCallDetailsForm {
 
+    //批次属性id
     private String lotattId;
+    //批次属性值
     private String lotattValue;
 
     public String getLotattId() {

+ 7 - 1
warewms-ams/src/main/java/com/ruoyi/ams/lineCall/domain/form/LineCallForm.java

@@ -8,13 +8,19 @@ import java.util.List;
  * Date: 2022/3/9
  */
 public class LineCallForm {
-
+    //物料
     private String sku;
+    //数量
     private Double qty;
+    //重量
     private Double weight;
+    //供应商
     private String supplier;
+    //起始(库位或者区域)
     private String locationFrom;
+    //目标(库位或者区域)
     private String locationTo;
+    //批次属性
     private List<LineCallDetailsForm> lineCallDetailsFormList;
 
     public String getSku() {