Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/foreignTousseApplicationReport.js
===================================================================
diff -u -r36219 -r36798
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/foreignTousseApplicationReport.js (.../foreignTousseApplicationReport.js) (revision 36219)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/foreignTousseApplicationReport.js (.../foreignTousseApplicationReport.js) (revision 36798)
@@ -6,7 +6,7 @@
var widthArr = [];
//获取表头列
-function getTableHeaderColumnArray(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent) {
+function getTableHeaderColumnArray(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent,queryRecyclingTime) {
var columnNameArray = [{
name: '申请时间',
width: 120
@@ -20,10 +20,17 @@
columnNameArray.push({
name: '接收时间',
width: 120
- }, {
+ });
+ if(queryRecyclingTime){
+ columnNameArray.push({
+ name: '二次回收时间',
+ width: 120
+ });
+ }
+ columnNameArray.push({
name: '申请科室',
width: 70
- });
+ })
if (queryDoctorAccountDepart) {
columnNameArray.push({
name: '主刀医生核算科室',
@@ -139,9 +146,9 @@
}
//获取表头html
-function getTableHeadHtml(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent) {
+function getTableHeadHtml(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent,queryRecyclingTime) {
var html = '';
- var columnNameArray = getTableHeaderColumnArray(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent);
+ var columnNameArray = getTableHeaderColumnArray(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent,queryRecyclingTime);
if (sstsConfig.enableShowForeignTousseApplicationReportSummaryOfMaterials || sstsConfig.enableTheSizeDisplayOfTheForeignTousseApplicationReport) {
html += '
';
for (var i = 0; i < columnNameArray.length; i++) {
@@ -168,7 +175,7 @@
html += '
';
is2Column = true;
} else {
- var columnNameArray = getTableHeaderColumnArray(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent);
+ var columnNameArray = getTableHeaderColumnArray(customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent,queryRecyclingTime);
html += '';
for (var i = 0; i < columnNameArray.length; i++) {
html += getHeadTd(columnNameArray[i].name, columnNameArray[i].width, 1, 1);
@@ -180,7 +187,7 @@
}
//获取表内容的html
-function getTableBodyHtml(data, totalMaterialDetails, customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent) {
+function getTableBodyHtml(data, totalMaterialDetails, customColumnName1, enableTousseOfExclusiveDoctorFunction, queryReceiveMan, queryReturnMan, queryReturnTime, queryDoctorAccountDepart, queryIsUrgent,queryRecyclingTime) {
var html = '';
var sumTousseInstanceAmount = 0;
var sumPrice = 0;
@@ -225,6 +232,7 @@
resultSumCount += parseInt(sumCount);
var receiveTimeStr = (data[i].receiveTimeStr == null) ? '' : data[i].receiveTimeStr;
+ var recyclingTimeStr = (data[i].recyclingTimeStr == null) ? '' : data[i].recyclingTimeStr;
var tiDoctorName = tousseItems[j].tiDoctorName || '';
if (j == 0) {
html += '
';
@@ -233,6 +241,9 @@
html += getBodyTd(data[i].receiveMan, tousseItems.length, 1);
}
html += getBodyTd(receiveTimeStr, tousseItems.length, 1);
+ if (queryRecyclingTime) {
+ html += getBodyTd(recyclingTimeStr, tousseItems.length, 1);
+ }
html += getBodyTd(data[i].depart, tousseItems.length, 1);
if (queryDoctorAccountDepart) {
html += getBodyTd(data[i].doctorAccountDepart, tousseItems.length, 1);
@@ -350,6 +361,10 @@
html += getBodyTd(data[i].receiveMan, 1, 1);
}
html += getBodyTd(receiveTimeStr, 1, 1);
+ var recyclingTimeStr = (data[i].recyclingTimeStr == null) ? '' : data[i].recyclingTimeStr;
+ if (queryRecyclingTime) {
+ html += getBodyTd(recyclingTimeStr, 1, 1);
+ }
html += getBodyTd(data[i].depart, 1, 1);
if (queryDoctorAccountDepart) {
html += getBodyTd(data[i].doctorAccountDepart, 1, 1);
@@ -409,6 +424,9 @@
if (queryReceiveMan) {
colspanLen++;
}
+ if (queryRecyclingTime) {
+ colspanLen++;
+ }
if (queryDoctorAccountDepart) {
colspanLen++;
}
@@ -465,6 +483,7 @@
var queryReturnTime = false;
var queryDoctorAccountDepart = false;
var queryIsUrgent = false;
+ var queryRecyclingTime = false;
if (result.parametMap) {
totalMaterialDetails = result.parametMap.totalMaterialDetails || '';
customColumnName1 = result.parametMap.customColumnName1 || '';
@@ -484,6 +503,9 @@
if (result.parametMap.queryIsUrgent) {
queryIsUrgent = result.parametMap.queryIsUrgent;
}
+ if (result.parametMap.queryRecyclingTime) {
+ queryRecyclingTime = result.parametMap.queryRecyclingTime;
+ }
}
if (queryReceiveMan) {
tableWidth += 70;
@@ -500,12 +522,15 @@
if (queryIsUrgent) {
tableWidth += 70;
}
+ if (queryRecyclingTime) {
+ tableWidth += 120;
+ }
var html = "";
return html;
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ForeignTousseApplicationVO.java
===================================================================
diff -u -r35302 -r36798
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ForeignTousseApplicationVO.java (.../ForeignTousseApplicationVO.java) (revision 35302)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/ForeignTousseApplicationVO.java (.../ForeignTousseApplicationVO.java) (revision 36798)
@@ -117,7 +117,7 @@
private String recyclingMan;// 回收确认人
private Date recylingTime;// 回收确认时间
-
+ private String recyclingTimeStr;// 回收时间
private String returnMan;// 归还人
private Date returnTime;// 归还时间
@@ -789,5 +789,14 @@
public void setIsUrgent(String isUrgent) {
this.isUrgent = isUrgent;
}
+
+ public String getRecyclingTimeStr() {
+ return recyclingTimeStr;
+ }
+
+ public void setRecyclingTimeStr(String recyclingTimeStr) {
+ this.recyclingTimeStr = recyclingTimeStr;
+ }
+
}
Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/ForeignTousseApplicationReportHelper.java
===================================================================
diff -u -r36695 -r36798
--- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/ForeignTousseApplicationReportHelper.java (.../ForeignTousseApplicationReportHelper.java) (revision 36695)
+++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/ForeignTousseApplicationReportHelper.java (.../ForeignTousseApplicationReportHelper.java) (revision 36798)
@@ -77,6 +77,10 @@
*/
boolean queryDoctorAccountDepart = false;
/**
+ * 查询二次回收时间
+ */
+ boolean queryRecyclingTime = false;
+ /**
* 配置项所配置的值 用来增加额外的查询列
* DGSETYY-61 目前支持值为receiveMan(接收人),returnMan(归还人),returnTime(归还时间)
* ZYYFS-171 新增isUrgent(是否急消),doctorAccountDepart(主刀医生核算科室)
@@ -148,6 +152,11 @@
extendedGroupSQL2 += ",f.doctorAccountDepart ";
queryDoctorAccountDepart = true;
parametMap.put("queryDoctorAccountDepart", true);
+ }else if("recyclingtime".equals(extendedColumnName.toLowerCase())){//二次回收时间
+ queryExtendedColumnSQL += ",max(rr.recyclingTime) recyclingTime ";
+ queryExtendedColumnSQL2 += ",max(rr.recyclingTime) recyclingTime ";
+ queryRecyclingTime = true;
+ parametMap.put("queryRecyclingTime", true);
}
}
}
@@ -220,7 +229,7 @@
timeSql = String.format("and (i.applicationTime between %s and %s)", startDay, endDay);
}else{
timeFieldName = "rr.recyclingTime";
- timeSql = String.format("and (rr.recyclingTime between %s and %s)", startDay, endDay);
+ timeSql = String.format("and (rr.recyclingTimes is null and rr.recyclingTime between %s and %s)", startDay, endDay);
}
String querySummaryOfMaterialsSql = "";
@@ -284,7 +293,7 @@
+ "from %s f join %s i on f.id=i.id join %s ti on ti.recyclingApplication_ID=i.id "
+ "join %s tit on tit.foreignTousseApp_id=f.id "
+ "join TousseDefinition td on td.id = tit.tousseDefinition_id left join RecyclingRecord rr on rr.recyclingApplication_id=f.id "
- + " %s where rr.recyclingTimes is null and (tit.id is null or td.parentID is null and ti.tousseDefinitionId=tit.tousseDefinition_id or ti.tousseDefinitionId=td.parentID) %s %s %s %s %s ",
+ + " %s where (tit.id is null or td.parentID is null and ti.tousseDefinitionId=tit.tousseDefinition_id or ti.tousseDefinitionId=td.parentID) %s %s %s %s %s ",
queryExtendedColumnSQL,
customColumnName1Sql,
queryMaterialNameSql,
@@ -362,7 +371,7 @@
TousseDefinition.class.getSimpleName()
+" td on td.id = ti.tousseDefinitionId left join RecyclingRecord rr on rr.recyclingApplication_id=f.id "
+ joinMaterialInstanceSql
- + " where rr.recyclingTimes is null and not exists (select id from "+
+ + " where not exists (select id from "+
TousseInstance.class.getSimpleName()
+" where foreignTousseApp_id=f.id) "
+ timeSql
@@ -415,6 +424,12 @@
vo.setReceiveTime(receiveTime);
vo.setReceiveTimeStr(receiveTimeStr);
}
+ if(queryRecyclingTime && receiveTime != null){
+ Date recyclingTime = rs.getTimestamp("recyclingTime");
+ if(recyclingTime != null && recyclingTime.after(receiveTime)){//最小值等于最大值,说明其实两个时间都是接收时间,也就是未二次回收
+ vo.setRecyclingTimeStr(dateFormatYMDHM.format(recyclingTime));
+ }
+ }
Date applicationtime = rs.getTimestamp("applicationtime");
if(applicationtime != null){
vo.setApplicationTimeStr(dateFormatYMDHM.format(applicationtime));