Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java =================================================================== diff -u -r16634 -r16651 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java (.../UseRecordAction.java) (revision 16634) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java (.../UseRecordAction.java) (revision 16651) @@ -182,6 +182,7 @@ String barcode = JSONUtil.optString(obj,"barcode",""); tousseInstance.setBarcode(barcode); tousseInstance.setIsUrgentForUseRecord(JSONUtil.optString(obj, "isUrgentForUseRecord", Constants.STR_NO)); + tousseInstance.setActualUsed(JSONUtil.optString(obj, "actualUsed", Constants.STR_YES)); tousseInstanceList.add(tousseInstance); } } @@ -394,6 +395,7 @@ obj.put("foreignTousseApp_id", ti.getForeignTousseApp_id()); obj.put("isUrgentForUseRecord", StringTools.defaultString(ti.getIsUrgentForUseRecord())); obj.put("includeImplant", includeImplant); + obj.put("actualUsed", StringTools.defaultIfBlank(ti.getActualUsed(),Constants.STR_YES)); array.add(obj); } } @@ -483,7 +485,6 @@ } public void loadUseRecord() { - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); Map map = new HashMap(); String id = StrutsParamUtils.getPraramValue("id", ""); if (StringUtils.isNotBlank(id)) { @@ -492,12 +493,7 @@ map.put("success", true); map.put("data", useRecord); JSONObject jsonObject = JSONObject.fromObject(map); - String jsonStr = jsonObject.toString(); - try { - StrutsParamUtils.getResponse().getWriter().println(jsonStr); - } catch (IOException e) { - e.printStackTrace(); - } + StrutsResponseUtils.output(jsonObject); } public void deleteUseRecord() { @@ -618,6 +614,7 @@ obj.put("foreignTousseApp_id",ti.getForeignTousseApp_id()); obj.put("tousseType", tousseType); obj.put("includeImplant", includeImplant); + obj.put("actualUsed", Constants.STR_YES); //扫描的时候,都取默认值,为是。以免录了使用记录之后,又删除了,就把包实例这个属性修改了,再扫描,就不是默认的值了 }else{ obj.put("msg", "该器械包所属科室为" + ti.getLocationForDisplay() + ",未配置与当前科室共用,不能录入使用记录!"); } @@ -647,6 +644,7 @@ obj.put("foreignTousseApp_id",ti.getForeignTousseApp_id()); obj.put("tousseType", tousseType); obj.put("includeImplant", includeImplant); + obj.put("actualUsed", Constants.STR_YES); }else{ obj.put("msg", "该器械包所属科室为" + ti.getLocationForDisplay() + ",不能录入使用记录!"); } Index: ssts-web/src/main/webapp/disinfectsystem/config/zsszyy/config.js =================================================================== diff -u -r16625 -r16651 --- ssts-web/src/main/webapp/disinfectsystem/config/zsszyy/config.js (.../config.js) (revision 16625) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsszyy/config.js (.../config.js) (revision 16651) @@ -85,5 +85,7 @@ //当外来器械未归还时能否申请 canApplyForForeignTousseNotReturn : false, //使用记录扫描条码,是否提示更接近失效期的包实例 - olderTousseComfirmForUserecord:true + olderTousseComfirmForUserecord:true, + //使用记录是否启用是否真正使用的功能。如果是否真正使用属性为否,则需要转换申请单 + enableActualUsed:true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js =================================================================== diff -u -r16634 -r16651 --- ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 16634) +++ ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 16651) @@ -41,7 +41,8 @@ {name : 'tousseType'}, {name : 'foreignTousseApp_id'}, {name : 'isUrgentForUseRecord'}, - {name : 'includeImplant'} + {name : 'includeImplant'}, + {name : 'actualUsed'} ] }); @@ -172,7 +173,8 @@ validUntil : validTime, tousseType : goodsInfo.tousseType, foreignTousseApp_id : goodsInfo.foreignTousseApp_id, - includeImplant : goodsInfo.includeImplant + includeImplant : goodsInfo.includeImplant, + actualUsed : goodsInfo.actualUsed }); tousseInstanceStore.add(record); useAmount++; @@ -208,7 +210,8 @@ tousseType : goodsInfo.tousseType, goodsType : goodsInfo.goodsType, foreignTousseApp_id : '', - includeImplant : '否' + includeImplant : '否', + actualUsed:'是' }); tousseInstanceStore.add(record); useAmount++; @@ -590,6 +593,12 @@ tousseInstanceGrid.getView().refresh(); } +function actualUsedClick(rowIndex, colIndex,value){ + var tousseInstanceGrid = top.Ext.getCmp('tousseInstanceGrid'); + var store = tousseInstanceGrid.getStore(); + var record = store.getAt(rowIndex); + record.data.actualUsed = value; +} /** * 如果点击添加按钮,则传过来的ID为空 * @@ -782,7 +791,17 @@ return str; }, menuDisabled : true - }, + },{header : "是否真正使用",dataIndex : 'actualUsed',width : 70,menuDisabled : true,hidden:!sstsConfig.enableActualUsed, + renderer: function(v, p, record,rowIndex, colIndex){ + var str = v; + var id = record.id; + if(record.data.actualUsed == '否'){ + str = "是 否"; + }else if(record.data.actualUsed == '是'){ + str = "是 否"; + } + return str; + }}, {header : "数量",dataIndex : 'amount',width : 35,menuDisabled : true,editor : new Ext.form.NumberField({ allowBlank : false, listeners : { @@ -840,8 +859,8 @@ {header : "器械材料发货单号",dataIndex : 'materialInvoiceSerialNumber',id:'materialInvoiceSerialNumber',width : 150} ]); - var formWidth = 840; - var windowWidth = 860; + var formWidth = 930; + var windowWidth = 930; var windowHeight = 550; formObj = new top.Ext.FormPanel({ id : 'useRecordForm', @@ -1374,7 +1393,7 @@ store : tousseInstanceStore, cm : tousseCm, height : 265, - width:835, + width:900, autoHeight : true, autoExpandColumn : 'delAction', frame : false, Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r16348 -r16651 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 16348) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 16651) @@ -727,6 +727,7 @@ tousseInstance.validateAssociatedInfoForUseRecord(); if(modifiedTousseInstance != null){ tousseInstance.setIsUrgentForUseRecord(modifiedTousseInstance.getIsUrgentForUseRecord()); + tousseInstance.setActualUsed(modifiedTousseInstance.getActualUsed()); } objectDao.saveOrUpdate(tousseInstance); updatedTousseInstances.add(tousseInstance); @@ -820,6 +821,8 @@ Map tousseBarcodeToDefinitionIdMap = new HashMap(); // key-使用记录id,value-该使用记录中包含的器械包实例条码 int i = 1; + // 是否启用真正使用功能 + boolean enableActualUsed = CssdUtils.getSystemSetConfigByNameBool("enableActualUsed"); for (Long id : ids) { List tousseInstanceList = tousseInstanceManager .findTousseInstanceListByUseRecordId(id); @@ -829,7 +832,9 @@ if(tousseDefinition == null){ throw new RuntimeException(tousseInstance.getTousseName()+",包定义已经不存在!"); } - if (TousseDefinition.STR_NO.equals(tousseDefinition.getIsConvertApplyGoods())) { + //如果没有启用是否真正使用功能,那下面这句就为true,不影响之前的功能,否则就看是否真正使用的值,如果已经使用的,就看包定义是否转换。如果没有使用,则需要转换,而不管理包定义是否转换 + boolean actualUsed = enableActualUsed?(!tousseInstance.actualNotUsed()):true; + if (TousseDefinition.STR_NO.equals(tousseDefinition.getIsConvertApplyGoods()) && actualUsed) { continue; } tousseBarcodeToDefinitionIdMap.put(tousseInstance.getBarcode(), tousseDefinition.getId()); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java =================================================================== diff -u -r16484 -r16651 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 16484) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 16651) @@ -261,6 +261,10 @@ */ private String isUrgentForUseRecord; /** + * 使用记录是否真正使用到病人身上 + */ + private String actualUsed=Constants.STR_YES; + /** * 器械包重量 */ private String weight; @@ -1076,6 +1080,24 @@ this.isUrgentForUseRecord = isUrgentForUseRecord; } + /** + * 获取是否真正使用的属性。 + * @return + */ + public String getActualUsed() { + return actualUsed; + } + + public void setActualUsed(String actualUsed) { + this.actualUsed = actualUsed; + } + /** + * 判断是否真正使用,如果是否真正使用为否,则使用记录需要转换申请单,不管包定义是否要转换 + * @return + */ + public boolean actualNotUsed(){ + return StringTools.equals(Constants.STR_NO, actualUsed); + } public String getWeight() { return weight; }