Index: ssts-web/src/main/webapp/jasperRtp/QualityMonitoringReport.jrxml
===================================================================
diff -u -r27750 -r27871
--- ssts-web/src/main/webapp/jasperRtp/QualityMonitoringReport.jrxml (.../QualityMonitoringReport.jrxml) (revision 27750)
+++ ssts-web/src/main/webapp/jasperRtp/QualityMonitoringReport.jrxml (.../QualityMonitoringReport.jrxml) (revision 27871)
@@ -129,7 +129,7 @@
-
+
@@ -216,14 +216,14 @@
-
+
-
+
@@ -260,9 +260,9 @@
-
+
-
+
@@ -276,13 +276,13 @@
-
+
-
+
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java
===================================================================
diff -u -r27848 -r27871
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 27848)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 27871)
@@ -13169,9 +13169,11 @@
String tousseName = StrutsParamUtils.getPraramValue("tousseName", "");
Long inspectItemId = StrutsParamUtils.getPraramLongValue("inspectItemId", 0L);
String responsibilityPart = null;
+ String recordRinseInformation = null;
if(DatabaseUtil.isPoIdValid(inspectItemId)){
QualityMonitoringDefinition q = (QualityMonitoringDefinition)objectDao.getById(QualityMonitoringDefinition.class.getSimpleName(), inspectItemId);
responsibilityPart = q.getResponsibilityPart();
+ recordRinseInformation = q.getRecordRinseInformation();
}
String extraQueryForResponsibilityPart = null;
String extraJoinForResponsibilityPart = null;
@@ -13186,10 +13188,12 @@
String wdrStartDate = dateQueryAdapter.dateToVarchar1("wdr.startDate");
extraQueryForResponsibilityPart = ",wdr.disinfectIdentification,"+ wdrStartDate +" washStartDate,wdr.washPersonInCharge ";
extraJoinForResponsibilityPart = " left join WashAndDisinfectRecord wdr on wdr.id=qmi.scanWashRecord_id ";
- ReportQueryParams params = new ReportQueryParams();
- int dataSoureOfMaterialsCountOfToussesInReports = CssdUtils.getSystemSetConfigByNameInt("dataSoureOfMaterialsCountOfToussesInReports", 3);
- String sql = getWashWorkloadSql(params, startDate + " 00:00:00", endDate + " 23:59:59", querySupplyRoom, dataSoureOfMaterialsCountOfToussesInReports, true);
- washAmountMap = getWashWorkloadAmountMap(sql, true);
+ if(Constants.STR_YES.equals(recordRinseInformation)){
+ ReportQueryParams params = new ReportQueryParams();
+ int dataSoureOfMaterialsCountOfToussesInReports = CssdUtils.getSystemSetConfigByNameInt("dataSoureOfMaterialsCountOfToussesInReports", 3);
+ String sql = getWashWorkloadSql(params, startDate + " 00:00:00", endDate + " 23:59:59", querySupplyRoom, dataSoureOfMaterialsCountOfToussesInReports, true);
+ washAmountMap = getWashWorkloadAmountMap(sql, true);
+ }
}else if(QualityMonitoringDefinition.QUALITYMONITORING_MODULE_NAME_STERILIZATION.equals(responsibilityPart)){
String wdrStartDate = dateQueryAdapter.dateToVarchar1("sr.startDate");
extraQueryForResponsibilityPart = ",s.name,sr.frequency,sr.sterilizationUser,"+ wdrStartDate +" sterilizationStartDate,sr.amount steAmount ";
@@ -13209,20 +13213,22 @@
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)
&& StringUtils.isNotBlank(formName)) {
+ JSONObject amoutSumJson = new JSONObject();
String whereSql = buildWhereSQL(startDate, endDate, querySupplyRoom,
formName, monitoringType);
String tousseNameSql = buildTousseNameMaterialNameWhereSql(materialName, tousseName);
String dataSql = dateQueryAdapter.dateToVarchar1("qmi.dateTime");
if(StringUtils.isNotBlank(extraQueryForResponsibilityPart) && "质量监测".equals(monitoringType)){
String sql2 = " select " + dataSql + " dateStr,"
- + " qmd.tousseName toussName,qmd.material material,qmd.amount amount,qmi.id qmiId,qmi.positionMsg positionMsg,fi.createUserName "
+ + " qmd.tousseName toussName,qmd.material material,qmd.amount amount,qmi.id qmiId,qmi.positionMsg positionMsg,fi.createUserName, qmdf.recordRecycleInformation,qmdf.recordRinseInformation,qmdf.recordSterilizatioInformation "
+ extraQuery + extraQueryForResponsibilityPart
+ " from QualityMonitoringInstance qmi join FormInstance fi on qmi.id=fi.id join FormDefinition fd on fi.formDefinition_id=fd.id "
+ + " join QualityMonitoringDefinition qmdf on qmdf.id=fd.id "
+ " left join QualityMonitoringGoods qmd on qmi.id=qmd.qualityMonitoringInstance_id "
+ extraJoin + extraJoinForResponsibilityPart
+ " where 1=1 "
+ " and " + whereSql + tousseNameSql;
- addMonitoringItemBeanOption(list,sql2,isCustomADJAndIsFormNameIsADJ,washAmountMap);
+ addMonitoringItemBeanOption(list,sql2,isCustomADJAndIsFormNameIsADJ,washAmountMap,amoutSumJson);
}
String sql = " select " + dataSql + " dateStr,"
+ " qmd.tousseName toussName,qmd.material material,qmd.amount amount,qmi.id qmiId,qmi.positionMsg positionMsg,"
@@ -13301,8 +13307,23 @@
Integer qmCount = 0;
// 材料或者包数量和
Integer qmTousseAndMaterialAmount = 0;
- // 质量检测加数量汇总(取消质量监测汇总)
- if (false) {
+ sql = " select count(0) count,sum(t.aAmount) total from QualityMonitoringInstance qmi join FormInstance fi on qmi.id=fi.id join FormDefinition fd on fi.formDefinition_id=fd.id "
+ + " join ( select qmi.id qid,sum(qmd.amount) aAmount from QualityMonitoringInstance qmi,QualityMonitoringGoods qmd where qmi.id=qmd.qualityMonitoringInstance_id "
+ + " group by qmi.id ) t on t.qid=qmi.id "
+ + " where " + whereSql;
+ ResultSet rs = objectDao.executeSql(sql);
+ try {
+ while (rs.next()) {
+ qmCount = rs.getInt("count");
+ qmTousseAndMaterialAmount = rs.getInt("total");
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }finally {
+ DatabaseUtil.closeResultSetAndStatement(rs);
+ }
+ // 质量检测加数量汇总
+ if ("质量监测".equals(monitoringType)) {
Integer totalAmount = 0;
Integer totalItem = 0;
Integer orderNumber = 1;
@@ -13316,86 +13337,43 @@
questionName = list.get(0).getQuestionName();
}
if (totalAmount > 0 || list.size() > 0) {
- // 对每个bean 做统计
- List