From e6692e2fde64f8d7e4af692b0856f6ec1bba0e6d Mon Sep 17 00:00:00 2001 From: chenshuichuan <1154693969@qq.com> Date: Sun, 7 Jul 2024 11:53:38 +0800 Subject: [PATCH] fix feeding record --- .../FeedingRecordController.java | 8 ++-- .../feedingrecord/vo/FeedingRecordRespVO.java | 10 ++++- .../vo/ProduceReportDetailRespVO.java | 5 ++- .../feedingrecord/FeedingRecordService.java | 5 ++- .../FeedingRecordServiceImpl.java | 27 +++++++++++--- .../FeedingRecordServiceImplTest.java | 37 ++++++++----------- 6 files changed, 56 insertions(+), 36 deletions(-) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/FeedingRecordController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/FeedingRecordController.java index 789fddd56b..8e0e3b51b3 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/FeedingRecordController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/FeedingRecordController.java @@ -89,8 +89,8 @@ public class FeedingRecordController { @Operation(summary = "获得投料记录分页") @PreAuthorize("@ss.hasPermission('mes:feeding-record:query')") public CommonResult> getFeedingRecordPage(@Valid FeedingRecordPageReqVO pageReqVO) { - PageResult pageResult = feedingRecordService.getFeedingRecordPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, FeedingRecordRespVO.class)); + PageResult pageResult = feedingRecordService.getFeedingRecordPage(pageReqVO); + return success(pageResult); } @GetMapping("/export-excel") @@ -100,10 +100,10 @@ public class FeedingRecordController { public void exportFeedingRecordExcel(@Valid FeedingRecordPageReqVO pageReqVO, HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - List list = feedingRecordService.getFeedingRecordPage(pageReqVO).getList(); + List list = feedingRecordService.getFeedingRecordPage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "投料记录.xls", "数据", FeedingRecordRespVO.class, - BeanUtils.toBean(list, FeedingRecordRespVO.class)); + list); } // ==================== 子表(投料记录明细) ==================== diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/vo/FeedingRecordRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/vo/FeedingRecordRespVO.java index 166a9f9927..42d98ccc1a 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/vo/FeedingRecordRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/feedingrecord/vo/FeedingRecordRespVO.java @@ -24,8 +24,10 @@ public class FeedingRecordRespVO { private String feedingRecordCode; @Schema(description = "产品id", example = "9099") - @ExcelProperty("产品id") private Long productId; + @Schema(description = "产品id", example = "9099") + @ExcelProperty("产品") + private String productName; @Schema(description = "计划id", example = "4922") @ExcelProperty("计划id") @@ -54,8 +56,10 @@ public class FeedingRecordRespVO { private LocalDateTime feedingTime; @Schema(description = "记录人", example = "13784") - @ExcelProperty("记录人") private Long userId; + @Schema(description = "记录人", example = "13784") + @ExcelProperty("记录人") + private String userName; @Schema(description = "备注", example = "随便") @ExcelProperty("备注") @@ -69,5 +73,7 @@ public class FeedingRecordRespVO { @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; + @Schema(description = "记录人", example = "13784") + private String creator; } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailRespVO.java index acd5e57f91..a97dac44d7 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ProduceReportDetailRespVO.java @@ -12,7 +12,10 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; - +//缺少品验工序,品验是拿机器印墨, +/*** + * 需要知道每天投料和成型产出的重量比例 + * **/ @Schema(description = "管理后台 - 生产报工明细 Response VO") @Data @ExcelIgnoreUnannotated diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordService.java index 20cd2784b2..118c4c951f 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordService.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordDetailRespVO; import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordRespVO; import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordSaveReqVO; import cn.iocoder.yudao.module.mes.controller.admin.itemrequisition.vo.ItemRequisitionDetailRespVO; import cn.iocoder.yudao.module.mes.dal.dataobject.feedingplan.FeedingRecordPlanDO; @@ -62,8 +63,8 @@ public interface FeedingRecordService { * @param pageReqVO 分页查询 * @return 投料记录分页 */ - PageResult getFeedingRecordPage(FeedingRecordPageReqVO pageReqVO); - + PageResult getFeedingRecordPage(FeedingRecordPageReqVO pageReqVO); + List buildList(List list); // ==================== 子表(投料记录明细) ==================== /** diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImpl.java index e2a294e965..c9d0682eef 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImpl.java @@ -24,7 +24,6 @@ import cn.iocoder.yudao.module.mes.dal.mysql.feedingrecord.FeedingRecordDetailMa import cn.iocoder.yudao.module.mes.dal.mysql.feedingrecord.FeedingRecordMapper; import cn.iocoder.yudao.module.mes.dal.mysql.itemrequisition.ItemRequisitionMapper; import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO; -import cn.iocoder.yudao.module.mes.service.feedingplan.FeedingRecordPlanService; import cn.iocoder.yudao.module.mes.service.itemrequisition.ItemRequisitionService; import cn.iocoder.yudao.module.mes.service.stockworkshop.StockWorkshopService; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; @@ -65,8 +64,7 @@ public class FeedingRecordServiceImpl implements FeedingRecordService { private MesNoRedisDAO noRedisDAO; @Resource private AdminUserApi adminUserApi; - @Resource - private FeedingRecordPlanService recordPlanService; + @Resource private FeedingRecordPlanMapper recordPlanMapper; @Resource @@ -152,8 +150,27 @@ public class FeedingRecordServiceImpl implements FeedingRecordService { } @Override - public PageResult getFeedingRecordPage(FeedingRecordPageReqVO pageReqVO) { - return feedingRecordMapper.selectPage(pageReqVO); + public PageResult getFeedingRecordPage(FeedingRecordPageReqVO pageReqVO) { + PageResult pageResult = feedingRecordMapper.selectPage(pageReqVO); + return new PageResult<>(buildList(pageResult.getList()),pageResult.getTotal()); + } + @Override + public List buildList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + Map map = productService.getProductMap( + convertSet(list, FeedingRecordDO::getItemId)); + // 1.4 管理员信息 + Map userMap = adminUserApi.getUserMap( + convertSet(list, FeedingRecordDO::getUserId)); + + return BeanUtils.toBean(list, FeedingRecordRespVO.class, item -> { + MapUtils.findAndThen(map, item.getProductId(), + product -> item.setProductName(product.getName())); + MapUtils.findAndThen(userMap, Long.valueOf(item.getCreator()), + user -> item.setUserName(user.getNickname())); + }); } // ==================== 子表(投料记录明细) ==================== diff --git a/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImplTest.java b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImplTest.java index acb59be426..ec92ce87fb 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImplTest.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/test/java/cn/iocoder/yudao/module/mes/service/feedingrecord/FeedingRecordServiceImplTest.java @@ -1,33 +1,26 @@ package cn.iocoder.yudao.module.mes.service.feedingrecord; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.mock.mockito.MockBean; - - +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; - -import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.*; +import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordRespVO; +import cn.iocoder.yudao.module.mes.controller.admin.feedingrecord.vo.FeedingRecordSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.feedingrecord.FeedingRecordDO; import cn.iocoder.yudao.module.mes.dal.mysql.feedingrecord.FeedingRecordMapper; -import cn.iocoder.yudao.framework.common.pojo.PageResult; - - +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import org.springframework.context.annotation.Import; import javax.annotation.Resource; -import java.util.*; -import java.time.LocalDateTime; - -import static cn.hutool.core.util.RandomUtil.*; -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.*; -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; -import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.*; -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.*; -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; + +import static cn.iocoder.yudao.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; +import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.cloneIgnoreId; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; +import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomLongId; +import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.FEEDING_RECORD_NOT_EXISTS; import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.*; /** * {@link FeedingRecordServiceImpl} 的单元测试类 @@ -165,7 +158,7 @@ public class FeedingRecordServiceImplTest extends BaseDbUnitTest { reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); // 调用 - PageResult pageResult = feedingRecordService.getFeedingRecordPage(reqVO); + PageResult pageResult = feedingRecordService.getFeedingRecordPage(reqVO); // 断言 assertEquals(1, pageResult.getTotal()); assertEquals(1, pageResult.getList().size());