diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java index 0bb07030..bc848b91 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDefect.java @@ -93,7 +93,15 @@ public class QcCheckTaskDefect extends BaseEntity { private String defectCodes; private String defectNames; private String defectQualitys; + private String classId; + public String getClassId() { + return classId; + } + + public void setClassId(String classId) { + this.classId = classId; + } public String getDefectCodes() { return defectCodes; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDetail.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDetail.java index e1603e69..fd418b71 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDetail.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTaskDetail.java @@ -138,6 +138,7 @@ public class QcCheckTaskDetail extends BaseEntity { private String defectCodes; private String defectNames; private String defectQualitys; + private String classTypeCodes; private String itemType; private String judgeRate; private String samplePlan; @@ -147,6 +148,14 @@ public class QcCheckTaskDetail extends BaseEntity { private String sampleAql; private String checkLevel; + public String getClassTypeCodes() { + return classTypeCodes; + } + + public void setClassTypeCodes(String classTypeCodes) { + this.classTypeCodes = classTypeCodes; + } + public String getCheckLevel() { return checkLevel; } 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 3662d820..02e1b577 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 @@ -91,4 +91,6 @@ public interface QcStaticTableMapper { Map getNoOkNum(QcStaticTable qcStaticTable); List getTableHzNoOkData(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getNoOkRatioNum(QcStaticTable qcStaticTable); } 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 00e1bc59..0a8005d7 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 @@ -750,20 +750,17 @@ public class QcCheckTaskIncomeServiceImpl implements } } - + if(qcCheckTaskIncome.getSampleQuality()!=null && qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){ + qcCheckTask.setSampleQuality(sampleQuality); + }else{ + qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); + } /**qc_check_task_cg**/ List valiData = qcCheckTaskIncomeMapper.selectQcCheckTaskCgByRecordId(belongId); // 判断表中是否存在此条数据 if (valiData != null && valiData.size() > 0) { n = qcCheckTaskIncomeMapper.updateQcCheckTaskCg(qcCheckTask);//updateQcCheckTaskCG }else { - - if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){ - qcCheckTask.setSampleQuality(sampleQuality); - }else{ - qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); - } - qcCheckTask.setCheckNo(qcCheckTaskIncome.getCheckNo()); qcCheckTask.setOrderNo(qcCheckTaskIncome.getOrderNo()); qcCheckTask.setMaterialCode(qcCheckTaskIncome.getMaterialCode()); @@ -798,10 +795,12 @@ public class QcCheckTaskIncomeServiceImpl implements String[] defectCodes = detail.getDefectCodes().split(","); String[] defectNames = detail.getDefectNames().split(","); String[] defectQualitys = detail.getDefectQualitys().split(","); + String[] classIds = detail.getClassTypeCodes().split(","); for(int d=0;d implements } } - if(qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){ + if(qcCheckTaskIncome.getSampleQuality()!=null && qcCheckTaskIncome.getSampleQuality().equals(BigDecimal.ZERO)){ qcCheckTask.setSampleQuality(sampleQuality); }else{ qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality()); @@ -923,11 +922,13 @@ public class QcCheckTaskIncomeServiceImpl implements String[] defectCodes = detail.getDefectCodes().split(","); String[] defectNames = detail.getDefectNames().split(","); String[] defectQualitys = detail.getDefectQualitys().split(","); + String[] classIds = detail.getClassTypeCodes().split(","); for(int d=0;d cols1 = qcStaticTableMapper.getTableHzTitle(qcStaticTable); @@ -887,17 +887,19 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { @DS("#header.poolName") public List getTableHzData(QcStaticTable qcStaticTable) { List dtos = new ArrayList<>(); - qcStaticTable.setDataType("unqualified_remark"); + //qcStaticTable.setDataType("unqualified_remark"); qcStaticTable.setRemark(qcStaticTable.getCheckType()); List noOkTyps = qcStaticTableMapper.getTableHzTitle(qcStaticTable); //第一列日期 List days = this.getHzDays(qcStaticTable.getIncomeTimeStr(),qcStaticTable.getYmdms()); - //抽样数、不良数、不良率 + //抽样数 Map samples = qcStaticTableMapper.getSamplesNum(qcStaticTable); if(samples.isEmpty()){ return dtos; } - //不良数 + //不良数(折算后)、不良率 + Map noOkNumRs = qcStaticTableMapper.getNoOkRatioNum(qcStaticTable); + //不良数(不折算) Map noOks = qcStaticTableMapper.getNoOkNum(qcStaticTable); HashMap colMap = null; for(String col:days){ @@ -905,9 +907,10 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { colMap.put("timeCol",col); String samKey = col; QcStaticTable sampl = samples.get(samKey); - if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")){ + QcStaticTable noOkNumR = noOkNumRs.get(samKey); + if(sampl!=null&&!sampl.getSampleQuality().equals("0.00")&&noOkNumR!=null && !noOkNumR.getNoOkQuality().equals("0.00")){ colMap.put("sampleQuality",sampl.getSampleQuality().replaceAll("\\..*", "")); - BigDecimal noOkRate = new BigDecimal(sampl.getNoOkQuality()).multiply(new BigDecimal("100.00")) + BigDecimal noOkRate = new BigDecimal(noOkNumR.getNoOkQuality()).multiply(new BigDecimal("100.00")) .divide(new BigDecimal(sampl.getSampleQuality()),2, BigDecimal.ROUND_HALF_UP); colMap.put("noOkRate",noOkRate); }else{ diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml index 251b177e..d3051a87 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskDefectMapper.xml @@ -158,7 +158,14 @@ WHERE belong_to_detail = qctd.belong_to_detail and belong_to = qctd.belong_to FOR xml path('') ),1,1,'' - ) defectQualitys + ) defectQualitys, + STUFF( + (SELECT ',' + CAST(class_id AS VARCHAR(40)) + FROM qc_check_task_defect + WHERE belong_to_detail = qctd.belong_to_detail and belong_to = qctd.belong_to + FOR xml path('') + ),1,1,'' + ) classId FROM qc_check_task_defect qctd where qctd.del_flag = '0' and belong_to= #{belongTo} and belong_to_detail is not null GROUP by qctd.belong_to,qctd.belong_to_detail diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index bcb89235..a1a6502c 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -686,14 +686,14 @@ insert into qc_check_task_defect( record_id,belong_to,belong_to_detail, defect_code,defect_subclass, - noOk_quality, + noOk_quality,class_id, create_by,create_time,factory_code ) values ( #{item.recordId},#{item.belongTo},#{item.belongToDetail}, #{item.defectCode},#{item.defectSubclass}, - #{item.noOkQuality}, + #{item.noOkQuality},#{item.classId}, #{item.createBy},#{item.createTime},#{item.factoryCode} ) 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 119013bb..072c1270 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 @@ -40,7 +40,7 @@ select sum(sample_quality) sampleQuality, - sum(noOk_quality) noOkQuality, ymdms FROM( - select CONVERT(varchar(7),qct.create_time, 120) AS ymdms, qct.sample_quality, qct.noOk_quality + select CONVERT(varchar(7),qct.create_time, 120) AS ymdms, qct.sample_quality from qc_check_task qct where check_type = #{checkType} and CONVERT(varchar(4),qct.create_time, 120) = #{incomeTimeStr} @@ -514,10 +515,9 @@ select sum(sample_quality) sampleQuality, - sum(noOk_quality) noOkQuality, ymdms FROM( - select CONVERT(varchar(10),qct.create_time, 120) AS ymdms, qct.sample_quality, qct.noOk_quality + select CONVERT(varchar(10),qct.create_time, 120) AS ymdms, qct.sample_quality from qc_check_task qct where check_type = #{checkType} and CONVERT(varchar(7),qct.create_time, 120) = #{incomeTimeStr} @@ -527,10 +527,9 @@ select sum(sample_quality) sampleQuality, - sum(noOk_quality) noOkQuality, RIGHT('00' + CAST(ymdms AS VARCHAR(2)), 2) ymdms FROM( - select DATEPART(HOUR, qct.create_time) AS ymdms, qct.sample_quality, qct.noOk_quality + select DATEPART(HOUR, qct.create_time) AS ymdms, qct.sample_quality from qc_check_task qct where check_type = #{checkType} and CONVERT(varchar(10),qct.create_time, 120) = #{incomeTimeStr} @@ -539,55 +538,112 @@ group by ymdms +