add daily report

plp
chenshuichuan 2 years ago
parent c434594315
commit 17255fc2a8

@ -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<ProduceReportDetailRespVO> pageResult = produceReportDetailService.getProduceReportDetailPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/pageCenter")
@Operation(summary = "获得生产报工明细分页")
public CommonResult<PageResult<ProduceReportDetailRespVO>> getProduceReportDetailPageCenter(@Valid ProduceReportDetailPageReqVO pageReqVO) {
if(pageReqVO.getReportType().equals(ReportTypeEnum..getValue())){
pageReqVO.setReportType(null);
Long userId = getLoginUserId();
pageReqVO.setUserId(userId);
}
PageResult<ProduceReportDetailRespVO> pageResult = produceReportDetailService.getProduceReportDetailPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出生产报工明细 Excel")
//@PreAuthorize("@ss.hasPermission('mes:produce-report-detail:export')")

@ -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;
}

@ -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);
}
}

@ -53,6 +53,13 @@ public interface ProduceReportDetailService {
* @return
*/
PageResult<ProduceReportDetailRespVO> getProduceReportDetailPage(ProduceReportDetailPageReqVO pageReqVO);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<ProduceReportDetailRespVO> getCenterPage(ProduceReportDetailPageReqVO pageReqVO);
List<ProduceReportDetailRespVO> buildVOList(List<ProduceReportDetailDO> list);
void updateStatus(Long id, Integer status);

@ -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<ProduceReportDetailDO> pageResult = produceReportDetailMapper.selectPage(pageReqVO);
return new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal());
}
@Override
public PageResult<ProduceReportDetailRespVO> getCenterPage(ProduceReportDetailPageReqVO pageReqVO) {
PageResult<ProduceReportDetailDO> pageResult = produceReportDetailMapper.selectPage(pageReqVO);
return new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal());
}
@Resource
private OrganizationService organizationService;
@Resource

Loading…
Cancel
Save