cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml
@@ -22,6 +22,7 @@ AND cprpr.reward_punish_time BETWEEN #{dto.startTime} AND #{dto.endTime} </if> </where> ORDER BY cprpr.id DESC </select> <select id="rewardPunishmentExport" resultType="com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel"> inspect-server/src/main/java/com/ruoyi/inspect/service/impl/DataAnalysisServiceImpl.java
@@ -65,36 +65,10 @@ dataAnalysisDto.setBeginDate(startDate.atTime(LocalTime.MIN).format(dateTimeFormatter)); dataAnalysisDto.setEndDate(endDate.atTime(LocalTime.MAX).format(dateTimeFormatter)); } // if (StrUtil.isNotBlank(dataAnalysisDto.getBeginDate()) && StrUtil.isNotBlank(dataAnalysisDto.getEndDate())) { // return dataAnalysisMapper.getRawPassRateByBarChartByDay(dataAnalysisDto); // } else // if (dataAnalysisDto.getDateType().equals("1")) { //// // 获取本周的开始时间(周一 00:00:00) //// DateTime beginOfWeek = DateUtil.beginOfWeek(now); //// // 获取本周的结束时间(周日 23:59:59) //// // 获取本周的结束时间(周日 23:59:59) //// DateTime endOfWeek = DateUtil.endOfWeek(now); //// dataAnalysisDto.setBeginDate(DateUtil.format(beginOfWeek, "yyyy-MM-dd HH:mm:ss")); //// dataAnalysisDto.setEndDate(DateUtil.format(endOfWeek, "yyyy-MM-dd HH:mm:ss")); // List<Map<String, Object>> maps = dataAnalysisMapper.getRawPassRateByBarChartByWeek(dataAnalysisDto); // return maps; // } else if (Arrays.asList("1","2").contains(dataAnalysisDto.getDateType())) { // // 获取当前月的开始时间(每月1号 00:00:00) // DateTime beginOfMonth = DateUtil.beginOfMonth(now); // // 获取当前月的结束时间(本月最后一天 23:59:59) // DateTime endOfMonth = DateUtil.endOfMonth(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfMonth, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfMonth, "yyyy-MM-dd HH:mm:ss")); List<Map<String, Object>> maps = dataAnalysisMapper.getRawPassRateByBarChartByDay(dataAnalysisDto); return maps; } else if (dataAnalysisDto.getDateType().equals("3")) { // // 获取当前年的开始时间(每年1月1日 00:00:00) // DateTime beginOfYear = DateUtil.beginOfYear(now); // // 获取当前年的结束时间(每年12月31日 23:59:59) // DateTime endOfYear = DateUtil.endOfYear(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfYear, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfYear, "yyyy-MM-dd HH:mm:ss")); List<Map<String, Object>> maps = dataAnalysisMapper.getRawPassRateByBarChartByYear(dataAnalysisDto); return maps; } @@ -123,32 +97,6 @@ dataAnalysisDto.setBeginDate(startDate.atTime(LocalTime.MIN).format(dateTimeFormatter)); dataAnalysisDto.setEndDate(endDate.atTime(LocalTime.MAX).format(dateTimeFormatter)); } // DateTime now = DateUtil.date(); // if (StrUtil.isNotBlank(dataAnalysisDto.getBeginDate()) && StrUtil.isNotBlank(dataAnalysisDto.getEndDate())) { // // } else // if (dataAnalysisDto.getDateType().equals("1")) { // // 获取本周的开始时间(周一 00:00:00) // DateTime beginOfWeek = DateUtil.beginOfWeek(now); // // 获取本周的结束时间(周日 23:59:59) // DateTime endOfWeek = DateUtil.endOfWeek(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfWeek, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfWeek, "yyyy-MM-dd HH:mm:ss")); // } else if (dataAnalysisDto.getDateType().equals("2")) { // // 获取当前月的开始时间(每月1号 00:00:00) // DateTime beginOfMonth = DateUtil.beginOfMonth(now); // // 获取当前月的结束时间(本月最后一天 23:59:59) // DateTime endOfMonth = DateUtil.endOfMonth(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfMonth, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfMonth, "yyyy-MM-dd HH:mm:ss")); // } else if (dataAnalysisDto.getDateType().equals("3")) { // // 获取当前年的开始时间(每年1月1日 00:00:00) // DateTime beginOfYear = DateUtil.beginOfYear(now); // // 获取当前年的结束时间(每年12月31日 23:59:59) // DateTime endOfYear = DateUtil.endOfYear(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfYear, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfYear, "yyyy-MM-dd HH:mm:ss")); // } return dataAnalysisMapper.getRawPassRateByCake(dataAnalysisDto); } @@ -165,31 +113,6 @@ dataAnalysisDto.setBeginDate(startDate.atTime(LocalTime.MIN).format(dateTimeFormatter)); dataAnalysisDto.setEndDate(endDate.atTime(LocalTime.MAX).format(dateTimeFormatter)); } // if (StrUtil.isNotBlank(dataAnalysisDto.getBeginDate()) && StrUtil.isNotBlank(dataAnalysisDto.getEndDate())) { // // } else if (dataAnalysisDto.getDateType().equals("1")) { // // 获取本周的开始时间(周一 00:00:00) // DateTime beginOfWeek = DateUtil.beginOfWeek(now); // // 获取本周的结束时间(周日 23:59:59) // DateTime endOfWeek = DateUtil.endOfWeek(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfWeek, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfWeek, "yyyy-MM-dd HH:mm:ss")); // } else if (dataAnalysisDto.getDateType().equals("2")) { // // 获取当前月的开始时间(每月1号 00:00:00) // DateTime beginOfMonth = DateUtil.beginOfMonth(now); // // 获取当前月的结束时间(本月最后一天 23:59:59) // DateTime endOfMonth = DateUtil.endOfMonth(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfMonth, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfMonth, "yyyy-MM-dd HH:mm:ss")); // } else if (dataAnalysisDto.getDateType().equals("3")) { // // 获取当前年的开始时间(每年1月1日 00:00:00) // DateTime beginOfYear = DateUtil.beginOfYear(now); // // 获取当前年的结束时间(每年12月31日 23:59:59) // DateTime endOfYear = DateUtil.endOfYear(now); // dataAnalysisDto.setBeginDate(DateUtil.format(beginOfYear, "yyyy-MM-dd HH:mm:ss")); // dataAnalysisDto.setEndDate(DateUtil.format(endOfYear, "yyyy-MM-dd HH:mm:ss")); // } return dataAnalysisMapper.getMaterialPropTable(dataAnalysisDto); } inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
@@ -85,15 +85,29 @@ SELECT DATE(io1.send_time) AS day, COUNT(*) AS total, SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified, SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified SUM(CASE WHEN iiq.inspect_status = 1 or (iuh.id is null) THEN 1 ELSE 0 END) AS qualified, SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified FROM ifs_inventory_quantity iiq LEFT JOIN ins_order io1 ON io1.ifs_inventory_id = iiq.id AND io1.order_type = #{dto.orderType} AND io1.state != -1 AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate} LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT iuh.id, coa.operation, iuh.inventory_quantity_id FROM ins_unqualified_handler iuh LEFT JOIN ( SELECT *, ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn FROM common_oa ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1 WHERE coa.operation !='退回' AND coa.operation is not null ) iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model FROM ins_sample @@ -160,15 +174,29 @@ SELECT MONTH(io1.send_time) AS month, COUNT(*) AS total, SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified, SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified SUM(CASE WHEN iiq.inspect_status = 1 or (iuh.id is null) THEN 1 ELSE 0 END) AS qualified, SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified FROM ifs_inventory_quantity iiq LEFT JOIN ins_order io1 ON io1.ifs_inventory_id = iiq.id AND io1.order_type = #{dto.orderType} AND io1.state != -1 AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate} LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT iuh.id, coa.operation, iuh.inventory_quantity_id FROM ins_unqualified_handler iuh LEFT JOIN ( SELECT *, ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn FROM common_oa ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1 WHERE coa.operation !='退回' AND coa.operation is not null ) iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model FROM ins_sample @@ -204,13 +232,27 @@ SELECT COUNT(*) AS sum, /* 合格 */ SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified, SUM(CASE WHEN iiq.inspect_status = 1 or (iuh.id is null) THEN 1 ELSE 0 END) AS qualified, /* 不合格 */ SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified FROM ifs_inventory_quantity iiq INNER JOIN ins_order io1 ON io1.ifs_inventory_id = iiq.id LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT iuh.id, coa.operation, iuh.inventory_quantity_id FROM ins_unqualified_handler iuh LEFT JOIN ( SELECT *, ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn FROM common_oa ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1 WHERE coa.operation !='退回' AND coa.operation is not null ) iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT is2.ins_order_id, @@ -248,15 +290,29 @@ SELECT iiq.supplier_name AS supplierName, COUNT(iiq.id) AS totalBatch, SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch, ROUND(SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch, ROUND(SUM(CASE WHEN iiq.inspect_status = 1 and iuh.id is null THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate FROM ifs_inventory_quantity iiq INNER JOIN ins_order io1 ON io1.ifs_inventory_id = iiq.id AND io1.order_type = #{dto.orderType} AND io1.state != -1 AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate} LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT iuh.id, coa.operation, iuh.inventory_quantity_id FROM ins_unqualified_handler iuh LEFT JOIN ( SELECT *, ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn FROM common_oa ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1 WHERE coa.operation !='退回' AND coa.operation is not null ) iuh ON iiq.id = iuh.inventory_quantity_id LEFT JOIN ( SELECT ins_order_id, inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
@@ -93,6 +93,7 @@ iuh.request_id, iuh.file_url, iuh.headline, iuh.ins_order_id, coa.operation from ins_unqualified_handler iuh