diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/H5ApiServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/H5ApiServiceImpl.java index 2b7fd664c..c2daca15e 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/H5ApiServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/H5ApiServiceImpl.java @@ -79,8 +79,8 @@ public class H5ApiServiceImpl implements H5ApiService { Collectors.collectingAndThen( Collectors.toList(), list -> { - double averageActualEmployment = list.stream() - .collect(Collectors.averagingDouble(H5::getActualEmployment)); + double averageActualEmployment =Math.round(list.stream() + .collect(Collectors.averagingDouble(H5::getActualEmployment))); H5 resultH5 = new H5(); resultH5.setWorkOrderCode(list.get(0).getWorkOrderCode()); // 设置 workOrderCode resultH5.setActualEmployment(averageActualEmployment); diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index ce6ec2854..b8ee2c4d7 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -436,6 +436,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { }else if(workOrders.size()>=3){ BigDecimal gamng = null; + BigDecimal bottomQua = BigDecimal.ZERO; for(int n=0;n 1){ + //查询base_product的report_rate//箱子-大盒-小盒 + BigDecimal reportRate = mesReportWorkMapper.getReportRate(workOrders.get(n).getProductCode()); + if(reportRate != null){ + BigDecimal newQuantity = bottomQua.divide(reportRate,2, RoundingMode.HALF_UP); + sHzWorks.setQuantityFeedback(newQuantity); + }else{ + sHzWorks.setQuantityFeedback(sHzWorks.getQuantityFeedback()); + } + } sHzWorks.setMachineCode(mesReportWork.getMachineCode()); sapRson = this.reportHzToSap3(sHzWorks); logger.info("==========================三层(第"+n+"层)以上工单("+sHzWorks.getWorkorderCodeSap()+")报工结束:" @@ -668,6 +683,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { SapRFW sapRFW = new SapRFW(); sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号 sapRFW.setGamng(workOrder.getQuantityFeedback().toString());//报工数量 + SapRFW.lt_gs ltgs = new SapRFW.lt_gs();//生产订单报工工时修改 ltgs.setConf_activity1(workOrder.getSac1());//机器 ltgs.setConf_activity2(workOrder.getSac2());//人工 diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java index eb6cf52b7..a95879ae8 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/MesReportWorkServiceImpl.java @@ -750,7 +750,7 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService { return 0; } int reportNum = mesReportWorkMapper.deleteReport(reportCode); - int consumeNum = mesReportWorkMapper.deleteReportConsume(reportCode); + //int consumeNum = mesReportWorkMapper.deleteReportConsume(reportCode); return reportNum; } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml index 75ff8bd59..2681808ec 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml @@ -199,7 +199,7 @@ WHERE be.equipment_type_code = 'equ_type_hf' AND del_flag = '0' - ) AS SourceTable PIVOT ( MAX ( isvalue ) FOR property IN ( [dollyNumber], [Intheoven], [temperature] ) ) AS PivotTable LEFT JOIN base_equipment_attached T2 ON PivotTable.equipment_code=T2.device_code WHERE T2.property='dollyNumber' + ) AS SourceTable PIVOT ( MAX ( isvalue ) FOR property IN ( [dollyNumber], [Intheoven], [temperature],,[humidity] ) ) AS PivotTable LEFT JOIN base_equipment_attached T2 ON PivotTable.equipment_code=T2.device_code WHERE T2.property='dollyNumber' ORDER BY i asc diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index 7671209d3..d655c762a 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -1496,8 +1496,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { for(ProOrderWorkorder data:workorderList){ mapData = new HashMap(); mapData.put("xh", xh); - mapData.put("orderCode",data.getOrderCode().substring(4)); - mapData.put("workorderSap", data.getWorkorderCodeSap().substring(4)); + mapData.put("orderCode",data.getOrderCode().substring(3)); + mapData.put("workorderSap", data.getWorkorderCodeSap().substring(3)); mapData.put("materialCode", data.getProductCode().substring(7)); mapData.put("materialDesc", data.getProductName()); mapData.put("quality", data.getQuantitySplit()); @@ -1754,11 +1754,7 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { } public static void main(String args[]) { - List wcodes = new ArrayList<>(); - wcodes.add("aaa"); - wcodes.add("bbb"); - wcodes.add("ccc"); - Collections.reverse(wcodes); - System.out.println(StringUtils.join(wcodes, ",")); + String s = "000800003044"; + System.out.println(s.substring(3)); } } diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index 885639c10..ee93c1ab2 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -900,7 +900,7 @@ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java index ae7745138..128357e5e 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportInventoryController.java @@ -67,18 +67,18 @@ public class QcCheckReportInventoryController extends BaseController { * 导出来料检验列表 */ @RequiresPermissions("quality:inventoryReport:export") - @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @Log(title = "库存检验报告明细", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { //默认时间范围T 00:00:00~T+1 00:00:00 - if (StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())) { - qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate() + " 00:00:00");//start + if (StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())) { + qcCheckReportIncome.setCheckTimeStart(DateUtils.getDate() + " 00:00:00");//start LocalDate date = LocalDate.now(); LocalDate dateEnd = date.plusDays(1); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String dateEndStr = dtf.format(dateEnd) + " 00:00:00"; - qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end + String dateEndStr = dtf.format(dateEnd) + " 23:59:59"; + qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end } // if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){ @@ -88,7 +88,7 @@ public class QcCheckReportInventoryController extends BaseController { List list = qcCheckReportInventoryService.selectQcCheckReportIncomeList(qcCheckReportIncome); ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); - util.exportExcel(response, list, "来料检验数据"); + util.exportExcel(response, list, "库存检验报告明细"); } /** @@ -182,4 +182,25 @@ public class QcCheckReportInventoryController extends BaseController { List list = qcCheckReportInventoryService.getCkeckProjectList(qcCheckTaskDetail); return getDataTable(list); } + + /** + * 仓库质量巡查记录 + * @param qcCheckReportIncome + * @return + */ + @GetMapping("/printXJRecordList") + public List printXJRecordList(QcCheckReportIncome qcCheckReportIncome) { + //默认时间范围T 00:00:00~T+1 00:00:00 + if (StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())) { + qcCheckReportIncome.setCheckTimeStart(DateUtils.getDate() + " 00:00:00");//start + LocalDate date = LocalDate.now(); + LocalDate dateEnd = date.plusDays(1); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String dateEndStr = dtf.format(dateEnd) + " 23:59:59"; + qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end + } + + List list = qcCheckReportInventoryService.printXJRecordList(qcCheckReportIncome); + return list; + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java index e7c92a71b..757f10df2 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckReportProduceController.java @@ -59,7 +59,7 @@ public class QcCheckReportProduceController extends BaseController { * 导出来料检验列表 */ @RequiresPermissions("quality:produceReport:export") - @Log(title = "来料检验", businessType = BusinessType.EXPORT) + @Log(title = "生产过程检验报告明细导出", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) { @@ -80,7 +80,7 @@ public class QcCheckReportProduceController extends BaseController { List list = qcCheckReportProduceService.selectQcCheckReportIncomeList(qcCheckReportIncome); ExcelUtil util = new ExcelUtil(QcCheckReportIncome.class); - util.exportExcel(response, list, "来料检验数据"); + util.exportExcel(response, list, "生产过程检验报告明细"); } /** 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 0813b453d..91edf6359 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/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java index d061c259a..8cd962c9c 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -7,6 +7,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.Collectors; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; @@ -597,6 +598,89 @@ public class QcStaticTableController extends BaseController { public List getTableHzDataSC(@RequestBody QcStaticTable qcStaticTable) { return qcStaticTableService.getTableHzDataSC(qcStaticTable); } + @Log(title = "首检分析报表统计", businessType = BusinessType.EXPORT) + @PostMapping("/exportSCTable") + public void exportSCTable(HttpServletResponse response, QcStaticTable qcStaticTable) { + QcStaticTable titledto = qcStaticTableService.getTableHzTitle(qcStaticTable); + + List list0 = qcStaticTableService.getTableHzDataSC(qcStaticTable); + List list = list0.stream() + .filter(hmap -> !hmap.get("sampleQuality").equals("0")) + .collect(Collectors.toList()); + List title2Cols = titledto.getColumns1(); + //String titleRow1 = String.join(",", title2Cols); + String titleRow1 = "首检分析报表"; + //表格结构数据 + ArrayList excelCols = new ArrayList<>(); + excelCols.add(new ExcelCol("时间", "timeCol", 15)); + excelCols.add(new ExcelCol("抽检数", "sampleQuality", 10)); + + for (int n = 0; n < title2Cols.size(); n++) { + excelCols.add(new ExcelCol(title2Cols.get(n), "col" + (n), 15)); + } + excelCols.add(new ExcelCol("不良数", "noOkQua", 10)); + excelCols.add(new ExcelCol("不良率(%)", "noOkRate", 10)); + + String titleName = "首检统计分析报表"; + SXSSFWorkbook workbook = null; + try { + //设置响应头 + response.setHeader("Content-disposition", + "attachment; filename=" + titleName); + response.setContentType("application/octet-stream;charset=UTF-8"); + ServletOutputStream outputStream = response.getOutputStream(); + //调用工具类 + workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list); + workbook.write(outputStream); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (workbook != null) { + workbook.dispose(); + } + } + } + + @Log(title = "来料分析报表统计", businessType = BusinessType.EXPORT) + @PostMapping("/exportIncomeTable") + public void exportIncomeTable(HttpServletResponse response, QcStaticTable qcStaticTable) { + QcStaticTable titledto = qcStaticTableService.getTableHzTitle(qcStaticTable); + + List list = qcStaticTableService.getTableHzDataSC(qcStaticTable); + List title2Cols = titledto.getColumns1(); + //String titleRow1 = String.join(",", title2Cols); + String titleRow1 = "巡检分析报表"; + //表格结构数据 + ArrayList excelCols = new ArrayList<>(); + excelCols.add(new ExcelCol("时间", "timeCol", 15)); + excelCols.add(new ExcelCol("抽检批次", "sampleQuality", 10)); + + for (int n = 0; n < title2Cols.size(); n++) { + excelCols.add(new ExcelCol(title2Cols.get(n), "col" + (n), 15)); + } + excelCols.add(new ExcelCol("不良数", "noOkQua", 10)); + excelCols.add(new ExcelCol("不良率(%)", "noOkRate", 10)); + + String titleName = "来料统计分析报表"; + SXSSFWorkbook workbook = null; + try { + //设置响应头 + response.setHeader("Content-disposition", + "attachment; filename=" + titleName); + response.setContentType("application/octet-stream;charset=UTF-8"); + ServletOutputStream outputStream = response.getOutputStream(); + //调用工具类 + workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list); + workbook.write(outputStream); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (workbook != null) { + workbook.dispose(); + } + } + } + @PostMapping("/getTableHzNoOkDataSC") public List getTableHzNoOkDataSC(@RequestBody QcStaticTable qcStaticTable) { return qcStaticTableService.getTableHzNoOkDataSC(qcStaticTable); @@ -619,6 +703,46 @@ public class QcStaticTableController extends BaseController { util.exportExcel(response, list, "巡检检验结果明细"); } + @Log(title = "巡检检验结果统计", businessType = BusinessType.EXPORT) + @PostMapping("/exportXJTable") + public void exportXJTable(HttpServletResponse response, QcStaticTable qcStaticTable) { + QcStaticTable titledto = qcStaticTableService.getTableHzTitle(qcStaticTable); + + List list = qcStaticTableService.getTableHzData(qcStaticTable); + List title2Cols = titledto.getColumns1(); + //String titleRow1 = String.join(",", title2Cols); + String titleRow1 = "巡检分析报表"; + //表格结构数据 + ArrayList excelCols = new ArrayList<>(); + excelCols.add(new ExcelCol("时间", "timeCol", 15)); + excelCols.add(new ExcelCol("抽样数", "sampleQuality", 10)); + + for (int n = 0; n < title2Cols.size(); n++) { + excelCols.add(new ExcelCol(title2Cols.get(n), "col" + (n), 15)); + } + excelCols.add(new ExcelCol("不良数", "noOkQua", 10)); + excelCols.add(new ExcelCol("不良率(%)", "noOkRate", 10)); + + String titleName = "巡检分析报表"; + SXSSFWorkbook workbook = null; + try { + //设置响应头 + response.setHeader("Content-disposition", + "attachment; filename=" + titleName); + response.setContentType("application/octet-stream;charset=UTF-8"); + ServletOutputStream outputStream = response.getOutputStream(); + //调用工具类 + workbook = ExcelMapUtil.initWorkbook(titleName, titleRow1, excelCols, list); + workbook.write(outputStream); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (workbook != null) { + workbook.dispose(); + } + } + } + /** * 定量值明细分析--表头-- **/ @@ -714,6 +838,9 @@ public class QcStaticTableController extends BaseController { //表格结构数据 ArrayList excelCols = new ArrayList<>(); excelCols.add(new ExcelCol("CPK品类", "cpkTypeName", 30)); + excelCols.add(new ExcelCol("线体名称", "lineName", 30)); + excelCols.add(new ExcelCol("检验节点", "checkTypeName", 30)); + excelCols.add(new ExcelCol("检测项", "ruleName", 30)); for (int n = 0; n < title2Cols.size(); n++) { excelCols.add(new ExcelCol(title2Cols.get(n), "date" + (n+1), 20)); } 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 000000000..91c2b4ea5 --- /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/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index fe108425e..b1940fa00 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -29,13 +29,13 @@ public class QcCheckReportIncome extends BaseEntity { */ @Excel(name = "检验任务编号") private String checkNo; - + private String modelType; /** * 来料批次号 */ @Excel(name = "来料批次号") private String incomeBatchNo; - + private int xh; /** * 订单号 */ @@ -70,13 +70,13 @@ public class QcCheckReportIncome extends BaseEntity { /** * 供应商编码 */ - @Excel(name = "供应商编码") + @Excel(name = "供应商/车间编码") private String supplierCode; /** * 供应商名称 */ - @Excel(name = "供应商名称") + @Excel(name = "供应商/车间名称") private String supplierName; /** @@ -194,6 +194,22 @@ public class QcCheckReportIncome extends BaseEntity { private String cxzz; private String pgy; + public String getModelType() { + return modelType; + } + + public void setModelType(String modelType) { + this.modelType = modelType; + } + + public int getXh() { + return xh; + } + + public void setXh(int xh) { + this.xh = xh; + } + public String getWorkorderCodeSap() { return workorderCodeSap; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java index b74b119fd..c35490f02 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -118,6 +118,33 @@ public class QcStaticTable extends BaseEntity { private List columns2; private String incomeTimeStart; private String incomeTimeEnd; + private String lineCode; + private String lineName; + private String checkTypeName; + + public String getCheckTypeName() { + return checkTypeName; + } + + public void setCheckTypeName(String checkTypeName) { + this.checkTypeName = checkTypeName; + } + + public String getLineCode() { + return lineCode; + } + + public void setLineCode(String lineCode) { + this.lineCode = lineCode; + } + + public String getLineName() { + return lineName; + } + + public void setLineName(String lineName) { + this.lineName = lineName; + } public String getEquipmentName() { return equipmentName; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java index f2b46e133..e320a6e6d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckReportIncomeMapper.java @@ -89,4 +89,7 @@ public interface QcCheckReportIncomeMapper { QcCheckTaskProduce getLastXJ(QcCheckTaskProduce qcCheckTaskProduce); String getStandardNo(QcCheckReportIncome dto); + + public List getPrintXJList(QcCheckReportIncome qcCheckReportIncome); + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java index aa8c915ee..288c7f7c8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckReportInventoryService.java @@ -73,6 +73,5 @@ public interface IQcCheckReportInventoryService { List getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail); - public List getPrintData(QcCheckReportIncome qcCheckReportIncome); - + List printXJRecordList(QcCheckReportIncome qcCheckReportIncome); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java index 5209da329..13fa058c1 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportInventoryServiceImpl.java @@ -6,10 +6,7 @@ import com.op.common.core.utils.StringUtils; 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.IQcCheckReportIncomeService; import com.op.quality.service.IQcCheckReportInventoryService; import com.op.system.api.domain.SysUser; @@ -20,6 +17,8 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -42,7 +41,8 @@ public class QcCheckReportInventoryServiceImpl implements IQcCheckReportInventor @Autowired private QcCheckTaskDetailMapper qcCheckTaskDetailMapper; - + @Autowired + private QcStaticTableMapper qcStaticTableMapper; /** * 查询来料检验 * @@ -206,8 +206,51 @@ public class QcCheckReportInventoryServiceImpl implements IQcCheckReportInventor @Override @DS("#header.poolName") - public List getPrintData(QcCheckReportIncome qcCheckReportIncome) { - return null; + public List printXJRecordList(QcCheckReportIncome qcCheckReportIncome) { + qcCheckReportIncome.setDelFlag("0"); + qcCheckReportIncome.setTypeCode("inventory"); + List dtos = qcCheckReportIncomeMapper.getPrintXJList(qcCheckReportIncome); + + if(!CollectionUtils.isEmpty(dtos)){ + //查找受控文件--fileNo + qcCheckReportIncome.setCheckType("checkTypeCC"); + + try { + String dateFormatPattern = "yyyy-MM-dd HH:mm:ss"; + SimpleDateFormat dateFormat = new SimpleDateFormat(dateFormatPattern); + Date date = dateFormat.parse(qcCheckReportIncome.getCheckTimeStart()); + qcCheckReportIncome.setIncomeTime(date); + } catch (ParseException e) { + System.err.println("日期格式不正确: " + e.getMessage()); + } + String fileNo = qcCheckReportIncomeMapper.getStandardNo(qcCheckReportIncome); + if(com.op.common.core.utils.StringUtils.isNotBlank(fileNo)){ + dtos.get(0).setFileNo(fileNo); + } + } + + int n = 1; + String checkManName = ""; + for(QcCheckReportIncome dto:dtos){ + dto.setXh(n++); + List batchnos = qcStaticTableMapper.getBatchnos(dto.getOrderNo()); + String ordernoStr = ""; + for (String batchno : batchnos) { + ordernoStr += batchno + ";"; + }; + dto.setIncomeBatchNo(ordernoStr); + + if(dto.getCheckResult().equals("Y")){ + dto.setCheckResult("无质量问题"); + }else{ + dto.setRemark(dto.getRemark()+";"+dto.getAttr3()); + } + + checkManName+=dto.getCheckManName()+";"; + + dto.setCheckManName(checkManName); + } + return dtos; } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java index 4fae765ce..254343790 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckReportProduceServiceImpl.java @@ -64,6 +64,7 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer if(com.op.common.core.utils.StringUtils.isNotBlank(fileNo)){ dto.setFileNo(fileNo); } + dto.setMaterialCode(dto.getMaterialCode().substring(7)); return dto; } 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 8ae395635..f4be899d9 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/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 25ad4c9a4..c3781f90f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -731,6 +731,7 @@ public class QcCheckTaskIncomeServiceImpl implements sampleQuality = sampleQuality.add(new BigDecimal(detail.getSampleQuality()==null?"0":detail.getSampleQuality())); //上传附件 if (StringUtils.isNotEmpty(detail.getFileListStr())) { + qmsFileMapper.clearBaseFileBatch(detail.getRecordId());//清理 String[] ids = detail.getFileListStr().split(","); List files = new ArrayList<>(); BaseFileData file = null; 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 27883de47..c9358dfe1 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/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index cf7281e5b..5ea97a53f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -1056,8 +1056,10 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { colMap.put("sampleQuality",sampl.getSampleQuality().replaceAll("\\..*", "")); BigDecimal noOkRate = new BigDecimal(noOkNumR.getNoOkQuality()).multiply(new BigDecimal("100.00")) .divide(new BigDecimal(sampl.getSampleQuality()),2, BigDecimal.ROUND_HALF_UP); + colMap.put("noOkQua",noOkNumR.getNoOkQuality()); colMap.put("noOkRate",noOkRate); }else{ + colMap.put("noOkQua","0"); colMap.put("sampleQuality","0"); colMap.put("noOkRate","0"); } @@ -1281,11 +1283,15 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { colNameArray = this.getMonthByMonth(qcCPKInfo.getYmArrayStart(),qcCPKInfo.getYmArrayEnd()); mxMapData = qcStaticTableMapper.getDLData(qcCPKInfo); } + + // List lines = qcStaticTableMapper.getProdLineList() + List mapData = new ArrayList(); List echartData = new ArrayList<>(); HashMap dmap = null; ChartDTO edata = null; for(QcCPKInfo cpkT:cpkTypeList){ + dmap = new HashMap(); edata = new ChartDTO(); @@ -1296,54 +1302,67 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { double USL = cpkT.getUpperDiff().doubleValue(); double LSL = cpkT.getDownDiff().doubleValue(); dmap.put("cpkTypeName",cpkT.getCpkTypeName()); - int monthNum = 0;//有数据的月份 - BigDecimal monthSum = BigDecimal.ZERO; - for(int m=0;m actArray0 = Arrays.asList(actArrayStr.split(",")); - List actArray = new ArrayList<>(); - for(String avg:actArray0){ - if(avg.matches(".*\\..*\\..*")){ - actArray.add(avg.substring(2)); - }else{ - actArray.add(avg); + + //for(ProLineDTO proLineDTO:lines){ + int monthNum = 0;//有数据的月份 + BigDecimal monthSum = BigDecimal.ZERO; + for(int m=0;m actArray0 = Arrays.asList(actArrayStr.split(",")); + List actArray = new ArrayList<>(); + for(String avg:actArray0){ + if(avg.matches(".*\\..*\\..*")){ + actArray.add(avg.substring(2)); + }else{ + actArray.add(avg); + } } + double[] data = actArray.stream() + .mapToDouble(Double::parseDouble) // 将String转换为double + .toArray(); // 转换为double数组 ; + + double cpk = calculateCpk(data,USL,LSL); + BigDecimal cpkVal = new BigDecimal(Double.toString(cpk)).setScale(2, BigDecimal.ROUND_HALF_UP); + String index = (m+1)+""; + dmap.put("date"+index,cpkVal); + monthSum = monthSum.add(cpkVal); + ++monthNum; + + serisedata.add(cpkVal.doubleValue()); + + dmap.put("lineName",act.getLineName()); + dmap.put("checkTypeName",act.getCheckTypeName()); + dmap.put("ruleName",act.getRuleName()); + }else{ + String index = (m+1)+""; + dmap.put("date"+index,"0"); + dmap.put("cpkAvg","0"); + + dmap.put("lineName",""); + dmap.put("checkTypeName",""); + dmap.put("ruleName",""); + + serisedata.add(0.0); } - double[] data = actArray.stream() - .mapToDouble(Double::parseDouble) // 将String转换为double - .toArray(); // 转换为double数组 ; - double cpk = calculateCpk(data,USL,LSL); - BigDecimal cpkVal = new BigDecimal(Double.toString(cpk)).setScale(2, BigDecimal.ROUND_HALF_UP); - String index = (m+1)+""; - dmap.put("date"+index,cpkVal); - monthSum = monthSum.add(cpkVal); - ++monthNum; - serisedata.add(cpkVal.doubleValue()); - }else{ - String index = (m+1)+""; - dmap.put("date"+index,"0"); - dmap.put("cpkAvg","0"); - - serisedata.add(0.0); } - } - edata.setData(serisedata); + edata.setData(serisedata); - if(monthNum>0){ - BigDecimal avgBD = monthSum.divide(new BigDecimal(monthNum),2,RoundingMode.HALF_UP); - dmap.put("cpkAvg",avgBD.toString()); - } + if(monthNum>0){ + BigDecimal avgBD = monthSum.divide(new BigDecimal(monthNum),2,RoundingMode.HALF_UP); + dmap.put("cpkAvg",avgBD.toString()); + } - mapData.add(dmap); - echartData.add(edata); + mapData.add(dmap); + echartData.add(edata); + //} } resultDto.setTableData(mapData); resultDto.setEchartData(echartData); diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index 390049f00..223d25fb5 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -44,7 +44,8 @@ - + + @@ -65,7 +66,7 @@ q.type_code,q.check_name,pow.workorder_code_sap from qc_check_task qct left join qc_check_type q on q.id = qct.check_type - left join pro_order_workorder pow on pow.workorder_code = qct.order_no + left join pro_order_workorder pow on pow.workorder_code = qct.order_no and pow.del_flag = '0' and qct.check_no = #{checkNo} and qct.income_batch_no = #{incomeBatchNo} @@ -78,7 +79,7 @@ and qct.check_status = #{checkStatus} and qct.check_man_code = #{checkManCode} and qct.check_man_name like concat('%',#{checkManName}, '%') - and qct.del_flag = '0' and pow.del_flag = '0' + and qct.del_flag = '0' and qct.check_result = #{checkResult} and qct.status = #{status} and qct.del_flag = #{delFlag} @@ -278,8 +279,41 @@ where qctf.del_flag = '0' and qctf.check_type = #{checkType} and CONVERT(varchar(10),#{incomeTime}, 120) BETWEEN qctf.start_time and qctf.end_time order by create_time desc - + + + insert into qc_check_task @@ -404,4 +438,6 @@ #{recordId} + + 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 9a3af6f34..5eb0f6b23 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 @@ -357,7 +359,7 @@ qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, qct.check_time, qct.check_result, qct.check_type,'首件检验' check_name, CONVERT(varchar(10),qct.create_time, 120) createTimeStr, - qct.confirm,qct.confirm_man_name + qct.confirm,qct.confirm_man_name,qct.check_man_code ,qct.check_man_name from qc_check_task qct and qct.check_no = #{checkNo} @@ -390,7 +392,7 @@ qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit, qct.supplier_code, qct.supplier_name,CONVERT(varchar(10), qct.income_time, 120) income_time,'','', null,'', qct.check_type,'巡检检验' check_name,CONVERT(varchar(10),qct.create_time, 120) createTimeStr, - qct.confirm,qct.confirm_man_name + qct.confirm,qct.confirm_man_name,'','' from qc_check_task qct and qct.check_no = #{checkNo} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml index 8e459a6e4..bedbe25c5 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml @@ -276,6 +276,11 @@ and CONVERT(varchar(10),qct.check_time, 120) = #{checkTimeStart} and qctu.check_man_code = #{checkManCode} and qct.check_status in (${checkStatus}) + + and ( + qct.material_code like concat('%', #{materialCode},'%') or qct.material_name like concat('%', #{materialCode},'%') + ) + and (CONVERT(varchar(10),qct.create_time, 120) >= CONVERT(varchar(10),DATEADD(DAY, -1, GETDATE()), 120)) 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 d3733fc05..8c298431e 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} + + SELECT concat(q.cpkType,'-',q.ymdms) yearMonth, - ymdms,rule_name ruleName, + ymdms,rule_name ruleName,q.lineName,q.checkTypeName, project_no projectNo, STUFF( (SELECT ',' + t.actual_value @@ -492,17 +498,22 @@ select bpa.cpk_type cpkType, CONVERT(varchar(7),qct.income_time, 120) ymdms, - qctd.rule_name,qctd.project_no,qctd.actual_value + qctd.rule_name,qctd.project_no,qctd.actual_value, + be.equipment_name lineName,qt.check_name checkTypeName from qc_check_task qct left join qc_check_task_detail qctd on qct.record_id = qctd.belong_to left join base_product_attached bpa on concat('0000000',bpa.product_code) = qct.material_code + left join base_equipment be on be.equipment_type_code = 'equ_type_bzx' + and be.del_flag = '0' + and be.equipment_code = qct.check_loc + left join qc_check_type qt on qt.order_code = qct.check_type where qct.check_type = #{checkType} and qctd.property_code = '1' and qct.check_time is not null and CONVERT(varchar(7),qct.income_time, 120) >= #{ymArrayStart} and #{ymArrayEnd}>=CONVERT(varchar(7),qct.income_time,120) and qct.check_loc = #{checkLoc} and qctd.project_id = #{projectId} and bpa.cpk_type = #{cpkType} ) q - GROUP BY q.cpkType, q.ymdms,q.rule_name,q.project_no + GROUP BY q.cpkType, q.ymdms,q.rule_name,q.project_no,q.lineName,q.checkTypeName @@ -947,7 +958,7 @@