From 6f08b87290b12a8e9a6991f38ec068f773cb18e2 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Mon, 29 Jan 2024 10:59:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E9=87=8F=E5=80=BC=E5=88=86=E6=9E=90?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QcCheckTaskIncomeController.java | 2 +- .../controller/QcStaticTableController.java | 9 ++ .../com/op/quality/domain/QcStaticTable.java | 37 ++++++ .../quality/mapper/QcStaticTableMapper.java | 2 + .../service/IQcStaticTableService.java | 4 + .../impl/QcStaticTableServiceImpl.java | 109 ++++++++++++++++++ .../quality/QcCheckUnqualifiedMapper.xml | 2 +- .../mapper/quality/QcStaticTableMapper.xml | 60 +++++++++- 8 files changed, 217 insertions(+), 8 deletions(-) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java index c86a2a3f2..20a5df328 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java @@ -265,7 +265,7 @@ public class QcCheckTaskIncomeController extends BaseController { public AjaxResult commitCheckResult(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { qcCheckTaskIncome.setUpdateBy(SecurityUtils.getUsername()); qcCheckTaskIncome.setUpdateTime(DateUtils.getNowDate()); - return toAjax(qcCheckTaskIncomeService.commitCheckResult(qcCheckTaskIncome)); + return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome)); } /**不良类型**/ 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 a4ab70348..65d757881 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 @@ -313,4 +313,13 @@ public class QcStaticTableController extends BaseController { util.exportExcel(response, list, "质检不良统计"); } + /**定量值分析--表头--产品名称**/ + @GetMapping("/getDLTableAvgInfo") + public QcStaticTable getDLTableAvgInfo(QcStaticTable qcStaticTable) { + return qcStaticTableService.getDLTableAvgInfo(qcStaticTable); + } + @GetMapping("/getDLDetailList") + public List getDLDetailList(QcStaticTable qcStaticTable) { + return qcStaticTableService.getDLDetailList(qcStaticTable); + } } 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 cade73b8d..771fe3d85 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 @@ -8,6 +8,7 @@ import com.op.system.api.domain.quality.ChartSeriesDTO; import java.math.BigDecimal; import java.util.Date; +import java.util.HashMap; import java.util.List; /** @@ -99,6 +100,42 @@ public class QcStaticTable extends BaseEntity { private String startDateStr; private String endDateStr; private String checkType; + private List titleCol1; + private List titleCol2; + private List dxData; + private List details; + + public List getDetails() { + return details; + } + + public void setDetails(List details) { + this.details = details; + } + + public List getTitleCol1() { + return titleCol1; + } + + public void setTitleCol1(List titleCol1) { + this.titleCol1 = titleCol1; + } + + public List getTitleCol2() { + return titleCol2; + } + + public void setTitleCol2(List titleCol2) { + this.titleCol2 = titleCol2; + } + + public List getDxData() { + return dxData; + } + + public void setDxData(List dxData) { + this.dxData = dxData; + } public String getCheckType() { return checkType; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java index dc9005276..339555f9e 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -64,4 +64,6 @@ public interface QcStaticTableMapper { List getWorkcenter(); @MapKey("recordId") Map picsMap(QcStaticTable qcStaticTable); + + List getDLTableTitle(QcStaticTable qcStaticTable); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java index d60c07e39..151811eb4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java @@ -43,4 +43,8 @@ public interface IQcStaticTableService { List getCheckTypeList(String typeCode); List getSupplierList(String typeCode); + + QcStaticTable getDLTableAvgInfo(QcStaticTable qcStaticTable); + + List getDLDetailList(QcStaticTable qcStaticTable); } 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 5db072277..a14d21a99 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 @@ -471,6 +471,71 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return dtos; } + @Override + @DS("#header.poolName") + public QcStaticTable getDLTableAvgInfo(QcStaticTable qcStaticTable) { + QcStaticTable dto = new QcStaticTable(); + //第一列日期 + List days = this.getDays(qcStaticTable.getYmArrayStart(), + qcStaticTable.getYmArrayEnd(),"ymd"); + qcStaticTable.setDataType("ymd"); + + + List titleList = qcStaticTableMapper.getDLTableTitle(qcStaticTable); + Map titleMap = titleList.stream().collect(Collectors.toMap(QcStaticTable::getYearMonth, (a) -> a)); + //表头:第一行 + List colName1 = titleList.stream().map(QcStaticTable::getMaterialName).distinct().collect(Collectors.toList()); + List colCode1 = titleList.stream().map(QcStaticTable::getMaterialCode).distinct().collect(Collectors.toList()); + dto.setTitleCol1(colName1); + //表头:第二行 + List colName2 = titleList.stream().map(QcStaticTable::getRuleName).distinct().collect(Collectors.toList()); + List colCode2 = titleList.stream().map(QcStaticTable::getProjectNo).distinct().collect(Collectors.toList()); + dto.setTitleCol2(colName2); + //均值列表 + List dxData = new ArrayList<>(); + + for(String day:days){ + HashMap result = new HashMap(); + List detailsData = new ArrayList<>(); + HashMap detailResult = new HashMap(); + result.put("ymdms",day+"均值"); + int i=0,j=0; + for(int m=0;m avgArray = Arrays.asList(avgArrayStr.split(",")); + BigDecimal addVal = new BigDecimal("0.00"); + for(String avgVal:avgArray){ + addVal = addVal.add(new BigDecimal(avgVal)); + } + BigDecimal avg = addVal.divide(new BigDecimal(avgArray.size()),2,BigDecimal.ROUND_HALF_UP); + result.put("mcode"+m+"Pcode"+n,avg); + detailResult.put("mcode"+m+"Pcode"+n+"Detail",avgArrayStr.replace(",","\n")); + }else{ + result.put("mcode"+m+"Pcode"+n,"0.00"); + detailResult.put("mcode"+m+"Pcode"+n+"Detail",""); + } + } + } + detailsData.add(detailResult); + result.put("details",detailsData); + dxData.add(result); + } + dto.setDxData(dxData); + return dto; + } + + @Override + @DS("#header.poolName") + public List getDLDetailList(QcStaticTable qcStaticTable) { + return null; + } + private List getHourProductionTitle(QcStaticTable qcStaticTable) { // 返回的日期集合 @@ -501,6 +566,50 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return dayHours; } + public List getDays(String startMonth,String endMonth,String type){ + // 返回的日期集合 + List days = new ArrayList(); + DateFormat dateFormat = null; + try { + Calendar tempStart = null; + Calendar tempEnd = null; + if("ymd".equals(type)){ + dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date start = dateFormat.parse(startMonth);//开始 + Date end = dateFormat.parse(endMonth);//结束 + + tempStart = Calendar.getInstance(); + tempStart.setTime(start); + + tempEnd = Calendar.getInstance(); + tempEnd.setTime(end); + tempEnd.add(Calendar.DAY_OF_MONTH, 1); + }else{ + dateFormat = new SimpleDateFormat("yyyy-MM"); + Date start = dateFormat.parse(startMonth);//开始 + Date end = dateFormat.parse(endMonth);//结束 + + tempStart = Calendar.getInstance(); + tempStart.setTime(start); + + tempEnd = Calendar.getInstance(); + tempEnd.setTime(end); + tempEnd.add(Calendar.MONTH, 1); + } + + while (tempStart.before(tempEnd)) { + days.add(dateFormat.format(tempStart.getTime())); + if("ymd".equals(type)) { + tempStart.add(Calendar.DAY_OF_MONTH, 1); + }else{ + tempStart.add(Calendar.MONTH, 1); + } + } + } catch (ParseException e) { + e.printStackTrace(); + } + return days; + } } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckUnqualifiedMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckUnqualifiedMapper.xml index c19a7dd31..2259bea6c 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckUnqualifiedMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckUnqualifiedMapper.xml @@ -275,7 +275,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where order_no = #{orderNo} - update pro_order_workorder_batch set qc_status = #{status} where batch_code = #{incomeBatchNo} + update pro_order_workorder_batch set qc_status = #{status} where batch_code = #{incomeBatchNo} and check_type = #{checkType} update wms_product_put set check_status = #{status} where batch_number = #{incomeBatchNo} 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 1e5aca00a..400e8e8b4 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 @@ -82,23 +82,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +