Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java =================================================================== diff -u -r15886 -r15893 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java (.../PackingAction.java) (revision 15886) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java (.../PackingAction.java) (revision 15893) @@ -250,6 +250,8 @@ String idCardInstanceId = request.getParameter("idCardBarcode"); String idCardDefinitionId = request.getParameter("idCardDefinitionId"); String disinfectionDate = request.getParameter("disinfectionDate"); + String depart = request.getParameter("depart");// 临床科室 + String departCoding = request.getParameter("departCoding");// 临床科室编码 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; @@ -373,6 +375,8 @@ packingRecord.setTaskGroup((taskGroup==null||taskGroup.trim().length()==0)?td.getTaskGroup():taskGroup); packingRecord.setOrgUnitCoding(AcegiHelper.getLoginUser() .getOrgUnitCodingFromSupplyRoomConfig()); + packingRecord.setDepart(depart); + packingRecord.setDepartCoding(departCoding); packingManager.saveOrUpdate(packingRecord); // 打印条码、保存包实例 Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r15886 -r15893 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 15886) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 15893) @@ -782,6 +782,8 @@ if(recylingRecord != null){ department = recylingRecord.getDepart(); } + }else{ + department = packingRecord.getDepart(); } if(StringUtils.isNotBlank(department)){ obj.put("department", department); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/packing/PackingRecord.java =================================================================== diff -u -r14386 -r15893 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/packing/PackingRecord.java (.../PackingRecord.java) (revision 14386) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/packing/PackingRecord.java (.../PackingRecord.java) (revision 15893) @@ -63,6 +63,15 @@ private String wrapper;// 包装员 /** + * 临床科室 + */ + private String depart; + /** + * 临床科室编码 + */ + private String departCoding; + + /** * 是否为自定义装配 */ private Boolean isDirectPacking = false; @@ -188,6 +197,22 @@ this.wrapper = wrapper; } + public String getDepart() { + return depart; + } + + public void setDepart(String depart) { + this.depart = depart; + } + + public String getDepartCoding() { + return departCoding; + } + + public void setDepartCoding(String departCoding) { + this.departCoding = departCoding; + } + public Boolean getIsDirectPacking() { return isDirectPacking; } Index: ssts-web/src/main/webapp/disinfectsystem/packing/directPacking.js =================================================================== diff -u -r15581 -r15893 --- ssts-web/src/main/webapp/disinfectsystem/packing/directPacking.js (.../directPacking.js) (revision 15581) +++ ssts-web/src/main/webapp/disinfectsystem/packing/directPacking.js (.../directPacking.js) (revision 15893) @@ -41,6 +41,22 @@ } }); + + //申请科室Store + var appDepartJsonStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getApplicationDepartJson.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + root : 'data' + },[ + {name : 'id',mapping : 'id'}, + {name : 'departCode',mapping : 'departCode'}, + {name : 'name',mapping : 'name'} + ] + ) + }); //器械包 var tousseDefinitionStore = new Ext.data.Store({ @@ -148,6 +164,10 @@ var sterilingType = Ext.getCmp("sterilingType").getValue(); var sterilizer = Ext.getCmp("sterilizer").getValue(); var frequency = Ext.getCmp("frequency").getValue(); + var department = ''; + if(sstsConfig.selectDepartInCustomPacking){ + department=Ext.getCmp('depart').getValue(); + } if(barcodeStr != null && barcodeStr.length > 0){ var tousseName = Ext.getCmp('tousseName').getValue(); @@ -201,6 +221,7 @@ 'idCardDefinitionUseAmount':idCardDefinitionUseAmount,'packageTypeAbbreviation':packageTypeAbbreviation}; obj.sterilizerName = sterilizer; obj.sterileFrequency = frequency; + obj.department = department; defaultPrintPackage(obj); tempPrintNum--; } @@ -595,6 +616,11 @@ name : 'wrapperCode', value : wrapperCode },{ + xtype : 'hidden', + id : 'departCoding', + name : 'departCoding', + value : wrapperCode + },{ columnWidth : .33, layout : 'form', cls:'edit-5char-labelwidth', @@ -765,6 +791,38 @@ columnWidth : .33, layout : 'form', cls:'edit-5char-labelwidth', + hidden : !sstsConfig.selectDepartInCustomPacking, + items : [{ + xtype : 'combo', + fieldLabel : '申请科室', + itemId : 'depart', + name : 'depart', + id : 'depart', + queryParam : 'spell', + minChars : 0, + valueField : 'name', + displayField : 'name', + store : appDepartJsonStore, + forceSelection : true, + lazyInit : true, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true, + flex : 1, + listeners:{ + select:function(combo, record, index){ + Ext.getCmp('departCoding').setValue(record.data.departCode); + }, + focus : function(thiz){ + thiz.selectText(); + } + } + }] + },{ + columnWidth : .33, + layout : 'form', + cls:'edit-5char-labelwidth', items : [ { xtype : 'combo', fieldLabel : "包装类型", Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r15615 -r15893 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 15615) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 15893) @@ -482,6 +482,8 @@ String sql38 = "update Sterilizer set department = '" + newOrgName + "' where orgUnitCoding = '" + orgCoding + "'"; + //历史装配记录 + String sql39 = "update PackingRecord set depart = '" + newOrgName + "' where departCoding = '" + orgCoding + "'"; objectDao.excuteSQL(sql18); objectDao.excuteSQL(sql19); objectDao.excuteSQL(sql20); @@ -504,6 +506,7 @@ objectDao.excuteSQL(sql36); objectDao.excuteSQL(sql37); objectDao.excuteSQL(sql38); + objectDao.excuteSQL(sql39); } // 设置部门管理者 Index: ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/print/printConfig.js =================================================================== diff -u -r15805 -r15893 --- ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/print/printConfig.js (.../printConfig.js) (revision 15805) +++ ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/print/printConfig.js (.../printConfig.js) (revision 15893) @@ -1020,6 +1020,48 @@ LODOP.ADD_PRINT_BARCODE("71mm","5mm","40mm","8mm","128Auto", obj.barcode);// 条码2 LODOP.ADD_PRINT_BARCODE("71mm","55mm","40mm","8mm","128Auto", obj.barcode);// 条码3 } +function getDepartAndName(obj){ + ret = ''; + if(!isUndefinedOrNullOrEmpty(obj.department)){ + ret += obj.department; + ret += '-'; + } + ret += obj.name; + return ret; +} +function getDepartAndNameHtm(obj,departSize,tousseSize,departBold){ + if (departSize <= 0){ + departSize = 1; + } + if(tousseSize <= 0){ + tousseSize = 1; + } + var ret = "
"; + if(!isUndefinedOrNullOrEmpty(obj.department)){ + ret += ""; + if(departBold){ + ret += ""; + } + ret += obj.department; + if(departBold){ + ret += ""; + } + ret += "" + } + ret += ""; + if(!departBold){ + ret += ""; + } + if(!isUndefinedOrNullOrEmpty(obj.department)){ + ret += '-'; + } + ret += obj.name; + if(!departBold){ + ret += ""; + } + ret += "
"; + return ret; +} function printLargeLabel(obj){ doGetLodop(); // 设置默认字体 @@ -1029,7 +1071,7 @@ LODOP.SET_PRINT_STYLE('FontSize', 6); LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); - var departAndName = obj.department+'-'+obj.name + var departAndName = getDepartAndName(obj); var fontSize = getFontSizeByStr(departAndName,[ // {maxLen:6,fontSize:8}, // {maxLen:7,fontSize:7}, @@ -1046,15 +1088,13 @@ var departSize = fontSize; var tousseSize = fontSize - 2; - var departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; - + var departBold = true; if(obj.department == '手术室'){ departSize = fontSize - 2; tousseSize = fontSize; - departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; + departBold = false; } + var departAndNameHtm = getDepartAndNameHtm(obj,departSize,tousseSize,departBold); LODOP.ADD_PRINT_HTM("1mm","0mm","RightMargin:0mm","6mm", departAndNameHtm); setFontSizeBold(fontSize,1);// 设置字体 @@ -1225,23 +1265,21 @@ LODOP.SET_PRINT_STYLE('ShowBarText', true); LODOP.SET_PRINT_STYLE('FontSize', 6); LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); - var departAndName = obj.department + '-' + obj.name; + var departAndName = getDepartAndName(obj); var fontSize = getFontSizeByStr(departAndName,[ {maxLen:13,fontSize:4}, {maxLen:18,fontSize:3}, {maxLen:200,fontSize:2} ]); var departSize = fontSize; var tousseSize = fontSize - 1; - var departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; - + var departBold = true; if(obj.department == '手术室'){ departSize = fontSize - 1; tousseSize = fontSize; - departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; + departBold = false; } + var departAndNameHtm = getDepartAndNameHtm(obj,departSize,tousseSize,departBold); LODOP.ADD_PRINT_HTM("1mm","0mm","RightMargin:0mm","6mm", departAndNameHtm); // setFontSizeBold(fontSize,1);// 设置字体 // setAlignment('center');// 对齐 @@ -1279,7 +1317,7 @@ LODOP.SET_PRINT_STYLE('ShowBarText', true); LODOP.SET_PRINT_STYLE('FontSize', 6); LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); - var departAndName = obj.department + '-' + obj.name; + var departAndName = getDepartAndName(obj); var fontSize = getFontSizeByStr(departAndName,[ // {maxLen:6,fontSize:8}, // {maxLen:7,fontSize:7}, @@ -1291,19 +1329,14 @@ ]); var departSize = fontSize; var tousseSize = fontSize - 1; - var departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; + var departBold = true; if(obj.department == '手术室'){ departSize = fontSize - 1; - if (departSize == 0) - { - departSize = 1; - } tousseSize = fontSize; - departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; + departBold = false; } + var departAndNameHtm = getDepartAndNameHtm(obj,departSize,tousseSize,departBold); LODOP.ADD_PRINT_HTM("1mm","0mm","RightMargin:0mm","6mm", departAndNameHtm); // setFontSizeBold(fontSize,1);// 设置字体 // setAlignment('center');// 对齐 @@ -1337,7 +1370,7 @@ LODOP.SET_PRINT_STYLE('FontSize', 6); LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true); - var departAndName = obj.department + '-' + obj.name; + var departAndName = getDepartAndName(obj); var fontSize = getFontSizeByStr(departAndName,[ {maxLen:6,fontSize:8}, {maxLen:7,fontSize:7}, @@ -1348,16 +1381,14 @@ ]); var departSize = fontSize; var tousseSize = fontSize - 2; - var departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; + departBold = true; if(obj.department == '手术室'){ departSize = fontSize - 4; tousseSize = fontSize; - departAndNameHtm = "
" + obj.department - + "" +'-'+obj.name + "
"; + departBold = false; } - + var departAndNameHtm = getDepartAndNameHtm(obj,departSize,tousseSize,departBold); LODOP. ADD_PRINT_HTM ("1mm","0mm","RightMargin:0mm","14mm", departAndNameHtm); // LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","14mm", departAndName); // setFontSizeBold(fontSize,1);// 设置字体 Index: ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/config.js =================================================================== diff -u -r15880 -r15893 --- ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/config.js (.../config.js) (revision 15880) +++ ssts-web/src/main/webapp/disinfectsystem/config/dgszyy/config.js (.../config.js) (revision 15893) @@ -79,5 +79,7 @@ //使用记录点击审核并生成申请时是否需要提示"手术是否已完成,不需要追加器械包?"字样,为true时才给予提示,没配或者为false则不提示 auditAndConvertUseRecordConfirmMessage : true, //生物检测是否要提示,为true表示要提示,为false或者没有配置,都不提示 - biologicalMonitoringEnable : true + biologicalMonitoringEnable : true, + //自定义装配界面是否选择科室 + selectDepartInCustomPacking : true } \ No newline at end of file