Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportManagerImpl.java
===================================================================
diff -u -r34199 -r35237
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportManagerImpl.java (.../ReportManagerImpl.java) (revision 34199)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/reportforms/service/ReportManagerImpl.java (.../ReportManagerImpl.java) (revision 35237)
@@ -626,8 +626,10 @@
String sterilizerNameGroupSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("s.ownGroup", sterilizerNameGroup, ",");
String sterilizerNameSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("s.name", sterilizerName, ",");
String sterilisationSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("sr.sterilizationType", sterilisation, ",");
+ String orgUnitCodingSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("s.orgUnitCoding", departCoding, ",");
String sql = "select count(*) amount,s.name from SterilizationRecord sr,Sterilizer s "
- + " where sr.sterilizer_id = s.id and s.orgUnitCoding = '"+ departCoding +"'"
+ + " where sr.sterilizer_id = s.id "
+ + orgUnitCodingSql
+ sqlOfSterilizationPurpose
+ sterilizerNameGroupSql
+ sterilizerNameSql
@@ -706,13 +708,14 @@
String sterilizerNameGroupSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("s.ownGroup", sterilizerNameGroup, ",");
String sterilizerNameSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("s.name", sterilizerName, ",");
String sterilisationSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("sr.sterilizationType", sterilisation, ",");
+ String orgUnitCodingSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("s.orgUnitCoding", departCoding, ",");
String monthStr = dateQueryAdapter.dateConverAdapter3("sr.endDate","mm");
String groupSql = " group by s.id," + monthStr;
String orderBySql = " order by " + monthStr;
String sql = "select min(s.name) name,count(*) amount,"+ monthStr +" month from SterilizationRecord sr,Sterilizer s "
+" where sr.sterilizer_id = s.id "
//+ " and s.id=" + sterilizerId
- +" and s.orgUnitCoding = '"+departCoding+"'"
+ + orgUnitCodingSql
+ statusSql
+" and sr.endDate between "+dateQueryAdapter.dateConverAdapter2( startTime
, "yyyy-mm-dd HH24:MI:SS")
Index: ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCount.jrxml
===================================================================
diff -u -r33843 -r35237
--- ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCount.jrxml (.../sterilizingStoveUseCount.jrxml) (revision 33843)
+++ ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCount.jrxml (.../sterilizingStoveUseCount.jrxml) (revision 35237)
@@ -161,7 +161,7 @@
-
+
Index: ssts-web/src/main/webapp/jasperRtp/sterilizingStoveUseCount.jasper
===================================================================
diff -u -r33843 -r35237
Binary files differ
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java
===================================================================
diff -u -r35204 -r35237
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 35204)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 35237)
@@ -13289,33 +13289,39 @@
SterilizingStove ss = new SterilizingStove();
List list = new ArrayList();
- Map successMap = getSuccessData(depart,departCoding,sterilizationPurpose,
+ Map successMap = getSuccessData(departCoding,sterilizationPurpose,
startTime,endTime,SterilizationRecord.STERILIZATION_STATUS_END, sterilizerNameGroup, sterilizerName, sterilisation);
- Map failureMap = getSuccessData(depart,departCoding,sterilizationPurpose,
+ Map failureMap = getSuccessData(departCoding,sterilizationPurpose,
startTime,endTime,SterilizationRecord.STERILIZATION_STATUS_FAILURE, sterilizerNameGroup, sterilizerName, sterilisation);
Iterator> iterator = successMap.entrySet().iterator();
+ Map departMap = new HashMap();
while(iterator.hasNext()){
Entry next = iterator.next();
String name = next.getKey();
SterilizingStove_child ssc = next.getValue();
+ String department = ssc.getDepartName();
+ SterilizingStove sterilizingStove = null;
+ if(departMap.containsKey(department)){
+ sterilizingStove = departMap.get(department);
+ }else{
+ sterilizingStove = new SterilizingStove();
+ sterilizingStove.setDepartName(ssc.getDepartName());
+ departMap.put(department, sterilizingStove);
+ }
+ sterilizingStove.getList().add(ssc);
if(failureMap.get(name) != null){
ssc.setFailureCount(failureMap.get(name).getFailureCount());
}else{
ssc.setFailureCount(0);
}
list.add(ssc);
}
- if(list.size()>0){
- ss.setDepartName(depart);
- ss.setList(list);
- ssList.add(ss);
- }
- return ssList;
+ return Arrays.asList(departMap.values().toArray());
}
- private Map getSuccessData(String depart , String departCoding,String sterilizationPurpose,
+ private Map getSuccessData(String departCoding,String sterilizationPurpose,
String startTime, String endTime, String type, String sterilizerNameGroup, String sterilizerName, String sterilisation) {
String statusSql = " and sr.status = '"+type+"'";
boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false);
@@ -13332,10 +13338,11 @@
+ SterilizationRecord.STERILIZATIONRESULT_QUALIFIED +"' ";
}
}
- String sql = "select min(s.name) name,count(*) amount,min(s.sequence) sequence from SterilizationRecord sr,Sterilizer s "
+ String orgUnitCodingSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("s.orgUnitCoding", departCoding, ",");
+ String sql = "select min(s.name) name,count(*) amount,min(s.sequence) sequence,s.department from SterilizationRecord sr,Sterilizer s "
+" where sr.sterilizer_id = s.id "
+ statusSql
- + (StringUtils.isNotBlank(departCoding) ? (" and s.orgUnitCoding = '"+departCoding+"'") : (" and s.department = '"+depart+"'"))
+ + orgUnitCodingSql
+" and sr.endDate between "+dateQueryAdapter.dateConverAdapter2( startTime
, "yyyy-mm-dd HH24:MI")
+" and "+dateQueryAdapter.dateConverAdapter2( endTime
@@ -13353,7 +13360,7 @@
if(StringUtils.isNotBlank(sterilisation) && !"全部".equals(sterilisation)){
sql += SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparator("sr.sterilizationType", sterilisation, ",");
}
- sql += " group by s.id ";
+ sql += " group by s.id,s.department ";
sql = String.format("select * from (%s) t order by t.sequence,t.name ", sql);
@@ -13365,7 +13372,7 @@
ssc = new SterilizingStove_child();
String name = resultSet.getString(1);
int count = resultSet.getInt(2);
- ssc.setDepartName(depart);
+ ssc.setDepartName(resultSet.getString("department"));
ssc.setSterilizerName(name);
if("灭菌完成".equals(type)){
ssc.setSuccessCount(count);
@@ -13589,14 +13596,15 @@
+"','"+ SterilizationRecord.STERILIZATIONRESULT_UNQUALIFIED
+"') ";
}
+ String orgUnitCodingSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("po.sterilizer.orgUnitCoding", departCoding, ",");
String sql = " where po.endDate between "
+ dateQueryAdapter.dateConverAdapter2( startTime
, "yyyy-mm-dd HH24:MI")
+ " and " + ""
+ dateQueryAdapter.dateConverAdapter2( endTime
, "yyyy-mm-dd HH24:MI")
+ statusSql
- + (StringUtils.isNotBlank(departCoding) ? (" and po.sterilizer.orgUnitCoding = '"+departCoding+"'") : (" and po.sterilizer.department = '"+depart+"'"));
+ + orgUnitCodingSql;
if(StringUtils.isNotBlank(sterilizationPurpose) && !"全部".equals(sterilizationPurpose))
{
sql += " and po.sterilizationPurpose = '" + sterilizationPurpose + "' ";