Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/useRecord/UseRecord.java =================================================================== diff -u -r21034 -r21195 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/useRecord/UseRecord.java (.../UseRecord.java) (revision 21034) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/useRecord/UseRecord.java (.../UseRecord.java) (revision 21195) @@ -135,6 +135,9 @@ private String specialInfection;//特殊感染类型 + private String recyclingStatus;//回收状态 + + /** * 住院次数(中山市中医院黄工提出,since 2016-05-13) */ @@ -281,6 +284,16 @@ this.editTime = editTime; } + + + public String getRecyclingStatus() { + return recyclingStatus; + } + + public void setRecyclingStatus(String recyclingStatus) { + this.recyclingStatus = recyclingStatus; + } + /** * 查询该使用记录所有的包实例(不限器械包类型、是否回收、是否转换申请单等条件) * @param dao Index: ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js =================================================================== diff -u -r21034 -r21195 --- ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 21034) +++ ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 21195) @@ -44,7 +44,8 @@ //聚合包需要用到的一些属性 {name : 'subTousseDefinitionId'},//聚合包里的子包包定义id {name : 'comboTousseInstanceId'},//聚合包的包实例id - {name : 'usedAmount'}//已使用数量 + {name : 'usedAmount'},//已使用数量 + {name : 'recyclingStatus'}//回收状态 ] }); @@ -117,7 +118,8 @@ //聚合包的子包需要用到的 {name : 'subTousseDefinitionId'},//聚合包里的子包包定义id {name : 'comboTousseInstanceId'},//聚合包的包实例id - {name : 'usedAmount'}//已使用数量 + {name : 'usedAmount'},//已使用数量 + {name : 'recyclingStatus'}//回收状态 ]); var useAmount = 0; @@ -185,7 +187,8 @@ actualUsed : goodsInfo.actualUsed, isRecycling : goodsInfo.isRecycling, isConvertApplyGoods : goodsInfo.isConvertApplyGoods, - haveUnSupplementMaterials : goodsInfo.haveUnSupplementMaterials + haveUnSupplementMaterials : goodsInfo.haveUnSupplementMaterials, + recyclingStatus : goodsInfo.recyclingStatus }); useItemsStore.insert(0 , record); useAmount++; @@ -889,7 +892,7 @@ var createApplicationBtn = { text : '生成申请单', handler : function() { - + var operatorStr = top.Ext.getCmp('operator').getValue(); var departStr = top.Ext.getCmp('depart').getValue(); var departCodingStr = top.Ext.getCmp('departCoding').getValue(); @@ -1078,7 +1081,7 @@ {header : "条码",dataIndex : 'barcode',width : 52,menuDisabled : true,renderer : renderTousseInstanceInfoShowFun}, {header : "name",dataIndex : 'tousseDefinitionName',hidden : true,menuDisabled : true}, {header : "名称",dataIndex : 'showTousseName',width : 180,menuDisabled : true,renderer : renderTousseInstanceNameForUrgent}, - {header : "使用次数",dataIndex : 'idCardUseAmount',hidden : sstsConfig.disableIdCard}, + {header : "使用次数",dataIndex : 'idCardUseAmount',width : 52,hidden : sstsConfig.disableIdCard}, {header : '加急',width : 30, renderer : function(v, p, record,rowIndex, colIndex) { var imgName = (record.data.isUrgentForUseRecord=='是')?'arrow_down':'arrow_top'; @@ -1164,7 +1167,7 @@ } return ""; }}, - {header : '操作',id : 'delAction',width : 100, + {header : '操作',id : 'delAction',width : 50, renderer : function(v, p, record) { var str = "
"; //对于聚合包内的子包所在的行,不提供删除,但如果删除的是聚合包所在的行,则需要同时删除聚合包下属的子包行 @@ -1183,6 +1186,8 @@ }, menuDisabled : true, dataIndex : 'button' + },{ + header : "回收状态",dataIndex : 'recyclingStatus',width : 60,menuDisabled : true,hidden : sstsConfig.monitorGoodsRecyclingStatusForUseRecord ? false :true, }]); //器械材料 Index: ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordView.js =================================================================== diff -u -r20265 -r21195 --- ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordView.js (.../useRecordView.js) (revision 20265) +++ ssts-web/src/main/webapp/disinfectsystem/useRecord/useRecordView.js (.../useRecordView.js) (revision 21195) @@ -6,11 +6,46 @@ var formSubmitResultSucc = "1"; var formSubmitResultFail = "-1"; +var setRecyclingStatusName = sstsConfig.monitorGoodsRecyclingStatusForUseRecord ?"设置已回收":"" + function newUseRecord(){ addAndEditUseRecord('', ''); setTimeout("top.Ext.getCmp('hospitalNum').focus(true)", 500); } + +/** + * 批量设置状态为已回收 + * @param ids + */ +function batchSetRectgled(ids){ + var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"正在修改状态...."}); + myMask.show(); + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/useRecordAction!batchSetRectgled.do', + method:'POST', + params : { + ids:ids + }, + success : function(response, options) { + var result = Ext.decode(response.responseText); + myMask.hide(); + if(result.message){ + showResult(result.message); + } + grid.dwrReload(); + }, + failure : function(response, options) { + myMask.hide(); + var result = Ext.decode(response.responseText); + if(result.message){ + showResult(result.message); + } + } + }); + +} + // 删除 function deleteUseRecord(grid) { var records = grid.getSelectionModel().getSelections(); @@ -373,6 +408,7 @@ {header : "身份证号码",width : 120,dataIndex : 'patientIDCard'}, {header : "医生",width : 70,dataIndex : 'doctorName'}, {header : "手术名称",width : 150,dataIndex : 'operation'}, + {header : "回收状态",width : 150,dataIndex : 'recyclingStatus',hidden:sstsConfig.monitorGoodsRecyclingStatusForUseRecord ? false :true}, {header : "录入人",width : 60,dataIndex : 'operator'}, {header : "录入科室",width : 80,dataIndex : 'depart'}, {header : "录入时间",width : 120,dataIndex : 'enteringDate',renderer : myDateFormatByMinute}, @@ -390,6 +426,7 @@ {type : 'string',dataIndex : 'patientIDCard'}, {type : 'string',dataIndex : 'doctorName'}, {type : 'string',dataIndex : 'operation'}, + {type : 'string',dataIndex : 'recyclingStatus'}, {type : 'string',dataIndex : 'operator'}, {type : 'date',dataIndex : 'enteringDate'}, {type : 'date',dataIndex : 'applicationTime'}, @@ -409,6 +446,7 @@ {name : 'patientIDCard'}, {name : 'doctorName'}, {name : 'operation'}, + {name : 'recyclingStatus'}, {name : 'depart'}, {name : 'operator'}, {name : 'enteringDate'}, @@ -471,6 +509,20 @@ handler : function() { convertButtonClicked(grid); } + },{ + text : setRecyclingStatusName, + hidden : sstsConfig.monitorGoodsRecyclingStatusForUseRecord ? false :true, + iconCls : 'btn_ext_application_edit', + handler : function() { + var selectionModel = grid.getSelectionModel(); + var selections = []; + selectionModel.each(function(row){ + selections.push(row.data.id); + }); + var ids = selections.join(','); + batchSetRectgled(ids); + } + }, { text : '审核并生成申请单', hidden : SSTS_UseRecord_Convert || sstsConfig.useRecordAuditMode != 2, Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManager.java =================================================================== diff -u -r21186 -r21195 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManager.java (.../UseRecordManager.java) (revision 21186) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManager.java (.../UseRecordManager.java) (revision 21195) @@ -309,4 +309,7 @@ * 根据使用记录转换配置,当处理时间到达所配置的转换时间,则对所配置的科室的使用记录(状态为已审核)进行合并转换申请单(合在一起转换?每个使用记录单独转换?) */ public void timingConvertRecyclingApplication(); + + public void batchSetRectgled(String[] ids); + } Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java =================================================================== diff -u -r21034 -r21195 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java (.../UseRecordAction.java) (revision 21034) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java (.../UseRecordAction.java) (revision 21195) @@ -46,6 +46,7 @@ import com.forgon.tools.date.DateTools; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ForgonDateUtils; import com.google.gson.Gson; import com.opensymphony.xwork2.ModelDriven; @@ -229,6 +230,7 @@ buildUseRecordParamsForSave(modified); useRecordManager.saveUseRecord_TRANS_REQUIRED(modified); } + useRecordManager.updateRecyclingStatus(modified.getId()); //记录操作日志 appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_USERECORD, "新增或修改使用记录", "id=" + id + ",useRecord=" + useRecord.toString()); @@ -413,6 +415,8 @@ //是否转换申请单 obj.put("isConvertApplyGoods", isConvertApplyGoods); obj.put("tousseMaterialErrorDamageJsonData", ti.getTousseMaterialErrorDamageJsonData()); + //回收状态 + obj.put("recyclingStatus", ti.getRecyclingStatus()); array.add(obj); //需要循环该使用记录的所有器械包,如果发现有聚合包,且配置允许修改子包修改数量时,需要将子包的使用情况也输出给前端 @@ -653,4 +657,25 @@ StrutsResponseUtils.output(obj); } } + + /** + * 批量设置使用记录状态为已回收 + */ + public void batchSetRectgled(){ + String ids = StrutsParamUtils.getPraramValue("ids", null); + try{ + if(StringUtils.isBlank(ids)){ + StrutsResponseUtils.output(true, "尚未选中记录"); + return; + } + useRecordManager.batchSetRectgled(ids.split(",")); + StrutsResponseUtils.output(true, "修改成功"); + }catch(RuntimeException e){ + e.printStackTrace(); + StrutsResponseUtils.output(false, e.getMessage()); + }catch(Exception e){ + e.printStackTrace(); + StrutsResponseUtils.output(false,"修改失败"); + } + } } Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r21186 -r21195 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 21186) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 21195) @@ -5165,6 +5165,8 @@ //是否回收 obj.put("isRecycling", td.getIsRecycling()); + //回收状态 + obj.put("recyclingStatus", ti.getRecyclingStatus()); //是否转换申请单 obj.put("isConvertApplyGoods", td.getIsConvertApplyGoods()); }else{ @@ -5201,6 +5203,8 @@ //是否回收 obj.put("isRecycling", td.getIsRecycling()); + //回收状态 + obj.put("recyclingStatus", ti.getRecyclingStatus()); //是否转换申请单 obj.put("isConvertApplyGoods", td.getIsConvertApplyGoods()); }else{ @@ -5607,5 +5611,18 @@ // TODO Auto-generated method stub //待实现 } + + /** + * 批量将使用记录状态设置为“已回收” + */ + @Override + public void batchSetRectgled(String[] ids) { + for (String id : ids) { + UseRecord useRecord = get(id); + useRecord.setRecyclingStatus("已回收"); + saveOrUpdate(useRecord); + } + + } }