后端《检验报告上传》:增加《检验报告上传》菜单,放在质量管理中

dev
siontion 3 months ago
parent 3a7a6fde21
commit 5076ec511a

@ -5,6 +5,8 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 检验报告 Response VO")
@Data
@ExcelIgnoreUnannotated
@ -12,7 +14,27 @@ public class InspectionReportRespVO {
@Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19610")
@ExcelProperty("项目id")
private Long projectId;
private Long id;
@Schema(description = "生产订单号")
private String code;
@Schema(description = "单据日期")
private LocalDateTime createTime;
@Schema(description = "归属部门")
private String deptName;
@Schema(description = "客户名称")
private String customerName;
@Schema(description = "销售订单")
private String externalCode;
@Schema(description = "附件数量")
private Integer attachmentCount;
@Schema(description = "子项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21985")
@ExcelProperty("子项目id")
@ -21,19 +43,12 @@ public class InspectionReportRespVO {
@Schema(description = "项目名称")
private String projectName;
@Schema(description = "项目编号")
private String projectCode;
@Schema(description = "客户名称")
private String customerName;
@Schema(description = "子项目编号")
private String projectSubName;
@Schema(description = "子项目编号")
private String projectSubCode;
@Schema(description = "附件数量")
private Integer attachmentCount;
}

@ -272,6 +272,13 @@ public class ProjectOrderDO extends BaseDO {
@TableField(exist = false)
private Integer restDays;
@TableField(exist = false)
private String deptName;
@TableField(exist = false)
private Integer attachmentCount;
public boolean canSave(){
return this.orderStatus.intValue() == ProjectOrderStatusEnum.SAVE.getCode();
}

@ -4,8 +4,15 @@ import cn.hutool.core.collection.CollUtil;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX;
import com.chanko.yunxi.mes.module.biz.controller.admin.projectorder.vo.ProjectOrderPageReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.qualitymanagement.vo.InspectionReportPageReqVO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.customer.CustomerDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.plansub.PlanSubDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderSubDO;
import com.chanko.yunxi.mes.module.biz.enums.BusinessTypeEnum;
import com.chanko.yunxi.mes.module.biz.enums.ProjectOrderStatusEnum;
import com.chanko.yunxi.mes.module.biz.enums.YesOrNoEnum;
import com.chanko.yunxi.mes.module.infra.dal.dataobject.file.FileDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO;
import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@ -64,4 +71,47 @@ public interface ProjectOrderMapper extends BaseMapperX<ProjectOrderDO> {
return selectOne(query);
}
default PageResult<ProjectOrderDO> getInspectionReportPage(InspectionReportPageReqVO pageReqVO) {
MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>();
query.distinct()
.select( "t.id")
.select( "t.code","t.external_code as externalCode")
.select("p.name as deptName")
.select("d.name as customerName")
.select("t.create_time")
.selectCount(FileDO::getId, "attachmentCount")
.leftJoin(FileDO.class, "b",
QueryWrapper -> QueryWrapper.eq(FileDO::getBusinessType, BusinessTypeEnum.INSPECTION_REPORT.name())
.eq(FileDO::getBusinessId, ProjectOrderDO::getId).eq(FileDO::getDeleted, YesOrNoEnum.N.getCode()))
.leftJoin(CustomerDO.class, "d", CustomerDO::getId, ProjectOrderDO::getCustomerId)
.leftJoin(DeptDO.class,"p",DeptDO::getId,ProjectOrderDO::getBusinessDeptId)
.disableSubLogicDel()
.orderByDesc(ProjectOrderDO::getId)
;
query.eq(ProjectOrderDO::getOrderStatus, ProjectOrderStatusEnum.DISPATCH.getCode())
.eq(ProjectOrderDO::getIsSnapshot, YesOrNoEnum.N.getCode())
.like(!StringUtils.isEmpty(pageReqVO.getProjectCode()), ProjectOrderDO::getCode, pageReqVO.getProjectCode());
return selectPage(pageReqVO, query);
}
default ProjectOrderDO getInspectionReport(Long id) {
MPJLambdaWrapper<ProjectOrderDO> query = new MPJLambdaWrapper<>();
query.distinct()
.select( "t.id")
.select( "t.code","t.external_code as externalCode")
.select("p.name as deptName")
.select("d.name as customerName")
.select("t.create_time")
.leftJoin(CustomerDO.class, "d", CustomerDO::getId, ProjectOrderDO::getCustomerId)
.leftJoin(DeptDO.class,"p",DeptDO::getId,ProjectOrderDO::getBusinessDeptId)
.disableSubLogicDel()
.eq(ProjectOrderDO::getId, id)
.orderByDesc(ProjectOrderDO::getId)
.last("LIMIT 1")
;
return selectOne(query);
}
}

@ -2,6 +2,8 @@ package com.chanko.yunxi.mes.module.biz.service.qualitymanagement;
import com.chanko.yunxi.mes.framework.common.pojo.PageResult;
import com.chanko.yunxi.mes.framework.common.util.object.BeanUtils;
import com.chanko.yunxi.mes.module.biz.dal.dataobject.projectorder.ProjectOrderDO;
import com.chanko.yunxi.mes.module.biz.dal.mysql.projectorder.ProjectOrderMapper;
import com.chanko.yunxi.mes.module.biz.dal.mysql.projectorder.ProjectOrderSubMapper;
import com.chanko.yunxi.mes.module.biz.controller.admin.qualitymanagement.vo.InspectionReportPageReqVO;
import com.chanko.yunxi.mes.module.biz.controller.admin.qualitymanagement.vo.InspectionReportRespVO;
@ -21,17 +23,17 @@ import javax.annotation.Resource;
public class QualityManagementServiceImpl implements QualityManagementService{
@Resource
private ProjectOrderSubMapper projectOrderSubMapper;
private ProjectOrderMapper projectOrderMapper;
@Override
public PageResult<InspectionReportRespVO> getInspectionReportPage(InspectionReportPageReqVO pageReqVO) {
PageResult<ProjectOrderSubDO> pageResult = projectOrderSubMapper.getInspectionReportPage(pageReqVO);
PageResult<ProjectOrderDO> pageResult = projectOrderMapper.getInspectionReportPage(pageReqVO);
return BeanUtils.toBean(pageResult, InspectionReportRespVO.class);
}
@Override
public InspectionReportRespVO getInspectionReport(Long id) {
ProjectOrderSubDO projectOrderSubDO = projectOrderSubMapper.getInspectionReport(id);
return BeanUtils.toBean(projectOrderSubDO, InspectionReportRespVO.class);
ProjectOrderDO projectOrderDO = projectOrderMapper.getInspectionReport(id);
return BeanUtils.toBean(projectOrderDO, InspectionReportRespVO.class);
}
}

Loading…
Cancel
Save