Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp
===================================================================
diff -u -r21844 -r22079
--- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 21844)
+++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 22079)
@@ -159,6 +159,7 @@
+
@@ -188,13 +189,9 @@
var foreignTousseApplicationForm = '<%=InvoicePlan.TYPE_FOREIGNTOUSSEAPPLIACTION%>';//外来器械包申请单
var expansionTousseForm = '<%=InvoicePlan.TYPE_TOUSSE_EXPANSION_FORM%>';//普通器械包扩充申请单
var expensiveGoodsForm = '<%=InvoicePlan.TYPE_EXPENSIVEGOODS_FORM%>';//高值耗材申请单
-var tousseTypeCustom = '<%=TousseDefinition.PACKAGE_TYPE_CUSTOM%>';//自定义器械包
var tousseTypeDisinfect = '<%=TousseDefinition.PACKAGE_TYPE_DISINFECTION%>;<%=TousseDefinition.PACKAGE_TYPE_STERILIZATION%>';//消毒物品和灭菌物品
var endCause = ${endCause};
-var tousseType_tousse = '<%=TousseDefinition.PACKAGE_TYPE_INSIDE%>';
-var tousseType_disinfectGoods = '<%=TousseDefinition.PACKAGE_TYPE_DISINFECTION%>';
var tousseType_diposableGoods = '一次性物品';
-var tousseType_foreignTousse = '<%=TousseDefinition.PACKAGE_TYPE_FOREIGN%>';
//包大小定义
var PACKAGE_SIZE_HUGE = '<%=TousseDefinition.PACKAGE_SIZE_HUGE%>';
@@ -230,6 +227,15 @@
}
var TYPE_SUPPLIER = encodeURIComponent('<%=Supplier.SUPPLIER_TYPE_RENTTOUSSE%>');
+var ALL = '全部';
+var tousseType_tousse = '<%=TousseDefinition.PACKAGE_TYPE_INSIDE%>'; //器械包
+var PACKAGE_TYPE_DRESSING = '<%=TousseDefinition.PACKAGE_TYPE_DRESSING%>'; //敷料包
+var tousseType_disinfectGoods = '<%=TousseDefinition.PACKAGE_TYPE_DISINFECTION%>'; //消毒物品
+var PACKAGE_TYPE_FOREIGNPROXY = '<%=TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY%>'; //外部代理灭菌
+var tousseType_foreignTousse = '<%=TousseDefinition.PACKAGE_TYPE_FOREIGN%>'; //外来器械包
+var tousseTypeCustom = '<%=TousseDefinition.PACKAGE_TYPE_CUSTOM%>'; //自定义器械包
+
+
var SSTS_RecycApplication_Create = true;
SSTS_RecycApplication_Create = false;
Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/ReAppTableSqlHandler.java
===================================================================
diff -u -r21819 -r22079
--- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/ReAppTableSqlHandler.java (.../ReAppTableSqlHandler.java) (revision 21819)
+++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/ReAppTableSqlHandler.java (.../ReAppTableSqlHandler.java) (revision 22079)
@@ -50,10 +50,26 @@
this.createStatusFilterSql(sqlWhereParamMap, sqlBuilder);
this.createDeptGroupFilterSql(sqlWhereParamMap, sqlBuilder);
this.createTousseGroupFilterSql(sqlWhereParamMap, sqlBuilder);
+ this.createTousseTypeFilterSql(sqlWhereParamMap, sqlBuilder);
this.createApplyTypeFilterSql(sqlWhereParamMap, sqlBuilder);
}
/**
+ * 创建按器械包类型过滤
+ *
+ * @param sqlWhereParamMap 页面的参数
+ * @param sqlBuilder 原来的sql
+ */
+ private void createTousseTypeFilterSql(
+ Map sqlWhereParamMap, StringBuilder sqlBuilder) {
+ String tousseTypes = sqlWhereParamMap.get("tousseTypes");
+ if (StringUtils.isNotBlank(tousseTypes) && tousseTypes.indexOf("全部") == -1) {
+ String tousseTypesSql = SqlBuilder.build_IN_Statement("ti.tousseType", SqlBuilder.IN, tousseTypes.split(Constants.IDS_SEPARATOR_COMMA));
+ sqlBuilder.append(String.format(" and (po.id in (select ti.invoicePlan.id from TousseItem ti where %s))", tousseTypesSql));
+ }
+ }
+
+ /**
* 创建按申请单类型过滤.
*
* @param sqlWhereParamMap 页面的参数
Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js
===================================================================
diff -u -r21858 -r22079
--- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 21858)
+++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 22079)
@@ -1998,6 +1998,8 @@
tbar2.push({text: '按器械包分组:'});
tbar2.push(searchComboConfig.tousseGroupCombo);
}
+ tbar2.push({text: '按器械包类型:'});
+ tbar2.push(searchComboConfig.tousseTypeCombo);
if (sstsConfig.accordingToApplyTypeFilter){
tbar2.push({text: '按申请单类型:'});
tbar2.push(searchComboConfig.applyTypeCombo);
@@ -2231,6 +2233,62 @@
}
/**
+ * 创建按器械包类型下拉选项
+ * @returns
+ */
+function createTousseTypeCombo() {
+ var touseTypeStoreConfig = {
+ url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getAllTousseType.do',
+ model : [{name: 'tousseType', mapping: 'tousseType'}]
+ }
+ return createCombo({
+ xtype : 'multiSelect',
+ fieldLabel : '按器械包类型',
+ valueField : 'tousseType',
+ displayField : 'tousseType',
+ storeConfig : touseTypeStoreConfig,
+ triggerAction : 'all',
+ id : 'tousseType',
+ name : 'tousseType',
+ allowBlank : false,
+ //这个要设置成false,不然多选鼠标离开之后,combo上面的值不会显示
+ forceSelection : false,
+ readOnly:true,
+ listeners: {
+ select: function (combo, record, index) {
+ //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择
+ if (record.get('tousseType') == ALL) {
+ if (record.get('checked')) {
+ combo.selectAll()
+ } else {
+ combo.deselectAll()
+ }
+ }
+
+ //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择
+ var selectAll = true;
+ combo.store.each(function(record) {
+ if (record.get('tousseType') != ALL && !record.get(this.checkField)) {
+ selectAll = false;
+ return;
+ }
+ }, combo);
+
+ var all = combo.store.getAt(0);
+ if (selectAll) {
+ all.set(combo.checkField, true);
+ } else {
+ all.set(combo.checkField, false);
+ }
+ combo.setValue(combo.getCheckedValue());
+
+ reloadConditionPara(combo.getValue(), 'parm_s_tousseTypes');
+ }
+ }
+ });
+}
+
+/**
* 创建按申请单类型的下拉选项
* @returns
*/
@@ -2641,6 +2699,7 @@
quickScreenCombo : quickScreenCombo,
departmentGroupCombo : createDeptGroupCombo(),
tousseGroupCombo : createTousseGroupCombo(),
+ tousseTypeCombo : createTousseTypeCombo(),
applyTypeCombo : createApplyTypeCombo(),
printCombo : createPrintCombo()
});
Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java
===================================================================
diff -u -r21838 -r22079
--- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 21838)
+++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 22079)
@@ -2276,6 +2276,36 @@
}
/**
+ * 获取所有的器械包类型(供前台的combo用)
+ */
+ public void getAllTousseType() {
+ List list = new ArrayList();
+ list.add(createTousseTypeJSONObject(Constants.STR_ALL));
+ list.add(createTousseTypeJSONObject(TousseDefinition.PACKAGE_TYPE_INSIDE));
+ list.add(createTousseTypeJSONObject(TousseDefinition.PACKAGE_TYPE_DRESSING));
+ list.add(createTousseTypeJSONObject(TousseDefinition.PACKAGE_TYPE_DISINFECTION));
+ list.add(createTousseTypeJSONObject(TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY));
+ list.add(createTousseTypeJSONObject(TousseDefinition.PACKAGE_TYPE_FOREIGN));
+ list.add(createTousseTypeJSONObject(TousseDefinition.PACKAGE_TYPE_CUSTOM));
+
+ JSONObject result = new JSONObject();
+ result.put("totalCount", list.size());
+ result.put("data", list);
+ StrutsResponseUtils.output(result);
+ }
+
+ /**
+ * 创建器械包类型的json对象
+ * @param tousseType 器械包类型
+ * @return
+ */
+ private JSONObject createTousseTypeJSONObject(String tousseType) {
+ JSONObject obj = new JSONObject();
+ obj.put("tousseType", tousseType);
+ return obj;
+ }
+
+ /**
* 获取系统上的所有的器械包的处理科室(包括但不限于一级供应室、二级供应室)
* @return
*/