From 728121dd7785fb0404d5d237ced6f12c0ae14676 Mon Sep 17 00:00:00 2001 From: HuangHuiKang Date: Tue, 21 Apr 2026 17:15:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=B7=B2=E7=9F=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=8D=9F=E8=80=97=E7=8E=87=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/PlanController.java | 2 +- .../admin/plan/vo/PlanSaveReqVO.java | 5 +- .../admin/zjschema/ZjSchemaController.java | 36 ++++++------ .../admin/zjschema/vo/ZjSchemaRespVO.java | 3 + .../admin/zjschema/vo/ZjSchemaSaveReqVO.java | 2 + .../vo/ZjTaskQueryByTicketPageReqVO.java | 4 ++ .../mes/dal/mysql/zjtask/ZjTaskMapper.java | 11 +++- .../mes/service/plan/PlanServiceImpl.java | 56 ++++++++++++++++++- .../service/zjschema/ZjSchemaServiceImpl.java | 11 ---- .../mes/service/zjtask/ZjTaskServiceImpl.java | 17 +++++- .../ZjTaskResultsServiceImpl.java | 18 ++++++ 11 files changed, 130 insertions(+), 35 deletions(-) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java index dbd591566..8e22df7d1 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/PlanController.java @@ -455,7 +455,7 @@ public class PlanController { return success(planRespVOList); } else if (status == 2) { List statusList = new ArrayList<>(); - statusList.add(PlanStatusEnum.待入库.getValue()); + statusList.add(PlanStatusEnum.已入库.getValue()); List proList = planService.getPlanByStatus(statusList); List planRespVOList = planService.buildVOList(proList); return success(planRespVOList); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanSaveReqVO.java index 737349017..66fc384ab 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanSaveReqVO.java @@ -120,4 +120,7 @@ public class PlanSaveReqVO { @Schema(description = "最晚开工时间") private LocalDateTime latestStartTime; -} \ No newline at end of file + @Schema(description = "是否计算损耗,默认是") + private Boolean isCalculateLoss; + +} diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/ZjSchemaController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/ZjSchemaController.java index d31634982..35ec1c028 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/ZjSchemaController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/ZjSchemaController.java @@ -194,24 +194,24 @@ public class ZjSchemaController { return null; } ZjSchemaRespVO respVO = BeanUtils.toBean(zjSchema, ZjSchemaRespVO.class); - List productIds = parseIds(zjSchema.getProduct()); - respVO.setProductIds(productIds); - if (CollUtil.isNotEmpty(productIds)) { - respVO.setProducts(erpProductService.getProductVOList(productIds)); - } else { - respVO.setProducts(Collections.emptyList()); - } +// List productIds = parseIds(zjSchema.getProduct()); +// respVO.setProductIds(productIds); +// if (CollUtil.isNotEmpty(productIds)) { +// respVO.setProducts(erpProductService.getProductVOList(productIds)); +// } else { +// respVO.setProducts(Collections.emptyList()); +// } return respVO; } - - private List parseIds(String ids) { - if (ids == null || ids.trim().isEmpty()) { - return Collections.emptyList(); - } - return Arrays.stream(ids.split(",")) - .map(String::trim) - .filter(str -> !str.isEmpty()) - .map(Long::valueOf) - .collect(Collectors.toList()); - } +// +// private List parseIds(String ids) { +// if (ids == null || ids.trim().isEmpty()) { +// return Collections.emptyList(); +// } +// return Arrays.stream(ids.split(",")) +// .map(String::trim) +// .filter(str -> !str.isEmpty()) +// .map(Long::valueOf) +// .collect(Collectors.toList()); +// } } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaRespVO.java index 1778f6849..c04a5c6a9 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaRespVO.java @@ -52,6 +52,9 @@ public class ZjSchemaRespVO { @Schema(description = "关联产品列表") private List products; + @Schema(description = "关联产品") + private String product; + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") @ColumnWidth(20) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaSaveReqVO.java index 48aa85073..442f67184 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjschema/vo/ZjSchemaSaveReqVO.java @@ -36,4 +36,6 @@ public class ZjSchemaSaveReqVO { @Schema(description = "关联产品 ID 列表", example = "[1,2,3]") private List productIds; + @Schema(description = "关联产品 ID 列表", example = "1,2,3") + private String product; } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskQueryByTicketPageReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskQueryByTicketPageReqVO.java index 48dcad6b5..435b33f9e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskQueryByTicketPageReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/zjtask/vo/ZjTaskQueryByTicketPageReqVO.java @@ -8,6 +8,7 @@ import lombok.ToString; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @@ -57,4 +58,7 @@ public class ZjTaskQueryByTicketPageReqVO extends PageParam { @Schema(description = "执行时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] executeTime; + + @Schema(description = "id集合") + private List ids; } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java index 9328f1ad5..536266c5b 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/zjtask/ZjTaskMapper.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.zjtaskresults.ZjTaskResultsDO; import com.alibaba.excel.util.StringUtils; import org.apache.ibatis.annotations.Mapper; import cn.iocoder.yudao.module.mes.controller.admin.zjtask.vo.*; @@ -86,7 +87,7 @@ public interface ZjTaskMapper extends BaseMapperX { default PageResult selectPageByTicket(ZjTaskQueryByTicketPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(ZjTaskDO::getTicket, reqVO.getTicket()) +// .eqIfPresent(ZjTaskDO::getTicket, reqVO.getTicket()) .likeIfPresent(ZjTaskDO::getName, reqVO.getName()) .eqIfPresent(ZjTaskDO::getType, reqVO.getType()) .eqIfPresent(ZjTaskDO::getSchemaId, reqVO.getSchemaId()) @@ -99,6 +100,7 @@ public interface ZjTaskMapper extends BaseMapperX { .eqIfPresent(ZjTaskDO::getResult, reqVO.getResult()) .betweenIfPresent(ZjTaskDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(ZjTaskDO::getExecuteTime, reqVO.getExecuteTime()) + .inIfPresent(ZjTaskDO::getId,reqVO.getIds()) .orderByDesc(ZjTaskDO::getId)); } @@ -116,5 +118,12 @@ public interface ZjTaskMapper extends BaseMapperX { ZjTaskDO selectByNo(@Param("code") String code); + default List selectListByTaskIds(Collection taskIds) { + return selectList(new LambdaQueryWrapperX() + .inIfPresent(ZjTaskDO::getTicket, taskIds) + .orderByDesc(ZjTaskDO::getId)); + } + + } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java index 43c584c3c..77ef56ceb 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java @@ -21,6 +21,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequi import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.planrecord.vo.PlanRecordRespVO; import cn.iocoder.yudao.module.mes.controller.admin.task.vo.TaskStatusEnum; +import cn.iocoder.yudao.module.mes.dal.dataobject.bom.BomDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.bom.BomDetailDO; import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO; import cn.iocoder.yudao.module.mes.dal.dataobject.itemrequisition.ItemRequisitionDetailDO; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; @@ -30,6 +32,8 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.planrecord.PlanRecordDO; import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO; import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDetailDO; import cn.iocoder.yudao.module.mes.dal.mysql.deviceledger.DeviceLedgerMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.bom.BomMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.bom.BomDetailMapper; import cn.iocoder.yudao.module.mes.dal.mysql.paigongrecord.PaigongRecordMapper; import cn.iocoder.yudao.module.mes.dal.mysql.plan.PlanMapper; import cn.iocoder.yudao.module.mes.dal.mysql.planrecord.PlanRecordMapper; @@ -59,6 +63,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -120,6 +125,10 @@ public class PlanServiceImpl implements PlanService { @Resource private PlanRecordMapper planRecordMapper; + @Resource + private BomMapper bomMapper; + @Resource + private BomDetailMapper bomDetailMapper; @@ -145,6 +154,9 @@ public class PlanServiceImpl implements PlanService { } if (plan.getIsEnable() == null) plan.setIsEnable(true); if(plan.getPriorityNum()==null) plan.setPriorityNum(1L); + if (createReqVO.getIsCalculateLoss() == null) { + createReqVO.setIsCalculateLoss(true); + } // todo // planMapper.insert(plan); // 返回 @@ -154,12 +166,13 @@ public class PlanServiceImpl implements PlanService { taskService.updateTask(taskDO); } List list = analysisService.getItemAnalysis(plan); // 产品 num + Map bomYieldRateMap = buildBomYieldRateMap(plan.getProductId(), createReqVO.getIsCalculateLoss()); List itemRequisitionDetails = new ArrayList<>(); for (ItemRequisitionAndStock item : list) { ItemRequisitionDetailDO detailDO = new ItemRequisitionDetailDO() .setProductId(item.getItemId()) .setUnitId(item.getUnitId()) - .setNumber(item.getNumber()) + .setNumber(calculateLossNumber(item.getItemId(), item.getNumber(), bomYieldRateMap, createReqVO.getIsCalculateLoss())) .setIsEnable(true); itemRequisitionDetails.add(detailDO); } @@ -257,7 +270,7 @@ public class PlanServiceImpl implements PlanService { ErpStockOutSaveReqVO.Item item = new ErpStockOutSaveReqVO.Item(); item.setWarehouseId(warehouse.getId()); item.setProductId(requisition.getItemId()); - item.setCount(requisition.getNumber()); + item.setCount(calculateLossNumber(requisition.getItemId(), requisition.getNumber(), bomYieldRateMap, createReqVO.getIsCalculateLoss())); itemList.add(item); } stockOut.setItems(itemList); @@ -266,6 +279,45 @@ public class PlanServiceImpl implements PlanService { return plan.getId(); } + private Map buildBomYieldRateMap(Long productId, Boolean isCalculateLoss) { + if (!Boolean.TRUE.equals(isCalculateLoss) || productId == null) { + return Collections.emptyMap(); + } + BomDO bomDO = bomMapper.selectByProductId(productId); + if (bomDO == null || bomDO.getId() == null) { + return Collections.emptyMap(); + } + List bomDetails = bomDetailMapper.selectList( + Wrappers.lambdaQuery() + .eq(BomDetailDO::getBomId, bomDO.getId()) + .eq(BomDetailDO::getIsEnable, true) + ); + if (CollUtil.isEmpty(bomDetails)) { + return Collections.emptyMap(); + } + return bomDetails.stream() + .filter(detail -> detail.getProductId() != null) + .collect(Collectors.toMap( + BomDetailDO::getProductId, + BomDetailDO::getYieldRate, + (first, second) -> first + )); + } + + private BigDecimal calculateLossNumber(Long itemId, BigDecimal originalNumber, + Map bomYieldRateMap, + Boolean isCalculateLoss) { + if (!Boolean.TRUE.equals(isCalculateLoss) || itemId == null || originalNumber == null) { + return originalNumber; + } + BigDecimal yieldRate = bomYieldRateMap.get(itemId); + if (yieldRate == null) { + return originalNumber; + } + BigDecimal rate = yieldRate.divide(BigDecimal.valueOf(100), 8, RoundingMode.HALF_UP); + return originalNumber.multiply(BigDecimal.ONE.add(rate)).stripTrailingZeros(); + } + @Override @Transactional(rollbackFor = Exception.class) public void createPlanStockIn(PlanStatusUpdateVO statusUpdateVO,PlanDO planDO) { diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjschema/ZjSchemaServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjschema/ZjSchemaServiceImpl.java index f6c153f90..4fcf4119d 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjschema/ZjSchemaServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjschema/ZjSchemaServiceImpl.java @@ -31,7 +31,6 @@ public class ZjSchemaServiceImpl implements ZjSchemaService { @Override public Long createZjSchema(ZjSchemaSaveReqVO createReqVO) { ZjSchemaDO zjSchema = BeanUtils.toBean(createReqVO, ZjSchemaDO.class); - zjSchema.setProduct(joinProductIds(createReqVO.getProductIds())); zjSchemaMapper.insert(zjSchema); return zjSchema.getId(); } @@ -40,7 +39,6 @@ public class ZjSchemaServiceImpl implements ZjSchemaService { public void updateZjSchema(ZjSchemaSaveReqVO updateReqVO) { validateZjSchemaExists(updateReqVO.getId()); ZjSchemaDO updateObj = BeanUtils.toBean(updateReqVO, ZjSchemaDO.class); - updateObj.setProduct(joinProductIds(updateReqVO.getProductIds())); zjSchemaMapper.updateById(updateObj); } @@ -82,14 +80,5 @@ public class ZjSchemaServiceImpl implements ZjSchemaService { return list == null || list.isEmpty() ? zjSchemaMapper.selectList() : list; } - private String joinProductIds(List productIds) { - if (productIds == null || productIds.isEmpty()) { - return null; - } - return productIds.stream().filter(Objects::nonNull) - .map(String::valueOf) - .distinct() - .collect(Collectors.joining(",")); - } } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java index 5885adffe..25eb00075 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtask/ZjTaskServiceImpl.java @@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjschema.ZjSchemaDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtaskresults.ZjTaskResultsDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtype.ZjTypeDO; +import cn.iocoder.yudao.module.mes.dal.mysql.plan.PlanMapper; import cn.iocoder.yudao.module.mes.dal.mysql.zjitem.ZjItemMapper; import cn.iocoder.yudao.module.mes.dal.mysql.zjschema.ZjSchemaMapper; import cn.iocoder.yudao.module.mes.dal.mysql.zjtaskresults.ZjTaskResultsMapper; @@ -65,7 +66,8 @@ public class ZjTaskServiceImpl implements ZjTaskService { @Resource private ZjItemMapper zjItemMapper; // 检验项目Mapper(用于关联查询方案下的项目) - + @Resource + private PlanMapper planMapper; // 检验项目Mapper(用于关联查询方案下的项目) @Resource private PlanService planService; @Resource @@ -227,6 +229,19 @@ public class ZjTaskServiceImpl implements ZjTaskService { @Override public PageResult getZjTaskPageByTicket(ZjTaskQueryByTicketPageReqVO pageReqVO) { + + List planDOS = planMapper.selectList(Wrappers.lambdaQuery().eq(PlanDO::getTaskId, pageReqVO.getTicket())); + List idList = planDOS.stream() + .map(PlanDO::getId) + .collect(Collectors.toList()); + if(idList.isEmpty()){ + return new PageResult<>(); + } + List zjTaskDOList = zjTaskMapper.selectListByTaskIds(idList); + List taskList = zjTaskDOList.stream() + .map(ZjTaskDO::getId) + .collect(Collectors.toList()); + pageReqVO.setIds(taskList); PageResult pageResult = zjTaskMapper.selectPageByTicket(pageReqVO); Map planMap = planService.getPlanMap(convertSet(pageResult.getList(), ZjTaskDO::getTicket)); return BeanUtils.toBean(pageResult, ZjTaskDO.class, zjTaskDO -> { diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtaskresults/ZjTaskResultsServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtaskresults/ZjTaskResultsServiceImpl.java index d74971869..012eb253a 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtaskresults/ZjTaskResultsServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/zjtaskresults/ZjTaskResultsServiceImpl.java @@ -1,11 +1,20 @@ package cn.iocoder.yudao.module.mes.service.zjtaskresults; +import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.zjtask.ZjTaskDO; +import cn.iocoder.yudao.module.mes.dal.mysql.plan.PlanMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.task.TaskMapper; +import cn.iocoder.yudao.module.mes.dal.mysql.zjtask.ZjTaskMapper; +import cn.iocoder.yudao.module.mes.service.task.TaskService; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; + import cn.iocoder.yudao.module.mes.controller.admin.zjtaskresults.vo.*; import cn.iocoder.yudao.module.mes.dal.dataobject.zjtaskresults.ZjTaskResultsDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -29,6 +38,15 @@ public class ZjTaskResultsServiceImpl implements ZjTaskResultsService { @Resource private ZjTaskResultsMapper zjTaskResultsMapper; + @Resource + private ZjTaskMapper zjTaskMapper; + + @Resource + private TaskMapper taskMapper; + + @Resource + private PlanMapper planMapper; + @Override public Long createZjTaskResults(ZjTaskResultsSaveReqVO createReqVO) { // 插入