diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java index b3ec5c639..b8998134c 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcInterfaceController.java @@ -146,7 +146,7 @@ public class QcInterfaceController { * @return */ @PostMapping("/getMonthOfYearContrast") - public List getMonthOfYearContrast(@RequestBody QcInterface qcInterface) { + public Map getMonthOfYearContrast(@RequestBody QcInterface qcInterface) { return qcInterfaceService.getMonthOfYearContrast(qcInterface); } @@ -154,5 +154,4 @@ public class QcInterfaceController { public QcLineChartDto getLineQcData(QcInterface qcInterface) { return qcInterfaceService.getLineQcData(qcInterface); } - } 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 afa132524..b11d8e2cf 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 @@ -170,4 +170,6 @@ public interface QcStaticTableMapper { List classNameMapTotal(QcStaticTable qcStaticTable); BigDecimal getCpDefectTypeMapabcMapsNoOkQty(QcStaticTable qcStaticTable); + + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java index a79ee5484..0c0899407 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcInterfaceServiceImpl.java @@ -18,6 +18,7 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; +import java.time.Year; import java.util.*; /** @@ -350,73 +351,25 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { } @Override - @DS("#header.poolName") - public List getMonthOfYearContrast(QcInterface qcInterface) { - - List dtos = new ArrayList<>(); - - QcInterface nowYM = new QcInterface(); - QcInterface lastYM = new QcInterface(); - String nowYMD = DateUtils.getDate(); - String[] nowYMDs = nowYMD.split("-"); - int nowYear = Integer.parseInt(nowYMDs[0]); - int lastYear = nowYear - 1; - List daystr1 = new ArrayList<>(); - List daystr0 = new ArrayList<>(); - for (int m = 1; m <= 12; m++) { - daystr0.add(lastYear + "-" + String.format("%02d", m)); - daystr1.add(nowYear + "-" + String.format("%02d", m)); - } - lastYM.setDayStr(daystr0); - nowYM.setDayStr(daystr1); - //生产打开 - qcInterface.setYmd("'" + nowYear + "','" + lastYear + "'"); - - Map noOkNum = qcInterfaceMapper.getMothNoOkNum(qcInterface); - if (noOkNum == null) { - return null; - } - - List dataBar0 = new ArrayList<>();//不合规数量 - List dataLine0 = new ArrayList<>();//不合格率 - for (String day0 : daystr0) { - QcInterface last = noOkNum.get(day0); - if (last != null&& !"0.00".equals(last.getQuality())) { - dataBar0.add(last.getNoOkQuality()); - BigDecimal norate0 = new BigDecimal(last.getNoOkQuality()).multiply(new BigDecimal(100)) - .divide(new BigDecimal(last.getQuality()), 2, RoundingMode.HALF_UP); - dataLine0.add(norate0.toString()); - } else { - dataBar0.add("0"); - dataLine0.add("0.00"); - } - } - - List dataBar1 = new ArrayList<>();//不合规数量 - List dataLine1 = new ArrayList<>();//不合格率 - for (String day1 : daystr1) { - QcInterface now = noOkNum.get(day1); - if (now != null && !"0.00".equals(now.getQuality())) { - dataBar1.add(now.getNoOkQuality()); - BigDecimal norate0 = new BigDecimal(now.getNoOkQuality()).multiply(new BigDecimal(100)) - .divide(new BigDecimal(now.getQuality()), 2, RoundingMode.HALF_UP); - dataLine1.add(norate0.toString()); - } else { - dataBar1.add("0"); - dataLine1.add("0.00"); - } - } - - lastYM.setDataBarArrays(dataBar0); - lastYM.setDataLineArrays(dataLine0); - - nowYM.setDataBarArrays(dataBar1); - nowYM.setDataLineArrays(dataLine1); - - dtos.add(lastYM); - dtos.add(nowYM); - - return dtos; + public Map getMonthOfYearContrast(QcInterface qcInterface) { + Map map= new HashMap(); +// DynamicDataSourceContextHolder.push("ds_1000"); + DynamicDataSourceContextHolder.push("ds_" + qcInterface.getFactoryCode()); + try { + int currentYear = Year.now().getValue(); + int previousYear = currentYear - 1; + //今年数据 + List mapListCurrentYear = qcInterfaceMapper.NoncompliantProduct(currentYear); + //去年数据 + List mapListPreviousYear= qcInterfaceMapper.NoncompliantProduct(previousYear); + map.put("mapListCurrentYear",mapListCurrentYear); + map.put("mapListPreviousYear",mapListPreviousYear); + }catch (Exception e){ + e.printStackTrace(); + }finally { + DynamicDataSourceContextHolder.poll(); + } + return map; } @Override @@ -493,6 +446,4 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { } return days; } - - } 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 5d90b8128..92826dd35 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 @@ -9,6 +9,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.Month; +import java.time.Year; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.util.*; @@ -2551,9 +2552,10 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { map.put("noOKQtyTotal",noOKQtyTotal); map.put("classNameMap",classNameMap); map.put("noOkNumRate",percentageStr); - map.put("noOkNumRate",percentageStr); map.put("okNumRate",OKresultabcRate); return map; } + + } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml index 89f08dedc..09a32734b 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcInterfaceMapper.xml @@ -360,4 +360,56 @@ order by qctd.update_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 43a18fbae..a7cd2ee95 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 @@ -1515,12 +1515,12 @@ LEFT JOIN qc_defect_type_class qdtc ON qdtc.id = qctd.class_id WHERE qct.del_flag = '0' - AND qdtc.class_name IS NOT NULL AND qct.check_type = 'checkTypeCPPC' - AND CONVERT(varchar(7), qct.create_time, 120) = '2026-01' + AND CONVERT(varchar(7), qct.create_time, 120) = #{yearMonth} GROUP BY qctd.defect_subclass ) AS subquery; +