Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/ReAppTableSqlHandler.java =================================================================== diff -u -r17450 -r18570 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/ReAppTableSqlHandler.java (.../ReAppTableSqlHandler.java) (revision 17450) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/ReAppTableSqlHandler.java (.../ReAppTableSqlHandler.java) (revision 18570) @@ -45,6 +45,7 @@ */ public void createFilterSql(Map sqlWhereParamMap, StringBuilder sqlBuilder) { this.createTimeFilterSql(sqlWhereParamMap, sqlBuilder); + this.createPrintFilterSql(sqlWhereParamMap, sqlBuilder); this.createStatusFilterSql(sqlWhereParamMap, sqlBuilder); this.createDeptGroupFilterSql(sqlWhereParamMap, sqlBuilder); this.createTousseGroupFilterSql(sqlWhereParamMap, sqlBuilder); @@ -57,7 +58,7 @@ * @param sqlWhereParamMap 页面的参数 * @param sqlBuilder 原来的sql */ - public void createTousseGroupFilterSql(Map sqlWhereParamMap, StringBuilder sqlBuilder) { + private void createTousseGroupFilterSql(Map sqlWhereParamMap, StringBuilder sqlBuilder) { String tousseGroupId = sqlWhereParamMap.get("tousseGroupId"); if (StringUtils.isNotBlank(tousseGroupId) && tousseGroupId.indexOf("all") == -1) { String ids = SqlBuilder.build_IN_Statement("tg.id", SqlBuilder.IN, tousseGroupId.split(Constants.IDS_SEPARATOR_COMMA)); @@ -172,6 +173,7 @@ * * @param sqlBuilder 原来的sql * @param showSubmitTime 前端传过来的条件 + * @deprecated 此功能暂时没有地方用到 */ @Deprecated private void createSubmitTimeFilterSql(StringBuilder sqlBuilder, String showSubmitTime) { @@ -232,4 +234,19 @@ sqlBuilder.append("))"); } + /** + * 按打印状态过滤 + * + * @param sqlBuilder 原来的sql + * @param sqlWhereParamMap 页面的参数 + */ + private void createPrintFilterSql(Map sqlWhereParamMap, StringBuilder sqlBuilder) { + String printStatus = sqlWhereParamMap.get("print"); + if (StringUtils.isNotBlank(printStatus)) { + if (!"all".equals(printStatus)) { + sqlBuilder.append(" AND po.printed = " + printStatus); + } + } + } + } Index: ssts-web/src/main/webapp/disinfectsystem/config/hzszxrmyy/config.js =================================================================== diff -u -r18430 -r18570 --- ssts-web/src/main/webapp/disinfectsystem/config/hzszxrmyy/config.js (.../config.js) (revision 18430) +++ ssts-web/src/main/webapp/disinfectsystem/config/hzszxrmyy/config.js (.../config.js) (revision 18570) @@ -57,5 +57,7 @@ //外来器械拆分小包名称带总拆包数量 nameIncludeSplitTotalAmountForSplitForeignTousse : true, //添加灭菌记录时,今天审核的待灭菌物品列表是否只显示属于当前灭菌炉的器械包(为true是需要这样过滤,没配否则false则不过滤) - sterilizationCheckTousseSterilingType : true + sterilizationCheckTousseSterilingType : true, + //科室申领打开申请单,是否显示回收数量列 + isShowRecyclingAmount : true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js =================================================================== diff -u -r18521 -r18570 --- ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 18521) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 18570) @@ -139,5 +139,13 @@ //装配界面,扫描清洗篮筐后是否默认自动勾选篮筐内的器械包 packingView_autoSelectTousseWhenScanBasket: true, //是否显示加急等级,默认为不显示。如果为true则显示,false和未定义都不显示 - showUrgentLevel:true + showUrgentLevel:true, + //是否显示按照时间查询 + showTimeSearch : true, + //是否显示科室分组选择框 + isShowDeptGroup : true, + //是否显示打印过滤选择框 + showPrintFilter: true, + //科室申领时间过滤,开始日期是否为当天 + startDateIsToday : true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js =================================================================== diff -u -r18500 -r18570 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 18500) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 18570) @@ -603,6 +603,7 @@ {name : 'maxApplyAmount'}, {name : 'diposable'}, {name : 'tousseType'}, + {name : 'recyclingAmount'}, {name : 'groupNum'}, {name : 'isApplyEntireTousse'}, {name : 'externalCode'}, @@ -1381,6 +1382,22 @@ return storage; } +/** + * 判断是否显示回收数量列 + * @param storeData 要遍历的数据集 + * @returns {boolean} true表示要显示,false表示不显示 + */ +function checkIsShowRecyclingAmount(storeData) { + var storeChildren = storeData.children; + for (var i = 0, size = storeChildren.length; i < size; i++) { + var recyclingAmount = storeChildren[i]['recyclingAmount']; + //遍历这个数据集,如果其中共有物品是有回收数量且回收数量大于0,则显示回收数量这列 + if (!top.Ext.isEmpty(recyclingAmount) && recyclingAmount > 0){ + return true; + } + } + return false; +} function comboApplication(id,editable,hiddenCommitButton,hiddenSaveButton,hiddenReturnEditButton,type, originalCommittedStatus) { allowApplyDisposableGoodsWhenUnderstock = getBoolValueFromJs('sstsConfig.allowApplyDisposableGoodsWhenUnderstock',true); //是否供应室用户 @@ -1793,6 +1810,13 @@ hidden:type==tousseApplicationForm || type==comboApplicationForm || sstsConfig.hidePackageSpec? true:false, menuDisabled : true },{ + header : "回收数量", + dataIndex : 'recyclingAmount', + width : 65 * fontSizeScale, + align : 'center', + hidden: true, + menuDisabled : true + },{ header : "申请数量", width : 62 * fontSizeScale, align:'center', @@ -1879,6 +1903,13 @@ hidden:type=='器械包申请单' || sstsConfig.hidePackageSpec ?true:false, sortable: false },{ + header : "回收数量", + dataIndex : 'recyclingAmount', + align : 'center', + width : 65 * fontSizeScale, + hidden: true, + menuDisabled : true + },{ header : "申请数量", width : 62 * fontSizeScale, align:'center', @@ -2250,8 +2281,18 @@ } } leftTemplateStoreData = result.leftStore; + rightTemplateStoreData = result.rightStore; + + //显示回收数量判断 + if (sstsConfig.isShowRecyclingAmount){ + if (checkIsShowRecyclingAmount(leftTemplateStoreData)){ + top.Ext4.getCmp('tousseTreeGrid').columns[3].show(); + } + if (checkIsShowRecyclingAmount(rightTemplateStoreData)){ + top.Ext4.getCmp('diposableTreeGrid').columns[6].show(); + } + } leftTemplateStore.proxy.data = result.leftStore; - rightTemplateStoreData = result.rightStore; rightTemplateStore.proxy.data = result.rightStore; leftTemplateStore.load(); rightTemplateStore.load(); @@ -3539,22 +3580,17 @@ } /** - * 设置自定义过滤条件,用于状态筛选筛选, - * @param field 对应的参数key + * 设置自定义过滤条件,用于下拉选择框的筛选 + * @param checkValue 选中的值 + * @param fieldName 页面对应的filedName */ -function reloadFilterPara(field) { - var parm_s_status = document.getElementById('parm_s_status'); - if (field == 'all'){ - parm_s_status.value = ''; - } - else if (field == 'unFinish' ){ - parm_s_status.value = 'unFinish'; - } - else if (field == 'finish'){ - parm_s_status.value = 'finish'; - } - // grid.getStore().reload(); - grid.dwrReload(); +function reloadFilterPara(checkValue, fieldName) { + var parm_s_field = document.getElementById('parm_s_' + fieldName) + if (parm_s_field){ + parm_s_field.value = checkValue === 'all' ? '' : checkValue; + // grid.getStore().reload(); + grid.dwrReload(); + } } /** @@ -3665,6 +3701,10 @@ tbar2.push({text: '按器械包分组:'}); tbar2.push(searchComboConfig.tousseGroupCombo); } + if (sstsConfig.showPrintFilter){ + tbar2.push({text: '是否已打印过滤:'}); + tbar2.push(searchComboConfig.printCombo); + } return tbar2; } @@ -3826,7 +3866,6 @@ } ]; } - /** * 创建按科室分组下拉选项 * @returns @@ -3844,7 +3883,7 @@ displayField: 'name', valueField: 'departCodes', storeConfig : deptGroupStoreConfig, - width : 200, + width : 150, listeners: { select: function (combo, record, index) { var deptGroupId = record.get('departCodes'); @@ -3884,6 +3923,41 @@ } /** + * 创建打印状态过滤的下拉选项 + */ +function createPrintCombo() { + var printStatus = new Ext.data.SimpleStore({ + fields: ['key', 'val'], + data: [ + ['all', '全部'], + ['2', '已打印'], + ['1', '未打印'], + ['0', '部分打印'] + ] + }); + + var printCombo = { + xtype: 'combo', + fieldLabel: '打印筛选', + store: printStatus, + width: 80, + mode: 'local', + triggerAction: 'all', + displayField: 'val', + forceSelection: true, + value: '全部', + editable: false, + listeners : { + select : function(combo, record, index){ + var key = record.get('key'); + reloadFilterPara(key, 'print'); + } + } + }; + return printCombo; +} + +/** * 根据storeConfig的配置创建extJs2的store * @param storeConfig 创建store的配置 * @returns {Ext.data.Store} @@ -3913,6 +3987,7 @@ fieldLabel: comboConfig.fieldLabel, store: createStore(comboConfig.storeConfig), width: comboConfig.width || 150, + mode: comboConfig.mode || 'remote', triggerAction: 'all', displayField: comboConfig.displayField, valueField: comboConfig.valueField, @@ -4165,7 +4240,7 @@ var key = record.get('key'); // var val = record.get('val'); // var array = [val]; - reloadFilterPara(key); + reloadFilterPara(key, 'status'); } } }; @@ -4205,7 +4280,8 @@ var searchTbar = createSearchTbar({ quickScreenCombo : quickScreenCombo, departmentGroupCombo : createDeptGroupCombo(), - tousseGroupCombo : createTousseGroupCombo() + tousseGroupCombo : createTousseGroupCombo(), + printCombo : createPrintCombo() }); //操作的tbar @@ -4340,8 +4416,8 @@ if (sstsConfig.showTimeSearch){ - //设置开始时间为服务器当天当月第一天 - getServerTime('yyyy-MM-dd',Ext,'startDate',null, WWWROOT + '/system/serverTimeAction!getFirstDay.do'); + //如果开始日期为当天则设置开始时间为当天,否则设置开始时间为服务器当天当月第一天 + sstsConfig.startDateIsToday ? getServerTime('yyyy-MM-dd', Ext, 'startDate') : getServerTime('yyyy-MM-dd', Ext, 'startDate', null, WWWROOT + '/system/serverTimeAction!getFirstDay.do'); //设置结束时间为服务器当天时间 getServerTime('yyyy-MM-dd',Ext,'endDate'); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/service/DepartmentAppTemplateManagerImpl.java =================================================================== diff -u -r18321 -r18570 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/service/DepartmentAppTemplateManagerImpl.java (.../DepartmentAppTemplateManagerImpl.java) (revision 18321) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/departmentapplicationtemplate/service/DepartmentAppTemplateManagerImpl.java (.../DepartmentAppTemplateManagerImpl.java) (revision 18570) @@ -288,6 +288,11 @@ //如果urgentAmount是空或者是0,则给页面返回空字符串 urgentAmount = StringTools.handleNullOrZero(tousseItem.getUrgentAmount()); + boolean isTerminated = BooleanUtils.isTrue(tousseItem.getIsTerminated()); + json.put("isTerminated", isTerminated); + json.put("checked", isTerminated); + json.put("recyclingAmount", tousseItem.getRecyclingAmount()); + } // 其他属性根据TousseDefinition赋值 if (tdOfTousseItem != null) { @@ -348,19 +353,11 @@ json.put("diposable", "否"); json.put("price", price); json.put("leaf", isLeaf); - if (materialsJsonArray.size() > 0){ json.put("children", materialsJsonArray.toString()); json.put("expanded", true); json.put("expandable", false); } - - if(tousseItem != null){ - boolean isTerminated = BooleanUtils.isTrue(tousseItem.getIsTerminated()); - json.put("isTerminated", isTerminated); - json.put("checked", isTerminated); - } - } return json; } Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp =================================================================== diff -u -r18320 -r18570 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 18320) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.jsp (.../goodsApplicationView.jsp) (revision 18570) @@ -152,6 +152,7 @@ + Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r18462 -r18570 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 18462) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 18570) @@ -919,9 +919,10 @@ obj.put("rightStore", rightStore); try { - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); - StrutsParamUtils.getResponse().getWriter().println(obj.toString()); - } catch (IOException e) { + // StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + StrutsParamUtils.getResponse().setContentType("application/json;charset=UTF-8"); + StrutsParamUtils.getResponse().getWriter().println(obj); + } catch (Exception e) { e.printStackTrace(); } setApplicationReaded(application, config); @@ -1034,6 +1035,7 @@ } } + obj.put("recyclingAmount", tousseItem.getRecyclingAmount()); obj.put("urgentAmount", urgentAmount); obj.put("count", amountStr); obj.put("price", tousseItem.getPrice());