Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r19325 -r19375 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 19325) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 19375) @@ -2625,7 +2625,7 @@ startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountContainSql("缺损不配套的数据显示",startDay,endDay,querySupplyRoom); + sql = getWorkUnQualityAmountContainSql("缺损不配套",startDay,endDay,querySupplyRoom); totalSql = getTotalRecSql(startDay,endDay,querySupplyRoom); setWorkQualityCollectionData(bean1,key,sql,totalSql); } @@ -2640,7 +2640,7 @@ startDay = keyOfInnerMap; endDay = innerMap.get(keyOfInnerMap); } - sql = getWorkUnQualityAmountContainSql("种类数据不相符",startDay,endDay,querySupplyRoom); + sql = getWorkUnQualityAmountContainSql("种类数量不相符",startDay,endDay,querySupplyRoom); totalSql = getTotalRecSql(startDay,endDay,querySupplyRoom); setWorkQualityCollectionData(bean2,key,sql,totalSql); } @@ -2674,7 +2674,7 @@ totalSql = "select sum(cit.amount*tdc.amount) from RecyclingRecord rr join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id " + " join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " + " join ClassifiedItem cit on cb.id=cit.classifybasket_id " - + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 and td.tousseGroupName != '专科' group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" + + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 and (td.tousseGroupName is null or td.tousseGroupName != '专科') group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" + " where itemType !='材料' and rr.depart != '手术一区' and rr.depart != '手术二区' and rr.depart != '手术三区' " + " and wr.id is not null " + " and rr.orgUnitCoding = '" + querySupplyRoom + "'" @@ -2693,12 +2693,12 @@ endDay = innerMap.get(keyOfInnerMap); } sql = getWorkUnQualityAmountContainSql("专科器械清洗不合格",startDay,endDay,querySupplyRoom); - totalSql = "select sum(cit.amount*tdc.amount) from RecyclingRecord rr join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id " + totalSql = "select sum(cit.amount*tdc.amount) from ClassifyBasket cb " + " join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " + " join ClassifiedItem cit on cb.id=cit.classifybasket_id " + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 and td.tousseGroupName = '专科' group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" + " where wr.id is not null " - + " and (rr.recyclingTime between "+dateQueryAdapter.dateAdapter(startDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; + + " and (cb.recyclingTime between "+dateQueryAdapter.dateAdapter(startDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; setWorkQualityCollectionData(bean5,key,sql,totalSql); } bean5.setTitle("专科器械清洗不合格率"); @@ -2713,12 +2713,13 @@ endDay = innerMap.get(keyOfInnerMap); } sql = getWorkUnQualityAmountContainSql("手术器械清洗不合格",startDay,endDay,querySupplyRoom); - totalSql = "select sum(cit.amount*tdc.amount) from RecyclingRecord rr join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id " - + " join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " - + " join ClassifiedItem cit on cb.id=cit.classifybasket_id " - + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" - + " where itemType !='材料' and (rr.depart = '手术一区' or rr.depart = '手术二区' or rr.depart = '手术三区') " + totalSql = "select sum(ritem.amount*tdc.amount) from RecyclingRecord rr join RecyclingItem ritem on ritem.recyclingRecord_id = rr.id " + + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 group by td.id,td.name) tdc on tdc.tid=ritem.tousseDefinitionId " + + " join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID " + + " join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " + + " where rr.depart is not null and (rr.depart = '手术一区' or rr.depart = '手术二区' or rr.depart = '手术三区') " + " and wr.id is not null " + + " and ritem.tousseDefinitionId in (select cit.tousseDefinitionID from ClassifyBasket clb,ClassifiedItem cit where clb.id=cit.classifybasket_id and cb.id=clb.id) " + " and (rr.recyclingTime between "+dateQueryAdapter.dateAdapter(startDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; setWorkQualityCollectionData(bean6,key,sql,totalSql); } @@ -2957,7 +2958,7 @@ + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " + " and fd.orgUnitCoding = '" + querySupplyRoom + "'" + " and fd.formName = '" + formName + "'" - + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(endDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; + + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(startDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; return sql; } // 获取工作量持续收集不合格的数据sql 包含监测项名字 @@ -2967,7 +2968,7 @@ + " where qmi.id=fi.id and fi.formDefinition_id=fd.id and qmi.id = qmd.qualityMonitoringInstance_id " + " and fd.orgUnitCoding = '" + querySupplyRoom + "'" + " and fd.formName like '%" + formName + "%'" - + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(endDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; + + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(startDay)+" and " + dateQueryAdapter.dateAdapter(endDay) + ")"; return sql; } @@ -3110,7 +3111,7 @@ 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 '%缺损不配套的数据显示%'" + + " and fd.formName like '%缺损不配套%'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); @@ -3120,7 +3121,7 @@ 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 '%种类数据不相符%'" + + " and fd.formName like '%种类数量不相符%'" + " and fi.orgUnitCoding = '"+querySupplyRoom+"'" + " and (qmi.dateTime between " +dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm"); @@ -3141,7 +3142,7 @@ + " month,sum(cit.amount*tdc.amount) from RecyclingRecord rr join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id " + " join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " + " join ClassifiedItem cit on cb.id=cit.classifybasket_id " - + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 and td.tousseGroupName != '专科' group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" + + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 and (td.tousseGroupName is null or td.tousseGroupName != '专科') group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" + " where itemType !='材料' and rr.depart != '手术一区' and rr.depart != '手术二区' and rr.depart != '手术三区' " + " and wr.id is not null " + " and rr.orgUnitCoding = '" + querySupplyRoom + "'" @@ -3158,14 +3159,14 @@ titleName = "普通器械清洗不合格率 "; addWorkQualityCollectionBean(list,titleName,sql,totalmap); // 专科器械清洗不合格率 - totalSql = "select " +dateQueryAdapter.dateConverAdapter3("rr.recyclingTime","mm") - + " month,sum(cit.amount*tdc.amount) from RecyclingRecord rr join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id " + totalSql = "select " +dateQueryAdapter.dateConverAdapter3("cb.recyclingTime","mm") + + " month,sum(cit.amount*tdc.amount) from ClassifyBasket cb " + " join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " + " join ClassifiedItem cit on cb.id=cit.classifybasket_id " + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 and td.tousseGroupName = '专科' group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" + " where wr.id is not null " - + " and (rr.recyclingTime between "+dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" - + " group by " + dateQueryAdapter.dateConverAdapter3("rr.recyclingTime","mm"); + + " and (cb.recyclingTime between "+dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + + " group by " + dateQueryAdapter.dateConverAdapter3("cb.recyclingTime","mm"); totalmap = getMapBySql(totalSql); sql = " select " + dateQueryAdapter.dateConverAdapter3("qmi.dateTime","mm") + " monthstr,sum(qmd.amount) amount " + " from QualityMonitoringInstance qmi,FormInstance fi,FormDefinition fd,QualityMonitoringGoods qmd" @@ -3178,12 +3179,13 @@ addWorkQualityCollectionBean(list,titleName,sql,totalmap); // 手术器械清洗不合格率 totalSql = "select " +dateQueryAdapter.dateConverAdapter3("rr.recyclingTime","mm") - + " month,sum(cit.amount*tdc.amount) from RecyclingRecord rr join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id " - + " join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " - + " join ClassifiedItem cit on cb.id=cit.classifybasket_id " - + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 group by td.id,td.name) tdc on tdc.tid=cit.tousseDefinitionID" - + " where itemType !='材料' and (rr.depart = '手术一区' or rr.depart = '手术二区' or rr.depart = '手术三区') " + + " month,sum(ritem.amount*tdc.amount) from RecyclingRecord rr join RecyclingItem ritem on ritem.recyclingRecord_id = rr.id " + + " join (select td.id tid,td.name tdName, sum(mi.count) amount from MaterialInstance mi, tousseDefinition td where mi.tousse_id=td.id and td.forDisplay=1 group by td.id,td.name) tdc on tdc.tid=ritem.tousseDefinitionId " + + " join ClassifyBasket_RecyclingRecord cr on rr.id=cr.RecyclingRecord_ID join ClassifyBasket cb on cr.ClassifyBasket_ID=cb.id join ClassifyBasket_WashRecord cw on cb.id=cw.ClassifyBasket_ID " + + " join WashAndDisinfectRecord wr on cw.WashAndDisinfectRecord_ID=wr.id " + + " where rr.depart is not null and (rr.depart = '手术一区' or rr.depart = '手术二区' or rr.depart = '手术三区') " + " and wr.id is not null " + + " and ritem.tousseDefinitionId in (select cit.tousseDefinitionID from ClassifyBasket clb,ClassifiedItem cit where clb.id=cit.classifybasket_id and cb.id=clb.id) " + " and (rr.recyclingTime between "+dateQueryAdapter.dateAdapter(queryYear)+" and " + dateQueryAdapter.dateAdapter(nextYear) + ")" + " group by " + dateQueryAdapter.dateConverAdapter3("rr.recyclingTime","mm"); totalmap = getMapBySql(totalSql); @@ -6667,7 +6669,7 @@ + "-06-30 23:59:59"); returnValue.put("上半年", startAndEndDays); startAndEndDays = new HashMap(); - startAndEndDays.put(year + "-06-01 00:00:00", year + startAndEndDays.put(year + "-07-01 00:00:00", year + "-12-31 23:59:59"); returnValue.put("下半年", startAndEndDays); } else if (StringUtils.equals("compareToLastYear", type)) {