diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/vehicle/dao/MdPbStoragevehicleinfo.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/vehicle/dao/MdPbStoragevehicleinfo.java index 51d5af68..acf5c46c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/vehicle/dao/MdPbStoragevehicleinfo.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/vehicle/dao/MdPbStoragevehicleinfo.java @@ -1,6 +1,8 @@ package org.nl.wms.masterdata_manage.service.vehicle.dao; import java.math.BigDecimal; + +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; import java.io.Serializable; @@ -25,6 +27,7 @@ public class MdPbStoragevehicleinfo implements Serializable { /** * 载具标识 */ + @TableId private String storagevehicle_id; /** diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/IStIvtStructattrService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/IStIvtStructattrService.java index 69d619bc..5bca0bec 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/IStIvtStructattrService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/IStIvtStructattrService.java @@ -40,4 +40,10 @@ public interface IStIvtStructattrService extends IService { * @param jo */ JSONObject getSectCascader(JSONObject jo); + + /** + * 查询超限货位 + * @param jo + */ + StIvtStructattr getExceedAttr(JSONObject jo); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/StIvtStructattrMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/StIvtStructattrMapper.java index 2c9de372..a5374f4f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/StIvtStructattrMapper.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/StIvtStructattrMapper.java @@ -1,5 +1,6 @@ package org.nl.wms.masterdata_manage.storage.service.storage.dao.mapper; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; @@ -13,4 +14,5 @@ import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; */ public interface StIvtStructattrMapper extends BaseMapper { + StIvtStructattr getExceedAttr(JSONObject jo); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/xml/StIvtStructattrMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/xml/StIvtStructattrMapper.xml index d3d05f95..c7707299 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/xml/StIvtStructattrMapper.xml +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/dao/mapper/xml/StIvtStructattrMapper.xml @@ -2,4 +2,33 @@ + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/impl/StIvtStructattrServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/impl/StIvtStructattrServiceImpl.java index ef0b99f1..48223438 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/impl/StIvtStructattrServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/storage/service/storage/impl/StIvtStructattrServiceImpl.java @@ -117,6 +117,11 @@ public class StIvtStructattrServiceImpl extends ServiceImpl code; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java index ca102274..cc7d2c62 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/controller/iostorInv/IStivtlostorivnCpOutController.java @@ -1,5 +1,6 @@ package org.nl.wms.storage_manage.productmanage.controller.iostorInv; +import cn.dev33.satoken.annotation.SaIgnore; import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -141,5 +142,13 @@ public class IStivtlostorivnCpOutController { return new ResponseEntity<>(HttpStatus.OK); } + @GetMapping("/initAttr") + @Log("初始化仓位") + @ApiOperation("初始化仓位") + @SaIgnore + public ResponseEntity initAttr(){ + iStIvtIostorinvCpOutService.initAttr(); + return new ResponseEntity<>(HttpStatus.OK); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java index 930ba2cc..2d429e24 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/IStIvtIostorinvCpOutService.java @@ -178,4 +178,9 @@ public interface IStIvtIostorinvCpOutService extends IService * } */ void confirmTask(JSONObject whereJson); + + /* + 初始化仓位 + */ + void initAttr(); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java index 961e8cf8..18466b72 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java @@ -30,6 +30,7 @@ import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextServic import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleinfoService; import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbBucketrecord; import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext; +import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleinfo; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr; @@ -457,7 +458,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() + .eq(MdPbStoragevehicleinfo::getStoragevehicle_code, attrDao.getStoragevehicle_code()) + ); + + if (StrUtil.equals(vehicleDao.getOverstruct_type(),IOSEnum.IS_USED.code("是"))) { + // 解锁超限货位 + iStIvtStructattrService.update( + new UpdateWrapper().lambda() + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .eq(StIvtStructattr::getControl_code,attrDao.getStruct_id()) + ); + } + attrDao.setInv_code(""); attrDao.setInv_type(""); attrDao.setInv_id(""); @@ -816,5 +871,4 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .eq(StIvtStructattr::getControl_code,disDao.getStruct_id()) + ); + } + // 更新库存 iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao,ChangeIvtUtil.SUBWAREHOUSING_QTY,null)); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/RuleUtil.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/RuleUtil.java index 0be2a461..2c7a3e3e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/RuleUtil.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/RuleUtil.java @@ -8,6 +8,12 @@ public class RuleUtil { */ public static final String PRODUCTION_IN_1 = "in_1"; + /* + * 入库分配: + * 按照仓位顺序找到一个成品仓一层两个货位 + */ + public static final String PRODUCTION_IN_2 = "in_2"; + /* * 出库分配: * 根据 仓库、库区、物料、销售单找库存 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/impl/DivRuleCpServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/impl/DivRuleCpServiceImpl.java index faf9c074..3f54edbd 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/impl/DivRuleCpServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/util/impl/DivRuleCpServiceImpl.java @@ -3,6 +3,7 @@ package org.nl.wms.storage_manage.productmanage.util.impl; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService; import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr; @@ -50,13 +51,23 @@ public class DivRuleCpServiceImpl implements DivRuleCpService { new QueryWrapper().lambda() .eq(StIvtStructattr::getStor_id, stor_id) .eq(StIvtStructattr::getSect_id, sect_id) - .isNull(StIvtStructattr::getStoragevehicle_code) - .ne(StIvtStructattr::getStoragevehicle_code,"") - .eq(StIvtStructattr::getIs_used, "1") //TODO 暂时写死 + .eq(StIvtStructattr::getIs_used, IOSEnum.IS_USED.code("是")) .eq(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) + .eq(StIvtStructattr::getStoragevehicle_code,"") .orderByAsc(StIvtStructattr::getStruct_code) ,false); break; + case RuleUtil.PRODUCTION_IN_2 : + attrDao = iStIvtStructattrService.getExceedAttr(whereJson); + + // 不为空则锁住对应货位 + if (ObjectUtil.isNotEmpty(attrDao)) + iStIvtStructattrService.update( + new UpdateWrapper().lambda() + .set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("其他锁")) + .eq(StIvtStructattr::getStruct_id, attrDao.getControl_code()) + ); + break; } return attrDao; diff --git a/mes/qd/src/views/wms/storage_manage/product/productIn/DivDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productIn/DivDialog.vue index 474aade3..e6e87626 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productIn/DivDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productIn/DivDialog.vue @@ -320,7 +320,7 @@ export default { crudSectattr.getSect({ 'stor_id': this.storId }).then(res => { this.sects = res.content }) - const area_type = 'A1_RK01' + const area_type = 'A1_CPRK01' crudPoint.getPoint({ 'area_type': area_type }).then(res => { this.pointlist = res }) diff --git a/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue index 0ad11270..ca40132a 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue @@ -301,7 +301,7 @@ export default { crudSectattr.getSect({ 'stor_id': this.storId }).then(res => { this.sects = res.content }) - const area_type = 'A1_RK01' + const area_type = 'A1_FH01' crudPoint.getPoint({ 'area_type': area_type }).then(res => { this.pointList = res })