Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/CustomReportsOfXjjqzyy.java =================================================================== diff -u -r26208 -r26237 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/CustomReportsOfXjjqzyy.java (.../CustomReportsOfXjjqzyy.java) (revision 26208) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/CustomReportsOfXjjqzyy.java (.../CustomReportsOfXjjqzyy.java) (revision 26237) @@ -275,7 +275,7 @@ return list; } /** - * 中大附一的工作质量持续收集统计报表的实现 + * xjjqzyy的工作质量持续收集统计报表的实现 * @param startAndEndDays * @param list * @param querySupplyRoom @@ -294,7 +294,7 @@ params.sqlLengthFunctionName = sqlLengthFunctionName; params.querySupplyRoom = querySupplyRoom; // 回收时发现器械缺损不配套例数 缺损不配套的数据显示 - WorkQualityCollection bean1 = new WorkQualityCollection(); + /*WorkQualityCollection bean1 = new WorkQualityCollection(); for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { @@ -615,153 +615,154 @@ } bean19.setTitle("器械遗失例数"); bean19.setRowNum(list.size()+1); - list.add(bean19); - // 器械包装不合格率 + list.add(bean19);*/ + // 临床器械清洗不合格率 WorkQualityCollection bean20 = new WorkQualityCollection(); + params.extraQuery = " and rr.departCode != '2213' "; for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountEqualSql("器械包装不合格",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - totalSql = getTotalPackingSql(params); + sql = getWorkUnQualityAmountEqualSql("临床器械清洗不合格",startDay,endDay,querySupplyRoom); + totalSql = getTotalWashSql(params, "加回收科室过滤的清洗数量"); setWorkQualityCollectionData(bean20,key,sql,totalSql); } - bean20.setTitle("器械包装不合格率"); + bean20.setTitle("临床器械清洗不合格率"); bean20.setRowNum(list.size()+1); list.add(bean20); - // 湿包发生率 + // 手术器械清洗不合格率 WorkQualityCollection bean21 = new WorkQualityCollection(); + params.extraQuery = " and rr.departCode = '2213' "; for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountEqualSql("湿包登记表",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - totalSql = getTotalPackingSql(params); + sql = getWorkUnQualityAmountEqualSql("手术器械清洗不合格",startDay,endDay,querySupplyRoom); + totalSql = getTotalWashSql(params,"加回收科室过滤的清洗数量"); setWorkQualityCollectionData(bean21,key,sql,totalSql); } - bean21.setTitle("湿包发生率"); + bean21.setTitle("手术器械清洗不合格率"); bean21.setRowNum(list.size()+1); list.add(bean21); - // 灭菌失败率 + params.extraQuery = ""; + params.tousseTypeAndPackageSizeSql = String.format(" and (td.tousseType = '%s' or td.tousseType = '%s')", TousseDefinition.PACKAGE_TYPE_FOREIGN,TousseDefinition.PACKAGE_TYPE_SPLIT); + // 外来器械清洗不合格率 WorkQualityCollection bean22 = new WorkQualityCollection(); for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountEqualSql("器械灭菌不合格",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - totalSql = getTotalPackingSql(params); + sql = getWorkUnQualityAmountEqualSql("外来医疗器械清洗不合格",startDay,endDay,querySupplyRoom); + totalSql = getTotalWashSql(params,"清洗数量"); setWorkQualityCollectionData(bean22,key,sql,totalSql); } - bean22.setTitle("灭菌失败率"); + bean22.setTitle("外来器械清洗不合格率"); bean22.setRowNum(list.size()+1); list.add(bean22); - // 无菌包内器械功能不全数 + params.tousseTypeAndPackageSizeSql= ""; + // 器械包装不合格率 WorkQualityCollection bean23 = new WorkQualityCollection(); for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountEqualSql("器械功能不全",startDay,endDay,querySupplyRoom); + sql = getWorkUnQualityAmountEqualSql("器械包装不合格",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); totalSql = getTotalPackingSql(params); setWorkQualityCollectionData(bean23,key,sql,totalSql); } - bean23.setTitle("无菌包内器械功能不全数"); + bean23.setTitle("器械包装不合格率"); bean23.setRowNum(list.size()+1); list.add(bean23); - // 器械包标签不合格 + // 器械包发货不合格 WorkQualityCollection bean24 = new WorkQualityCollection(); for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountEqualSql("器械包标签不合格",startDay,endDay,querySupplyRoom); + sql = getWorkUnQualityAmountEqualSql("器械包发货不合格",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - totalSql = getTotalPackingSql(params); + totalSql = getTotalInvoiceSql(params); setWorkQualityCollectionData(bean24,key,sql,totalSql); } - bean24.setTitle("器械包标签不合格"); + bean24.setTitle("器械包发货不合格"); bean24.setRowNum(list.size()+1); list.add(bean24); - // 器械包发货不合格 + // 器械包标签不合格 WorkQualityCollection bean25 = new WorkQualityCollection(); for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountEqualSql("器械包发货不合格",startDay,endDay,querySupplyRoom); + sql = getWorkUnQualityAmountEqualSql("器械包标签不合格",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - totalSql = getTotalInvoiceSql(params); + totalSql = getTotalPackingSql(params); setWorkQualityCollectionData(bean25,key,sql,totalSql); } - bean25.setTitle("器械包发货不合格"); + bean25.setTitle("器械包标签不合格"); bean25.setRowNum(list.size()+1); list.add(bean25); - // 临床器械清洗不合格率 + // 无菌包内器械功能不全数 WorkQualityCollection bean26 = new WorkQualityCollection(); - params.extraQuery = " and rr.departCode != '2213' "; for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } + sql = getWorkUnQualityAmountEqualSql("器械功能不全",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - sql = getWorkUnQualityAmountEqualSql("临床器械清洗不合格",startDay,endDay,querySupplyRoom); - totalSql = getTotalWashSql(params, "加回收科室过滤的清洗数量"); + totalSql = getTotalPackingSql(params); setWorkQualityCollectionData(bean26,key,sql,totalSql); } - bean26.setTitle("临床器械清洗不合格率"); + bean26.setTitle("无菌包内器械功能不全数"); bean26.setRowNum(list.size()+1); list.add(bean26); - // 手术器械清洗不合格率 + // 湿包发生率 WorkQualityCollection bean27 = new WorkQualityCollection(); - params.extraQuery = " and rr.departCode = '2213' "; for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } + sql = getWorkUnQualityAmountEqualSql("湿包登记表",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - sql = getWorkUnQualityAmountEqualSql("手术器械清洗不合格",startDay,endDay,querySupplyRoom); - totalSql = getTotalWashSql(params,"加回收科室过滤的清洗数量"); + totalSql = getTotalPackingSql(params); setWorkQualityCollectionData(bean27,key,sql,totalSql); } - bean27.setTitle("手术器械清洗不合格率"); + bean27.setTitle("湿包发生率"); bean27.setRowNum(list.size()+1); list.add(bean27); - params.extraQuery = ""; - params.tousseTypeAndPackageSizeSql = String.format(" and (td.tousseType = '%s' or td.tousseType = '%s')", TousseDefinition.PACKAGE_TYPE_FOREIGN,TousseDefinition.PACKAGE_TYPE_SPLIT); - // 外来器械清洗不合格率 + // 灭菌失败率 WorkQualityCollection bean28 = new WorkQualityCollection(); for (String key : startAndEndDays.keySet()){ Map innerMap = startAndEndDays.get(key); for (String keyOfInnerMap : innerMap.keySet()) { startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } + sql = getWorkUnQualityAmountEqualSql("器械灭菌不合格",startDay,endDay,querySupplyRoom); setBetweenSql(params, startDay, endDay); - sql = getWorkUnQualityAmountEqualSql("外来医疗器械清洗不合格",startDay,endDay,querySupplyRoom); - totalSql = getTotalWashSql(params,"清洗数量"); + totalSql = getTotalPackingSql(params); setWorkQualityCollectionData(bean28,key,sql,totalSql); } - bean28.setTitle("外来器械清洗不合格率"); + bean28.setTitle("灭菌失败率"); bean28.setRowNum(list.size()+1); list.add(bean28); } @@ -871,7 +872,6 @@ String queryYear = year + "-01-01 00:00:00"; String nextYear = dataIndex.getNextYear(year) + " 00:00:00"; - //查询的时间段 String betweenSql = String.format(" between %s and %s ", dateQueryAdapter.dateAdapter(queryYear),dateQueryAdapter.dateAdapter(nextYear)); //数据库计算字符串长度的函数名 @@ -933,7 +933,7 @@ return getWorkQualityCollectionListAllyearXjjqzyy(querySupplyRoom,year,recAmountMap,null,packAmountMap,invoiceAmountMap,noEqualsDepartCodequwashAmountMap, equalsDepartCodequwashAmountMap, foreignQuwashAmountMap); } /** - * 中大附一的工作质量持续收集统计报表实现(按年度) + * xjjqzyy的工作质量持续收集统计报表实现(按年度) * @param querySupplyRoom * @param year * @param recAmountMap @@ -948,7 +948,7 @@ String queryYear = year + "-01-01 00:00:00"; String nextYear = DataIndex.getNextYear(year) + " 00:00:00"; //回收时发现器械缺损不配套例数 - String sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + /*String sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " + " and fd.formName like '%缺损不配套%'" @@ -1178,47 +1178,57 @@ + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); titleName = "器械遗失例数"; - addWorkQualityCollectionBean(list,titleName,sql,recAmountMap); - // 器械包装不合格率 - sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + addWorkQualityCollectionBean(list,titleName,sql,recAmountMap);*/ + // 临床器械清洗不合格率 + String sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '器械包装不合格'" + + " and fd.formName = '临床器械清洗不合格'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "器械包装不合格率"; - addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); - // 湿包发生率 + String titleName = "临床器械清洗不合格率"; + addWorkQualityCollectionBean(list,titleName,sql,noEqualsDepartCodequwashAmountMap); + // 手术器械清洗不合格率 sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '湿包登记表'" + + " and fd.formName = '手术器械清洗不合格'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "湿包发生率"; - addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); - // 灭菌失败率 + titleName = "手术器械清洗不合格率"; + addWorkQualityCollectionBean(list,titleName,sql,equalsDepartCodequwashAmountMap); + // 外来器械清洗不合格率 sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '器械灭菌不合格'" + + " and fd.formName = '外来医疗器械清洗不合格'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "灭菌失败率"; - addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); - // 无菌包内器械功能不全数 + titleName = "外来器械清洗不合格率"; + addWorkQualityCollectionBean(list,titleName,sql,foreignQuwashAmountMap); + // 器械包装不合格率 sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '器械功能不全'" + + " and fd.formName = '器械包装不合格'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "无菌包内器械功能不全数"; + titleName = "器械包装不合格率"; addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); + // 器械包发货不合格 + sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " + + " and fd.formName = '器械包发货不合格'" + + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); + titleName = "器械包发货不合格"; + addWorkQualityCollectionBean(list,titleName,sql,invoiceAmountMap); // 器械包标签不合格 sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" @@ -1229,46 +1239,36 @@ + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); titleName = "器械包标签不合格"; addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); - // 器械包发货不合格 + // 无菌包内器械功能不全数 + sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " + + " and fd.formName = '器械功能不全'" + + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); + titleName = "无菌包内器械功能不全数"; + addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); + // 湿包发生率 sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '器械包发货不合格'" + + " and fd.formName = '湿包登记表'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "器械包发货不合格"; - addWorkQualityCollectionBean(list,titleName,sql,invoiceAmountMap); - // 临床器械清洗不合格率 + titleName = "湿包发生率"; + addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); + // 灭菌失败率 sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '临床器械清洗不合格'" + + " and fd.formName = '器械灭菌不合格'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "临床器械清洗不合格率"; - addWorkQualityCollectionBean(list,titleName,sql,noEqualsDepartCodequwashAmountMap); - // 手术器械清洗不合格率 - sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " - + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" - + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '手术器械清洗不合格'" - + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" - + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" - + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "手术器械清洗不合格率"; - addWorkQualityCollectionBean(list,titleName,sql,equalsDepartCodequwashAmountMap); - // 外来器械清洗不合格率 - sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " - + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" - + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " - + " and fd.formName = '外来医疗器械清洗不合格'" - + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" - + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" - + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); - titleName = "外来器械清洗不合格率"; - addWorkQualityCollectionBean(list,titleName,sql,foreignQuwashAmountMap); + titleName = "灭菌失败率"; + addWorkQualityCollectionBean(list,titleName,sql,packingAmountMap); return list; } private void addWorkQualityCollectionBean(List list,String titileName,String sql,Map totalMap){