Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java =================================================================== diff -u -r18166 -r18480 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 18166) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 18480) @@ -1,5 +1,6 @@ package com.forgon.disinfectsystem.qualitymonitoring.instance.service; +import java.sql.ResultSet; import java.text.ParseException; import java.util.ArrayList; import java.util.Calendar; @@ -684,5 +685,33 @@ objectDao.delete(qmi); } } + + public boolean isTousseInstanceRepacking(String barcodes){ + boolean ret = false; + if(StringUtils.isBlank(barcodes)){ + return ret; + } + String sql = " select count(*) from QualityMonitoringGoods qmg " + + " where qmg.isRepacking = '是' and qmg.barcode in (" + + barcodes + + ")" ; + ResultSet rs = objectDao.executeSql(sql); + int amount = 0; + if (rs != null) { + try { + while (rs.next()) { + amount = rs.getInt(1); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + } + if(amount > 0){ + ret = true; + } + return ret ; + } } Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/action/QualityMonitoringInstanceAction.java =================================================================== diff -u -r18166 -r18480 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/action/QualityMonitoringInstanceAction.java (.../QualityMonitoringInstanceAction.java) (revision 18166) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/action/QualityMonitoringInstanceAction.java (.../QualityMonitoringInstanceAction.java) (revision 18480) @@ -34,6 +34,7 @@ import com.forgon.tools.ImageUtils; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; import com.opensymphony.xwork2.ModelDriven; @@ -306,6 +307,19 @@ JSONObject json = JSONUtil.buildJsonObject(true); JSONUtil.addProperty(json, "isUnique", isUnique); StrutsResponseUtils.output(json); + } + /** + * 校验是否有包实例已经重新装配 + */ + public void checkIsTousseInstanceRepacking() { + String barcodes = StrutsParamUtils.getPraramValue("barcodes", ""); + boolean haveRepacking = false;// 是否已经重新装配 + if(StringUtils.isNotBlank(barcodes)){ + haveRepacking = qualityMonitoringInstanceManager.isTousseInstanceRepacking(barcodes); + } + JSONObject json = JSONUtil.buildJsonObject(true); + JSONUtil.addProperty(json, "haveRepacking", haveRepacking); + StrutsResponseUtils.output(json); } public void iniInfo() { Index: ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js =================================================================== diff -u -r18470 -r18480 --- ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 18470) +++ ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 18480) @@ -357,7 +357,32 @@ }] }; } - +// 获取选择重新装配的,器械包条码 +function getScanRepacingTiBarcodes(){ + tiBarcodes = ""; + var tousseName = Ext.getCmp('tousseName').getRawValue(); + var isRepacking = Ext.getCmp('isRepacking').getValue(); + if(tousseName != null && tousseName != "" && isRepacking == "是"){ + var barcode = Ext.getCmp('barcode').getValue(); + tiBarcodes += barcode ; + } + var addTousseInstanceAmount = tousseItemCount; + for(var i =1; i <= addTousseInstanceAmount; i++){ + var tousseBarcode = Ext.getCmp('tempBarcode'+i+"_"+1).getValue(); + var tousseName = Ext.getCmp('tempBarcode'+i+"_"+3).getValue(); + var tousseAmount = Ext.getCmp('tempBarcode'+i+"_"+6).getValue(); + var tousseRePacking = Ext.getCmp('tempBarcode'+i+"_"+8).getValue(); + if((tousseName != null && tousseName != "") && (tousseAmount != null && tousseAmount != "") && tousseRePacking == "是"){ + if(tiBarcodes != null && tiBarcodes != ""){ + tiBarcodes += "," + tousseBarcode ; + }else{ + tiBarcodes += tousseBarcode ; + } + + } + } + return tiBarcodes; +} function submitForm2(materialInfo,saveAndCreate){ Ext.getCmp('responsiblePerson').setDisabled(false); var sterilizationStatus = ''; @@ -1668,7 +1693,8 @@ showResultQM("请扫描篮筐条码!"); return false; } - submitForm2(materialInfo,saveAndCreate); +// submitForm2(materialInfo,saveAndCreate); + checkIsTousseInstanceRepackingAndSubmitForm(thiz,materialInfo,saveAndCreate); // checkIsUniqueWithBarcodeAndInspectItemAndSubmitForm(thiz,Ext.getCmp('id').getValue(),barcode,Ext.getCmp('formDefinitionId').getValue(),materialInfo,saveAndCreate); } @@ -1717,6 +1743,27 @@ submitForm2(materialInfo,saveAndCreate); } } +function checkIsTousseInstanceRepackingAndSubmitForm(thiz,materialInfo,saveAndCreate){ + var barcodes = getScanRepacingTiBarcodes(); + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/qualityMonitoringInstanceAction!checkIsTousseInstanceRepacking.do', + params : { + barcodes : barcodes + }, + success : function(response,options){ + var result = Ext.decode(response.responseText); + if(result.haveRepacking){ + showResultQM("扫描的器械包已经重新装配!"); + thiz.enable(); + return false; + } + submitForm2(materialInfo,saveAndCreate); + }, + failure : function(response, options) { + showResultQM('系统加载出错,请稍候再试'); + } + }); +} // 监测范围是器械包,加载器械包 function loadTousseMsg(qualityMonitoringGoodsList){ if(qualityMonitoringGoodsList == null || qualityMonitoringGoodsList == '' || qualityMonitoringGoodsList.length == 0){ Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManager.java =================================================================== diff -u -r16080 -r18480 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManager.java (.../QualityMonitoringInstanceManager.java) (revision 16080) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManager.java (.../QualityMonitoringInstanceManager.java) (revision 18480) @@ -32,4 +32,10 @@ * @param requestParams 请求参数 */ public String saveQualityMonitoringInstance(QualityMonitoringInstance qmInstance,Map requestParams); + /** + * 是否有器械包已经重新装配 + * @param barcodes 器械包条码 中间以","分开 + * @return + */ + public boolean isTousseInstanceRepacking(String barcodes); }