Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/service/BioreaderManagerImpl.java =================================================================== diff -u -r26334 -r26517 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/service/BioreaderManagerImpl.java (.../BioreaderManagerImpl.java) (revision 26334) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/service/BioreaderManagerImpl.java (.../BioreaderManagerImpl.java) (revision 26517) @@ -83,62 +83,103 @@ } @Override - public Elements getBiologicalMonitoringResult(String ip) { - String historyURL="http://" + ip + "/history.htm"; + public Elements getTagInfoByUrlAndTag(String url, String tag) { Elements elements = null; try { - elements=GrabPageTool.getDocument(historyURL).getElementsByTag("tbody").get(0).children(); + elements = GrabPageTool.getDocument(url).getElementsByTag(tag); } catch (Exception e) { e.printStackTrace(); - } - return elements; + } + return elements; } @Override - public JSONObject getFromBiologicalReadinInfo(Bioreader bioreader, String cardPosition , String sterilizationRecordId) { + public JSONObject getBioreaderData(String url, String cardPosition , Date endDate, String cardPositionOfControlTube) { JSONObject json = null; try { - Elements elements = getBiologicalMonitoringResult(bioreader.getBioreaderIp()); + //获取生物阅读器的监测信息 + Elements elements = getTagInfoByUrlAndTag(url,"tbody").get(0).children(); if(elements == null){ json = JSONUtil.buildJsonObject(false, "读取失败,请检查读取地址"); return json; } - SterilizationRecord sterilizationRecord =(SterilizationRecord)objectDao.getById(SterilizationRecord.class.getSimpleName(), sterilizationRecordId); - SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - for (int i = 0; i < elements.size(); i++) { - Element element=elements.get(i); - //#孔号 型号 :#8 1492 - String C2=element.child(1).text(); - String ResultCardPosition=C2.substring(1, 3).trim();//孔号 - if("10".equals(ResultCardPosition) ){ //对照管不查询 - continue; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String monitoringTubeResult = null;//监测管结果 + String controlTubeResult = null;//对照管结果 + String monitoringTubeMsg = null;//监测管读取的结果信息 + String controlTubeMsg = null;//对照管读取的结果信息 + BiologicalReadingDataVo biVO = new BiologicalReadingDataVo(); + //灭菌结束时间与开始监测时间配置的间隔时间,默认60 + int timeOfMonitoringInterval = CssdUtils.getSystemSetConfigByNameInt("timeOfMonitoringInterval", 60); + for (int i = 0; i < elements.size(); i++) {//遍历生物阅读器的监测数据 + if(monitoringTubeResult != null && controlTubeResult != null){//监测管对照管都读取到数据就不再遍历 + break; } + Element element = elements.get(i); + //生物阅读器列名c2的数据:各位为#孔号 型号 ,例如#8 1492 + String c2 = element.child(1).text(); + String resultCardPosition = c2.substring(1, 3).trim();//孔号 //生物监测开始时间 - String startDateStr=element.child(2).text(); - Date startDate=new Date(); - startDate=sdf.parse(startDateStr); - //如果孔号相等 且 灭菌结束时间比开始监测时间不大于配置的间隔时间,默认60 - int timeOfMonitoringInterval = CssdUtils.getSystemSetConfigByNameInt("timeOfMonitoringInterval", 60); - Long count= DateTools.getDateDiff(sterilizationRecord.getEndDate(), startDate, TimeUnit.MINUTES); - if(ResultCardPosition.equals(cardPosition) && count < timeOfMonitoringInterval && count >= 0){ - Date endDate = DateTools.addHours(startDate, 1); - //C4:结果: +:合格 -:不合格 else:监测错误+错误提示码 - String result=element.child(3).text(); - if("-".equals(result)){ - result = SterilizationRecord.MONITOR_RESULT_QUALIFIED; - }else if("+".equals(result)){ - result = SterilizationRecord.MONITOR_RESULT_UNQUALIFIED; + String startDateStr = element.child(2).text(); + Date startDate = sdf.parse(startDateStr); + Long minutesCount = null; + if(monitoringTubeResult == null){//未获取监测管结果 + //间隔的分数:生物监测器上的生物监测开始时间和灭菌结束时间的间隔分数 + minutesCount = DateTools.getDateDiff(endDate, startDate, TimeUnit.MINUTES); + } + Long hoursCount = null; + if(controlTubeResult == null){//未获取对照管结果时 + //对照管开始时间和当前时间的小时差 + hoursCount = DateTools.getDateDiff(startDate, new Date(), TimeUnit.HOURS); + } + if(monitoringTubeResult == null && resultCardPosition.equals(cardPosition) && minutesCount < timeOfMonitoringInterval && minutesCount >= 0){//监测管 + Date endDateOfBioreader = DateTools.addHours(startDate, 1); + //生物阅读器列名c4的数据 + monitoringTubeResult = element.child(3).text(); + if("-".equals(monitoringTubeResult)){//阴性 + monitoringTubeResult = SterilizationRecord.MONITOR_RESULT_NEGATIVE; + }else if("+".equals(monitoringTubeResult)){//阳性 + monitoringTubeResult = SterilizationRecord.MONITOR_RESULT_POSITIVE; + }else{//异常 + monitoringTubeResult = SterilizationRecord.MONITOR_RESULT_ABNORMAL; + } + monitoringTubeMsg = "监测管卡位成功读取到"+ cardPosition +"号孔的数据,开始时间为"+ sdf.format(startDate) +",结束时间为"+ sdf.format(endDateOfBioreader) +",监测结果为" + monitoringTubeResult; + biVO.setBiologicalMonitoringStartDate(startDate); + biVO.setBiologicalMonitoringEndDate(endDateOfBioreader); + biVO.setMonitoringTubeResult(monitoringTubeResult); + }else if(controlTubeResult == null && resultCardPosition.equals(cardPositionOfControlTube) && hoursCount <= 23){//对照管监测数据只查24小时以内的,刚好24小时不算在内 + Date endDateOfBioreader = DateTools.addHours(startDate, 1); + controlTubeResult = element.child(3).text(); + if("-".equals(controlTubeResult)){ + controlTubeResult = SterilizationRecord.MONITOR_RESULT_NEGATIVE; + }else if("+".equals(controlTubeResult)){ + controlTubeResult = SterilizationRecord.MONITOR_RESULT_POSITIVE; }else{ - result = SterilizationRecord.MONITOR_RESULT_ERROR + result; + controlTubeResult = SterilizationRecord.MONITOR_RESULT_ABNORMAL; } - BiologicalReadingDataVo biVO=new BiologicalReadingDataVo(startDate, endDate, result); - json = JSONUtil.buildJsonObject(true, "成功读取" + bioreader.getBioreaderName() + "的" + ResultCardPosition + "号孔数据。开始时间:" + sdf.format(startDate) + ",结束时间:" + sdf.format(endDate) + ",监测结果:" + result); - json = JSONUtil.addProperty(json, "BiologicalReadingDataVo", biVO); - break; - }else if(i == (elements.size() - 1)){//ResultCount次都不匹配 - json = JSONUtil.buildJsonObject(false, "最新数据100条里无匹配数据"); + biVO.setControlTubeResult(controlTubeResult); + controlTubeMsg = "对照管卡位成功读取到"+ cardPositionOfControlTube +"号孔的数据,开始时间为"+ sdf.format(startDate) +",结束时间为"+ sdf.format(endDateOfBioreader) +",监测结果为" + controlTubeResult; + }else if(i == (elements.size() - 1)){//(elements.size()次都不匹配 + json = JSONUtil.buildJsonObject(false, "最新数据"+ elements.size() +"条里无匹配数据"); } } + if(SterilizationRecord.MONITOR_RESULT_POSITIVE.equals(controlTubeResult) && + SterilizationRecord.MONITOR_RESULT_NEGATIVE.equals(monitoringTubeResult)){//监测管阴性,对照管阳性,则生物监测结果合格 + biVO.setBiologyResult(SterilizationRecord.MONITOR_RESULT_QUALIFIED); + json = JSONUtil.buildJsonObject(true, monitoringTubeMsg + "
" + controlTubeMsg); + }else if(monitoringTubeResult == null && controlTubeResult == null){ + json = JSONUtil.buildJsonObject(false, cardPosition + "号监测管卡位,"+ cardPositionOfControlTube +"号对照管卡位均无匹配数据"); + }else if(monitoringTubeResult == null){ + json = JSONUtil.buildJsonObject(false, cardPosition + "号监测管卡位无匹配数据"); + }else if(controlTubeResult == null){ + json = JSONUtil.buildJsonObject(false, cardPositionOfControlTube + "号对照管卡位无匹配数据"); + }else{ + biVO.setBiologyResult(SterilizationRecord.MONITOR_RESULT_UNQUALIFIED); + json = JSONUtil.buildJsonObject(true, monitoringTubeMsg + "
" + controlTubeMsg); + } + biVO.setMonitoringTubeResult(monitoringTubeResult); + biVO.setControlTubeResult(controlTubeResult); + json.put("BiologicalReadingDataVo", biVO); } catch (ParseException e){ e.printStackTrace(); json = JSONUtil.buildJsonObject(false, "日期格式错误"); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/sterilizationrecord/SterilizationRecord.java =================================================================== diff -u -r26366 -r26517 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/sterilizationrecord/SterilizationRecord.java (.../SterilizationRecord.java) (revision 26366) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/sterilizationmanager/sterilizationrecord/SterilizationRecord.java (.../SterilizationRecord.java) (revision 26517) @@ -28,6 +28,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.forgon.Constants; +import com.forgon.disinfectsystem.entity.basedatamanager.bioreader.Bioreader; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; @@ -187,12 +188,15 @@ private String biologyResult; /** - * 监测的结果三种情况,无、合格、不合格 + * 监测的结果,无、合格、不合格,阴性,阳性 */ public static final String MONITOR_RESULT_NO = "无"; public static final String MONITOR_RESULT_QUALIFIED = "合格"; public static final String MONITOR_RESULT_UNQUALIFIED = "不合格"; public static final String MONITOR_RESULT_ERROR = "监测错误"; + public static final String MONITOR_RESULT_NEGATIVE = "阴性"; + public static final String MONITOR_RESULT_POSITIVE = "阳性"; + public static final String MONITOR_RESULT_ABNORMAL = "异常"; /** * 生物监测的开始时间 */ @@ -281,7 +285,42 @@ * 用于灭菌记录页面显示加急 */ private String urgent = Constants.STR_NO; - + /** + * 生物阅读器 + */ + private Bioreader bioreader; + /** + * 监测管卡位 + */ + private String cardPosition; + /** + * 对照管卡位 + */ + private String cardPositionOfControlTube; + /** + * 监测管结果 + */ + private String monitoringTubeResult; + /** + * 对照管结果 + */ + private String controlTubeResult; + /** + * 监测管批号 + */ + private String monitoringBatchNum; + /** + * 监测管有效期 + */ + private String monitoringTubeExpiryDate; + /** + * 对照管批号 + */ + private String controlBatchNum; + /** + * 对照管有效期 + */ + private String controlTubeExpiryDate; @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { @@ -421,7 +460,7 @@ return bioreaderName; } - public void setBioreader(String bioreaderName) { + public void setBioreaderName(String bioreaderName) { this.bioreaderName = bioreaderName; } @@ -792,4 +831,78 @@ public void setUrgent(String urgent) { this.urgent = urgent; } + @ManyToOne + @JoinColumn(name = "bioreaderId") + public Bioreader getBioreader() { + return bioreader; + } + + public void setBioreader(Bioreader bioreader) { + this.bioreader = bioreader; + } + + public String getCardPosition() { + return cardPosition; + } + + public void setCardPosition(String cardPosition) { + this.cardPosition = cardPosition; + } + + public String getCardPositionOfControlTube() { + return cardPositionOfControlTube; + } + + public void setCardPositionOfControlTube(String cardPositionOfControlTube) { + this.cardPositionOfControlTube = cardPositionOfControlTube; + } + + public String getMonitoringTubeResult() { + return monitoringTubeResult; + } + + public void setMonitoringTubeResult(String monitoringTubeResult) { + this.monitoringTubeResult = monitoringTubeResult; + } + + public String getControlTubeResult() { + return controlTubeResult; + } + + public void setControlTubeResult(String controlTubeResult) { + this.controlTubeResult = controlTubeResult; + } + + public String getMonitoringBatchNum() { + return monitoringBatchNum; + } + + public void setMonitoringBatchNum(String monitoringBatchNum) { + this.monitoringBatchNum = monitoringBatchNum; + } + + public String getMonitoringTubeExpiryDate() { + return monitoringTubeExpiryDate; + } + + public void setMonitoringTubeExpiryDate(String monitoringTubeExpiryDate) { + this.monitoringTubeExpiryDate = monitoringTubeExpiryDate; + } + + public String getControlBatchNum() { + return controlBatchNum; + } + + public void setControlBatchNum(String controlBatchNum) { + this.controlBatchNum = controlBatchNum; + } + + public String getControlTubeExpiryDate() { + return controlTubeExpiryDate; + } + + public void setControlTubeExpiryDate(String controlTubeExpiryDate) { + this.controlTubeExpiryDate = controlTubeExpiryDate; + } + } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/service/BioreaderManager.java =================================================================== diff -u -r25480 -r26517 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/service/BioreaderManager.java (.../BioreaderManager.java) (revision 25480) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/service/BioreaderManager.java (.../BioreaderManager.java) (revision 26517) @@ -1,5 +1,7 @@ package com.forgon.disinfectsystem.sterilizationmanager.bioreader.service; +import java.util.Date; + import org.jsoup.select.Elements; import net.sf.json.JSONArray; @@ -45,18 +47,19 @@ */ public JSONObject getBioreaderInfo(Bioreader bioreader); /** - * 获取生物阅读器历史记录 - * @param ip 生物阅读器ip地址 + * 获取指定页面的标签信息 + * @param url url地址 + * @param tag 标签名 * @return Element 历史数据 */ - public Elements getBiologicalMonitoringResult(String ip); + public Elements getTagInfoByUrlAndTag(String url, String tag); /** - * 保存,读取生物阅读记录 - * @param bioreader - * @param cardPosition - * @param ResultCount - * @param sterilizationRecordId + * 获取生物阅读器监测管与对照管的数据 + * @param url 生物阅读器历史记录地址 + * @param cardPosition 监测管卡位 + * @param endDate 灭菌结束时间 + * @param cardPositionOfControlTube 对照管卡位 */ - public JSONObject getFromBiologicalReadinInfo(Bioreader bioreader, String cardPosition, String sterilizationRecordId); + public JSONObject getBioreaderData(String url, String cardPosition, Date endDate, String cardPositionOfControlTube); } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/action/BioreaderAction.java =================================================================== diff -u -r25480 -r26517 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/action/BioreaderAction.java (.../BioreaderAction.java) (revision 25480) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/action/BioreaderAction.java (.../BioreaderAction.java) (revision 26517) @@ -1,5 +1,8 @@ package com.forgon.disinfectsystem.sterilizationmanager.bioreader.action; +import java.text.SimpleDateFormat; +import java.util.Date; + import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; @@ -55,13 +58,14 @@ /** * 给灭菌记录读取生物阅读结果数据 */ - public void getBiologicalMonitoringResult(){ - String sterilizationRecordId = StrutsParamUtils.getPraramValue("sterilizationRecordId", ""); + public void getBiologicalMonitoringResult(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date endDate = StrutsParamUtils.getDatePraramValue("endDate", null, sdf); String cardPosition = StrutsParamUtils.getPraramValue("cardPosition", ""); - if(bioreader.getId() == null){ - return; - } - JSONObject outputJson = bioreaderManager.getFromBiologicalReadinInfo(bioreader, cardPosition, sterilizationRecordId); + String cardPositionOfControlTube = StrutsParamUtils.getPraramValue("cardPositionOfControlTube", ""); + //生物阅读器历史记录地址 + String url = String.format("http://%s/history.htm", bioreader.getBioreaderIp()); + JSONObject outputJson = bioreaderManager.getBioreaderData(url, cardPosition, endDate, cardPositionOfControlTube); StrutsResponseUtils.output(outputJson); } /** Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/vo/BiologicalReadingDataVo.java =================================================================== diff -u -r25480 -r26517 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/vo/BiologicalReadingDataVo.java (.../BiologicalReadingDataVo.java) (revision 25480) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/bioreader/vo/BiologicalReadingDataVo.java (.../BiologicalReadingDataVo.java) (revision 26517) @@ -3,18 +3,42 @@ import java.util.Date; public class BiologicalReadingDataVo { - //生物阅读器序列号 + /** + * 生物阅读器序列号 + */ private Integer SerialNo; - //孔号类型 + /** + * 孔号,卡位类型 + */ private String poreType; - //孔号 + /** + * 监测管卡位 + */ private Integer cardPosition; - //生物监测开始时间 + /** + * 生物监测开始时间 + */ private Date biologicalMonitoringStartDate; - //生物监测结束时间 + /** + * 生物监测结束时间 + */ private Date biologicalMonitoringEndDate; - //生物监测结果 + /** + * 生物监测结果 + */ private String biologyResult; + /** + * 对照管卡位 + */ + private String cardPositionOfControlTube; + /** + * 监测管结果 + */ + private String monitoringTubeResult; + /** + * 对照管结果 + */ + private String controlTubeResult; public BiologicalReadingDataVo(){} @@ -59,5 +83,37 @@ public void setBiologyResult(String biologyResult) { this.biologyResult = biologyResult; } + + public Integer getCardPosition() { + return cardPosition; + } + + public void setCardPosition(Integer cardPosition) { + this.cardPosition = cardPosition; + } + + public String getCardPositionOfControlTube() { + return cardPositionOfControlTube; + } + + public void setCardPositionOfControlTube(String cardPositionOfControlTube) { + this.cardPositionOfControlTube = cardPositionOfControlTube; + } + + public String getMonitoringTubeResult() { + return monitoringTubeResult; + } + + public void setMonitoringTubeResult(String monitoringTubeResult) { + this.monitoringTubeResult = monitoringTubeResult; + } + + public String getControlTubeResult() { + return controlTubeResult; + } + + public void setControlTubeResult(String controlTubeResult) { + this.controlTubeResult = controlTubeResult; + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r25847 -r26517 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 25847) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 26517) @@ -48,6 +48,7 @@ import com.forgon.disinfectsystem.barcode.service.BarcodeManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; +import com.forgon.disinfectsystem.entity.basedatamanager.bioreader.Bioreader; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.disinfectsystem.entity.basedatamanager.position.Position; @@ -240,6 +241,13 @@ String originalRecordIdStr = StrutsParamUtils.getPraramValue( "recordId", ""); + Long bioreaderId = StrutsParamUtils.getPraramLongValue("bioreaderId", null); + if(bioreaderId != null){ + Bioreader bioreader = new Bioreader(); + bioreader.setId(bioreaderId); + sterilizationRecord.setBioreader(bioreader); + } + //这个字段来决定是否从干预界面进入的 String isInterfereStr = StrutsParamUtils.getPraramValue( "isInterfere", ""); Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r26384 -r26517 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 26384) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 26517) @@ -3329,7 +3329,7 @@ anchor : '100%' }] },{ - columnWidth : 0.5, + columnWidth : 1, layout : 'form', labelWidth : 120, hidden : !enableBioreaderInterface, @@ -3345,7 +3345,7 @@ triggerAction : 'all', forceSelection : true, editable : true, - anchor : '100%', + anchor : '50%', store : bioreaderStore, listeners : { select : function(combo, @@ -3356,57 +3356,52 @@ } }] },{ - columnWidth : 0.3, - layout : 'form', - labelWidth : 120, - hidden : !enableBioreaderInterface, - items:[{ - xtype : 'combo', - fieldLabel : '卡位', - valueField : 'cardPosition', - displayField : 'cardPosition', - id : 'cardPosition', - name : 'cardPosition', - mode : 'local', - triggerAction : 'all', - forceSelection : true, - editable : true, - anchor : '100%', - store : new Ext.data.SimpleStore({ - fields : [ 'cardPosition' ], - autoLoad : false, - data :[['1'],['2'],['3'],['4'],['5'],['6'],['7'],['8'],['9'],['10']] - }) - }] - },{ - columnWidth : .2, + columnWidth : 1, layout : 'form', cls:'edit-5char-labelwidth', - labelWidth : 70, hidden : !enableBioreaderInterface, - items : [{ xtype:'button', + items : [{ + xtype:'button', text : '获取生物监测结果', + style: { + marginLeft:'120px',//距左边宽度 + }, name : "getBiologyResult", id : "getBiologyResult", handler : function(){ + var endDate = top.Ext.getCmp('endDate').getValue(); + if(endDate == null || endDate == ''){ + showResult("请先完成灭菌"); + return; + } var bioreaderId = top.Ext.getCmp('bioreaderId').getValue(); var cardPosition = top.Ext.getCmp('cardPosition').getValue(); + var cardPositionOfControlTube = top.Ext.getCmp('cardPositionOfControlTube').getValue(); if(bioreaderId.length == 0){ showResult("请选择生物阅读器"); top.Ext.getCmp('bioreaderId').focus(); return; - }else if(cardPosition == 0){ - showResult("请选择卡位"); + }else if(cardPosition == ""){ + showResult("请选择监测管卡位"); top.Ext.getCmp('cardPosition').focus(); return; + }else if(cardPositionOfControlTube == ""){ + showResult("请选择对照管卡位"); + top.Ext.getCmp('cardPositionOfControlTube').focus(); + return; + }else if(cardPosition == cardPositionOfControlTube){ + showResult("监测管卡位,对照管卡位必须不一致"); + top.Ext.getCmp('cardPosition').focus(); + return; } formObj.getEl().mask("正在加载,请稍候..."); Ext.Ajax.request({ url : WWWROOT + '/disinfectSystem/sterilization/bioreaderAction!getBiologicalMonitoringResult.do', params : { - sterilizationRecordId : id, + endDate : endDate.format("Y-m-d H:i:s"), id : bioreaderId, - cardPosition : cardPosition + cardPosition : cardPosition, + cardPositionOfControlTube : cardPositionOfControlTube }, waitMsg : '正在处理,请稍候...', success : function(response, options) { @@ -3418,8 +3413,10 @@ top.Ext.getCmp('biologyResult').setValue(result.BiologicalReadingDataVo.biologyResult); top.Ext.getCmp('biologicalMonitoringStartDate').setValue(new Date(result.BiologicalReadingDataVo.biologicalMonitoringStartDate.time)); top.Ext.getCmp('biologicalMonitoringEndDate').setValue(new Date(result.BiologicalReadingDataVo.biologicalMonitoringEndDate.time)); + top.Ext.getCmp('controlTubeResult').setValue(result.BiologicalReadingDataVo.controlTubeResult); + top.Ext.getCmp('monitoringTubeResult').setValue(result.BiologicalReadingDataVo.monitoringTubeResult); } - }); + }); }else{ showResult(result.message); } @@ -3435,12 +3432,144 @@ } }] },{ + columnWidth : 0.5, + layout : 'form', + labelWidth : 120, + hidden : !enableBioreaderInterface, + items:[{ + xtype : 'combo', + fieldLabel : '监测管卡位', + valueField : 'cardPosition', + displayField : 'cardPosition', + id : 'cardPosition', + name : 'cardPosition', + mode : 'local', + triggerAction : 'all', + forceSelection : true, + editable : true, + anchor : '100%', + store : new Ext.data.SimpleStore({ + fields : [ 'cardPosition' ], + autoLoad : false, + data :[['1'],['2'],['3'],['4'],['5'],['6'],['7'],['8'],['9'],['10']] + }) + }] + },{ columnWidth : .5, + labelWidth : 120, layout : 'form', + cls:'edit-5char-labelwidth', + hidden : !enableBioreaderInterface, + items : [{ + xtype : 'textfield', + fieldLabel : "监测管结果", + name : "monitoringTubeResult", + id : "monitoringTubeResult", + anchor : '100%', + readOnly : true, + cls:'x-item-disabled' + }] + },{ + columnWidth : .5, labelWidth : 120, + layout : 'form', cls:'edit-5char-labelwidth', + hidden : !enableBioreaderInterface, items : [{ xtype : 'textfield', + fieldLabel : "监测管批号", + name : "monitoringBatchNum", + id : "monitoringBatchNum", + anchor : '100%', + cls:'edit-5char-labelwidth' + }] + },{ + columnWidth : .5, + labelWidth : 120, + layout : 'form', + cls:'edit-5char-labelwidth', + hidden : !enableBioreaderInterface, + items : [{ + xtype : 'textfield', + fieldLabel : "监测管有效期", + name : "monitoringTubeExpiryDate", + id : "monitoringTubeExpiryDate", + anchor : '100%', + cls:'edit-5char-labelwidth' + }] + },{ + columnWidth : 0.5, + layout : 'form', + labelWidth : 120, + hidden : !enableBioreaderInterface, + items:[{ + xtype : 'combo', + fieldLabel : '对照管卡位', + valueField : 'cardPositionOfControlTube', + displayField : 'cardPositionOfControlTube', + id : 'cardPositionOfControlTube', + name : 'cardPositionOfControlTube', + mode : 'local', + triggerAction : 'all', + forceSelection : true, + editable : true, + anchor : '100%', + store : new Ext.data.SimpleStore({ + fields : [ 'cardPositionOfControlTube' ], + autoLoad : false, + data :[['1'],['2'],['3'],['4'],['5'],['6'],['7'],['8'],['9'],['10']] + }) + }] + },{ + columnWidth : .5, + labelWidth : 120, + layout : 'form', + cls:'edit-5char-labelwidth', + hidden : !enableBioreaderInterface, + items : [{ + xtype : 'textfield', + fieldLabel : "对照管结果", + name : "controlTubeResult", + id : "controlTubeResult", + anchor : '100%', + readOnly : true, + cls:'x-item-disabled' + }] + },{ + columnWidth : .5, + labelWidth : 120, + layout : 'form', + cls:'edit-5char-labelwidth', + hidden : !enableBioreaderInterface, + items : [{ + xtype : 'textfield', + fieldLabel : "对照管批号", + name : "controlBatchNum", + id : "controlBatchNum", + anchor : '100%', + cls:'edit-5char-labelwidth' + }] + },{ + columnWidth : .5, + labelWidth : 120, + layout : 'form', + cls:'edit-5char-labelwidth', + hidden : !enableBioreaderInterface, + items : [{ + xtype : 'textfield', + fieldLabel : "对照管有效期", + name : "controlTubeExpiryDate", + id : "controlTubeExpiryDate", + anchor : '100%', + cls:'edit-5char-labelwidth' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 120, + cls:'edit-5char-labelwidth', + items : [{ + xtype : 'textfield', fieldLabel : "监测员条码", name : "monitorUserBarcode", id : "monitorUserBarcode", @@ -3781,9 +3910,14 @@ } bioreaderStore.load(); } else { - if(sr.sterilizer.bioreader != null){ - top.Ext.getCmp('bioreaderId').setValue(sr.sterilizer.bioreader.id); - } + //优先显示生物监测数据来源的生物阅读器,其次显示灭菌炉绑定的生物阅读器 + if(sr.bioreader != null){ + top.Ext.getCmp('bioreaderId').setValue(sr.bioreader.id); + top.Ext.getCmp('bioreaderName').setValue(sr.bioreader.bioreaderName); + }else if(sr.sterilizer.bioreader != null){ + top.Ext.getCmp('bioreaderId').setValue(sr.sterilizer.bioreader.id); + top.Ext.getCmp('bioreaderName').setValue(sr.sterilizer.bioreader.bioreaderName); + } top.Ext.getCmp('startDate').setValue(formatDateYear(sr.startDate)); top.Ext.getCmp('endDate').setValue(formatDateYear(sr.endDate)); top.Ext.getCmp('srSituationComfirmer').setValue(sr.srSituationComfirmer);