From b298ed613676e8eb17e798c2fa12109b59765a11 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Thu, 15 Aug 2024 09:55:15 +0800 Subject: [PATCH] bug2 --- .../service/impl/QcInterfaceServiceImpl.java | 97 ++++++++++--------- .../mapper/quality/QcInterfaceMapper.xml | 10 +- 2 files changed, 62 insertions(+), 45 deletions(-) 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 d9d000fb..321d0a73 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 @@ -210,50 +210,59 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService { qcInterface.setYmd(nowYMD); Map dtoMap = new HashMap<>(); -// qcInterface.setYmdType("dd"); -// QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); -// if (hz0 != null) { -// dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); -// }else{ -// dtoMap.put("todayPro", "0"); -// } -// QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); -// if (hz1 != null) { -// dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); -// dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); -// BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) -// .subtract(new BigDecimal(hz1.getNoOkQuality())) -// ) -// .multiply(new BigDecimal(100)) -// .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); -// dtoMap.put("todayOkRate", tOkRate + "%"); -// } -// -// qcInterface.setYmdType("mm"); -// QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); -// if (hz20 != null) { -// dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); -// }else{ -// dtoMap.put("monthPro", "0"); -// } -// QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); -// if (hz2 != null) { -// dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); -// BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) -// .subtract(new BigDecimal(hz2.getNoOkQuality())) -// ) -// .multiply(new BigDecimal(100)) -// .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); -// dtoMap.put("monthOkRate", tOkRate2 + "%"); -// } - /**质量看板测试开始**/ - dtoMap.put("todayPro", "3800"); - dtoMap.put("todaySample", "50"); - dtoMap.put("todayNoOk", "2"); - dtoMap.put("todayOkRate", "96.00%"); - dtoMap.put("monthPro", "83600"); - dtoMap.put("monthNoOk", "30"); - dtoMap.put("monthOkRate", "99.96%"); + qcInterface.setYmdType("dd"); + QcInterface hz0 = qcInterfaceMapper.getProduceHz1(qcInterface); + if (hz0 != null) { + dtoMap.put("todayPro", hz0.getQuality().replaceAll("\\..*", "")); + }else{ + dtoMap.put("todayPro", "0"); + } + QcInterface hz1 = qcInterfaceMapper.getProduceHz(qcInterface); + if (hz1 != null) { + dtoMap.put("todaySample", hz1.getSampleQuality().replaceAll("\\..*", "")); + dtoMap.put("todayNoOk", hz1.getNoOkQuality().replaceAll("\\..*", "")); + if(!hz1.getSampleQuality().equals("0.00")){ + BigDecimal tOkRate = (new BigDecimal(hz1.getSampleQuality()) + .subtract(new BigDecimal(hz1.getNoOkQuality())) + ) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(hz1.getSampleQuality()), 2, RoundingMode.HALF_UP); + dtoMap.put("todayOkRate", tOkRate + "%"); + }else{ + dtoMap.put("todayOkRate", "0%"); + } + + } + + qcInterface.setYmdType("mm"); + QcInterface hz20 = qcInterfaceMapper.getProduceHz1(qcInterface); + if (hz20 != null) { + dtoMap.put("monthPro", hz20.getQuality().replaceAll("\\..*", "")); + }else{ + dtoMap.put("monthPro", "0"); + } + QcInterface hz2 = qcInterfaceMapper.getProduceHz(qcInterface); + if (hz2 != null) { + dtoMap.put("monthNoOk", hz2.getNoOkQuality().replaceAll("\\..*", "")); + if(!hz2.getSampleQuality().equals("0.00")){ + BigDecimal tOkRate2 = (new BigDecimal(hz2.getSampleQuality()) + .subtract(new BigDecimal(hz2.getNoOkQuality())) + ) + .multiply(new BigDecimal(100)) + .divide(new BigDecimal(hz2.getSampleQuality()), 2, RoundingMode.HALF_UP); + dtoMap.put("monthOkRate", tOkRate2 + "%"); + }else{ + dtoMap.put("monthOkRate", "0%"); + } + } +// /**质量看板测试开始**/ +// dtoMap.put("todayPro", "3800"); +// dtoMap.put("todaySample", "50"); +// dtoMap.put("todayNoOk", "2"); +// dtoMap.put("todayOkRate", "96.00%"); +// dtoMap.put("monthPro", "83600"); +// dtoMap.put("monthNoOk", "30"); +// dtoMap.put("monthOkRate", "99.96%"); // /**质量看板测试结束**/ return dtoMap; } 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 0f334024..119013bb 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 @@ -180,7 +180,15 @@ from qc_check_task_detail qctd left join qc_check_task qct on qctd.belong_to = qct.record_id where qct.type_code = #{typeCode} and qctd.status = 'N' - and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11) + + and CONVERT(varchar(4),qct.income_time, 120) = SUBSTRING(#{ymd},0,5) + + + and CONVERT(varchar(7),qct.income_time, 120) = SUBSTRING(#{ymd},0,8) + + + and CONVERT(varchar(10),qct.income_time, 120) = SUBSTRING(#{ymd},0,11) + order by qctd.update_time desc