From 0a60985917b940337bee2d57ec08532a8f2c988d Mon Sep 17 00:00:00 2001 From: zhengxuming Date: Fri, 22 Aug 2025 14:34:08 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E6=89=8B=E6=8C=81=E7=BB=84=E7=9B=98?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=99=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PdaIosInServiceImpl.java | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java index a2bac17..e140b30 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -3,6 +3,7 @@ package org.nl.wms.pda_manage.ios_manage.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpStatus; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -36,13 +37,16 @@ import org.nl.wms.system_manage.service.dict.dao.Dict; import org.nl.wms.system_manage.service.dict.dao.mapper.SysDictMapper; import org.nl.wms.warehouse_manage.enums.IOSConstant; import org.nl.wms.warehouse_manage.enums.IOSEnum; +import org.nl.wms.warehouse_manage.service.IMdPbGroupplateDtlService; import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService; import org.nl.wms.warehouse_manage.service.IRawAssistIStorService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; +import org.nl.wms.warehouse_manage.service.dao.GroupPlateDtl; import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl; import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDtlMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -90,6 +94,9 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Autowired private IMdPbMeasureunitService iMdPbMeasureunitService; + @Autowired + private IMdPbGroupplateDtlService iMdPbGroupplateDtlService; + /** * 库区服务 */ @@ -127,15 +134,14 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Autowired private ISchBaseRegionService iSchBaseRegionService; - + @Transactional @Override public JSONObject groupPlate(JSONObject whereJson) { // 物料编码 String materialId = whereJson.getString("material_id"); //载具号 String vehicle_code = whereJson.getString("vehicle_code"); - // 数量 - BigDecimal qty = whereJson.getBigDecimal("qty"); + if (ObjectUtil.isEmpty(materialId)) { throw new BadRequestException("物料信息不能为空!"); } @@ -161,20 +167,38 @@ public class PdaIosInServiceImpl implements PdaIosInService { if (count.size() > 0) { throw new BadRequestException("载具编码:" + vehicle_code + "已存在库内:"+count.get(0).getStruct_code()+",请对数据进行核实!"); } + GroupPlate groupDao = GroupPlate.builder() .group_id(IdUtil.getStringId()) .material_id(materDao.getMaterial_id()) .storagevehicle_code(vehicle_code) .qty_unit_id(unitDao.getMeasure_unit_id()) .qty_unit_name(unitDao.getUnit_name()) - .qty(qty) .frozen_qty(BigDecimal.ZERO) .status(GROUP_PLATE_STATUS.code("组盘")) .create_id(SecurityUtils.getCurrentUserId()) .create_name(SecurityUtils.getCurrentNickName()) .create_time(DateUtil.now()) .build(); + + List groupPlateDtlList = new ArrayList<>(); + JSONArray dtlList = whereJson.getJSONArray("dtlList"); + BigDecimal qty = new BigDecimal("0"); + for (int i = 0; i < dtlList.size(); i++) { + JSONObject row = dtlList.getJSONObject(i); + GroupPlateDtl groupPlateDtl = new GroupPlateDtl(); + BeanUtils.copyProperties(groupDao,groupPlateDtl); + groupPlateDtl.setGroupdtl_id(IdUtil.getStringId()); + groupPlateDtl.setMater_frame(row.getString("mater_frame")); + groupPlateDtl.setQty(row.getBigDecimal("qty")); + groupPlateDtlList.add(groupPlateDtl); + + qty = qty.add(row.getBigDecimal("qty")); + } + + groupDao.setQty(qty); iMdPbGroupplateService.save(groupDao); + iMdPbGroupplateDtlService.saveBatch(groupPlateDtlList); JSONObject ret = new JSONObject(); ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); ret.put("message","操作成功"); @@ -269,6 +293,11 @@ public class PdaIosInServiceImpl implements PdaIosInService { whereJson.put("status", GROUP_PLATE_STATUS.code("组盘")); whereJson.put("vehicleCode", whereJson.getString("search")); List ret = mdPbGroupplateMapper.getVehicleMaterial(whereJson); + + //列表清单展示 + ret.get(0).put("dtlList",iMdPbGroupplateDtlService.list(new LambdaQueryWrapper<>(GroupPlateDtl.class) + .eq(GroupPlateDtl::getGroup_id, ret.get(0).getString("group_id")))); + return ret.get(0); }