diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportDetailController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportDetailController.java index f9e6bb03c7..55b16d6491 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportDetailController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/ProduceReportDetailController.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailRespVO; import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ReportTypeEnum; import cn.iocoder.yudao.module.mes.dal.dataobject.producereport.ProduceReportDetailDO; import cn.iocoder.yudao.module.mes.service.producereport.ProduceReportDetailService; import io.swagger.v3.oas.annotations.Operation; @@ -27,6 +28,7 @@ import java.util.List; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @Tag(name = "管理后台 - 生产报工明细") @RestController @@ -83,7 +85,17 @@ public class ProduceReportDetailController { PageResult pageResult = produceReportDetailService.getProduceReportDetailPage(pageReqVO); return success(pageResult); } - + @GetMapping("/pageCenter") + @Operation(summary = "获得生产报工明细分页") + public CommonResult> getProduceReportDetailPageCenter(@Valid ProduceReportDetailPageReqVO pageReqVO) { + if(pageReqVO.getReportType().equals(ReportTypeEnum.个人.getValue())){ + pageReqVO.setReportType(null); + Long userId = getLoginUserId(); + pageReqVO.setUserId(userId); + } + PageResult pageResult = produceReportDetailService.getProduceReportDetailPage(pageReqVO); + return success(pageResult); + } @GetMapping("/export-excel") @Operation(summary = "导出生产报工明细 Excel") //@PreAuthorize("@ss.hasPermission('mes:produce-report-detail:export')") 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 2d2792bb26..acd5e57f91 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 @@ -6,10 +6,13 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; 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 @@ -20,15 +23,15 @@ public class ProduceReportDetailRespVO { private Long id; @Schema(description = "报工单id", example = "10253") - @ExcelProperty("报工单id") private Long reportId; - @Schema(description = "报工单id", example = "10253") - @ExcelProperty("报工单id") + @Schema(description = "报工单", example = "10253") private String reportCode; - @Schema(description = "生产计划ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "22861") - @ExcelProperty("生产计划ID") private Long planId; + @Schema(description = "报工日期") + @ExcelProperty("报工日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime reportDate; @Schema(description = "产品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14517") private Long productId; @@ -48,34 +51,6 @@ public class ProduceReportDetailRespVO { @ExcelProperty("工位") private String orgName; - @Schema(description = "成品率") - @ExcelProperty("成品率") - private BigDecimal qualityRate; - - @Schema(description = "备注", example = "不好") - @ExcelProperty("备注") - private String wasteReason; - - @Schema(description = "总时长") - @ExcelProperty("总时长") - private BigDecimal totalTime; - - @Schema(description = "打包数量") - @ExcelProperty("打包数量") - private BigDecimal packageNumber; - - @Schema(description = "备注", example = "你猜") - @ExcelProperty("备注") - private String remark; - - @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("是否启用") - private Boolean isEnable; - - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; - @Schema(description = "成品数量") @ExcelProperty("成品数量") private BigDecimal qualityNumber; @@ -88,24 +63,35 @@ public class ProduceReportDetailRespVO { @ExcelProperty("总数量") private BigDecimal totalNumber; - @Schema(description = "报工日期") - @ExcelProperty("报工日期") - private LocalDateTime reportDate; + @Schema(description = "成品率") + @ExcelProperty("成品率") + private BigDecimal qualityRate; + + @Schema(description = "备注", example = "不好") + @ExcelProperty("废品原因") + private String wasteReason; + + @Schema(description = "打包数量") + @ExcelProperty("打包数量") + private BigDecimal packageNumber; + @Schema(description = "总时长") + @ExcelProperty("总时长") + private BigDecimal totalTime; @Schema(description = "计件时间") @ExcelProperty("计件时间") private String reportTime; @Schema(description = "报工状态", example = "1") - @ExcelProperty(value = "报工状态", converter = DictConvert.class) + @ExcelProperty(value = "单据状态", converter = DictConvert.class) @DictFormat("mes_record_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 private Integer reportStatus; - /** * 工序类型 */ @Schema(description = "工序类型") - @ExcelProperty("工序类型") + @ExcelProperty("工序") + @DictFormat("mes_org_type") private String orgType; /** * 报工类型 @@ -118,4 +104,15 @@ public class ProduceReportDetailRespVO { @ExcelProperty(value = "班别", converter = DictConvert.class) @DictFormat("mes_group_type") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 private Integer groupType; + + @Schema(description = "备注", example = "你猜") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "是否启用", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isEnable; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; } \ 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/ReportTypeEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ReportTypeEnum.java new file mode 100644 index 0000000000..1552f3dd8e --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/producereport/vo/ReportTypeEnum.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.mes.controller.admin.producereport.vo; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ReportTypeEnum { + + 个人("个人"), + 代报工("代报工"); + + private final String value; + + // 一个可选的方法,用于根据整数值获取对应的枚举实例 + public static ReportTypeEnum fromValue(String value) { + for (ReportTypeEnum status : ReportTypeEnum.values()) { + if (status.getValue().equals(value) ) { + return status; + } + } + throw new IllegalArgumentException("Unknown value: " + value); + } +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailService.java index 15f3abe820..fd7fd58a61 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailService.java @@ -53,6 +53,13 @@ public interface ProduceReportDetailService { * @return 生产报工明细分页 */ PageResult getProduceReportDetailPage(ProduceReportDetailPageReqVO pageReqVO); + /** + * 获得生产报工明细分页 + * 查询个人所属,或是代报工的页面数据 + * @param pageReqVO 分页查询 + * @return 生产报工明细分页 + */ + PageResult getCenterPage(ProduceReportDetailPageReqVO pageReqVO); List buildVOList(List list); void updateStatus(Long id, Integer status); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java index b7c7f6d509..cdc91be7b8 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/producereport/ProduceReportDetailServiceImpl.java @@ -8,10 +8,7 @@ import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO; import cn.iocoder.yudao.module.erp.service.product.ErpProductService; import cn.iocoder.yudao.module.mes.controller.admin.changerecord.vo.ChangeTypeEnum; import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanStatusEnum; -import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailPageReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailRespVO; -import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ProduceReportDetailSaveReqVO; -import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.ReportStatusEnum; +import cn.iocoder.yudao.module.mes.controller.admin.producereport.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.producereportplan.vo.WorkReportPlanSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO; @@ -117,6 +114,12 @@ public class ProduceReportDetailServiceImpl implements ProduceReportDetailServic PageResult pageResult = produceReportDetailMapper.selectPage(pageReqVO); return new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal()); } + @Override + public PageResult getCenterPage(ProduceReportDetailPageReqVO pageReqVO) { + + PageResult pageResult = produceReportDetailMapper.selectPage(pageReqVO); + return new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal()); + } @Resource private OrganizationService organizationService; @Resource