diff --git a/klp-mes/pom.xml b/klp-mes/pom.xml index dd8f28ac..490fa5b0 100644 --- a/klp-mes/pom.xml +++ b/klp-mes/pom.xml @@ -24,5 +24,9 @@ klp-system 0.8.3 + + com.klp + klp-wms + diff --git a/klp-wms/src/main/java/com/klp/controller/WmsCheckTaskCoilRelationController.java b/klp-mes/src/main/java/com/klp/mes/qc/controller/WmsCheckTaskCoilRelationController.java similarity index 93% rename from klp-wms/src/main/java/com/klp/controller/WmsCheckTaskCoilRelationController.java rename to klp-mes/src/main/java/com/klp/mes/qc/controller/WmsCheckTaskCoilRelationController.java index d0dd35f0..1b5e6641 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsCheckTaskCoilRelationController.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/controller/WmsCheckTaskCoilRelationController.java @@ -1,4 +1,4 @@ -package com.klp.controller; +package com.klp.mes.qc.controller; import java.util.List; import java.util.Arrays; @@ -17,9 +17,9 @@ import com.klp.common.core.validate.AddGroup; import com.klp.common.core.validate.EditGroup; import com.klp.common.enums.BusinessType; import com.klp.common.utils.poi.ExcelUtil; -import com.klp.domain.vo.WmsCheckTaskCoilRelationVo; -import com.klp.domain.bo.WmsCheckTaskCoilRelationBo; -import com.klp.service.IWmsCheckTaskCoilRelationService; +import com.klp.mes.qc.domain.vo.WmsCheckTaskCoilRelationVo; +import com.klp.mes.qc.domain.bo.WmsCheckTaskCoilRelationBo; +import com.klp.mes.qc.service.IWmsCheckTaskCoilRelationService; import com.klp.common.core.page.TableDataInfo; /** diff --git a/klp-wms/src/main/java/com/klp/domain/WmsCheckTaskCoilRelation.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/WmsCheckTaskCoilRelation.java similarity index 96% rename from klp-wms/src/main/java/com/klp/domain/WmsCheckTaskCoilRelation.java rename to klp-mes/src/main/java/com/klp/mes/qc/domain/WmsCheckTaskCoilRelation.java index cc93731e..8db594a8 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsCheckTaskCoilRelation.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/WmsCheckTaskCoilRelation.java @@ -1,4 +1,4 @@ -package com.klp.domain; +package com.klp.mes.qc.domain; import com.baomidou.mybatisplus.annotation.*; import com.klp.common.core.domain.BaseEntity; diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskBo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskBo.java index dc0acd3b..e27bf617 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskBo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskBo.java @@ -52,5 +52,7 @@ public class WmsCheckTaskBo extends BaseEntity { // 检验类型 private String inspectionType; + // 绑定的钢卷ID(逗号分隔) + private String coilIds; } diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsCheckTaskCoilRelationBo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskCoilRelationBo.java similarity index 89% rename from klp-wms/src/main/java/com/klp/domain/bo/WmsCheckTaskCoilRelationBo.java rename to klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskCoilRelationBo.java index b3c9cc00..5e6fd41c 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsCheckTaskCoilRelationBo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/bo/WmsCheckTaskCoilRelationBo.java @@ -1,9 +1,8 @@ -package com.klp.domain.bo; +package com.klp.mes.qc.domain.bo; import com.klp.common.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import javax.validation.constraints.*; /** diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsCheckTaskCoilRelationVo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskCoilRelationVo.java similarity index 85% rename from klp-wms/src/main/java/com/klp/domain/vo/WmsCheckTaskCoilRelationVo.java rename to klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskCoilRelationVo.java index fb29df8d..fb6557bc 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsCheckTaskCoilRelationVo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskCoilRelationVo.java @@ -1,9 +1,7 @@ -package com.klp.domain.vo; +package com.klp.mes.qc.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import com.klp.common.annotation.ExcelDictFormat; -import com.klp.common.convert.ExcelDictConvert; import lombok.Data; diff --git a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java index e2e85d09..a53a1519 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/domain/vo/WmsCheckTaskVo.java @@ -2,8 +2,7 @@ package com.klp.mes.qc.domain.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import com.klp.common.annotation.ExcelDictFormat; -import com.klp.common.convert.ExcelDictConvert; +import com.klp.domain.vo.WmsMaterialCoilVo; import lombok.Data; import java.util.List; @@ -90,4 +89,7 @@ public class WmsCheckTaskVo { private String actualMeasures; private String checkTaskItemIds; + + // 绑定的钢卷ID列表 + private List coilList; } diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsCheckTaskCoilRelationMapper.java b/klp-mes/src/main/java/com/klp/mes/qc/mapper/WmsCheckTaskCoilRelationMapper.java similarity index 57% rename from klp-wms/src/main/java/com/klp/mapper/WmsCheckTaskCoilRelationMapper.java rename to klp-mes/src/main/java/com/klp/mes/qc/mapper/WmsCheckTaskCoilRelationMapper.java index 1af8f5d6..35dfb879 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsCheckTaskCoilRelationMapper.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/mapper/WmsCheckTaskCoilRelationMapper.java @@ -1,8 +1,9 @@ -package com.klp.mapper; +package com.klp.mes.qc.mapper; -import com.klp.domain.WmsCheckTaskCoilRelation; -import com.klp.domain.vo.WmsCheckTaskCoilRelationVo; +import com.klp.mes.qc.domain.WmsCheckTaskCoilRelation; +import com.klp.mes.qc.domain.vo.WmsCheckTaskCoilRelationVo; import com.klp.common.core.mapper.BaseMapperPlus; +import java.util.Collection; /** * 检查任务与钢卷关联Mapper接口 @@ -12,4 +13,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsCheckTaskCoilRelationMapper extends BaseMapperPlus { + void deleteByTaskIds(Collection taskIds); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsCheckTaskCoilRelationService.java b/klp-mes/src/main/java/com/klp/mes/qc/service/IWmsCheckTaskCoilRelationService.java similarity index 86% rename from klp-wms/src/main/java/com/klp/service/IWmsCheckTaskCoilRelationService.java rename to klp-mes/src/main/java/com/klp/mes/qc/service/IWmsCheckTaskCoilRelationService.java index f1c42dae..5395171e 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsCheckTaskCoilRelationService.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/IWmsCheckTaskCoilRelationService.java @@ -1,8 +1,7 @@ -package com.klp.service; +package com.klp.mes.qc.service; -import com.klp.domain.WmsCheckTaskCoilRelation; -import com.klp.domain.vo.WmsCheckTaskCoilRelationVo; -import com.klp.domain.bo.WmsCheckTaskCoilRelationBo; +import com.klp.mes.qc.domain.vo.WmsCheckTaskCoilRelationVo; +import com.klp.mes.qc.domain.bo.WmsCheckTaskCoilRelationBo; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsCheckTaskCoilRelationServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskCoilRelationServiceImpl.java similarity index 89% rename from klp-wms/src/main/java/com/klp/service/impl/WmsCheckTaskCoilRelationServiceImpl.java rename to klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskCoilRelationServiceImpl.java index 2ffe8e24..ac794e92 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsCheckTaskCoilRelationServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskCoilRelationServiceImpl.java @@ -1,4 +1,4 @@ -package com.klp.service.impl; +package com.klp.mes.qc.service.impl; import cn.hutool.core.bean.BeanUtil; import com.klp.common.core.page.TableDataInfo; @@ -7,13 +7,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.mes.qc.domain.vo.WmsCheckTaskCoilRelationVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import com.klp.domain.bo.WmsCheckTaskCoilRelationBo; -import com.klp.domain.vo.WmsCheckTaskCoilRelationVo; -import com.klp.domain.WmsCheckTaskCoilRelation; -import com.klp.mapper.WmsCheckTaskCoilRelationMapper; -import com.klp.service.IWmsCheckTaskCoilRelationService; +import com.klp.mes.qc.domain.bo.WmsCheckTaskCoilRelationBo; +import com.klp.mes.qc.domain.vo.WmsCheckTaskCoilRelationVo; +import com.klp.mes.qc.domain.WmsCheckTaskCoilRelation; +import com.klp.mes.qc.mapper.WmsCheckTaskCoilRelationMapper; +import com.klp.mes.qc.service.IWmsCheckTaskCoilRelationService; import java.util.List; import java.util.Map; diff --git a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java index 779842c2..b3613e59 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/service/impl/WmsCheckTaskServiceImpl.java @@ -8,11 +8,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.WmsMaterialCoil; +import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.mapper.WmsMaterialCoilMapper; import com.klp.mes.qc.domain.WmsCheckItem; import com.klp.mes.qc.domain.WmsCheckTaskItem; +import com.klp.mes.qc.domain.WmsCheckTaskCoilRelation; import com.klp.mes.qc.domain.vo.WmsCheckItemVo; import com.klp.mes.qc.mapper.WmsCheckItemMapper; import com.klp.mes.qc.mapper.WmsCheckTaskItemMapper; +import com.klp.mes.qc.mapper.WmsCheckTaskCoilRelationMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.mes.qc.domain.bo.WmsCheckTaskBo; @@ -38,6 +43,8 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { private final WmsCheckTaskMapper baseMapper; private final WmsCheckItemMapper wmsCheckItemMapper; private final WmsCheckTaskItemMapper wmsCheckTaskItemMapper; + private final WmsCheckTaskCoilRelationMapper wmsCheckTaskCoilRelationMapper; + private final WmsMaterialCoilMapper wmsMaterialCoilMapper; /** * 查询检查任务 @@ -91,9 +98,45 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { } vo.setItemList(itemList); } + + // 查询关联的钢卷信息 + List coilRelations = null; + if (vo != null) { + coilRelations = wmsCheckTaskCoilRelationMapper.selectList( + Wrappers.lambdaQuery() + .eq(WmsCheckTaskCoilRelation::getTaskId, vo.getTaskId()) + .eq(WmsCheckTaskCoilRelation::getDelFlag, 0) + ); + } + + if (coilRelations != null && !coilRelations.isEmpty()) { + Set coilIdSet = new HashSet<>(); + for (WmsCheckTaskCoilRelation relation : coilRelations) { + coilIdSet.add(relation.getCoilId()); + } + + // 查询钢卷基础信息 + List coilList = queryCoilsByIds(coilIdSet); + vo.setCoilList(coilList); + } + return vo; } + private List queryCoilsByIds(Set coilIds) { + if (coilIds == null || coilIds.isEmpty()) { + return Collections.emptyList(); + } + + QueryWrapper qw = new QueryWrapper<>(); + qw.in("coil_id", coilIds); + qw.eq("del_flag", 0); + // 根据创建时间倒序 + qw.orderByDesc("create_time"); + + return wmsMaterialCoilMapper.selectVoList(qw); + } + /** * 查询检查任务列表 @@ -102,6 +145,29 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { public TableDataInfo queryPageList(WmsCheckTaskBo bo, PageQuery pageQuery) { QueryWrapper qw = buildQueryWrapperPlus(bo); Page result = baseMapper.selectVoPagePlus(pageQuery.build(), qw); + + // 处理结果中的钢卷信息 + List records = result.getRecords(); + for (WmsCheckTaskVo vo : records) { + // 查询关联的钢卷信息 + List coilRelations = wmsCheckTaskCoilRelationMapper.selectList( + Wrappers.lambdaQuery() + .eq(WmsCheckTaskCoilRelation::getTaskId, vo.getTaskId()) + .eq(WmsCheckTaskCoilRelation::getDelFlag, 0) + ); + + if (!coilRelations.isEmpty()) { + Set coilIdSet = new HashSet<>(); + for (WmsCheckTaskCoilRelation relation : coilRelations) { + coilIdSet.add(relation.getCoilId()); + } + + // 查询钢卷基础信息 + List coilList = queryCoilsByIds(coilIdSet); + vo.setCoilList(coilList); + } + } + return TableDataInfo.build(result); } private QueryWrapper buildQueryWrapperPlus(WmsCheckTaskBo bo) { @@ -137,7 +203,30 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { @Override public List queryList(WmsCheckTaskBo bo) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); - return baseMapper.selectVoList(lqw); + List result = baseMapper.selectVoList(lqw); + + // 处理结果中的钢卷信息 + for (WmsCheckTaskVo vo : result) { + // 查询关联的钢卷信息 + List coilRelations = wmsCheckTaskCoilRelationMapper.selectList( + Wrappers.lambdaQuery() + .eq(WmsCheckTaskCoilRelation::getTaskId, vo.getTaskId()) + .eq(WmsCheckTaskCoilRelation::getDelFlag, 0) + ); + + if (!coilRelations.isEmpty()) { + Set coilIdSet = new HashSet<>(); + for (WmsCheckTaskCoilRelation relation : coilRelations) { + coilIdSet.add(relation.getCoilId()); + } + + // 查询钢卷基础信息 + List coilList = queryCoilsByIds(coilIdSet); + vo.setCoilList(coilList); + } + } + + return result; } private LambdaQueryWrapper buildQueryWrapper(WmsCheckTaskBo bo) { @@ -201,6 +290,22 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { } } + // 处理钢卷关联关系 + if (StringUtils.isNotBlank(bo.getCoilIds())) { + String[] coilIds = bo.getCoilIds().split(","); + for (String coilId : coilIds) { + if (StringUtils.isNotBlank(coilId)) { + WmsCheckTaskCoilRelation relation = new WmsCheckTaskCoilRelation(); + relation.setTaskId(add.getTaskId()); + relation.setCoilId(coilId.trim()); + int insertCount = wmsCheckTaskCoilRelationMapper.insert(relation); + if (insertCount <= 0) { + throw new RuntimeException("新增检查任务钢卷关联失败,钢卷ID:" + coilId); + } + } + } + } + if (mainFlag) { bo.setTaskId(add.getTaskId()); } @@ -228,10 +333,15 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { * 批量删除检查任务 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } + + // 删除检查任务前,先删除相关的钢卷关联记录 + wmsCheckTaskCoilRelationMapper.deleteByTaskIds(ids); + return baseMapper.deleteBatchIds(ids) > 0; } } diff --git a/klp-wms/src/main/resources/mapper/klp/WmsCheckTaskCoilRelationMapper.xml b/klp-mes/src/main/resources/mapper/qc/WmsCheckTaskCoilRelationMapper.xml similarity index 57% rename from klp-wms/src/main/resources/mapper/klp/WmsCheckTaskCoilRelationMapper.xml rename to klp-mes/src/main/resources/mapper/qc/WmsCheckTaskCoilRelationMapper.xml index 64d62db3..4ffb7e76 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsCheckTaskCoilRelationMapper.xml +++ b/klp-mes/src/main/resources/mapper/qc/WmsCheckTaskCoilRelationMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -15,5 +15,12 @@ + + UPDATE wms_check_task_coil_relation SET del_flag = 1 + WHERE task_id IN + + #{taskId} + +