From ec5e15bb3532d829435967e731c63fa30f5a2441 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 30 Jun 2025 19:49:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=87=BA=E5=BA=93=E5=8D=95=E5=88=86?= =?UTF-8?q?=E9=85=8D=E3=80=81=E8=AE=BE=E7=BD=AE=E3=80=81=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?wql->mp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/MdPbStoragevehicleext.java | 54 +++++++++ .../mapper/MdPbStoragevehicleextMapper.java | 11 ++ .../mapper/MdPbStoragevehicleextMapper.xml | 5 + .../IMdPbStoragevehicleextService.java | 14 +++ .../MdPbStoragevehicleextServiceImpl.java | 36 ++++++ .../IpdmBiSubpackagerelationService.java | 7 ++ .../PdmBiSubpackagerelationServiceImpl.java | 10 ++ .../service/impl/SchBasePointServiceImpl.java | 3 +- .../sch/task/service/IschBaseTaskService.java | 40 +++++++ .../service/impl/SchBaseTaskServiceImpl.java | 66 ++++++++++- .../impl/StIvtIostorinvOutServiceImpl.java | 105 ++++++++---------- .../impl/StIvtIostorinvdtlServiceImpl.java | 17 +-- .../util/impl/OutBussManageServiceImpl.java | 40 +++---- .../md/service/MaterialbaseService.java | 14 +++ .../service/impl/MaterialbaseServiceImpl.java | 19 ++++ .../st/dao/mapper/StIvtStructivtMapper.java | 5 + .../st/dao/mapper/StIvtStructivtMapper.xml | 92 +++++++++++++++ .../st/service/StIvtStructattrService.java | 22 ++++ .../impl/StIvtStructattrServiceImpl.java | 28 +++++ .../service/impl/CheckOutBillServiceImpl.java | 13 +-- .../src/test/java/org/nl/test/EventTest.java | 14 +++ .../src/views/wms/st/outbill/AddDialog.vue | 1 + .../src/views/wms/st/outbill/AddDtl.vue | 1 - 23 files changed, 511 insertions(+), 106 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/MdPbStoragevehicleext.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.xml create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/IMdPbStoragevehicleextService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/impl/MdPbStoragevehicleextServiceImpl.java diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/MdPbStoragevehicleext.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/MdPbStoragevehicleext.java new file mode 100644 index 0000000..6beecd2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/MdPbStoragevehicleext.java @@ -0,0 +1,54 @@ +package org.nl.b_lms.pdm.storagevehicleext.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Author: lyd + * @Date: 2025/6/30 + */ +@Data +@TableName("md_pb_storagevehicleext") +public class MdPbStoragevehicleext implements Serializable { + /** 载具扩展标识 */ + @TableId + private String storagevehicleext_id; + /** 载具标识 */ + private String storagevehicle_id; + /** 载具编码 */ + private String storagevehicle_code; + /** 载具类型 */ + private String storagevehicle_type; + /** 物料标识 */ + private String material_id; + /** 批次 */ + private String pcsn; + /** 数量计量单位标识 */ + private String qty_unit_id; + /** 数量计量单位名称 */ + private String qty_unit_name; + /** 数量 */ + private BigDecimal storage_qty; + /** 工艺指令卡 */ + private String workordercard_id; + /** 配方标识 */ + private String formula_id; + /** 是否需清洗 */ + private String is_need_clean; + /** 备注 */ + private String remark; + /** 修改人 */ + private String update_optid; + /** 修改人姓名 */ + private String update_optname; + /** 修改时间 */ + private String update_time; + /** 设备标识 */ + private String device_uuid; + /** 载具重量 */ + private String qty; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.java new file mode 100644 index 0000000..6c3ba3f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.java @@ -0,0 +1,11 @@ +package org.nl.b_lms.pdm.storagevehicleext.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext; + +/** + * @Author: lyd + * @Date: 2025/6/30 + */ +public interface MdPbStoragevehicleextMapper extends BaseMapper { +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.xml new file mode 100644 index 0000000..4407617 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/IMdPbStoragevehicleextService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/IMdPbStoragevehicleextService.java new file mode 100644 index 0000000..22eecd9 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/IMdPbStoragevehicleextService.java @@ -0,0 +1,14 @@ +package org.nl.b_lms.pdm.storagevehicleext.service; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext; + +/** + * @Author: lyd + * @Date: 2025/6/30 + */ +public interface IMdPbStoragevehicleextService extends IService { + MdPbStoragevehicleext getOneByPcsn(String pcsn); + JSONObject getOneByPcsnToObject(String pcsn); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/impl/MdPbStoragevehicleextServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/impl/MdPbStoragevehicleextServiceImpl.java new file mode 100644 index 0000000..0d49e26 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/storagevehicleext/service/impl/MdPbStoragevehicleextServiceImpl.java @@ -0,0 +1,36 @@ +package org.nl.b_lms.pdm.storagevehicleext.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 lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.pdm.storagevehicleext.dao.MdPbStoragevehicleext; +import org.nl.b_lms.pdm.storagevehicleext.dao.mapper.MdPbStoragevehicleextMapper; +import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService; +import org.springframework.stereotype.Service; + +/** + * @Author: lyd + * @Date: 2025/6/30 + */ +@Slf4j +@Service +public class MdPbStoragevehicleextServiceImpl extends ServiceImpl implements IMdPbStoragevehicleextService { + @Override + public MdPbStoragevehicleext getOneByPcsn(String pcsn) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(MdPbStoragevehicleext::getPcsn, pcsn); + return getOne(lam); + } + + @Override + public JSONObject getOneByPcsnToObject(String pcsn) { + MdPbStoragevehicleext oneByPcsn = getOneByPcsn(pcsn); + if (ObjectUtil.isEmpty(oneByPcsn)) { + return null; + } + return (JSONObject) JSON.toJSON(oneByPcsn); + } +} 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 16c2ede..083f566 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 @@ -152,6 +152,13 @@ public interface IpdmBiSubpackagerelationService extends IService getSubPackageInfoBySubRollsStatus(List pcsns, String status); List getSubPackageInfoBySubRollsStatusObject(List pcsns, String status); + + /** + * 根据木箱编码获取子卷包装关系信息 + * @param boxs / + * @return + */ + List getSubInfoByBoxNosToObject(List boxs); } 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 635f8d8..e1bb899 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 @@ -905,5 +905,15 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl (JSONObject) JSON.toJSON(pdmBiSubpackagerelation)); } + + @Override + public List getSubInfoByBoxNosToObject(List boxs) { + if (boxs.size() == 0) { + return null; + } + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.in(PdmBiSubpackagerelation::getPackage_box_sn, boxs); + return org.nl.common.utils.CollectionUtils.mapList(list(lam), sub -> (JSONObject) JSON.toJSON(sub)); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/SchBasePointServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/SchBasePointServiceImpl.java index 44db11e..55cf75a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/SchBasePointServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/SchBasePointServiceImpl.java @@ -81,7 +81,8 @@ public class SchBasePointServiceImpl extends ServiceImpl().lambda().eq( SchBasePoint::getPoint_code, pointCode)); + return schBasePointMapper.selectOne( new QueryWrapper().lambda() + .eq( SchBasePoint::getPoint_code, pointCode)); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java index 3848d8d..7af5e1c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java @@ -1,5 +1,7 @@ package org.nl.b_lms.sch.task.service; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; @@ -96,6 +98,44 @@ public interface IschBaseTaskService extends IService { List checkHaveStartTask(String pointCode); List checkHaveTrussTask(List codes); + + /** + * 获取可以使用的任务数组 + * @param handleClass 任务类 + * @return + */ + List getTaskingByHandleClass(String handleClass); + /** + * 获取可以使用的任务数组Object + * @param handleClass 任务类 + * @return + */ + List getTaskingByHandleClassToObject(String handleClass); + + /** + * 根据单据id获取执行中的任务 + * @param iostorinvId + * @return + */ + List getTaskingByFk(String iostorinvId); + + JSONObject getTaskObject(LambdaQueryWrapper taskLam); + + /** + * 根据ids获取任务 + * @param taskIds 标识数组 + * @param flag 是否判断没有删除的任务 + * @return + */ + List getTaskByIds(List taskIds, boolean flag); + + /** + * 根据ids获取任务 + * @param taskIds 标识数组 + * @param flag 是否判断没有删除的任务 + * @return + */ + List getTaskByIdsToObject(List taskIds, boolean flag); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 70a2726..6140f06 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -1,12 +1,15 @@ package org.nl.b_lms.sch.task.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +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.core.conditions.query.QueryWrapper; 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.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; @@ -15,6 +18,7 @@ import org.nl.b_lms.sch.task.dao.mapper.SchBaseTaskMapper; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.CollectionUtils; import org.nl.common.utils.SecurityUtils; import org.nl.wms.sch.manage.TaskStatusEnum; import org.springframework.beans.factory.annotation.Autowired; @@ -181,6 +185,66 @@ public class SchBaseTaskServiceImpl extends ServiceImpl getTaskingByHandleClass(String handleClass) { + if (ObjectUtil.isEmpty(handleClass)) { + return null; + } + LambdaQueryWrapper task = new LambdaQueryWrapper<>(); + task.eq(SchBaseTask::getHandle_class, handleClass) + .lt(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode()) + .eq(SchBaseTask::getIs_delete, "0"); + return list(task); + } + + @Override + public List getTaskingByHandleClassToObject(String handleClass) { + if (ObjectUtil.isEmpty(handleClass)) { + return null; + } + return CollectionUtils.mapList(getTaskingByHandleClass(handleClass), task -> (JSONObject) JSON.toJSON(task)); + } + + @Override + public List getTaskingByFk(String iostorinvId) { + if (ObjectUtil.isEmpty(iostorinvId)) { + return null; + } + LambdaQueryWrapper taskLam = new LambdaQueryWrapper<>(); + taskLam.eq(SchBaseTask::getTable_fk, iostorinvId) + .eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode()) + .eq(SchBaseTask::getIs_delete, "0"); + return CollectionUtils.mapList(list(taskLam), task -> (JSONObject) JSON.toJSON(task)); + } + + @Override + public JSONObject getTaskObject(LambdaQueryWrapper taskLam) { + SchBaseTask one = getOne(taskLam); + if (ObjectUtil.isEmpty(one)){ + return null; + } + return (JSONObject) JSON.toJSON(one); + } + + @Override + public List getTaskByIds(List taskIds, boolean flag) { + if (CollectionUtil.isEmpty(taskIds)) { + return null; + } + LambdaQueryWrapper taskLam = new LambdaQueryWrapper<>(); + taskLam.in(SchBaseTask::getTask_id, taskIds) + .eq(flag, SchBaseTask::getIs_delete, "0"); + return list(taskLam); + } + + @Override + public List getTaskByIdsToObject(List taskIds, boolean flag) { + if (CollectionUtil.isEmpty(taskIds)) { + return null; + } + return CollectionUtils.mapList(getTaskByIds(taskIds, flag), task -> (JSONObject) JSON.toJSON(task)); + } + } 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 fe856df..c77b3db 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,11 +13,14 @@ 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.storagevehicleext.service.IMdPbStoragevehicleextService; 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.point.dao.SchBasePoint; +import org.nl.b_lms.sch.point.service.IschBasePointService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.tasks.TwoExcepionalMoveTask; @@ -41,7 +44,9 @@ 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.md.service.MdPbMeasureunitService; import org.nl.b_lms.storage_manage.st.service.StIvtSectattrService; +import org.nl.b_lms.storage_manage.st.service.StIvtStructattrService; import org.nl.b_lms.storage_manage.st.service.StIvtStructivtService; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; @@ -50,6 +55,7 @@ import org.nl.common.utils.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.system.service.param.ISysParamService; +import org.nl.system.service.param.dao.Param; import org.nl.wms.basedata.st.service.StorattrService; import org.nl.wms.basedata.st.service.dto.StorattrDto; import org.nl.wms.pda.mps.eum.RegionTypeEnum; @@ -151,6 +157,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl arr2 = taskService.query("handle_class = '" + TwoOutTask.class.getName() + "' and task_status < '" + TaskStatusEnum.FINISHED.getCode() + "' and is_delete ='0'") - .getResultJSONArray(0).toJavaList(JSONObject.class); - + List arr2 = ischBaseTaskService.getTaskingByHandleClassToObject(TwoOutTask.class.getName()); Map> taskGroup = arr2.stream() .collect(Collectors.groupingBy(row -> row.getString("task_group_id"))); @@ -727,7 +736,7 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl disLikeList : groupingDisMap.values()) { - // 调用任务生成处理 + // 调用任务生成处理 (有移库直接下发去做,最后返回出库仓位数组) List taskMangeList = createTaskMange2(disLikeList,mstDao.getIostorinv_id().toString(),allTransactionConsumer); // 创建任务并下发一组任务 @@ -738,10 +747,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl disArr = ischBaseTaskService.getTaskingByFk(mstDao.getIostorinv_id()); + if (CollectionUtil.isEmpty(disArr)) { TwoOutTask twoOutTask = new TwoOutTask(); twoOutTask.immediateNotifyAcs(null); } @@ -1292,27 +1299,22 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl 生成任务的集合 */ private List createTaskMange2(List disLikeList, String iostorinv_id, Consumer allTransactionConsumer) { - // 仓位表 - WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); // 获取仓位集合 - String structCodeIn = disLikeList.stream() + List structCodes = disLikeList.stream() .map(row -> row.getString("struct_code")) - .distinct().collect(Collectors.joining("','")); - - List attrList = attrTab.query("struct_code IN ('" + structCodeIn + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); + .distinct().collect(Collectors.toList()); + List attrList = structattrService.getAttributeByCodesToObject(structCodes); /* * 判断是否被阻挡 */ // 获取所在排所有仓位 - String rowIn = attrList.stream() + List rows = attrList.stream() .map(row -> row.getString("row_num")) - .distinct().collect(Collectors.joining("','")); + .distinct().collect(Collectors.toList()); - List attrRowList = attrTab.query("stor_id = '" + IOSEnum.STOR_ID.code("二期") + "' AND row_num IN ('" + rowIn + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); + List attrRowList = structattrService.getRowsAttributeToObject(IOSEnum.STOR_ID.code("二期"), rows); // 需移库仓位集合 List needMoveAttrList = new ArrayList<>(); @@ -1540,8 +1542,11 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl '07' and is_delete = '0'").uniqueResult(0); - + LambdaQueryWrapper taskLam = new LambdaQueryWrapper<>(); + taskLam.eq(SchBaseTask::getVehicle_code, jsonLow.getString("storagevehicle_code")) + .ne(SchBaseTask::getTask_status, "07") + .eq(SchBaseTask::getIs_delete, "0"); + JSONObject jsonTask = ischBaseTaskService.getTaskObject(taskLam); if (ObjectUtil.isNotEmpty(jsonTask)) { flag = false; } @@ -1767,27 +1772,19 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl taskMangeList,List disLikeList, String point_code, Consumer allTransactionConsumer) { - // 任务表 - WQLObject taskService = WQLObject.getWQLObject("sch_base_task"); - // 点位表 - WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point"); - // 载具扩展属性表 - WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); - // 查询异常货位任务集合 - String TaskCodeIn = taskMangeList.stream() + List taskIds = taskMangeList.stream() .filter(row -> row.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("出库异常锁"))) .map(row -> row.getString("task_code")) - .distinct().collect(Collectors.joining("','")); + .distinct().collect(Collectors.toList()); - List taskList = taskService.query("task_id IN ('" + TaskCodeIn + "') and is_delete = '0'") - .getResultJSONArray(0).toJavaList(JSONObject.class); + List taskList = ischBaseTaskService.getTaskByIds(taskIds, true); // 任务组标识 String task_group_id = IdUtil.getStringId(); @@ -1797,12 +1794,10 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl row.getString("task_id").equals(json.getString("task_code"))) - .collect(Collectors.toList()).get(0); - + SchBaseTask jsonTask = taskList.stream() + .filter(row -> row.getTask_id().equals(json.getString("task_code"))) + .findFirst().orElse(null); // 完成 - if (jsonTask.getString("task_status").equals(TaskStatusEnum.FINISHED.getCode())) { - start_device_code = jsonTask.getString("point_code2"); + if (TaskStatusEnum.FINISHED.getCode().equals(jsonTask.getTask_status())) { + start_device_code = jsonTask.getPoint_code2(); is_auto_issue = IOSEnum.IS_SEND.code("否"); } else { // 未完成:只更新分配明细状态不更新任务id @@ -1853,15 +1847,14 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl { row.setWork_status(IOSEnum.WORK_STATUS.code("生成")); row.setTask_id(task_id); - row.setPoint_id(jsonPoint.getString("point_id")); + row.setPoint_id(point.getPoint_id()); }); iStIvtIostorinvdisService.updateBatchById(disDaoList); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java index 2adffcc..a08d884 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvdtlServiceImpl.java @@ -180,24 +180,19 @@ public class StIvtIostorinvdtlServiceImpl extends ServiceImpl materialIds = rows.stream() .map(row -> JSONObject.parseObject(JSON.toJSONString(row)).getString("material_id")) .distinct() - .collect(Collectors.joining("','")); + .collect(Collectors.toList()); - List materList = WQLObject.getWQLObject("md_me_materialbase") - .query("material_id in ('" + materialIdIn + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); + List materList = materialbaseService.getMaterialAllByIdsToObject(materialIds); // 查询所有物料对应的计量单位 - String unitIdIn = materList.stream() + List unitIds = materList.stream() .map(row -> row.getString("base_unit_id")) .distinct() - .collect(Collectors.joining("','")); - - List unitList = WQLObject.getWQLObject("md_pb_measureunit") - .query("measure_unit_id in ('" + unitIdIn + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); + .collect(Collectors.toList()); + List unitList = measureunitService.getUnitAllByIds(unitIds); // 明细批量插入集合 ArrayList dtlDaoList = new ArrayList<>(); 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 fb27811..700d2b6 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 @@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import org.nl.b_lms.pdm.storagevehicleext.service.IMdPbStoragevehicleextService; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; @@ -22,6 +23,7 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.dao.StIvtIostorinvdtl; 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.md.service.MaterialbaseService; import org.nl.b_lms.storage_manage.md.service.MdPbMeasureunitService; import org.nl.b_lms.storage_manage.st.dao.StIvtSectattr; import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr; @@ -118,6 +120,10 @@ public class OutBussManageServiceImpl implements OutBussManageService { private StIvtSectattrService sectattrService; @Autowired private StIvtStructattrService structattrService; + @Autowired + private MaterialbaseService materialbaseService; + @Autowired + private IMdPbStoragevehicleextService mdPbStoragevehicleextService; @Override @Transactional @@ -381,8 +387,6 @@ public class OutBussManageServiceImpl implements OutBussManageService { //物料表 WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); - // 载具扩展属性表 - WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); // 获取子卷包装集合 String vehilcle_in = list.stream() @@ -489,8 +493,7 @@ public class OutBussManageServiceImpl implements OutBussManageService { jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name")); // 查询木箱对应的载具 - JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'") - .uniqueResult(0); + JSONObject jsonVeExt = mdPbStoragevehicleextService.getOneByPcsnToObject(json.getString("storagevehicle_code")); if (ObjectUtil.isEmpty(jsonVeExt)) { throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code")); } @@ -522,30 +525,17 @@ public class OutBussManageServiceImpl implements OutBussManageService { @Override public void createMove2(List list, Consumer allTransactionConsumer) { - //子卷包装关系表 - WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation"); - - //物料表 - WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); - // 载具扩展属性表 - WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); - // 获取子卷包装集合 - String vehilcle_in = list.stream() + List boxs = list.stream() .map(row -> row.getString("storagevehicle_code")) - .collect(Collectors.joining("','")); - - List subList = subTab.query("package_box_sn IN ('" + vehilcle_in + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); + .collect(Collectors.toList()); + List subList = subpackagerelationService.getSubInfoByBoxNosToObject(boxs); // 查询物料集合 - String materialCode_in = subList.stream() + List materialCodes = subList.stream() .map(row -> row.getString("product_name")) - .collect(Collectors.joining("','")); - - List materList = materTab.query("material_code IN ('" + materialCode_in + "')") - .getResultJSONArray(0).toJavaList(JSONObject.class); - + .collect(Collectors.toList()); + List materList = materialbaseService.getMaterialAllByCodes(materialCodes); for (int i = 0; i < list.size(); i++) { JSONObject json = list.get(i); @@ -637,8 +627,8 @@ public class OutBussManageServiceImpl implements OutBussManageService { jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name")); // 查询木箱对应的载具 - JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'") - .uniqueResult(0); + JSONObject jsonVeExt = mdPbStoragevehicleextService.getOneByPcsnToObject(json.getString("storagevehicle_code")); + if (ObjectUtil.isEmpty(jsonVeExt)) { throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code")); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java index b5d8bed..36a27b5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/MaterialbaseService.java @@ -2,6 +2,7 @@ package org.nl.b_lms.storage_manage.md.service; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import org.nl.b_lms.storage_manage.md.dao.MdMeMaterialBase; import org.nl.wms.basedata.master.service.dto.MaterialbaseDto; import org.springframework.data.domain.Pageable; @@ -98,4 +99,17 @@ public interface MaterialbaseService { * @return */ List getMaterialAllByCodes(List materialCodes); + + /** + * 根据ids获取物料信息 + * @param materialIds + * @return + */ + List getMaterialAllByIds(List materialIds); + /** + * 根据ids获取物料信息,转List + * @param materialIds + * @return + */ + List getMaterialAllByIdsToObject(List materialIds); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java index f94833c..f8e8910 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/md/service/impl/MaterialbaseServiceImpl.java @@ -245,4 +245,23 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { return CollectionUtils.mapList(materialBases, material -> (JSONObject) JSON.toJSON(material)); } + @Override + public List getMaterialAllByIds(List materialIds) { + if (materialIds.size() == 0) { + return null; + } + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.in(MdMeMaterialBase::getMaterial_id, materialIds); + List materialBases = mdMeMaterialBaseMapper.selectList(lam); + return materialBases; + } + + @Override + public List getMaterialAllByIdsToObject(List materialIds) { + if (materialIds.size() == 0) { + return null; + } + return CollectionUtils.mapList(getMaterialAllByIds(materialIds), material -> (JSONObject) JSON.toJSON(material)); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java index 17ce914..f5aacec 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.java @@ -17,6 +17,7 @@ import org.nl.wms.stat.service.dto.PastStructPageParam; import org.nl.wms.stat.service.vo.PastStructPageVo; import java.util.List; +import java.util.Map; /** * @Author: lyd @@ -42,4 +43,8 @@ public interface StIvtStructivtMapper extends BaseMapper { JSONArray getBoxAllMaterial(String boxNo); List getAllInventorys(@Param("param") InventoryQueryParam param); + + JSONArray getOutBillDis2(Map param); + + JSONArray getOutBillTask(Map param); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml index bae0dbe..fbfdc91 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/dao/mapper/StIvtStructivtMapper.xml @@ -827,4 +827,96 @@ order by ivt.instorage_time ASC + + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java index a893202..9d51e20 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructattrService.java @@ -1,5 +1,6 @@ package org.nl.b_lms.storage_manage.st.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr; @@ -23,4 +24,25 @@ public interface StIvtStructattrService extends IService { * @return */ IPage emptyPalletInventoryPage(EmptyVehicleParam paramMap, PageQuery page); + + /** + * 根据仓位编码获取仓位属性 + * @param structCodes + * @return + */ + List getAttributeByCodes(List structCodes); + /** + * 根据仓位编码获取仓位属性 + * @param structCodes + * @return + */ + List getAttributeByCodesToObject(List structCodes); + + /** + * 获取仓位属性 + * @param stor 仓库id + * @param rows 排 + * @return + */ + List getRowsAttributeToObject(String stor, List rows); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java index 3d8e80c..43a7748 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructattrServiceImpl.java @@ -1,6 +1,8 @@ package org.nl.b_lms.storage_manage.st.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.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,6 +12,7 @@ import org.nl.b_lms.storage_manage.st.dao.StIvtStructattr; import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructattrMapper; import org.nl.b_lms.storage_manage.st.service.StIvtStructattrService; import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.CollectionUtils; import org.nl.wms.basedata.st.service.dto.EmptyVehicleParam; import org.nl.wms.basedata.st.service.vo.EmptyVehicleVo; import org.nl.wms.stat.service.vo.PastStructPageVo; @@ -48,4 +51,29 @@ public class StIvtStructattrServiceImpl extends ServiceImpl getAttributeByCodes(List structCodes) { + if (structCodes.size() == 0) { + return null; + } + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.in(StIvtStructattr::getStruct_code, structCodes); + return list(lam); + } + + @Override + public List getAttributeByCodesToObject(List structCodes) { + if (structCodes.size() == 0) { + return null; + } + return CollectionUtils.mapList(getAttributeByCodes(structCodes), attr -> (JSONObject) JSON.toJSON(attr)); + } + + @Override + public List getRowsAttributeToObject(String stor, List rows) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.in(StIvtStructattr::getRow_num, rows).eq(StIvtStructattr::getStor_id, stor); + return CollectionUtils.mapList(list(lam), attr -> (JSONObject) JSON.toJSON(attr)); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 537e974..ec1a308 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -133,27 +133,18 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { @Override public JSONArray getOutBillDis2(Map whereJson) { - whereJson.put("flag", "52"); - JSONArray jo = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParamMap((HashMap) whereJson) - .process() - .getResultJSONArray(0); - return jo; + return stIvtStructivtMapper.getOutBillDis2(whereJson); } @Override public JSONArray getOutBillTask(Map whereJson) { HashMap map = new HashMap<>(whereJson); - map.put("flag", "10"); if ("true".equals(map.get("checked"))) { map.put("task_status", "99"); } JSONArray jo = new JSONArray(); if (map.containsKey("iostorinvdtl_id")) { - jo = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParamMap(map) - .process() - .getResultJSONArray(0); + jo = stIvtStructivtMapper.getOutBillTask(map); } return jo; } diff --git a/lms/nladmin-system/src/test/java/org/nl/test/EventTest.java b/lms/nladmin-system/src/test/java/org/nl/test/EventTest.java index be57a21..bc04243 100644 --- a/lms/nladmin-system/src/test/java/org/nl/test/EventTest.java +++ b/lms/nladmin-system/src/test/java/org/nl/test/EventTest.java @@ -2,10 +2,16 @@ package org.nl.test; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructivtMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit.jupiter.SpringExtension; +import java.util.HashMap; +import java.util.Map; + /** * @Author: lyd * @Date: 2025/6/23 @@ -15,4 +21,12 @@ import org.springframework.test.context.junit.jupiter.SpringExtension; @DisplayName("event test") @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class EventTest { + @Autowired + private StIvtStructivtMapper stIvtStructivtMapper; + @Test + public void Test_01() { + Map whereJson = new HashMap(); + whereJson.put("iostorinvdtl_id", "1"); + stIvtStructivtMapper.getOutBillDis2(whereJson); + } } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue b/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue index beddedd..403bacc 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/AddDialog.vue @@ -438,6 +438,7 @@ export default { this.form.detail_count = this.form.tableData.length }, tableChanged5(rows) { + console.log(rows) const data = { 'data': rows } diff --git a/lms/nladmin-ui/src/views/wms/st/outbill/AddDtl.vue b/lms/nladmin-ui/src/views/wms/st/outbill/AddDtl.vue index 0fda07d..95a6ae5 100644 --- a/lms/nladmin-ui/src/views/wms/st/outbill/AddDtl.vue +++ b/lms/nladmin-ui/src/views/wms/st/outbill/AddDtl.vue @@ -193,7 +193,6 @@ export default { this.$emit('update:dialogShow', false) }, open() { - debugger this.crud.query.mater_type = this.opendtlParam }, submit() {