From b0c5d5e8c61b2821b40c13e8aa957880bd27ab29 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 24 Oct 2024 21:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QcCheckReportProductController.java | 22 +- .../op/quality/domain/ProductReportDTO.java | 340 ++++++++++++++++++ .../impl/QcCheckReportProductServiceImpl.java | 20 +- .../impl/QcCheckTaskProduceServiceImpl.java | 15 +- .../quality/QcCheckTaskProduceMapper.xml | 2 + .../mapper/quality/QcStaticTableMapper.xml | 16 +- .../service/impl/SysUserServiceImpl.java | 14 +- 7 files changed, 405 insertions(+), 24 deletions(-) create mode 100644 op-modules/op-quality/src/main/java/com/op/quality/domain/ProductReportDTO.java diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java index 0813b453..91edf635 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProductController.java @@ -1,6 +1,8 @@ package com.op.quality.controller; import com.op.common.core.utils.DateUtils; + +import com.op.common.core.utils.bean.BeanUtils; import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.domain.AjaxResult; @@ -9,10 +11,7 @@ import com.op.common.log.annotation.Log; import com.op.common.log.enums.BusinessType; import com.op.common.security.annotation.RequiresPermissions; import com.op.common.security.utils.SecurityUtils; -import com.op.quality.domain.QcBomComponent; -import com.op.quality.domain.QcCheckReportIncome; -import com.op.quality.domain.QcCheckTaskDetail; -import com.op.quality.domain.QcSupplier; +import com.op.quality.domain.*; import com.op.quality.service.IQcCheckReportProductService; import com.op.system.api.domain.SysUser; import org.apache.commons.lang.StringUtils; @@ -22,6 +21,7 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; /** @@ -67,7 +67,7 @@ public class QcCheckReportProductController extends BaseController { * 导出来料检验列表 */ @RequiresPermissions("quality:productReport:export") - @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @Log(title = "成品检验报告明细数据", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { @@ -86,9 +86,15 @@ public class QcCheckReportProductController extends BaseController { // qcCheckReportIncome.setCheckTimeEnd(qcCheckReportIncome.getIncomeTimeStart());//end // } - List list = qcCheckReportProductService.selectQcCheckReportIncomeList(qcCheckReportIncome); - ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); - util.exportExcel(response, list, "来料检验数据"); + List list0 = qcCheckReportProductService.selectQcCheckReportIncomeList(qcCheckReportIncome); + List list = new ArrayList<>(); + for(QcCheckReportIncome idto:list0){ + ProductReportDTO pdto = new ProductReportDTO(); + BeanUtils.copyProperties(idto,pdto); + list.add(pdto); + } + ExcelUtil util = new ExcelUtil(ProductReportDTO.class); + util.exportExcel(response, list, "成品检验报告明细数据"); } /** diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/ProductReportDTO.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/ProductReportDTO.java new file mode 100644 index 00000000..91c2b4ea --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/ProductReportDTO.java @@ -0,0 +1,340 @@ +package com.op.quality.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * + * @author Open Platform + * @date 2023-10-19 + */ +public class ProductReportDTO extends BaseEntity { + private static final long serialVersionUID = 1L; + + + /** + * 检验任务编号 + */ + @Excel(name = "检验任务编号") + private String checkNo; + + /** + * 来料批次号 + */ + @Excel(name = "来料批次号") + private String incomeBatchNo; + + /** + * 订单号 + */ + @Excel(name = "工单号") + private String orderNo; + @Excel(name = "订单号") + private String workorderCodeSap; + /** + * 物料号 + */ + @Excel(name = "物料号") + private String materialCode; + + /** + * 物料名称 + */ + @Excel(name = "物料名称") + private String materialName; + + /** + * 收货数量 + */ + @Excel(name = "收货数量") + private BigDecimal quality; + + /** + * 单位 + */ + @Excel(name = "单位") + private String unit; + + /** + * 供应商编码 + */ + @Excel(name = "供应商/车间编码") + private String supplierCode; + + /** + * 供应商名称 + */ + @Excel(name = "供应商/车间名称") + private String supplierName; + + /** + * 来料时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "任务时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date incomeTime; + + /** + * 检测地点 + */ + @Excel(name = "检测地点") + private String checkLoc; + + /** + * 检测状态 + */ + @Excel(name = "检测状态") + private String checkStatus; + + /** + * 检测人工号 + */ + @Excel(name = "检测人工号") + private String checkManCode; + + /** + * 检测人姓名 + */ + @Excel(name = "检测人姓名") + private String checkManName; + + /** + * 检验时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "检验时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date checkTime; + + /** + * 检验结果Y合格 + */ + @Excel(name = "检验结果Y合格") + private String checkResult; + + /** + * 是否启用1启用0停用 + */ + @Excel(name = "是否启用1启用0停用") + private String status; + + + /** + * 工厂编码 + */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** + * 删除标识1删除0正常 + */ + private String delFlag; + + @Excel(name = "抽样数量(ST)") + private BigDecimal sampleQuality; + + + + public String getWorkorderCodeSap() { + return workorderCodeSap; + } + + public void setWorkorderCodeSap(String workorderCodeSap) { + this.workorderCodeSap = workorderCodeSap; + } + + public BigDecimal getSampleQuality() { + return sampleQuality; + } + + public void setSampleQuality(BigDecimal sampleQuality) { + this.sampleQuality = sampleQuality; + } + + public void setCheckNo(String checkNo) { + this.checkNo = checkNo; + } + + public String getCheckNo() { + return checkNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getOrderNo() { + return orderNo; + } + + public void setMaterialCode(String materialCode) { + this.materialCode = materialCode; + } + + public String getMaterialCode() { + return materialCode; + } + + public void setMaterialName(String materialName) { + this.materialName = materialName; + } + + public String getMaterialName() { + return materialName; + } + + public void setQuality(BigDecimal quality) { + this.quality = quality; + } + + public BigDecimal getQuality() { + return quality; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public String getUnit() { + return unit; + } + + public void setSupplierCode(String supplierCode) { + this.supplierCode = supplierCode; + } + + public String getSupplierCode() { + return supplierCode; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getSupplierName() { + return supplierName; + } + + public void setIncomeTime(Date incomeTime) { + this.incomeTime = incomeTime; + } + + public Date getIncomeTime() { + return incomeTime; + } + + public void setCheckLoc(String checkLoc) { + this.checkLoc = checkLoc; + } + + public String getCheckLoc() { + return checkLoc; + } + + public void setCheckStatus(String checkStatus) { + this.checkStatus = checkStatus; + } + + public String getCheckStatus() { + return checkStatus; + } + + public void setCheckManCode(String checkManCode) { + this.checkManCode = checkManCode; + } + + public String getCheckManCode() { + return checkManCode; + } + + public void setCheckManName(String checkManName) { + this.checkManName = checkManName; + } + + public String getCheckManName() { + return checkManName; + } + + public void setCheckTime(Date checkTime) { + this.checkTime = checkTime; + } + + public Date getCheckTime() { + return checkTime; + } + + public void setCheckResult(String checkResult) { + this.checkResult = checkResult; + } + + public String getCheckResult() { + return checkResult; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatus() { + return status; + } + + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("checkNo", getCheckNo()) + .append("incomeBatchNo", getIncomeBatchNo()) + .append("orderNo", getOrderNo()) + .append("materialCode", getMaterialCode()) + .append("materialName", getMaterialName()) + .append("quality", getQuality()) + .append("unit", getUnit()) + .append("supplierCode", getSupplierCode()) + .append("supplierName", getSupplierName()) + .append("incomeTime", getIncomeTime()) + .append("checkLoc", getCheckLoc()) + .append("checkStatus", getCheckStatus()) + .append("checkManCode", getCheckManCode()) + .append("checkManName", getCheckManName()) + .append("checkTime", getCheckTime()) + .append("checkResult", getCheckResult()) + .append("status", getStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProductServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProductServiceImpl.java index 8ae39563..f4be899d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProductServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProductServiceImpl.java @@ -5,10 +5,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.*; -import com.op.quality.mapper.QcCheckReportIncomeMapper; -import com.op.quality.mapper.QcCheckTaskDetailMapper; -import com.op.quality.mapper.QcCheckTypeProjectMapper; -import com.op.quality.mapper.QcMaterialGroupDetailMapper; +import com.op.quality.mapper.*; import com.op.quality.service.IQcCheckReportProductService; import com.op.system.api.domain.SysUser; import org.apache.commons.lang.StringUtils; @@ -41,7 +38,8 @@ public class QcCheckReportProductServiceImpl implements IQcCheckReportProductSer @Autowired private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; - + @Autowired + private QcStaticTableMapper qcStaticTableMapper; /** * 查询来料检验 * @@ -75,7 +73,17 @@ public class QcCheckReportProductServiceImpl implements IQcCheckReportProductSer qcCheckReportIncome.setDelFlag("0"); qcCheckReportIncome.setTypeCode("product"); qcCheckReportIncome.setCheckType("checkTypeCP"); - return qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + List dtos = qcCheckReportIncomeMapper.selectQcCheckReportIncomeList(qcCheckReportIncome); + for(QcCheckReportIncome dto:dtos){ + List batchnos = qcStaticTableMapper.getBatchnos(dto.getOrderNo()); + String ordernoStr = ""; + for (String batchno : batchnos) { + ordernoStr += batchno + ";"; + } + ; + dto.setIncomeBatchNo(ordernoStr); + } + return dtos; } /** diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java index 27883de4..c9358dfe 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskProduceServiceImpl.java @@ -95,6 +95,9 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService @Autowired private RemoteOpenService remoteOpenService; + @Autowired + private QcStaticTableMapper qcStaticTableMapper; + private static Pattern p2= Pattern.compile("<[^>]+>"); /** @@ -135,7 +138,17 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService public List selectQcCheckTaskProduceList(QcCheckTaskProduce qcCheckTaskProduce) { qcCheckTaskProduce.setDelFlag("0"); qcCheckTaskProduce.setTypeCode("produce"); - return qcCheckTaskProduceMapper.selectQcCheckTaskProduceList(qcCheckTaskProduce); + List dtos = qcCheckTaskProduceMapper.selectQcCheckTaskProduceList(qcCheckTaskProduce); + for(QcCheckTaskProduce dto:dtos){ + List batchnos = qcStaticTableMapper.getBatchnos(dto.getOrderNo()); + String ordernoStr = ""; + for (String batchno : batchnos) { + ordernoStr += batchno + ";"; + } + ; + dto.setIncomeBatchNo(ordernoStr); + } + return dtos; } /** diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml index 402be5e3..5eb0f6b2 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskProduceMapper.xml @@ -145,6 +145,8 @@ and #{checkTimeEnd} > CONVERT(varchar(30),qct.check_time, 120) and qct.check_type = #{checkType} and q.type_code = #{typeCode} + and bpa.cpk_type = #{cpkType} + and pow.del_flag = '0' order by qct.create_time desc diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index 8f9446c7..8c298431 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -25,7 +25,12 @@ from qc_check_task qct where qct.type_code = 'material' and qct.del_flag = '0' and CONVERT(varchar(7),qct.income_time, 120) = #{yearMonth} - + + and qct.supplier_code in + + #{supplierCode} + +