Jelajahi Sumber

流程配置呼叫修复

andy 3 tahun lalu
induk
melakukan
9c33d51648

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

@@ -163,7 +163,7 @@
                 <el-input v-model="scope.row.lotattValue" placeholder=""/>
               </div>
               <div v-if="scope.row.inputType === 'Datebox'">
-                <el-date-picker v-model="scope.row.lotattValue" type="date" placeholder="" style="width: 100%"/>
+                <el-date-picker v-model="scope.row.lotattValue" type="date" placeholder="" style="width: 100%" value-format="yyyy-MM-dd"/>
               </div>
               <div v-if="scope.row.inputType === 'Combobox'">
                 <el-select v-model="scope.row.lotattValue" placeholder="请选择" clearable size="small" style="width: 100%">

+ 10 - 5
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -14,6 +14,7 @@ import com.ruoyi.ams.inv.service.IInvLotLocIdService;
 import com.ruoyi.ams.task.domain.WcsTask;
 import com.ruoyi.ams.task.mapper.WcsTaskMapper;
 import com.ruoyi.base.domain.BaseLocationInfo;
+import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
 import com.ruoyi.base.service.IBaseLocationInfoService;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.StringUtils;
@@ -93,7 +94,7 @@ public class BusinessServiceImpl implements IBusinessService {
                 outWarehouseDTO.setLotattDTO(agvCallDTO.getLotattDTO());
                 outWarehouseDTO.setWarehouseId(agvCallDTO.getWarehouseId());
                 BaseLocationInfo locationFrom = outInvAllocation(outWarehouseDTO);
-                if(locationFrom == null) {
+                if (locationFrom == null) {
                     throw new RuntimeException("没有可分配的库存");
                 }
                 //3.生成任务
@@ -101,7 +102,7 @@ public class BusinessServiceImpl implements IBusinessService {
                 WcsTask wcsTask = new WcsTask();
                 wcsTask.setTaskNo(taskNo);
                 wcsTask.setAreaFrom(locationFrom.getZoneId().toString());
-                wcsTask.setLocationFrom(agvCallDTO.getLocationFrom());
+                wcsTask.setLocationFrom(locationFrom.getId().toString());
                 wcsTask.setAreaTo(locationTo.getZoneId() + "");
                 wcsTask.setLocationTo(locationTo.getId().toString());
                 wcsTask.setState(9L);
@@ -152,7 +153,9 @@ public class BusinessServiceImpl implements IBusinessService {
                     // 如果指定区域没有配置策略则随意分配一个可用的空库位
                     List<BaseLocationInfo> locationInfoList = baseLocationInfoService.selectSortedLocatinListByZoneId(zoneId, inWarehouseDTO.getWarehouseId());
                     resultLocation = locationAllocationStrategy.filterLockLocation(locationInfoList);
-
+                }
+                if (resultLocation != null) {
+                    return resultLocation;
                 }
             }
             return resultLocation;
@@ -174,8 +177,10 @@ public class BusinessServiceImpl implements IBusinessService {
             if (!StringUtils.isEmpty(outWarehouseDTO.getLocationZoneFrom())) {
                 zoneIdList.add(Long.parseLong(outWarehouseDTO.getLocationZoneFrom()));
             } else {
-                List<Long> zoneList = invLotLocIdMapper.selectInvZoneBySkuOrSkuType(outWarehouseDTO.getSku(), outWarehouseDTO.getSkuType());
-                zoneIdList.addAll(zoneList);
+                List<BaseLocationLotattVO> zoneList = invLotLocIdMapper.selectInvZoneBySkuOrSkuType(outWarehouseDTO.getSku(), outWarehouseDTO.getSkuType());
+                for (BaseLocationLotattVO vo : zoneList) {
+                    zoneIdList.add(vo.getZoneId());
+                }
             }
 
             for (Long zoneId : zoneIdList) {

+ 1 - 1
warewms-ams/src/main/java/com/ruoyi/ams/config/service/LocationAllocationStrategy.java

@@ -243,7 +243,7 @@ public class LocationAllocationStrategy {
                 }*/
 
                 if (currentLocation == null) {
-                    if (b.getIsEmpty().equals("Y") && b.getStockStatus().equals("00")) {
+                    if (b.getIsEmpty().equals("N") && b.getStockStatus().equals("00")) {
                         BaseLocationInfo locationInfo = new BaseLocationInfo();
                         BeanUtils.copyProperties(b, locationInfo);
                         currentLocation = locationInfo;

+ 2 - 2
warewms-ams/src/main/java/com/ruoyi/ams/inv/mapper/InvLotLocIdMapper.java

@@ -73,7 +73,7 @@ public interface InvLotLocIdMapper
      * @param lotattDTO
      * @return
      */
-     List<BaseLocationLotattVO> selectInvLocationList(Long zoneId, String sku, String skuType, Double weight, String supplier, LotattDTO lotattDTO);
+     List<BaseLocationLotattVO> selectInvLocationList(@Param("zoneId") Long zoneId,@Param("sku") String sku,@Param("skuType") String skuType,@Param("weight") Double weight,@Param("supplier") String supplier,@Param("lotattDTO") LotattDTO lotattDTO);
 
     /**
      * 根据sku和skuType查询已存在库存的区域
@@ -81,5 +81,5 @@ public interface InvLotLocIdMapper
      * @param skuType
      * @return
      */
-     List<Long> selectInvZoneBySkuOrSkuType(@Param("sku") String sku,@Param("skuType") String skuType);
+     List<BaseLocationLotattVO> selectInvZoneBySkuOrSkuType(@Param("sku") String sku,@Param("skuType") String skuType);
 }

+ 5 - 0
warewms-ams/src/main/java/com/ruoyi/ams/task/mapper/WcsTaskMapper.java

@@ -27,6 +27,11 @@ public interface WcsTaskMapper
      */
      List<WcsTask> selectWcsTaskList(WcsTask wcsTask);
 
+    /**
+     * 查询物料列表
+     * @param wcsTask
+     * @return
+     */
      List<WcsTask> selectWcsTaskListVO(WcsTask wcsTask);
 
     /**