From fb218dcd5412e7a867a9c36a24b4acbc84c45634 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 25 Jun 2025 17:22:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=87=BA=E5=BA=93=E5=8D=95=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4wql->mp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...IPdmBiSubpackagerelationrecordService.java | 4 + .../IpdmBiSubpackagerelationService.java | 4 + .../PdmBiSubpackagerelationServiceImpl.java | 19 ++++ ...BiSubpackagerelationrecordServiceImpl.java | 25 +++++ .../impl/StIvtIostorinvOutServiceImpl.java | 95 +++++++++---------- .../util/impl/OutBussManageServiceImpl.java | 8 +- .../st/service/StIvtSectattrService.java | 16 +++- .../impl/StIvtSectattrServiceImpl.java | 23 +++++ 8 files changed, 140 insertions(+), 54 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IPdmBiSubpackagerelationrecordService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IPdmBiSubpackagerelationrecordService.java index 1988ec5..8bac865 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IPdmBiSubpackagerelationrecordService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IPdmBiSubpackagerelationrecordService.java @@ -1,5 +1,6 @@ package org.nl.b_lms.pdm.subpackagerelation.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelationrecord; @@ -16,4 +17,7 @@ public interface IPdmBiSubpackagerelationrecordService extends IService getAllByPcsn(List pcsns); + + List getSubPackageRecordInfoBySubRollsStatus(List pcsns, String status, String billCode); + List getSubPackageRecordInfoBySubRollsStatusObject(List pcsns, String status, String billCode); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IpdmBiSubpackagerelationService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IpdmBiSubpackagerelationService.java index cdab672..16c2ede 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IpdmBiSubpackagerelationService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/IpdmBiSubpackagerelationService.java @@ -148,6 +148,10 @@ public interface IpdmBiSubpackagerelationService extends IService getSubPackageInfoBySubRolls(List pcsns); + + List getSubPackageInfoBySubRollsStatus(List pcsns, String status); + + List getSubPackageInfoBySubRollsStatusObject(List pcsns, String status); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index be6be93..635f8d8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -886,5 +886,24 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl (JSONObject) JSON.toJSON(pdmBiSubpackagerelation)); } + + @Override + public List getSubPackageInfoBySubRollsStatus(List pcsns, String status) { + if (pcsns.size() == 0) { + return null; + } + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.in(PdmBiSubpackagerelation::getContainer_name, pcsns).eq(PdmBiSubpackagerelation::getStatus, status); + return pdmBiSubpackagerelationMapper.selectList(lam); + } + + @Override + public List getSubPackageInfoBySubRollsStatusObject(List pcsns, String status) { + if (pcsns.size() == 0) { + return null; + } + return org.nl.common.utils.CollectionUtils.mapList(getSubPackageInfoBySubRollsStatus(pcsns, status), + pdmBiSubpackagerelation -> (JSONObject) JSON.toJSON(pdmBiSubpackagerelation)); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationrecordServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationrecordServiceImpl.java index 522bab9..2310ef8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationrecordServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationrecordServiceImpl.java @@ -1,10 +1,14 @@ package org.nl.b_lms.pdm.subpackagerelation.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelationrecord; import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationrecordMapper; import org.nl.b_lms.pdm.subpackagerelation.service.IPdmBiSubpackagerelationrecordService; +import org.nl.common.utils.CollectionUtils; import org.springframework.stereotype.Service; import java.util.List; @@ -23,4 +27,25 @@ public class PdmBiSubpackagerelationrecordServiceImpl extends ServiceImpl getSubPackageRecordInfoBySubRollsStatus(List pcsns, String status, String billCode) { + if (ObjectUtil.isEmpty(pcsns)) { + return null; + } + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(PdmBiSubpackagerelationrecord::getStatus, status) + .eq(PdmBiSubpackagerelationrecord::getBill_code, billCode) + .in(PdmBiSubpackagerelationrecord::getContainer_name, pcsns); + return list(lam); + } + + @Override + public List getSubPackageRecordInfoBySubRollsStatusObject(List pcsns, String status, String billCode) { + if (ObjectUtil.isEmpty(pcsns)) { + return null; + } + return CollectionUtils.mapList(getSubPackageRecordInfoBySubRollsStatus(pcsns, status, billCode), + pdmBiSubpackagerelation -> (JSONObject) JSON.toJSON(pdmBiSubpackagerelation)); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index 26a3d44..fe856df 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -13,6 +13,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.SneakyThrows; +import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; +import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelationrecord; +import org.nl.b_lms.pdm.subpackagerelation.service.IPdmBiSubpackagerelationrecordService; +import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.pdm_manage.enums.SUBEnum; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; @@ -37,6 +41,7 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.InventoryQueryParam import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.InBussManageService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.OutBussManageService; import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.TwoInBussManageService; +import org.nl.b_lms.storage_manage.st.service.StIvtSectattrService; import org.nl.b_lms.storage_manage.st.service.StIvtStructivtService; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; @@ -147,6 +152,12 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl taskIds = disDaoList.stream() .filter(row -> ObjectUtil.isNotEmpty(row.getTask_id())) - .map(row -> row.getTask_id().toString()) + .map(row -> row.getTask_id()) .distinct() - .collect(Collectors.joining("','")); - - JSONArray taskArr = taskService.query("task_id IN ('" + task_in + "') AND task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "' AND is_delete = '0'") - .getResultJSONArray(0); - - if (ObjectUtil.isNotEmpty(taskArr)) { - throw new BadRequestException("有任务未完成,不允许强制确认!"); + .collect(Collectors.toList()); + if (taskIds.size() > 0) { + List tasks = ischBaseTaskService.list(new LambdaQueryWrapper().in(SchBaseTask::getTask_id, taskIds)); + if (ObjectUtil.isNotEmpty(tasks)) { + throw new BadRequestException("有任务未完成,不允许强制确认!"); + } } - // 需要更新的库存集合 List needUpdateIvtList = new ArrayList<>(); @@ -871,17 +871,13 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl subList = subTab.query("container_name IN ('" + pcsn_in + "') AND status = '"+SUBEnum.STATUS.code("入库")+"'") - .getResultJSONArray(0).toJavaList(JSONObject.class); - + List pcsns = disDaoList.stream() + .map(StIvtIostorinvdis::getPcsn) + .collect(Collectors.toList()); + List subList = subpackagerelationService.getSubPackageInfoBySubRollsStatusObject(pcsns, SUBEnum.STATUS.code("入库")); // 子卷包装出入记录集合 - List suRebList = subRecordTab.query("container_name IN ('" + pcsn_in + "') AND status = '"+SUBEnum.STATUS.code("入库")+"' AND bill_code = '"+mstDao.getBill_code()+"'") - .getResultJSONArray(0).toJavaList(JSONObject.class); + List suRebList = subpackagerelationrecordService.getSubPackageRecordInfoBySubRollsStatusObject(pcsns, SUBEnum.STATUS.code("入库"), mstDao.getBill_code()); for (int i = 0; i < disDaoList.size(); i++) { StIvtIostorinvdis disDao = disDaoList.get(i); @@ -917,29 +913,32 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl subLam = new LambdaUpdateWrapper<>(); // 如果是拆箱出库和手工出库则为生成状态,否则为出库状态 if (mstDao.getBill_type().equals(IOSEnum.OUT_TYPE.code("拆箱出库")) || mstDao.getBill_type().equals(IOSEnum.OUT_TYPE.code("手工出库"))) { - jsonSubParam.put("status", SUBEnum.STATUS.code("生成")); + subLam.set(PdmBiSubpackagerelation::getStatus, SUBEnum.STATUS.code("生成")); } else { - jsonSubParam.put("status", SUBEnum.STATUS.code("出库")); + subLam.set(PdmBiSubpackagerelation::getStatus, SUBEnum.STATUS.code("出库")); } - - subTab.update(jsonSubParam,"container_name IN ('"+pcsn_in+"')"); + subLam.in(PdmBiSubpackagerelation::getContainer_name, pcsns); + subpackagerelationService.update(subLam); /* * 更新任务为完成 */ - JSONObject jsonTaskParam = new JSONObject(); - jsonTaskParam.put("task_status", TaskStatusEnum.FINISHED.getCode()); - - taskService.update(jsonTaskParam,"task_id IN ('"+String.join("','", needUpdateTaskList)+"')"); + if (ObjectUtil.isNotEmpty(needUpdateTaskList)) { + LambdaUpdateWrapper taskLam = new LambdaUpdateWrapper<>(); + taskLam.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .in(SchBaseTask::getTask_id, needUpdateTaskList); + ischBaseTaskService.update(taskLam); + } /* * 如果是调拨出库则生成调拨入库单 @@ -956,13 +955,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl row.getSect_id().toString()) - .collect(Collectors.joining("','")); - - List sectList = sectTab.query("sect_id IN ('" + sect_in + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); + List sects = disDaoList.stream() + .map(row -> row.getSect_id()) + .collect(Collectors.toList()); + List sectList = sectattrService.getByIdsObject(sects); for (int i = 0; i < disDaoList.size(); i++) { StIvtIostorinvdis disDao = disDaoList.get(i); @@ -972,12 +969,12 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl() + .eq(PdmBiSubpackagerelation::getContainer_name, disDao.getPcsn())); } else { - HashMap map = new HashMap<>(); - map.put("need_delete", "1"); - - subTab.update(map, "container_name = '" + disDao.getPcsn() + "'"); + subpackagerelationService.update(new LambdaUpdateWrapper() + .set(PdmBiSubpackagerelation::getNeed_delete, "1") + .eq(PdmBiSubpackagerelation::getContainer_name, disDao.getPcsn())); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java index 7b2e573..fb27811 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java @@ -131,10 +131,10 @@ public class OutBussManageServiceImpl implements OutBussManageService { if (operate.equals(IOSEnum.IO_TYPE.code("出库"))) { LambdaUpdateWrapper lam = new LambdaUpdateWrapper<>(); lam.in(StIvtStructattr::getStruct_code, param) - .set(StIvtStructattr::getInv_id, json.getString("inv_id")) - .set(StIvtStructattr::getInv_type, json.getString("inv_type")) - .set(StIvtStructattr::getInv_code, json.getString("inv_code")) - .set(StIvtStructattr::getLock_type, json.getString("lock_type")); + .set(ObjectUtil.isNotEmpty(json.getString("inv_id")), StIvtStructattr::getInv_id, json.getString("inv_id")) + .set(ObjectUtil.isNotEmpty(json.getString("inv_type")), StIvtStructattr::getInv_type, json.getString("inv_type")) + .set(ObjectUtil.isNotEmpty(json.getString("inv_code")), StIvtStructattr::getInv_code, json.getString("inv_code")) + .set(ObjectUtil.isNotEmpty(json.getString("lock_type")), StIvtStructattr::getLock_type, json.getString("lock_type")); structattrService.update(lam); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtSectattrService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtSectattrService.java index 978795b..20bbf02 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtSectattrService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtSectattrService.java @@ -1,12 +1,26 @@ package org.nl.b_lms.storage_manage.st.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.b_lms.storage_manage.st.dao.StIvtBsrealstorattr; import org.nl.b_lms.storage_manage.st.dao.StIvtSectattr; +import java.util.List; -public interface StIvtSectattrService extends IService { +public interface StIvtSectattrService extends IService { + /** + * 根据id获取所有的库区 + * @param ids + * @return + */ + List getByIds(List ids); + /** + * 根据id获取所有的库区JSONObject + * @param ids + * @return + */ + List getByIdsObject(List ids); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtSectattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtSectattrServiceImpl.java index 1091677..98df889 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtSectattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtSectattrServiceImpl.java @@ -1,14 +1,37 @@ package org.nl.b_lms.storage_manage.st.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.b_lms.storage_manage.st.dao.StIvtSectattr; import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtSectattrMapper; import org.nl.b_lms.storage_manage.st.service.StIvtSectattrService; +import org.nl.common.utils.CollectionUtils; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class StIvtSectattrServiceImpl extends ServiceImpl implements StIvtSectattrService { + @Override + public List getByIds(List ids) { + if (ids.size() == 0) { + return null; + } + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(StIvtSectattr::getSect_id, ids); + return list(lam); + } + + @Override + public List getByIdsObject(List ids) { + if (ids.size() == 0) { + return null; + } + return CollectionUtils.mapList(ids, sect -> (JSONObject) JSON.toJSON(sect)); + } }