Index: ssts-web/src/main/webapp/disinfectsystem/config/zsykzx/config.js =================================================================== diff -u -r20608 -r20616 --- ssts-web/src/main/webapp/disinfectsystem/config/zsykzx/config.js (.../config.js) (revision 20608) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsykzx/config.js (.../config.js) (revision 20616) @@ -55,17 +55,17 @@ enableStoreCode: true, //一次性物品发完货回写的仓库编码(注意:这个属性只有enableStoreCode等于true才有意义) storeCodeValues: [ - {departmentName: '供应室',departmentCode: '3001',showStoreCodeCombo:false,store:[{storeCode: '3', storeName: '供应室库房'}]}, - {departmentName: '手术室',departmentCode: '2002',showStoreCodeCombo:true, + {departmentName: '供应室',departmentCode: '3001',showStoreCodeCombo: false,store: [{storeCode: '3', storeName: '供应室库房'}]}, + {departmentName: '手术室',departmentCode: '2002',showStoreCodeCombo: true, store:[ {storeCode: '47', storeName: '手术室仓库七'}, {storeCode: '48', storeName: '手术室仓库八'}, {storeCode: '49', storeName: '手术室仓库九'}, {storeCode: '40', storeName: '手术室公共库'} ] }, - {departmentName: '麻醉科',departmentCode: '2003',showStoreCodeCombo:false,store:[{storeCode: '9', storeName: '麻醉科库房'}]}, - {departmentName: '其他科室',departmentCode: 'other',showStoreCodeCombo:false,store:[{storeCode: '60', storeName: '科室'}]} + {departmentName: '麻醉科',departmentCode: '2003',showStoreCodeCombo: false,store: [{storeCode: '9', storeName: '麻醉科库房'}]}, + {departmentName: '其他科室',departmentCode: 'other',showStoreCodeCombo: false,store: [{storeCode: '60', storeName: '科室'}]} ], //使用记录转申请单备注信息(如巡回护士:张三;病人:李四) useRecordConvertRecyclingApplicationRemark : '@circuitNurseLabelName:@circuitNurse;病人:@patientName', Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationForm.js =================================================================== diff -u -r20431 -r20616 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationForm.js (.../goodsApplicationForm.js) (revision 20431) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationForm.js (.../goodsApplicationForm.js) (revision 20616) @@ -2,6 +2,7 @@ /** * 添加申请单或者修改申请单(目前只有:“通用申请单”、“器械包申请单”、“敷料包申请单”、“消毒物品申请单”、“一次性物品申请单”、“专科器械申请单”这六种申请单会调用处方法). * @param id 申请单id + * @param deptCoding 申请科室的科室编码 * @param hiddenCommitButton 是否隐藏提交按钮 * @param hiddenSaveButton 是否隐藏暂存按钮 * @param hiddenReturnEditButton 是否隐藏返回修改按钮 @@ -11,7 +12,7 @@ * @param handleDepartCoding 处理科室的科室编码(修改才有值) * @param isInterveneAmount 是否为干预数量操作 */ -function comboApplication(id,hiddenCommitButton,hiddenSaveButton,hiddenReturnEditButton,type,tousseGroups, +function comboApplication(id,deptCoding,hiddenCommitButton,hiddenSaveButton,hiddenReturnEditButton,type,tousseGroups, originalCommittedStatus,handleDepartCoding,isInterveneAmount) { //器械包申请单的物品视图是否分成两个grid tousseApplicationFormGridSplit = false; @@ -51,6 +52,23 @@ {name : 'title',mapping : 'title'} ] }); + + //仓库名称combo的store + var storeCodeStore = new Ext4.data.Store({ + proxy : { + type : 'ajax', + url : WWWROOT + '/disinfectSystem/recyclingApplicationAction!loadStoreCodeStore.do', + reader : { + type : 'json', + root : 'data', + totalProperty : 'totalCount' + } + }, + fields : [ + {name : 'storeCode',mapping : 'storeCode'}, + {name : 'storeName',mapping : 'storeName'} + ] + }); leftTemplateStore.setRootNode({'expanded':false,'children':[]}); rightTemplateStore.setRootNode({'expanded':false,'children':[]}); @@ -1106,6 +1124,18 @@ top.Ext4.getCmp('projCode').setValue(''); } } + + //5、加载仓库数据 + if(sstsConfig.enableStoreCode + && (type == diposableGoodsApplicationForm || type == comboApplicationForm) + && isShowStoreCodeCombo(deptCoding)){ + top.Ext4.getCmp('storeCode').setVisible(true); + storeCodeStore.proxy.extraParams.departmentCode = deptCoding; + storeCodeStore.reload(); //加载仓库数据 + } else{ + top.Ext4.getCmp('storeCode').setVisible(false); + top.Ext4.getCmp('storeCode').setValue(''); + } }, focus : function(thiz){ thiz.selectText(); @@ -1220,6 +1250,18 @@ thiz.selectText(); } } + },{ + xtype : 'combo', + fieldLabel : '仓库名称', + hidden: true, + id : 'storeCode', + name : 'storeCode', + triggerAction : 'all', + editable: false, + flex : 1, + displayField : 'storeName', + valueField : 'storeCode', + store : storeCodeStore }] }] }, @@ -1292,6 +1334,18 @@ } } + //加载仓库数据 + if(sstsConfig.enableStoreCode + && (type == diposableGoodsApplicationForm || type == comboApplicationForm) + && isShowStoreCodeCombo(deptCoding)){ + top.Ext4.getCmp('storeCode').setVisible(true); + storeCodeStore.proxy.extraParams.departmentCode = deptCoding; + storeCodeStore.reload(); //加载仓库数据 + } else{ + top.Ext4.getCmp('storeCode').setVisible(false); + top.Ext4.getCmp('storeCode').setValue(''); + } + if(id == ""){//添加 //如果一级供应室用户,则光标定位到“申请科室combo”,否则光标定位到“物品名称combo” if (isFirstSupplyRoomUser) { @@ -1637,3 +1691,21 @@ } return record; } + +/** + * 判断是否需要显示仓库名称的combo + * @param deptCoding + * @returns {Boolean} + */ +function isShowStoreCodeCombo(deptCoding) { + var storeCodeValues = sstsConfig.storeCodeValues; + if (storeCodeValues) { + for (var int = 0; int < storeCodeValues.length; int ++) { + var obj = storeCodeValues[int]; + if (deptCoding == obj.departmentCode && obj.showStoreCodeCombo) { + return true; + } + } + } + return false; +} Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r20534 -r20616 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 20534) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 20616) @@ -1747,6 +1747,29 @@ StrutsResponseUtils.output(result); } + + /** + * 根据科室编码获取仓库(配置在config.js,此方法只使用于中山大学中山眼科中心). + */ + public void loadStoreCodeStore() { + JSONObject result = new JSONObject(); + String departmentCode = StrutsParamUtils.getPraramValue("departmentCode", ""); + String storeCodeValues = CssdUtils.getSystemSetConfigByName("storeCodeValues"); + if (StringTools.isNotBlank(departmentCode) && StringTools.isNotBlank(storeCodeValues)) { + JSONArray storeCodeValuesJsonObj = JSONArray.fromObject(storeCodeValues); + + for (Object object : storeCodeValuesJsonObj) { + JSONObject jsonObj = (JSONObject) object; + if (StringTools.equals(departmentCode, jsonObj.optString("departmentCode")) + && jsonObj.optBoolean("showStoreCodeCombo")) { + JSONArray stores = jsonObj.optJSONArray("store"); + result.put("data", stores); + continue; + } + } + } + StrutsResponseUtils.output(result); + } /** Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js =================================================================== diff -u -r20408 -r20616 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 20408) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationView.js (.../goodsApplicationView.js) (revision 20616) @@ -83,7 +83,7 @@ //设置打开表单的对象 setOpenFormObj(tousseType, form, tousseGroups); if (!isUndefinedOrNullOrEmpty(form)){ - comboApplication(0,false,false,true,form, tousseGroups, false, '',false); + comboApplication(0,'',false,false,true,form, tousseGroups, false, '',false); } } @@ -1673,10 +1673,10 @@ || type == tousseApplicationForm || type == diposableGoodsApplicationForm || type == disinfectGoodsApplicationForm){ - comboApplication(recyclingApplication.id,hiddenCommitButton,hiddenSaveButton,hiddenReturnButton,type, '', recyclingApplication.committedStatus,recyclingApplication.handleDepartCoding,isInterveneAmount); + comboApplication(recyclingApplication.id,recyclingApplication.departCoding,hiddenCommitButton,hiddenSaveButton,hiddenReturnButton,type, '', recyclingApplication.committedStatus,recyclingApplication.handleDepartCoding,isInterveneAmount); } - //设置“申请单id”、“流水号”、“发货状态”、“申请人”、“住院号”、“申请科室”、“结算科室”、“处理科室”、“申请时间”、“备注”、“项目”11个属性 + //设置“申请单id”、“流水号”、“发货状态”、“申请人”、“住院号”、“申请科室”、“结算科室”、“处理科室”、“申请时间”、“备注”、“仓库编码”、“项目”12个属性 top.Ext4.getCmp("id").setValue(recyclingApplication.id); top.Ext4.getCmp("serialNumber").setValue(recyclingApplication.serialNumber); top.Ext4.getCmp("deliverStatus").setValue(deliverStatus); @@ -1716,6 +1716,8 @@ } } + top.Ext4.getCmp('storeCode').setValue(recyclingApplication.storeCode); + if(recyclingApplication.editable == 'false' || isInterveneAmount){ //不可编辑 departComp.setReadOnly(true); top.Ext4.getCmp("settleAccountsDepart").setReadOnly(true);