Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r20192 -r20437 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 20192) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 20437) @@ -565,7 +565,7 @@ } tousseDefinition.setAncestorID(ancestorTD.getId()); tousseDefinition.setBarcodePaperType(ancestorTD.getBarcodePaperType()); - tousseDefinition.setPrintAmount(ancestorTD.getPrintAmount()); +// tousseDefinition.setPrintAmount(ancestorTD.getPrintAmount()); //现在申请外来器械包支持修改了,以修改的为准 String defaultPackageType = ancestorTD.getPackageType(); if(StringUtils.isBlank(defaultPackageType)){ defaultPackageType = config.getFtDefaultPackageType(); @@ -655,8 +655,10 @@ tousseDefinition.setHandlerDepartName(config.getDptNameOfForeignTousse()); tousseDefinition.setIsCleanedEntirely(cleanedEntirely); tousseDefinition.setIsReview(config.getForeignTousseNeedReview()); - String packageSize = obj.optString("packageSize"); - tousseDefinition.setPackageSize(packageSize); + + tousseDefinition.setPackageSize(obj.optString("packageSize")); //包大小 + tousseDefinition.setPrintAmount(obj.optInt("printAmount")); //打印数量 + tousseDefinition.setSplitNumber(obj.optInt("splitNumber")); //拆包数量 if(forDisplay){ tousseDefinition.setPackageType(config.getFtDefaultPackageType()); Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js =================================================================== diff -u -r20192 -r20437 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 20192) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/foreigntoussedefinition/foreignTousseDefinitionForm.js (.../foreignTousseDefinitionForm.js) (revision 20437) @@ -458,6 +458,7 @@ fieldLabel : "打印份数", allowBlank : false, allowNegative:false, + value: (sstsConfig.foreignToussePrintAmount ? sstsConfig.foreignToussePrintAmount : 1), name : 'printAmount', id : 'printAmount', anchor : '95%' @@ -507,6 +508,21 @@ triggerAction : 'all', anchor : '95%' }] + },{ + columnWidth : .33, + layout : 'form', + labelWidth : 80, + hidden: !sstsConfig.enableForeignTousseSplitNumberProperty, + items:[{ + xtype : 'numberfield', + fieldLabel : "拆包份数", + allowBlank : false, + allowNegative:false, + value: 1, + name : 'splitNumber', + id : 'splitNumber', + anchor : '95%' + }] }] },{ columnWidth : 1, Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r20410 -r20437 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 20410) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 20437) @@ -781,6 +781,8 @@ temp.put("suppler", tousseDefinition.getSupplierName()); temp.put("includeImplant", tousseDefinition.getIncludeImplant()); temp.put("packageSize", tousseDefinition.getPackageSize()); + temp.put("printAmount", tousseDefinition.getPrintAmount()); + temp.put("splitNumber", tousseDefinition.getSplitNumber()); temp.put("allowModifyPackageType", tousseDefinition.getAllowModifyPackageType()); mapList.add(temp); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r19894 -r20437 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 19894) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 20437) @@ -246,7 +246,13 @@ responsePrint(jsonArray.toString()); } - @SuppressWarnings("unchecked") + /** + * 创建外来器械包的子节点(即:材料节点). + * @param tousseItems + * @param confirmRecycle + * @param jsonArray + * @return + */ private JSONArray buildTousseItemsJson(List tousseItems,boolean confirmRecycle,JSONArray jsonArray) { if(tousseItems != null){ for (TousseItem tousseItem : tousseItems) { @@ -258,6 +264,8 @@ jsonobj.put("oldTousseName", tousseName); jsonobj.put("tousseName", tousseName); jsonobj.put("packageSize", td.getPackageSize()); + jsonobj.put("printAmount", td.getPrintAmount()); + jsonobj.put("splitNumber", td.getSplitNumber()); jsonobj.put("tousseDefinitionId", td.getId()); jsonobj.put("supplierName", tousseItem.getSupplierName()); jsonobj.put("oldSupplierName", tousseItem.getSupplierName()); Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js =================================================================== diff -u -r19885 -r20437 --- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 19885) +++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 20437) @@ -29,6 +29,10 @@ if(sstsConfig.defaultPackageSize){ defaultPackageSize = sstsConfig.defaultPackageSize; } +//打印份数的默认值 +var defaultPrintAmount = sstsConfig.foreignToussePrintAmount ? sstsConfig.foreignToussePrintAmount : 1; +//拆包份数的默认值 +var defaultSplitNumber = 1; top.Ext4.define('foreignTousseTreeGrid',{ extend: 'top.Ext4.tree.Panel', @@ -59,9 +63,10 @@ beforeedit: function(editor, context, eOpts){ var record = context.record; var isLeaf = record.get('leaf'); - if(!isLeaf && (context.colIdx == 3 || context.colIdx == 4 || context.colIdx == 6 || context.colIdx == 7)){ + var colIdx = context.colIdx; + if(!isLeaf && (colIdx == 3 || colIdx == 4 || colIdx == 6 || colIdx == 7)){ return false; - }else if(isLeaf && (context.colIdx == 1 || context.colIdx == 5 || context.colIdx == 8)){ + }else if(isLeaf && (colIdx == 1 || colIdx == 5 || colIdx == 8|| colIdx == 9 || colIdx == 10)){ return false; } } @@ -91,6 +96,8 @@ {name : 'usedAmountOfIncludeImplant'}, {name : 'implantAmountOfUseRecord'}, {name : 'packageSize'}, + {name : 'printAmount'}, + {name : 'splitNumber'}, {name : 'minDismantleAmount'}, {name : 'washClassifyType'} ]}); @@ -397,6 +404,8 @@ amount : n.get("amount"), price : n.get("price"), packageSize : n.get("packageSize"), + printAmount : n.get("printAmount"), + splitNumber : n.get("splitNumber"), materials : materials }); } @@ -721,6 +730,8 @@ {name : 'suppler',mapping : 'suppler'}, {name : 'includeImplant',mapping : 'includeImplant'}, {name : 'packageSize',mapping : 'packageSize'}, + {name : 'printAmount',mapping : 'printAmount'}, + {name : 'splitNumber',mapping : 'splitNumber'}, {name : 'materials',mapping : 'materials'} ], listeners : { @@ -772,7 +783,6 @@ allowBlank : true, listeners : { select:function(combo, records, index){ - top.Ext4.getCmp("packageSizeTemp").setValue(records[0].get("packageSize")); var suppler1Comp = top.Ext4.getCmp("suppler1"); suppler1Comp.forceSelection = false; suppler1Comp.setValue(records[0].get("suppler")); @@ -820,12 +830,6 @@ } var suppler = top.Ext4.getCmp('suppler1').getValue(); - //器械包“大小”属性 - var packageSizeTemp = top.Ext4.getCmp("packageSizeTemp").getValue(); - if (!packageSizeTemp) { - packageSizeTemp = defaultPackageSize; - } - if(Ext4.isEmpty(foreignTousseName)){ showResult("请选择器械包!"); top.Ext4.getCmp('foreignTousseName1').focus(); @@ -842,10 +846,16 @@ return false; } - //获取外来器械包的材料信息 - var index = foreignTousseJsonStore.findExact("id",tousseDefinitionId); + //获取外来器械包的材料信息和部分属性 + var record = foreignTousseJsonStore.findRecord("id", tousseDefinitionId); var materials = []; - if(index != -1){ + var packageSize = ''; + var printAmount = 0; + var splitNumber = 0; + if(record){ + packageSize = record.get('packageSize'); + printAmount = record.get('printAmount'); + splitNumber = record.get('splitNumber'); Ext4.Ajax.request({ url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!loadForeignTousseIncludeMaterials.do', params : {id : tousseDefinitionId}, @@ -884,7 +894,9 @@ tousseName: foreignTousseName, oldSupplierName : suppler, supplierName : suppler, - packageSize : packageSizeTemp, + packageSize : (packageSize ? packageSize : defaultPackageSize), + printAmount : (printAmount ? printAmount : defaultPrintAmount), + splitNumber : (splitNumber ? splitNumber : defaultSplitNumber), amount : 1, includeImplant : '', price : 0.00, @@ -1196,6 +1208,41 @@ } } },{ + header: '打印份数', + width : 75, + align:'center', + sortable: true, + dataIndex: 'printAmount', + editor: { + xtype: 'numberfield', + allowBlank: true, + allowDecimals :false, + minValue: 0, + listeners : { + 'focus':function(){ + this.selectText(); + } + } + } + },{ + header: '拆包份数', + width : 75, + align:'center', + sortable: true, + hidden: !sstsConfig.enableForeignTousseSplitNumberProperty, + dataIndex: 'splitNumber', + editor: { + xtype: 'numberfield', + allowBlank: true, + allowDecimals :false, + minValue: 0, + listeners : { + 'focus':function(){ + this.selectText(); + } + } + } + },{ header: '大小', width : 70, align:'center', @@ -1208,7 +1255,6 @@ valueField : 'value', displayField : 'value', editable:false, - value : defaultPackageSize, store : new top.Ext4.data.SimpleStore({ fields : [ 'value' ], data : packageSizeArray @@ -1349,8 +1395,6 @@ {xtype : 'textfield',fieldLabel : '结算科室编号',xtype : 'hidden',name : 'settleAccountsDepartCoding',id : 'settleAccountsDepartCoding'}, {xtype : 'hidden',name : 'foreignTousseInfo',id : 'foreignTousseInfo'}, {xtype : 'hidden',name : 'barcodeStr',id : 'barcodeStr'}, - {xtype : 'hidden',id : 'packageSizeTemp'}, //大小(因为现在一张外来申请单只能申请一个外来器械包) - { xtype : 'textfield', fieldLabel : '申请人', Index: ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js =================================================================== diff -u -r20422 -r20437 --- ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 20422) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 20437) @@ -150,6 +150,10 @@ showTimeSearch : true, //是否显示科室分组选择框 isShowDeptGroup : true, + //外来器械包的打印份数默认值(注意此配置项只能配置正整数) + foreignToussePrintAmount: 2, + //外来器械包是否启用“拆包份数”属性(true为启用,false或者不配置都不启用) + enableForeignTousseSplitNumberProperty: true, //是否显示按器械包分组选择框 isShowTousseGroup : true, //申请单列表和发货单列表是否需按申请单类型过滤(为true需要,为false或者没配都不需要) Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r20435 -r20437 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 20435) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 20437) @@ -485,6 +485,12 @@ * 是否隐藏装配任务 */ private String hidePackingTask; + + /** + * 外来器械包在装配时拆分的份数 + */ + private Integer splitNumber; + @Override @Id @GeneratedValue(strategy = GenerationType.AUTO) @@ -1566,5 +1572,13 @@ public void setHidePackingTask(String hidePackingTask) { this.hidePackingTask = hidePackingTask; } + + public Integer getSplitNumber() { + return splitNumber; + } + + public void setSplitNumber(Integer splitNumber) { + this.splitNumber = splitNumber; + } }