diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java index 500d7e8..3e01347 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java @@ -12,14 +12,18 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolDO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO; import cn.iocoder.yudao.module.mes.service.md.client.MesMdClientService; import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService; import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService; +import cn.iocoder.yudao.module.mes.service.pro.task.MesProTaskService; import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService; +import cn.iocoder.yudao.module.mes.service.tm.tool.MesTmToolService; import cn.iocoder.yudao.module.mes.service.wm.batch.MesWmBatchService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -59,7 +63,11 @@ public class MesWmBatchController { @Resource private MesProWorkOrderService workOrderService; @Resource + private MesProTaskService taskService; + @Resource private MesMdWorkstationService workstationService; + @Resource + private MesTmToolService toolService; @GetMapping("/get") @Operation(summary = "获得批次详情") @@ -111,8 +119,12 @@ public class MesWmBatchController { convertSet(list, MesWmBatchDO::getClientId)); Map workOrderMap = workOrderService.getWorkOrderMap( convertSet(list, MesWmBatchDO::getWorkOrderId)); + Map taskMap = taskService.getTaskMap( + convertSet(list, MesWmBatchDO::getTaskId)); Map workstationMap = workstationService.getWorkstationMap( convertSet(list, MesWmBatchDO::getWorkstationId)); + Map toolMap = toolService.getToolMap( + convertSet(list, MesWmBatchDO::getToolId)); Map unitMeasureMap = unitMeasureService.getUnitMeasureMap( convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId)); // 2. 构建结果 @@ -129,8 +141,12 @@ public class MesWmBatchController { client -> vo.setClientCode(client.getCode()).setClientName(client.getName())); MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(), workOrder -> vo.setWorkOrderCode(workOrder.getCode())); + MapUtils.findAndThen(taskMap, vo.getTaskId(), + task -> vo.setTaskCode(task.getCode())); MapUtils.findAndThen(workstationMap, vo.getWorkstationId(), workstation -> vo.setWorkstationCode(workstation.getCode())); + MapUtils.findAndThen(toolMap, vo.getToolId(), + tool -> vo.setToolCode(tool.getCode())); }); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchPageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchPageReqVO.java index c527bd2..9910c38 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchPageReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchPageReqVO.java @@ -5,6 +5,11 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - MES 批次管理分页 Request VO") @Data @@ -33,4 +38,34 @@ public class MesWmBatchPageReqVO extends PageParam { @Schema(description = "生产工单编号", example = "1") private Long workOrderId; + @Schema(description = "生产任务编号", example = "1") + private Long taskId; + + @Schema(description = "工作站编号", example = "1") + private Long workstationId; + + @Schema(description = "工具编号", example = "1") + private Long toolId; + + @Schema(description = "模具编号", example = "1") + private Long moldId; + + @Schema(description = "生产批号", example = "LOT20250314001") + private String lotNumber; + + @Schema(description = "质量状态", example = "1") + private Integer qualityStatus; + + @Schema(description = "生产日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] produceDate; + + @Schema(description = "有效期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] expireDate; + + @Schema(description = "入库日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] receiptDate; + } \ No newline at end of file diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchRespVO.java index 3e92f1b..ee225e9 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchRespVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/vo/MesWmBatchRespVO.java @@ -72,6 +72,9 @@ public class MesWmBatchRespVO { @Schema(description = "生产任务 ID", example = "1") private Long taskId; + @Schema(description = "生产任务编号", example = "TASK20250314001") + private String taskCode; + @Schema(description = "工作站 ID", example = "1") private Long workstationId; @@ -81,6 +84,9 @@ public class MesWmBatchRespVO { @Schema(description = "工具 ID", example = "1") private Long toolId; + @Schema(description = "工具编号", example = "TOOL001") + private String toolCode; + @Schema(description = "模具 ID", example = "1") private Long moldId; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java index a3b42ed..195858c 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java @@ -33,6 +33,15 @@ public interface MesWmBatchMapper extends BaseMapperX { .likeIfPresent(MesWmBatchDO::getSalesOrderCode, reqVO.getSalesOrderCode()) .likeIfPresent(MesWmBatchDO::getPurchaseOrderCode, reqVO.getPurchaseOrderCode()) .eqIfPresent(MesWmBatchDO::getWorkOrderId, reqVO.getWorkOrderId()) + .eqIfPresent(MesWmBatchDO::getTaskId, reqVO.getTaskId()) + .eqIfPresent(MesWmBatchDO::getWorkstationId, reqVO.getWorkstationId()) + .eqIfPresent(MesWmBatchDO::getToolId, reqVO.getToolId()) + .eqIfPresent(MesWmBatchDO::getMoldId, reqVO.getMoldId()) + .likeIfPresent(MesWmBatchDO::getLotNumber, reqVO.getLotNumber()) + .eqIfPresent(MesWmBatchDO::getQualityStatus, reqVO.getQualityStatus()) + .betweenIfPresent(MesWmBatchDO::getProduceDate, reqVO.getProduceDate()) + .betweenIfPresent(MesWmBatchDO::getExpireDate, reqVO.getExpireDate()) + .betweenIfPresent(MesWmBatchDO::getReceiptDate, reqVO.getReceiptDate()) .orderByDesc(MesWmBatchDO::getId)); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java index 9be7d9f..243faf2 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolService.java @@ -6,7 +6,11 @@ import cn.iocoder.yudao.module.mes.controller.admin.tm.tool.vo.MesTmToolSaveReqV import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolDO; import jakarta.validation.Valid; +import java.util.Collection; import java.util.List; +import java.util.Map; + +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; /** * MES 工具台账 Service 接口 @@ -60,4 +64,22 @@ public interface MesTmToolService { */ List getToolList(); + /** + * 获得工具列表 + * + * @param ids 编号列表 + * @return 工具列表 + */ + List getToolList(Collection ids); + + /** + * 获得工具 Map + * + * @param ids 编号列表 + * @return 工具 Map + */ + default Map getToolMap(Collection ids) { + return convertMap(getToolList(ids), MesTmToolDO::getId); + } + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java index d4e4878..fe707fd 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/tm/tool/MesTmToolServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; +import java.util.Collection; import java.util.List; import java.util.Objects; @@ -123,4 +124,12 @@ public class MesTmToolServiceImpl implements MesTmToolService { return toolMapper.selectList(); } + @Override + public List getToolList(Collection ids) { + if (ids == null || ids.isEmpty()) { + return List.of(); + } + return toolMapper.selectBatchIds(ids); + } + }