Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/toussemaintain/tousseMaintainForm.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/toussemaintain/tousseMaintainForm.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/toussemaintain/tousseMaintainForm.js (revision 13962) @@ -0,0 +1,333 @@ +var id; +var formObj; +var deviceInterfaceWin; +function addAndEditTousseMainTain(id) { + this.id = id; + + formObj = new top.Ext.FormPanel( { + id : 'tousseMaintainForm', + frame : true, + labelAlign:'right', + labelSeparator : ':', + bodyStyle : 'padding:5px 5px 0px 5px', + labelWidth : 100, + autoHeight : true, + autoScroll : true, + items : [ { + xtype : 'hidden', + name : 'id', + id : 'id' + },{ + xtype : 'hidden', + name : 'operator', + id : 'operator' + },{ + xtype : 'hidden', + name : 'operationTime', + id : 'operationTime' + },{ + layout : 'column', + items : [ { + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [ { + xtype : 'textfield', + fieldLabel : "扫描条码", + allowBlank : true, + blankText : '请输入!', + name : "inputText", + id : "inputText", + anchor : '97.5%', + listeners : { + specialkey : function(field, ee) { + if (ee.getKey() == Ext.EventObject.ENTER) { + var barcode = top.Ext.getCmp('inputText').getValue(); + if(barcode!=null && barcode != ""){ + BarcodeTableManager.getBarcodeTypeByBarcode(barcode,function(jsonStr){ + var result = Ext.util.JSON.decode(jsonStr); + if(result !=null && result !=""){ + if(result.returnType == 'user'){ + loadUserByBarcode(barcode); + }else if(result.returnType == 'tousseInstance'){ + loadMaintainMsgByIdcardID(barcode); + } + else{ + showResult('找不到该条码所对应的信息!'); + } + }else{ + showResult('找不到该条码所对应的信息!'); + } + top.Ext.getCmp('inputText').setValue(''); + }); + }else{ + showResult('请扫描条码!'); + } + } + } + } + }] + },{ + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [ { + xtype : 'textfield', + fieldLabel : "操作类型", + name : "optType", + id : "optType", + allowBlank : false, + readOnly: true, +// disabled:true, + anchor : '97.5%' + }] + },{ + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [ { + xtype : 'textfield', + fieldLabel : "器械包名称", + name : "tousseName", + id : "tousseName", + allowBlank : false, + readOnly: true, +// disabled:true, + anchor : '97.5%' + }] + },{ + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [ { + xtype : 'textfield', + fieldLabel : "标识牌", + name : "idCardInstanceIDBarcode", + id : "idCardInstanceIDBarcode", + allowBlank : false, + readOnly: true, +// disabled:true, + anchor : '97.5%' + }] + },{ + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [ { + xtype : 'textfield', + fieldLabel : "保养人", + name : "maintainUser", + id : "maintainUser", + allowBlank : false, + readOnly: true, +// disabled:true, + anchor : '95%' + }] + }, { + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + cls:'edit-5char-labelwidth', + items : [ { + xtype : 'datefieldWithMin', + fieldLabel : "保养时间", + name : "maintainTime", + id : "maintainTime", + blankText : '请输入保养时间!', + format : 'Y-m-d H:i', + allowBlank : false, + anchor : '97.5%' + }] + }, { + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [ { + xtype : 'textfield', + fieldLabel : "已使用次数", + name : "beenUseCount", + id : "beenUseCount", + allowBlank : false, + readOnly: true, +// disabled:true, + anchor : '95%' + } ] + }, { + layout : 'form', + columnWidth : 0.5, + labelWidth : 70, + items : [{ + xtype : 'textfield', + fieldLabel : '备注', + id : 'remark', + name : 'remark', + allowBlank : true, + anchor : '95%' + }] + }] + } ], + buttons : [ { + id : 'saveBtn', + text : '保存', + handler : save + }, { + text : '取消', + id : 'cancel', + handler : cancel + } ] + }); + + tousseMaintainWin = new top.Ext.Window( { + id : 'tousseMaintainWin', + layout : 'fit', + title : '器械包保养信息', + width : 600, + border : false, + modal : true, + autoHeight : true, + plain : true, + items : [ formObj ] + }); + tousseMaintainWin.show(); +} + +function loadData(optType) +{ + formObj.form + .load( { + url : WWWROOT + '/disinfectSystem/tousseMaintainAction!loadTousseMaintain.do', + method : 'GET', + waitMsg : '正在加载数据,请稍候', + success : function(form, action) { + if(optType != undefined && optType != '') + { + top.Ext.getCmp('optType').setValue(optType); + } + }, + failure : function(form, action) { + }, + params : { + id : id + } + }); +} + +function loadDataByIdCardInstanceID(idCardInstanceID,optType) +{ + formObj.form + .load( { + url : WWWROOT + '/disinfectSystem/tousseMaintainAction!initTousseMaintainByIdCardInstanceId.do', + method : 'GET', + waitMsg : '正在加载数据,请稍候', + success : function(form, action) { + if(optType != undefined && optType != '') + { + top.Ext.getCmp('optType').setValue(optType); + } + }, + failure : function(form, action) { + }, + params : { + idCardInstanceID : idCardInstanceID + } + }); +} +function validateAndSubmit(){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/tousseMaintainAction!validate.do', + params : {name:top.Ext.getCmp('tousseName').getValue()}, + success : function(response, options) { + var result = Ext.decode(response.responseText); + if(result.stauts==1){ + formObj.form.submit( { + url : WWWROOT + '/disinfectSystem/tousseMaintainAction!saveTousseMaintain.do', + method : 'POST', + waitMsg : '正在保存数据,请稍候', + waitTitle : '提交表单', + success : function(form, action) { + tousseMaintainWin.close(); + showResult('保存成功'); + grid.dwrReload(); + }, + failure : function(form, action) { + showResult('failure = ' + action.result.message,'error'); + top.Ext.getCmp('saveBtn').enable(); + } + }); + }else{ + showResult(result.message); + top.Ext.getCmp('saveBtn').enable(); + } + }, + failure : function(response, options) { + var result = Ext.decode(response.responseText); + showResult(result.cause); + } + }); +} + +function save() { + this.disable(); + if (!formObj.form.isValid()) { + showResult("请正确填写表单各值"); + this.enable(); + return false; + } + validateAndSubmit(); +} + +function cancel() { + tousseMaintainWin.close(); +} + +//根据条码获取用户 +function loadUserByBarcode(barcode){ + top.Ext.getCmp('inputText').setValue(''); + var setComBoVal = ''; + var cleanMinutes = 0; + if(isUndefinedOrNullOrEmpty(barcode)){ + showResult('条码不能为空!'); + } + UserTableManager.getUserByBarcode(barcode,function(responseText){ + if(!isUndefinedOrNullOrEmpty(responseText)){ + var result = top.Ext.decode(responseText); + if(!result.success){ + showResult("输入的条码有误!"); + return; + } + top.Ext.getCmp('maintainUser').setValue(result.fullName); + }else{ + showResult('找不到该条码所对应的人员信息'); + } + }); +} + +//根据条码获取标识牌信息 +function loadMaintainMsgByIdcardID(barcode){ + top.Ext.getCmp('inputText').setValue(''); + var setComBoVal = ''; + var cleanMinutes = 0; + if(barcode == undefined || barcode == ''){ + showResult('条码不能为空!'); + } + var optType = top.Ext.getCmp('optType').getValue(); + if(optType == '到期添加') + { + showResult("到期添加不能扫描标识牌!"); + return; + } + TousseMaintainTableManager.getMaintainMsgByIdcardID(barcode,function(responseText){ + if(!isUndefinedOrNullOrEmpty(responseText)){ + var result = top.Ext.decode(responseText); + if(!result.success){ + showResult("输入的条码有误!"); + return; + } + top.Ext.getCmp('tousseName').setValue(result.tousseName); + top.Ext.getCmp('beenUseCount').setValue(result.useAmount); + top.Ext.getCmp('idCardInstanceIDBarcode').setValue(result.idCardBarcode); + }else{ + showResult('找不到该条码所对应的信息'); + } + }); +} Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r13830 -r13962 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 13830) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 13962) @@ -529,6 +529,8 @@ idCardInstanceID = result.idCard.id; // alert(idCardInstanceID) Ext4.getCmp('operatorBarcode').focus(); + // 做保养器械包的处理 + maintainTousse(); } else { @@ -1958,6 +1960,7 @@ var damages = taskNode.get("damages"); var errors = taskNode.get("errors"); var department = taskNode.get("department"); + // 装配 packed = packingTousse(basketBarcode,taskId,tousseName,tousseType,1,packageType,sterilingType,supplierName,department); if(packed){ addTaskItemsToDelete(tousseItemsToDelete,tousseName,taskId,1); @@ -1970,6 +1973,25 @@ return packed; } +function maintainTousse(){ + // 判断是否保养 + var isMaintain = false; + DWREngine.setAsync(false); + PackingTableManager.isMaintainTousse(idCardInstanceID,function(result){ + isMaintain = result; + }); + DWREngine.setAsync(true); + if(isMaintain == true){ + Ext4.MessageBox.confirm("器械包需要保养", "是否保养?", + function(btn) { + if (btn == 'yes') { + addAndEditTousseMainTain(); + loadDataByIdCardInstanceID(idCardInstanceID,"到期添加"); + } + }); + } +} + function printTousseByNode(tousseNode){ var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); var packed = false; Index: ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/util/IDCardInstanceUtils.java =================================================================== diff -u -r12331 -r13962 --- ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/util/IDCardInstanceUtils.java (.../IDCardInstanceUtils.java) (revision 12331) +++ ssts-idcard/src/main/java/com/forgon/disinfectsystem/idcardinstance/util/IDCardInstanceUtils.java (.../IDCardInstanceUtils.java) (revision 13962) @@ -4,13 +4,18 @@ */ package com.forgon.disinfectsystem.idcardinstance.util; +import java.text.SimpleDateFormat; import java.util.Collections; import java.util.Comparator; +import java.util.Date; import java.util.List; import org.apache.commons.lang3.StringUtils; +import com.forgon.disinfectsystem.entity.basedatamanager.tousseMaintain.TousseMaintain; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; +import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; import com.forgon.tools.hibernate.ObjectDao; @@ -81,4 +86,99 @@ } return false; } + /** + * 根据标识牌确认器械包是否需要保养 + * @return + */ + public static boolean isTousseNeedMaintain(ObjectDao objectDao,IDCardInstance idCardInstance){ + if( idCardInstance == null || objectDao == null) + return false; + //return true; + String idCardBardcode = idCardInstance.getBarcode(); + Long idCardInstanceID = idCardInstance.getId(); + IDCardDefinition idCardDefinition = idCardInstance.getIDCardDefinition(objectDao); + try{ + if( idCardDefinition != null && idCardDefinition.getTousseDefinition(objectDao) != null) + { + TousseDefinition tousseDefinition = idCardDefinition.getTousseDefinition(objectDao); + int intervalTime = tousseDefinition.getMaintainIntervalTime(); + int intervalCount = tousseDefinition.getMaintainIntervalCount(); + + String sql = String + .format(" where po.idCardInstanceIDBarcode= \'%s\' and po.beenUseCount=(select max(beenUseCount) from %s where idCardInstanceIDBarcode= \'%s\' )", + idCardBardcode, TousseMaintain.class.getSimpleName(), + idCardBardcode); + TousseMaintain tousseMaintain = (TousseMaintain) objectDao.getBySql( + TousseMaintain.class.getSimpleName(), sql); + // 已经保养过的处理 + if(tousseMaintain != null) + { + // 如果要校验时间 那上次保养时间跟现在的时间比较 + if(intervalTime > 0) + { + String lastMaintainTime = tousseMaintain.getOperationTime(); + SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd hh:mm"); + Date lastMaintainDate = sim.parse(lastMaintainTime); + Date now = new Date(); + long diff = now.getTime() - lastMaintainDate.getTime(); + long days = diff / (1000 * 60 * 60 * 24); + if( days > intervalTime){ + return true; + } + } + // 如果要校验使用次数 上次保养时候的使用次数和现在的次数比较 + if(intervalCount > 0) + { + int ic = (int)(idCardInstance.getIDCardDefinition(objectDao).getUseAmount() - tousseMaintain.getBeenUseCount()); + if( ic >= intervalCount) + { + return true; + } + + } + }else{ + // 还没有进行保养过的情况 +// if(intervalTime > 0){ +// // 找到该标识牌的器械包实例首次使用时间(装配时间) +// sql = String.format(" where po.idCardInstanceID=%s and po.id = (select min(id) from %s where idCardInstanceID=%s)", +// idCardInstanceID, TousseInstance.class.getSimpleName(), +// idCardInstanceID); +// TousseInstance tousseInstance = (TousseInstance) objectDao.getBySql( +// TousseInstance.class.getSimpleName(), sql); +// if(tousseInstance != null) +// { +// Date firstUseDate = tousseInstance.getOperationTime(); +// Date now = new Date(); +// long diff = now.getTime() - firstUseDate.getTime(); +// long days = diff / (1000 * 60 * 60 * 24); +// if( days >= intervalTime){ +// return true; +// } +// } +// } + if(intervalCount > 0){ + if(idCardInstance.getIDCardDefinition(objectDao).getUseAmount() >= intervalCount) + { + return true; + } + } + } + } + }catch(Exception ex){ + ex.printStackTrace(); + return false; + } + + return false; + } + public static boolean isTousseNeedMaintain(ObjectDao objectDao,Long idCardInstanceID){ + if(objectDao == null || idCardInstanceID == null) + return false; + List idcardInstances = objectDao.findByProperty(IDCardInstance.class.getSimpleName(), "id", ""+idCardInstanceID); + if(idcardInstances != null && idcardInstances.size() > 0 ) + { + return isTousseNeedMaintain(objectDao,(IDCardInstance)idcardInstances.get(0)); + } + return false; + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/tousseMaintain/TousseMaintain.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/tousseMaintain/TousseMaintain.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/tousseMaintain/TousseMaintain.java (revision 13962) @@ -0,0 +1,94 @@ +package com.forgon.disinfectsystem.entity.basedatamanager.tousseMaintain; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class TousseMaintain { + private Long id; + + private Long idCardInstanceID; // 标识牌id + private String idCardInstanceIDBarcode; // 标识牌序列号 + private String tousseName; // 器械包名称 + private String maintainUser; // 保养人 + private String maintainTime; // 保养时间 + private Long beenUseCount = 0L; // 已使用次数 + private String optType; // 操作类型 手工添加还是到期添加 + private String remark; // 备注 + + private String operator; // 操作人 + private String operationTime; // 操作时间 + + public String getMaintainUser() { + return maintainUser; + } + public void setMaintainUser(String maintainUser) { + this.maintainUser = maintainUser; + } + public String getMaintainTime() { + return maintainTime; + } + public void setMaintainTime(String maintainTime) { + this.maintainTime = maintainTime; + } + public String getOptType() { + return optType; + } + public void setOptType(String optType) { + this.optType = optType; + } + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public Long getIdCardInstanceID() { + return idCardInstanceID; + } + public void setIdCardInstanceID(Long idCardInstanceID) { + this.idCardInstanceID = idCardInstanceID; + } + + public String getIdCardInstanceIDBarcode() { + return idCardInstanceIDBarcode; + } + public void setIdCardInstanceIDBarcode(String idCardInstanceIDBarcode) { + this.idCardInstanceIDBarcode = idCardInstanceIDBarcode; + } + public String getTousseName() { + return tousseName; + } + public void setTousseName(String tousseName) { + this.tousseName = tousseName; + } + public String getOperator() { + return operator; + } + public void setOperator(String operator) { + this.operator = operator; + } + public String getOperationTime() { + return operationTime; + } + public void setOperationTime(String operationTime) { + this.operationTime = operationTime; + } + public Long getBeenUseCount() { + return beenUseCount; + } + public void setBeenUseCount(Long beenUseCount) { + this.beenUseCount = beenUseCount; + } + public String getRemark() { + return remark; + } + public void setRemark(String remark) { + this.remark = remark; + } + +} Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java =================================================================== diff -u -r13445 -r13962 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 13445) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 13962) @@ -491,4 +491,8 @@ return packingManager.getIDCardInfoForPackingView(barcode); } + public boolean isMaintainTousse(Long idCardInstanceId){ + return IDCardInstanceUtils.isTousseNeedMaintain(objectDao, idCardInstanceId); + } + } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r13889 -r13962 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 13889) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 13962) @@ -200,6 +200,9 @@ private Long tousseGroupID; // 器械包分组id private String tousseGroupName;// 器械包分组名字 + private Integer maintainIntervalTime;//保养间隔时间 单位为天 + private Integer maintainIntervalCount; // 保养间隔次数 + /** * 是否特殊器械包(是否或,为空默认为否),中大六院项目新增的字段,其它医院暂时不用 */ @@ -316,6 +319,22 @@ this.isCleanedEntirely = isCleanedEntirely; } + public Integer getMaintainIntervalTime() { + return maintainIntervalTime; + } + + public void setMaintainIntervalTime(Integer maintainIntervalTime) { + this.maintainIntervalTime = maintainIntervalTime; + } + + public Integer getMaintainIntervalCount() { + return maintainIntervalCount; + } + + public void setMaintainIntervalCount(Integer maintainIntervalCount) { + this.maintainIntervalCount = maintainIntervalCount; + } + @OneToMany(mappedBy = "tousse", fetch = FetchType.LAZY, cascade = { CascadeType.ALL }) @LazyCollection(LazyCollectionOption.EXTRA) public List getMaterialInstances() { Index: forgon-tools/src/main/java/com/forgon/tools/db/resultset/ResultSetUtil.java =================================================================== diff -u -r13054 -r13962 --- forgon-tools/src/main/java/com/forgon/tools/db/resultset/ResultSetUtil.java (.../ResultSetUtil.java) (revision 13054) +++ forgon-tools/src/main/java/com/forgon/tools/db/resultset/ResultSetUtil.java (.../ResultSetUtil.java) (revision 13962) @@ -37,7 +37,7 @@ method.invoke(obj, rs.getObject(field)); } catch (Exception e) { // TODO Auto-generated catch block - //e.printStackTrace(); + e.printStackTrace(); } } } Index: ssts-web/src/main/webapp/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp (revision 13962) @@ -0,0 +1,54 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> + + + + +<%@ include file="/common/includeExtJsAndCss.jsp"%> + + + + + + + + + + + + + + + + + +器械包保养 + + + + + + +
+
+
+
+ + + +
+ + \ No newline at end of file Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r13900 -r13962 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 13900) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 13962) @@ -308,6 +308,7 @@ {hidden :SSTS_ForeignTousse_Recyc_Menu,text:"外来器械包管理",href:WWWROOT+'/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_TousseInstanceManager_ViewMenu,text:"器械包信息",href:WWWROOT+'/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_TousseInstanceManager_ViewMenu,text:"器械包库存",href:WWWROOT+'/disinfectsystem/toussemanager/toussegoodsstock/tousseGoodsStockView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :(!sstsConfig.hasOwnProperty('disabeleTousseMaintain')) || sstsConfig.disabeleTousseMaintain,text:"器械包保养",href:WWWROOT+'/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_DepartMentTousseManager,text:"科室器械包管理",href:WWWROOT+'/disinfectsystem/departmentStock/departmentStockInputView.jsp',hrefTarget:linkTarget,leaf:true} ] },{ Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseMaintainTableManager.java =================================================================== diff -u --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseMaintainTableManager.java (revision 0) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseMaintainTableManager.java (revision 13962) @@ -0,0 +1,177 @@ +package com.forgon.disinfectsystem.packing.dwr.table; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.Transformer; +import org.apache.commons.lang3.StringUtils; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.forgon.component.grid.GridManager; +import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.BarcodeDevice; +import com.forgon.directory.vo.LoginUserData; +import com.forgon.disinfectsystem.barcode.service.BarcodeManager; +import com.forgon.disinfectsystem.basedatamanager.container.service.ReviewedBasketManager; +import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; +import com.forgon.disinfectsystem.entity.assestmanagement.DiposableGoodsInstance; +import com.forgon.disinfectsystem.entity.basedatamanager.deviceinterface.DeviceInterface; +import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; +import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.tousseMaintain.TousseMaintain; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; +import com.forgon.disinfectsystem.entity.goodsstock.GoodsStock; +import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; +import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningItemVO; +import com.forgon.disinfectsystem.packing.service.PackingManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; +import com.forgon.tools.SqlBuilder; +import com.forgon.tools.date.DateTools; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.db.resultset.ResultSetUtil; +import com.forgon.tools.hibernate.ObjectDao; + +/** + * 器械包保养dwr类 + * @author zengjc + * @since 2016-06-23 + */ +public class TousseMaintainTableManager { + + private GridManager gridManager; + + private TousseDefinitionManager tousseDefinitionManager; + + private ObjectDao objectDao; + private BarcodeManager barcodeManager; + + public void setBarcodeManager(BarcodeManager barcodeManager) { + this.barcodeManager = barcodeManager; + } + + public void setGridManager(GridManager gridManager) { + this.gridManager = gridManager; + } + + public void setTousseDefinitionManager( + TousseDefinitionManager tousseDefinitionManager) { + this.tousseDefinitionManager = tousseDefinitionManager; + } + + public void setObjectDao(ObjectDao objectDao) { + this.objectDao = objectDao; + } + + /** + * 查询器械包保养信息 + * @param parameterMap + * @return + */ + @SuppressWarnings("unchecked") + public String findTousseMaintainSummaryTableList( + Map> parameterMap) { + + Map sqlWhereParamMap = gridManager + .getParamFromView(parameterMap); + StringBuilder sqlBuilder = new StringBuilder(); + sqlBuilder.append(" where 1=1 "); + + // 器械包名称 + String tousseName = sqlWhereParamMap.get("tousseName"); + if (StringUtils.isNotBlank(tousseName)) { + sqlBuilder.append(" and tousseName='" + tousseName + "'"); + } + // 标识牌 + String idCardInstanceIDBarcode = sqlWhereParamMap.get("idCardInstanceIDBarcode"); + if (StringUtils.isNotBlank(idCardInstanceIDBarcode)) { + sqlBuilder.append(" and idCardInstanceIDBarcode='" + idCardInstanceIDBarcode + "'"); + } +// sqlBuilder.append(" order by tousseName "); +// +// int start = 0; +// int pageSize = 20; +// if (parameterMap != null) { +// Map paramSqlMap = gridManager +// .parserMapToSQL(parameterMap); +// +// List pageStart = parameterMap +// .get(GridManager.GRID_PAGE_START); +// if (pageStart != null && pageStart.size() > 0 +// && StringUtils.isNotBlank(pageStart.get(0)) +// && StringUtils.isNumeric(pageStart.get(0))) { +// start = Integer.valueOf(pageStart.get(0)); +// } +// +// List pageSizeStr = parameterMap +// .get(GridManager.GRID_PAGE_SIZE); +// if (pageSizeStr != null && pageSizeStr.size() > 0 +// && StringUtils.isNotBlank(pageSizeStr.get(0)) +// && StringUtils.isNumeric(pageSizeStr.get(0))) { +// pageSize = Integer.valueOf(pageSizeStr.get(0)); +// } +// } +// + String sql = sqlBuilder.toString(); +// int totalResults = objectDao.countBySql("select count(0) from " + sql); +// List tousseMaintainList = new ArrayList(); +// ResultSet rs = objectDao.executeSql("select * from " + sql + " order by tousseName"); +// try { +// ResultSetUtil.setFieldValueByResultSet(rs, TousseMaintain.class, tousseMaintainList); +// //tousseMaintainList = (List)rs; +// } catch (Exception e) { +// +// } +// DatabaseUtil.closeResultSetAndStatement(rs); +// +// Map map = new HashMap(); +// map.put("totalResults", totalResults); +// map.put("list", tousseMaintainList); +// //map.put("selectSqlWhereCondition", sql); +// String json = gridManager.converJsonString(totalResults, tousseMaintainList, sql , new String[]{}); +// return json; + String renderGrid = gridManager.renderGrid(parameterMap, + TousseMaintain.class.getSimpleName(), sql, new String[]{}); + return renderGrid; + } + + public String getMaintainMsgByIdcardID(String idCardBarcode) + { + JSONObject obj = new JSONObject(); + obj.put("success", false); + if(StringUtils.isBlank(idCardBarcode)) + return obj.toString(); + BarcodeDevice barcodeDevice = barcodeManager + .getBarcodeByBarcode(idCardBarcode); + if(barcodeDevice == null ) + return obj.toString(); + if(barcodeDevice instanceof IDCardInstance) + { + IDCardInstance idcardInstance = (IDCardInstance)barcodeDevice; + String tousseName = idcardInstance.getIDCardDefinition(objectDao).getTousseDefinition(objectDao).getName(); + Long useAmount = idcardInstance.getIDCardDefinition(objectDao).getUseAmount(); + obj.put("tousseName", tousseName); + obj.put("useAmount", useAmount); + obj.put("idCardBarcode", idCardBarcode); + obj.put("success", true); + } + return obj.toString(); + } + + +} Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.jsp =================================================================== diff -u -r13863 -r13962 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.jsp (.../packingView.jsp) (revision 13863) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.jsp (.../packingView.jsp) (revision 13962) @@ -58,7 +58,11 @@ + + + + 装配管理