From 96d188ecfdab3b29c730f823e356e819e52049fa Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Thu, 3 Jul 2025 09:41:51 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=A2=9E=E5=8A=A0=E6=89=8B=E6=8C=81?= =?UTF-8?q?=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/common/enums/QueryTEnum.java | 74 ++++++-- .../service/dao/StructattrVechielDto.java | 15 +- .../service/dao/mapper/StructattrMapper.xml | 71 +++++--- .../service/dto/MaterialQuery.java | 33 ++++ .../impl/BsrealStorattrServiceImpl.java | 14 +- .../service/impl/StructattrServiceImpl.java | 8 +- .../decisioner/impl/base/FIFORuleHandler.java | 2 +- .../ext/service/impl/ErpToWmsServiceImpl.java | 8 +- .../controller/PdaIosInController.java | 9 +- .../controller/PdaIosOutController.java | 38 +++-- .../ios_manage/service/PdaIosInService.java | 9 +- .../ios_manage/service/PdaIosOutService.java | 26 ++- .../service/impl/PdaIosInServiceImpl.java | 139 +++++++++------ .../service/impl/PdaIosOutServiceImpl.java | 160 +++++++++--------- .../java/org/nl/wms/pda/util/PdaResponse.java | 12 ++ .../service/IRawAssistIStorService.java | 12 +- .../service/dao/mapper/GroupPlateMapper.java | 23 --- .../service/dao/mapper/GroupPlateMapper.xml | 30 ---- .../dao/mapper/MdPbGroupplateMapper.java | 6 + .../dao/mapper/MdPbGroupplateMapper.xml | 27 +++ .../service/impl/OutBillServiceImpl.java | 15 +- .../impl/RawAssistIStorServiceImpl.java | 41 ++++- 22 files changed, 483 insertions(+), 289 deletions(-) create mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/MaterialQuery.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.java delete mode 100644 nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.xml diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/QueryTEnum.java b/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/QueryTEnum.java index b790cdb..cda03bf 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/QueryTEnum.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/QueryTEnum.java @@ -3,34 +3,80 @@ package org.nl.common.enums; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.Getter; import org.apache.commons.lang3.StringUtils; -import org.nl.common.domain.query.LConsumer; +import org.apache.poi.ss.formula.functions.T; +import org.nl.common.domain.interfaces.LConsumer; import java.util.Collection; /** * s + * * @author ZZQ * @Date 2022/12/14 8:26 下午 */ @Getter public enum QueryTEnum { // - EQ((q, k, v) -> { q.eq(k[0],v); }), - IN((q, key, o) -> { if (o instanceof Collection){ q.in(key[0],(Collection) o); } }), - LK((q, keys, o) -> { for (String key : keys) { q.like(key,o); } }), - LE((q, k, v) -> { q.le(k[0],v); }), - BY((q, k, v) -> { q.orderByDesc(k[0],v); }), - NO((q, k, v) -> { q.isNull(k[0]); }), - LT((q, k, v) -> { q.lt(k[0],v); }), - OREQ((q, k, v) -> { if (StringUtils.isBlank((String)v)){ q.isNull(k[0]); }else { q.eq(k[0],v); } }); + EQ((q, k, v) -> { + q.eq(k[0], v); + }), + IN((q, key, o) -> { + if (o instanceof Collection) { + q.in(key[0], (Collection) o); + } + }), + LK((q, keys, o) -> { + for (String key : keys) { + q.like(key, o); + } + }), + ORLK((q, k, o) -> { + q.and(query -> { + QueryWrapper queryWrapper = (QueryWrapper) query; + for (int i = 0; i < k.length; i++) { + queryWrapper.like(k[i], o); + if (i != (k.length - 1)) { + queryWrapper.or(); + } + } + }); + }), + LE((q, k, v) -> { + q.le(k[0], v); + }), + GE((q, k, v) -> { + q.ge(k[0], v); + }), + BY((q, k, v) -> { + q.orderByDesc(k[0], String.valueOf(v)); + }), + NO((q, k, v) -> { + q.isNull(k[0]); + }), + NULL_OR_EMPTY((queryWrapper, k, v) -> { + queryWrapper.nested(a -> a.isNull(k[0]).or().eq(k[0], "")); + }), + LT((q, k, v) -> { + q.lt(k[0], v); + }), + GT((q, k, v) -> { + q.gt(k[0], v); + }), + OREQ((q, k, v) -> { + if (StringUtils.isBlank((String) v)) { + q.isNull(k[0]); + } else { + q.eq(k[0], v); + } + }); - private LConsumer doP; + private org.nl.common.domain.interfaces.LConsumer, String[], Object> doP; - QueryTEnum(LConsumer doP) { + QueryTEnum(LConsumer, String[], Object> doP) { this.doP = doP; } - public static void build(QueryTEnum type, QueryWrapper q, String[] k , Object v){ - type.getDoP().accept(q,k,v); + public static void build(QueryTEnum type, QueryWrapper q, String[] k, Object v) { + type.getDoP().accept(q, k, v); } -} +} \ No newline at end of file diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/StructattrVechielDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/StructattrVechielDto.java index e142dbf..730f4f3 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/StructattrVechielDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/StructattrVechielDto.java @@ -10,7 +10,7 @@ import java.math.BigDecimal; * @Date 2023/5/4 19:49 */ @Data -public class StructattrVechielDto extends MdPbStoragevehicleext { +public class StructattrVechielDto extends GroupPlate { private static final long serialVersionUID = 1L; /** @@ -177,4 +177,17 @@ public class StructattrVechielDto extends MdPbStoragevehicleext { private String font_direction_scode; + /** + * 物料编码 + */ + private String material_code; + + + /** + * 物料名称 + */ + private String material_name; + + + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml index 41c357f..3e4ecbb 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml @@ -3,34 +3,53 @@ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/MaterialQuery.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/MaterialQuery.java new file mode 100644 index 0000000..acfc175 --- /dev/null +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dto/MaterialQuery.java @@ -0,0 +1,33 @@ +package org.nl.wms.basedata_manage.service.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; + +/* * + *物料查询对象 + * @author ZZQ + * @Date 2023/5/4 19:49 + */ +@Data +public class MaterialQuery extends BaseQuery { + + /** + * 物料编码名称 + */ + private String search; + /** + * 物料类型 + */ + private String material_type_id; + + @Override + public void paramMapping() { + super.doP.put("search", QParam.builder().k(new String[]{"material_code","material_name"}).type(QueryTEnum.ORLK).build()); + super.doP.put("material_type_id", QParam.builder().k(new String[]{"material_type_id"}).type(QueryTEnum.EQ).build()); + } + + +} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/BsrealStorattrServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/BsrealStorattrServiceImpl.java index 4fcf024..4f1e171 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/BsrealStorattrServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/BsrealStorattrServiceImpl.java @@ -82,24 +82,15 @@ public class BsrealStorattrServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(BsrealStorattr.class) .eq(BsrealStorattr::getStor_code, code) .eq(BsrealStorattr::getIs_delete, BaseDataEnum.IS_YES_NOT.code("否")); - - BsrealStorattr bsrealStorattr = bsrealStorattrMapper.selectOne(queryWrapper); - - if (ObjectUtil.isEmpty(bsrealStorattr)) { - throw new BadRequestException("仓库编码为【"+code+"】不存在!"); - } - - return bsrealStorattr; + return bsrealStorattrMapper.selectOne(queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public void create(BsrealStorattr dto) { - BsrealStorattr bsrealStorattr = this.findByCode(dto.getStor_code()); if (ObjectUtil.isNotEmpty(bsrealStorattr) && BaseDataEnum.IS_YES_NOT.code("否").equals(bsrealStorattr.getIs_delete())) { throw new BadRequestException("存在相同的仓库编号"); @@ -107,7 +98,6 @@ public class BsrealStorattrServiceImpl extends ServiceImpl collectVechicle(Map query) { - List collectVehicle = this.baseMapper.collectVehicle(query); - return collectVehicle; - + return this.baseMapper.collectVehicle(query); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java index 148c9b4..2ad50cf 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/decision_manage/service/strategyConfig/decisioner/impl/base/FIFORuleHandler.java @@ -69,7 +69,7 @@ public class FIFORuleHandler extends Decisioner> entry : sortedGroupMap.entrySet()) { List sortedList = new ArrayList<>(entry.getValue()); for (StructattrVechielDto structattr : sortedList) { - BigDecimal qty = structattr.getCanuse_qty() != null ? structattr.getCanuse_qty() : BigDecimal.ZERO; + BigDecimal qty = structattr.getXqty() != null ? structattr.getQty() : BigDecimal.ZERO; BigDecimal frozen = structattr.getFrozen_qty() != null ? structattr.getFrozen_qty() : BigDecimal.ZERO; int available = qty.subtract(frozen).intValue(); if (available <= 0) { diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/ErpToWmsServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/ErpToWmsServiceImpl.java index 3fab438..28129c0 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/ErpToWmsServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/service/impl/ErpToWmsServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.json.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; import org.nl.wms.basedata_manage.service.IMdPbMeasureunitService; @@ -19,7 +20,6 @@ import org.nl.wms.warehouse_management.service.IOutBillService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; @@ -83,11 +83,13 @@ public class ErpToWmsServiceImpl implements ErpToWmsService { jsonMst.put("source_id", whereJson.getString("inv_code")); jsonMst.put("source_type", whereJson.getString("task_type")); jsonMst.put("bill_type", whereJson.getString("task_type")); - jsonMst.put("user","erp"); + jsonMst.put("user", "erp"); // 查询仓库 BsrealStorattr storDao = iBsrealStorattrService.findByCode(whereJson.getString("stor_code")); + if (storDao == null) { + throw new BadRequestException("仓库不存在"); + } jsonMst.put("stor_id", storDao.getStor_id()); - // 组织明细 List dataList = whereJson.getJSONArray("data").toJavaList(JSONObject.class); // 查询所有物料 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java index 789d62d..709faf4 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosInController.java @@ -2,12 +2,12 @@ package org.nl.wms.pda.ios_manage.controller; import cn.dev33.satoken.annotation.SaIgnore; -import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.common.exception.BadRequestException; +import org.nl.common.base.TableDataInfo; import org.nl.common.logging.annotation.Log; +import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; import org.nl.wms.pda.ios_manage.service.PdaIosInService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; @@ -73,7 +73,7 @@ public class PdaIosInController { */ @PostMapping("/getMaterialList") @Log("获取物料列表") - public ResponseEntity getMaterialList(@RequestBody JSONObject whereJson) { + public ResponseEntity> getMaterialList(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(pdaIosInService.getMaterialList(whereJson), HttpStatus.OK); } @@ -91,6 +91,7 @@ public class PdaIosInController { @PostMapping("/confirmIn") @Log("组盘入库确认") public ResponseEntity confirmIn(@RequestBody JSONObject whereJson) { + assertNotBlankJson(whereJson, "请求参数不能为空", "vehicle_code", "sect_id"); return new ResponseEntity<>(pdaIosInService.confirmIn(whereJson), HttpStatus.OK); } @@ -109,7 +110,7 @@ public class PdaIosInController { @PostMapping("/confirmReturnMaterial") @Log("余料回库确认") public ResponseEntity confirmReturnMaterial(@RequestBody JSONObject whereJson) { + assertNotBlankJson(whereJson, "请求参数不能为空", "sect_code", "group_id", "vehicle_code", "material_code", "qty", "stor_id"); return new ResponseEntity<>(pdaIosInService.confirmReturnMaterial(whereJson),HttpStatus.OK); } - } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java index fdd85c2..3885eca 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/controller/PdaIosOutController.java @@ -10,7 +10,6 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.exception.BadRequestException; import org.nl.common.logging.annotation.Log; import org.nl.wms.pda.ios_manage.service.PdaIosOutService; -import org.nl.wms.pda.ios_manage.service.dto.InventoryDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -19,6 +18,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import static org.nl.common.utils.ValidationUtil.assertNotBlankJson; + /** * 手持出库管理 * @@ -47,8 +48,8 @@ public class PdaIosOutController { */ @PostMapping("/getMaterialDtl") @Log("物料出库获取物料库存") - public ResponseEntity getMaterialDtl(@RequestBody JSONObject whereJson) { - return null; + public ResponseEntity getMaterialDtl(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaIosOutService.getMaterialDtl(whereJson), HttpStatus.OK); } @@ -62,42 +63,45 @@ public class PdaIosOutController { throw new BadRequestException("请求参数不能为空"); } // pdaIosOutService.bindOrUnbind(param.getString("siteCode"), param.getString("shelfCode"), param.getString("mode")); - return new ResponseEntity<>(pdaIosOutService.confirm(param), HttpStatus.OK); + return new ResponseEntity<>(HttpStatus.OK); } /** - * 物料出库确认 + * 线边库物料出库确认 */ @PostMapping("/materialConfirm") - @Log("物料出库确认") + @Log("线边库物料出库确认") public ResponseEntity materialConfirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosOutService.confirm(whereJson), HttpStatus.OK); + assertNotBlankJson(whereJson, "请求参数不能为空", "group_id", "storagevehicle_code", "siteCode", "struct_code"); + return new ResponseEntity<>(pdaIosOutService.materialConfirm(whereJson), HttpStatus.OK); } /** - * 出库确认获取物料明细 + * 载具出库确认 */ - @PostMapping("/getVehicleMaterial") - @Log("出库确认获取物料明细") - public ResponseEntity getVehicleMaterial(@RequestBody JSONObject whereJson) { - return null; + @PostMapping("/confirm") + @Log("载具出库确认") + public ResponseEntity outStorageConfirm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaIosOutService.outStorageConfirm(whereJson), HttpStatus.OK); } /** - * 出库确认 + * 出库确认获取物料明细 */ - @PostMapping("/confirm") - @Log("出库确认") - public ResponseEntity confirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosOutService.confirm(whereJson), HttpStatus.OK); + @PostMapping("/getVehicleMaterial") + @Log("出库确认获取物料明细") + public ResponseEntity getVehicleMaterial(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaIosOutService.getVehicleMaterial(whereJson), HttpStatus.OK); } + + /** * 转运确认 */ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java index fc344df..96d77d9 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosInService.java @@ -1,7 +1,10 @@ package org.nl.wms.pda.ios_manage.service; import com.alibaba.fastjson.JSONObject; +import org.nl.common.base.TableDataInfo; +import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; import org.nl.wms.pda.util.PdaResponse; +import org.springframework.http.ResponseEntity; /** *

@@ -60,7 +63,7 @@ public interface PdaIosInService { * * @return PdaResponse */ - PdaResponse getMaterialList(JSONObject whereJson); + TableDataInfo getMaterialList(JSONObject whereJson); /** * 查询物料列表 @@ -84,7 +87,7 @@ public interface PdaIosInService { * * @param whereJson { * vehicle_code:载具编码 - * sect_id:库区 + * sect_code:库区 * } * @return PdaResponse */ @@ -106,7 +109,7 @@ public interface PdaIosInService { * * @param whereJson { * vehicle_code:载具编码 - * sect_id:库区 + * sect_code:库区 * } * @return PdaResponse */ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java index 2da976a..331e804 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/PdaIosOutService.java @@ -36,7 +36,29 @@ public interface PdaIosOutService { /** - * 出库确认 + * 出库确认获取物料明细 + * + * @param whereJson { + * search: 搜索条件 + * } + * @return PdaResponse + */ + PdaResponse getVehicleMaterial(JSONObject whereJson); + + + /** + * 线边库物料出库确认 + * + * @param whereJson { + * storagevehicle_code: 载具码 + * point_code: 点位编码 + * } + * @return PdaResponse + */ + PdaResponse materialConfirm(JSONObject whereJson); + + /** + * 载具出库确认 * * @param whereJson { * storagevehicle_code: 载具码 @@ -44,5 +66,5 @@ public interface PdaIosOutService { * } * @return PdaResponse */ - PdaResponse confirm(JSONObject whereJson); + PdaResponse outStorageConfirm(JSONObject whereJson); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java index f199066..fc4364a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -7,31 +7,35 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; -import org.nl.common.utils.RedissonUtils; import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata_manage.service.*; import org.nl.wms.basedata_manage.service.dao.*; +import org.nl.wms.basedata_manage.service.dto.MaterialQuery; import org.nl.wms.pda.ios_manage.service.PdaIosInService; import org.nl.wms.pda.util.PdaResponse; import org.nl.wms.sch_manage.enums.StatusEnum; import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; +import org.nl.wms.sch_manage.service.util.tasks.BackInTask; import org.nl.wms.warehouse_management.enums.IOSConstant; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IMdPbGroupplateService; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; import org.nl.wms.warehouse_management.service.dao.GroupPlate; import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; -import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; import org.nl.wms.warehouse_management.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -107,15 +111,17 @@ public class PdaIosInServiceImpl implements PdaIosInService { */ @Autowired private IRawAssistIStorService iRawAssistIStorService; - + /** + * 回库任务类 + */ + @Autowired + private BackInTask backInTask; /** * 入库明细服务 */ @Autowired private IOStorInvDtlMapper ioStorInvDtlMapper; - @Autowired - private GroupPlateMapper groupPlateMapper; @Override @Transactional @@ -133,16 +139,23 @@ public class PdaIosInServiceImpl implements PdaIosInService { if (ObjectUtil.isEmpty(vehicleDao) || ObjectUtil.isEmpty(materDao)) { throw new BadRequestException("载具,物料或单位信息有误!"); } - RedissonUtils.lock(() -> { - //判断该载具编号是否已经存在库内 - long count = iStructattrService.count( - new LambdaQueryWrapper() - .eq(Structattr::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) - ); - if (count > 0) { - throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在库内,请对数据进行核实!"); - } - }, StatusEnum.STRATEGY_TYPE.code("入库") + vehicleDao.getStoragevehicle_code(), 5); + //判断该载具是否存在组盘信息 + long statusCount = iMdPbGroupplateService.count( + new LambdaQueryWrapper() + .eq(GroupPlate::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) + .lt(GroupPlate::getStatus, GROUP_PLATE_STATUS.code("出库")) + ); + if (statusCount > 0) { + throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在组盘信息,请对数据进行核实!"); + } + //判断该载具编号是否已经存在库内 + long count = iStructattrService.count( + new LambdaQueryWrapper() + .eq(Structattr::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) + ); + if (count > 0) { + throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在库内,请对数据进行核实!"); + } GroupPlate groupDao = GroupPlate.builder() .group_id(IdUtil.getStringId()) .material_id(materDao.getMaterial_code()) @@ -185,38 +198,24 @@ public class PdaIosInServiceImpl implements PdaIosInService { } @Override - public PdaResponse getMaterialList(JSONObject whereJson) { + public TableDataInfo getMaterialList(JSONObject whereJson) { + PageQuery pageQuery = new PageQuery(); + pageQuery.setPage(whereJson.getInteger("page") - 1); + pageQuery.setSize(whereJson.getInteger("size")); String search = whereJson.getString("search"); - LambdaQueryWrapper wrapper = new QueryWrapper().lambda(); - if (StringUtils.isNotBlank(search)) { - wrapper.nested(r -> r - .like(MdMeMaterialbase::getMaterial_code, search) - .or() - .like(MdMeMaterialbase::getMaterial_name, search) - .or() - .like(MdMeMaterialbase::getMaterial_spec, search) - ); + MaterialQuery materialQuery = new MaterialQuery(); + if (StringUtils.isNotBlank(whereJson.getString("search"))) { + materialQuery.setSearch(whereJson.getString("search").trim().toUpperCase()); } - wrapper.eq(MdMeMaterialbase::getIs_delete, IOSConstant.IS_DELETE_NO) - .eq(MdMeMaterialbase::getIs_used, IOSConstant.IS_DELETE_YES) - .select( - MdMeMaterialbase::getMaterial_id, - MdMeMaterialbase::getMaterial_code, - MdMeMaterialbase::getMaterial_name, - MdMeMaterialbase::getMaterial_model, - MdMeMaterialbase::getMaterial_spec, - MdMeMaterialbase::getBase_unit_id - ) - .last("LIMIT 100"); - List materialist = iMdMeMaterialbaseService.list(wrapper); - return PdaResponse.requestParamOk(materialist); + Page mapPage = iMdMeMaterialbaseService.pageMaps(pageQuery.build(), materialQuery.build()); + return PdaResponse.build(mapPage); } @Override public PdaResponse getVehicleMaterial(JSONObject whereJson) { whereJson.put("status", GROUP_PLATE_STATUS.code("组盘")); whereJson.put("vehicleCode", whereJson.getString("search")); - return PdaResponse.requestParamOk(groupPlateMapper.getVehicleMaterial(whereJson)); + return PdaResponse.requestParamOk(mdPbGroupplateMapper.getVehicleMaterial(whereJson)); } /** @@ -232,13 +231,17 @@ public class PdaIosInServiceImpl implements PdaIosInService { whereJson.put("status", GROUP_PLATE_STATUS.code("出库")); whereJson.put("vehicleCode", whereJson.getString("search")); whereJson.put("qty", 0); - return PdaResponse.requestParamOk(groupPlateMapper.getVehicleMaterial(whereJson)); + List list = mdPbGroupplateMapper.getVehicleMaterial(whereJson); + if (CollectionUtils.isEmpty(list)) { + throw new BadRequestException("此载具无余料可回库!"); + } + return PdaResponse.requestParamOk(list); } @Override public PdaResponse getSect() { PageQuery page = new PageQuery(); - page.setSize(100); + page.setSize(20); page.setPage(0); IPage sectList = iSectattrService.queryAll(new HashMap(), page); List result = sectList.getRecords(); @@ -253,7 +256,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { * * @param whereJson { * vehicle_code:载具编码 - * sect_id:库区 + * sect_code:库区 * } * @return PdaResponse */ @@ -262,9 +265,46 @@ public class PdaIosInServiceImpl implements PdaIosInService { public PdaResponse confirmReturnMaterial(JSONObject whereJson) { MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("vehicle_code")); if (ObjectUtil.isEmpty(vehicleDao)) { - throw new BadRequestException("没有该载具号信息"); + throw new BadRequestException("不存在该载具号信息,请检查"); + } + // 查询仓库 + BsrealStorattr storeDao = iSrealStorattrService.getById(whereJson.getString("stor_id")); + if (ObjectUtil.isEmpty(storeDao)) { + throw new BadRequestException("该库区未找到对应仓库信息,请检查"); + } + //分配仓位 + JSONObject params = new JSONObject(); + params.put("storagevehicle_code", vehicleDao.getStoragevehicle_code()); + params.put("ioType", StatusEnum.STRATEGY_TYPE.code("入库")); + params.put("sect_code", whereJson.getString("sect_code")); + params.put("stor_code", storeDao.getStor_code()); + params.put("material_code", whereJson.getString("material_code")); + params.put("qty", whereJson.getString("qty")); + params.put("pcsn", whereJson.getString("pcsn")); + Structattr attrDao = iRawAssistIStorService.divBackStruct(params); + //获取起点 + SchBasePoint schBasePoint = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("vehicle_code"))); + if (ObjectUtil.isEmpty(schBasePoint)) { + throw new BadRequestException("未找到载具所在的点位信息,请检查"); } - // 查找入库货位 + // 生成回库任务 + JSONObject task = new JSONObject(); + task.put("config_code", IOSConstant.BACK_IN_TASK); + task.put("point_code1", schBasePoint.getPoint_code()); + task.put("point_code2", attrDao.getStruct_code()); + task.put("vehicle_code", whereJson.getString("vehicle_code")); + task.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); + String task_id = backInTask.create(task); + // 更新终点锁定状态 + attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("入库锁")); + attrDao.setTaskdtl_id(task_id); + iStructattrService.updateById(attrDao); + // 更新起点绑定id + iSchBasePointService.update( + new UpdateWrapper().lambda() + .set(SchBasePoint::getIos_id, null) + .eq(SchBasePoint::getPoint_code, schBasePoint.getPoint_code()) + ); return PdaResponse.requestOk(); } @@ -272,12 +312,9 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override @Transactional public PdaResponse confirmIn(JSONObject whereJson) { - //校验起点 + //获取起点 SchBasePoint schBasePoint = iSchBasePointService .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("vehicle_code"))); - if (schBasePoint == null) { - throw new BadRequestException("载具编码:" + whereJson.getString("vehicle_code") + "未绑定站点信息,请检查!"); - } whereJson.put("point_code", schBasePoint.getPoint_code()); // 预组织出入库单据实体 Map jsonMst = organizeInsertData(whereJson); @@ -298,7 +335,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { * @param whereJson { * storagevehicle_code:载具编码 * point_code:点位编码 - * sect_id:库区 + * sect_code:库区 * } * @return Map */ @@ -358,7 +395,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { private Map organizeDivData(JSONObject whereJson) { // 查询库区 Sectattr sectDao = iSectattrService.getById(whereJson.getString("sect_id")); - // 查询库区 + // 查询仓库 BsrealStorattr storeDao = iSrealStorattrService.getById(sectDao.getStor_id()); // 组织主数据 Map jsonMst = new HashMap<>(); @@ -391,7 +428,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { * @param whereJson { * storagevehicle_code:载具编码 * point_code:点位编码 - * sect_id:库区 + * sect_code:库区 * iostorinv_id: id * } */ diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java index 23865cb..37d75bb 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/ios_manage/service/impl/PdaIosOutServiceImpl.java @@ -1,32 +1,36 @@ package org.nl.wms.pda.ios_manage.service.impl; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.CodeUtil; +import org.nl.common.utils.MapOf; +import org.nl.config.SpringContextHolder; import org.nl.wms.basedata_manage.service.IStructattrService; -import org.nl.wms.basedata_manage.service.dao.Structattr; +import org.nl.wms.basedata_manage.service.dao.StructattrVechielDto; import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper; import org.nl.wms.pda.ios_manage.service.PdaIosOutService; import org.nl.wms.pda.util.PdaResponse; -import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; -import org.nl.wms.sch_manage.service.util.tasks.BackInTask; -import org.nl.wms.warehouse_management.enums.IOSConstant; +import org.nl.wms.sch_manage.service.util.tasks.StOutTask; import org.nl.wms.warehouse_management.enums.IOSEnum; import org.nl.wms.warehouse_management.service.IRawAssistIStorService; -import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; -import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; +import org.nl.wms.warehouse_management.service.dao.GroupPlate; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; +import org.nl.wms.warehouse_management.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_management.service.util.UpdateIvtUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.util.List; + +import static org.nl.wms.warehouse_management.enums.IOSEnum.GROUP_PLATE_STATUS; /** *

@@ -38,6 +42,12 @@ import java.math.BigDecimal; */ @Service public class PdaIosOutServiceImpl implements PdaIosOutService { + /** + * 组盘记录mapper + */ + @Autowired + private MdPbGroupplateMapper mdPbGroupplateMapper; + /** * 载具扩展属性服务 @@ -76,10 +86,10 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { private UpdateIvtUtils updateIvtUtils; /** - * 回库任务类 + * 出库任务类 */ @Autowired - private BackInTask backInTask; + private StOutTask stOutTask; /** * 入库服务服务 @@ -87,6 +97,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { @Autowired private IRawAssistIStorService iRawAssistIStorService; + @Override public PdaResponse getDtl(JSONObject whereJson) { return PdaResponse.requestParamOk(mdPbStoragevehicleextMapper.getIosDtl(whereJson)); @@ -95,87 +106,72 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { @Override public PdaResponse getMaterialDtl(JSONObject whereJson) { - return null; + List list = iStructattrService.collectVechicle( + MapOf.of("search", whereJson.getString("search"), + "stor_code", "XB01", + "status", GROUP_PLATE_STATUS.code("入库"), + "is_lock", "false", + "order_by", "gro.create_time asc")); + return PdaResponse.requestParamOk(list); + } + + + @Override + public PdaResponse getVehicleMaterial(JSONObject whereJson) { + whereJson.put("status", GROUP_PLATE_STATUS.code("出库")); + whereJson.put("vehicleCode", whereJson.getString("search")); + whereJson.put("qty", 0); + return PdaResponse.requestParamOk(mdPbGroupplateMapper.getVehicleMaterial(whereJson)); } @Override @Transactional - public PdaResponse confirm(JSONObject whereJson) { - // 获取点位信息 - SchBasePoint pointDao = iSchBasePointService.getById(whereJson.getString("point_code")); - if (ObjectUtil.isEmpty(pointDao)) { - throw new BadRequestException("当前点位不存在!!"); - } - // 获取出入库单明细信息 - IOStorInvDis disDao = ioStorInvDisMapper.selectById(pointDao.getIos_id()); - if(ObjectUtil.isEmpty(disDao)) { - throw new BadRequestException("未查询到出库单分配明细!"); - } - IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectById(disDao.getIostorinvdtl_id()); + public PdaResponse materialConfirm(JSONObject whereJson) { + //锁定货位 + JSONObject lock_map = new JSONObject(); + lock_map.put("struct_code", whereJson.getString("struct_code")); + lock_map.put("lock_type", IOSEnum.LOCK_TYPE.code("出库锁")); + iStructattrService.updateStatusByCode("0", lock_map); + //创建任务 + JSONObject taskForm = new JSONObject(); + taskForm.put("task_type", "STOutTask"); + taskForm.put("TaskCode", CodeUtil.getNewCode("TASK_CODE")); + taskForm.put("PickingLocation", whereJson.getString("struct_code")); + taskForm.put("PlacedLocation", whereJson.getString("siteCode")); + taskForm.put("vehicle_code", whereJson.getString("storagevehicle_code")); + StOutTask stOutTask = SpringContextHolder.getBean("STOutTask"); + stOutTask.create(taskForm); + iStructattrService.updateStatusByCode("0", lock_map); + //更新组盘记录表 + mdPbGroupplateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) + .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) + .eq(GroupPlate::getGroup_id, whereJson.getString("group_id")) + ); + return PdaResponse.requestOk(); + } - // 获取点位库存信息 - JSONObject jsonIvt = mdPbStoragevehicleextMapper.getIosDtl(whereJson).get(0); - if (ObjectUtil.isEmpty(jsonIvt)) { - throw new BadRequestException("当前点位没有库存信息!"); + + @Override + @Transactional + public PdaResponse outStorageConfirm(JSONObject whereJson) { + //获取终点 + SchBasePoint pointDao = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("storagevehicle_code"))); + if (ObjectUtil.isEmpty(pointDao)) { + throw new BadRequestException("未找到载具所在的点位信息,请检查"); } - // 判断是否整出 - double plan_qty = dtlDao.getPlan_qty().doubleValue(); - double real_qty = NumberUtil.add(dtlDao.getReal_qty(), jsonIvt.getDoubleValue("qty")).doubleValue(); - - if (plan_qty >= real_qty) { - // ------整出------ - // 删除当前库存记录 - mdPbStoragevehicleextMapper.deleteById(jsonIvt.getString("storagevehicleext_id")); - // 释放点位 - iSchBasePointService.unLockPoint(pointDao.getPoint_code()); - // 更新明细实际出库重量 - dtlDao.setReal_qty(BigDecimal.valueOf(real_qty)); - ioStorInvDtlMapper.updateById(dtlDao); - // 更新分配明细实际出库数量 - disDao.setReal_qty(jsonIvt.getBigDecimal("qty")); - ioStorInvDisMapper.updateById(disDao); + GroupPlate groupPlate = mdPbGroupplateMapper.selectById(whereJson.getString("group_id")); + //更新组盘信息 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + if ("1" .equals(whereJson.getString("type"))) { + BigDecimal qty = groupPlate.getQty().subtract(groupPlate.getFrozen_qty()).abs(); + updateWrapper.set(GroupPlate::getQty, qty).set(GroupPlate::getFrozen_qty, 0); } else { - // ------剩余回库------ - // 更新库存 :变动数量 = 减可用(库存数量-(实际出库数量-计划数量)) - jsonIvt.put("type", IOSConstant.UPDATE_IVT_TYPE_SUB_CANUSE_IVT); - BigDecimal change_qty = NumberUtil.sub(jsonIvt.getBigDecimal("qty"), NumberUtil.sub(real_qty, plan_qty)); - jsonIvt.put("change_qty", change_qty); - jsonIvt.put("remark", "剩余回库"); - updateIvtUtils.updateIvt(jsonIvt); - // 更新明细实际出库重量(明细计划数量) - dtlDao.setReal_qty(BigDecimal.valueOf(plan_qty)); - ioStorInvDtlMapper.updateById(dtlDao); - // 更新分配明细实际出库重量 = 变动数量 - disDao.setReal_qty(change_qty); - ioStorInvDisMapper.updateById(disDao); - - // 查找入库货位 - JSONObject paramPoint = new JSONObject(); - paramPoint.put("sect_id", disDao.getSect_id()); - paramPoint.put("storagevehicle_code", jsonIvt.getString("storagevehicle_code")); - Structattr attrDao = iRawAssistIStorService.autoDis(paramPoint); - // 生成回库任务 - JSONObject task = new JSONObject(); - task.put("config_code", IOSConstant.BACK_IN_TASK); - task.put("point_code1", pointDao.getPoint_code()); - task.put("point_code2", attrDao.getStruct_code()); - task.put("vehicle_code", jsonIvt.getString("storagevehicle_code")); - task.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); - String task_id = backInTask.create(task); - - // 更新终点锁定状态 - attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("入库锁")); - attrDao.setTaskdtl_id(task_id); - iStructattrService.updateById(attrDao); - - // 更新起点绑定id - iSchBasePointService.update( - new UpdateWrapper().lambda() - .set(SchBasePoint::getIos_id, null) - .eq(SchBasePoint::getPoint_code, pointDao.getPoint_code()) - ); + updateWrapper.set(GroupPlate::getQty, 0).set(GroupPlate::getFrozen_qty, 0); } + updateWrapper.set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")).eq(GroupPlate::getGroup_id, whereJson.getString("group_id")); + // 释放点位 + // iSchBasePointService.unLockPoint(pointDao.getPoint_code()); return PdaResponse.requestOk(); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/util/PdaResponse.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/util/PdaResponse.java index 8636e08..0459b6e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/util/PdaResponse.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/util/PdaResponse.java @@ -1,7 +1,10 @@ package org.nl.wms.pda.util; +import cn.hutool.http.HttpStatus; +import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.Builder; import lombok.Data; +import org.nl.common.base.TableDataInfo; /** *

@@ -46,5 +49,14 @@ public class PdaResponse { .build(); } + public static TableDataInfo build(IPage page) { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(String.valueOf(HttpStatus.HTTP_OK)); + rspData.setMsg("查询成功"); + rspData.setContent(page.getRecords()); + rspData.setTotalElements(page.getTotal()); + return rspData; + } + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java index a533087..e9e745e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/IRawAssistIStorService.java @@ -1,6 +1,5 @@ package org.nl.wms.warehouse_management.service; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -11,7 +10,6 @@ import org.nl.wms.warehouse_management.service.dao.IOStorInv; import org.nl.wms.warehouse_management.service.dto.GroupPlateDto; import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto; -import org.springframework.data.domain.Pageable; import java.util.List; import java.util.Map; @@ -42,6 +40,16 @@ public interface IRawAssistIStorService extends IService { void divStruct(JSONObject whereJson); + /** + * 根据库区策略获取仓位 + * storagevehicle_code 载具号 + * ioType 出入库类型 + * sect_code 库区编码 + * stor_code 仓库编码 + * material_code 物料编码 + * qty 计划数量 + * pcsn 批次号 + */ Structattr divBackStruct(JSONObject whereJson); void unDivStruct(Map whereJson); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.java deleted file mode 100644 index bf4683b..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.nl.wms.warehouse_management.service.dao.mapper; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.nl.wms.warehouse_management.service.dao.GroupPlate; - -import java.util.List; -import java.util.Map; - -/** - * @author dsh - * 2025/5/21 - */ -@Mapper -public interface GroupPlateMapper extends BaseMapper { - - - //查询载具物料信息 - List getVehicleMaterial(@Param("params") Map whereJson); - -} diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.xml deleted file mode 100644 index e068a67..0000000 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/GroupPlateMapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.java index d16f9ca..7d24b5d 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.java @@ -35,4 +35,10 @@ public interface MdPbGroupplateMapper extends BaseMapper { * @return IPage */ IPage queryAllByPage(Page page, @Param("param") Map whereJson); + + + + //查询载具物料信息 + List getVehicleMaterial(@Param("params") Map whereJson); + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.xml index c08e16d..6a6f37e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/dao/mapper/MdPbGroupplateMapper.xml @@ -52,4 +52,31 @@ ORDER BY late.create_time Desc + + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java index 0ef5d46..791a96e 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/OutBillServiceImpl.java @@ -42,10 +42,10 @@ import org.nl.wms.warehouse_management.service.dao.GroupPlate; import org.nl.wms.warehouse_management.service.dao.IOStorInv; import org.nl.wms.warehouse_management.service.dao.IOStorInvDis; import org.nl.wms.warehouse_management.service.dao.IOStorInvDtl; -import org.nl.wms.warehouse_management.service.dao.mapper.GroupPlateMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvDtlMapper; import org.nl.wms.warehouse_management.service.dao.mapper.IOStorInvMapper; +import org.nl.wms.warehouse_management.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_management.service.dto.IOStorInvDisDto; import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto; import org.springframework.beans.factory.annotation.Autowired; @@ -75,7 +75,11 @@ public class OutBillServiceImpl extends ServiceImpl i @Resource private IMdPbStoragevehicleextService iMdPbStoragevehicleextService; - + /** + * 组盘记录mapper + */ + @Autowired + private MdPbGroupplateMapper mdPbGroupplateMapper; /** * 载具扩展属性mapper */ @@ -94,8 +98,7 @@ public class OutBillServiceImpl extends ServiceImpl i @Resource private IOStorInvDtlMapper ioStorInvDtlMapper; - @Resource - private GroupPlateMapper groupPlateMapper; + @Resource private SchBasePointMapper schBasePointMapper; @@ -1134,7 +1137,7 @@ public class OutBillServiceImpl extends ServiceImpl i dtlSet.add(ioStorInvDis.getIostorinvdtl_id()); //更新组盘记录表 - groupPlateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class) + mdPbGroupplateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class) .set(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("出库")) .eq(GroupPlate::getPcsn,ioStorInvDis.getPcsn()) .eq(GroupPlate::getMaterial_id,ioStorInvDis.getMaterial_id()) @@ -1218,7 +1221,7 @@ public class OutBillServiceImpl extends ServiceImpl i ); //更新组盘记录表 - groupPlateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class) + mdPbGroupplateMapper.update(new GroupPlate(),new LambdaUpdateWrapper<>(GroupPlate.class) .set(GroupPlate::getStatus,IOSEnum.GROUP_PLATE_STATUS.code("出库")) .eq(GroupPlate::getPcsn,ioStorInvDis.getPcsn()) .eq(GroupPlate::getMaterial_id,ioStorInvDis.getMaterial_id()) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java index d9e268c..bffa37c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_management/service/impl/RawAssistIStorServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.collections4.CollectionUtils; import org.nl.common.domain.query.PageQuery; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; @@ -46,7 +47,6 @@ import org.nl.wms.warehouse_management.service.dto.IOStorInvDtlDto; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; -import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -428,9 +428,34 @@ public class RawAssistIStorServiceImpl extends ServiceImpl() + .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) + .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) + .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))); + return structattr; } @@ -440,7 +465,7 @@ public class RawAssistIStorServiceImpl extends ServiceImpl(GroupPlate.class) -// .eq(GroupPlate::getStoragevehicle_code,map.get("storagevehicle_code")) -// ); -// task_form.put("group_id", groupPlate.getGroup_id()); + // GroupPlate groupPlate = mdPbGroupplateMapper.selectOne(new LambdaQueryWrapper<>(GroupPlate.class) + // .eq(GroupPlate::getStoragevehicle_code,map.get("storagevehicle_code")) + // ); + // task_form.put("group_id", groupPlate.getGroup_id()); StInTask stInTask = SpringContextHolder.getBean("STInTask"); String task_id = stInTask.create(task_form);