Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.97_4.9.98_oracle.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.97_4.9.98_oracle.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.97_4.9.98_oracle.sql (revision 34359) @@ -0,0 +1 @@ +update Sterilisation set sterilizationPurposeid = (select max(id) from HttpOption where optionText = Sterilisation.sterilizationPurpose and optionListId = 'sterilizationPurpose') where sterilizationPurposeid is null and sterilizationPurpose is not null; \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilisation/action/SterilisationAction.java =================================================================== diff -u -r24102 -r34359 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilisation/action/SterilisationAction.java (.../SterilisationAction.java) (revision 24102) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilisation/action/SterilisationAction.java (.../SterilisationAction.java) (revision 34359) @@ -27,6 +27,7 @@ import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonPropertyFilter; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; @@ -88,19 +89,17 @@ } public String saveSterilisation() { - if (sterilisation != null) { - sterilisation.setType(BarcodeDevice.BARCODE_TYPE_STERILISATION); - sterilisationManager.saveOrUpdate(sterilisation); - //返回条码、供页面打印 - HttpServletResponse httpServletResponse = StrutsParamUtils - .getResponse(); - try { - String result = "{success:true,barcode:'"+sterilisation.getBarcode()+"'}"; - httpServletResponse.getWriter().print(result); - } catch (IOException e) { - e.printStackTrace(); + JSONObject result = JSONUtil.buildJsonObject(true); + try { + if (sterilisation != null) { + sterilisation.setType(BarcodeDevice.BARCODE_TYPE_STERILISATION); + sterilisationManager.saveOrUpdate(sterilisation); + result.put("barcode", sterilisation.getBarcode()); } + } catch (Exception e) { + result = JSONUtil.buildJsonObject(false, "保存失败:" + e.getMessage()); } + StrutsResponseUtils.output(result); return null; } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilisation/service/SterilisationManagerImpl.java =================================================================== diff -u -r30309 -r34359 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilisation/service/SterilisationManagerImpl.java (.../SterilisationManagerImpl.java) (revision 30309) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilisation/service/SterilisationManagerImpl.java (.../SterilisationManagerImpl.java) (revision 34359) @@ -7,13 +7,16 @@ import java.util.List; import java.util.Map; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.exception.SystemException; import com.forgon.serialnumber.model.SerialNum; import com.forgon.serialnumber.service.SerialNumManager; +import com.forgon.systemsetting.model.HttpOption; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; @@ -43,6 +46,21 @@ sterilisation.setBarcode(serial); sterilisation.setType(BarcodeDevice.BARCODE_TYPE_STERILISATION); } + + //验证灭菌目的是否正确 + if(StringUtils.isNotBlank(sterilisation.getSterilizationPurpose())){ + String sql = String.format("select po from %s po where po.optionListId = '%s' and po.optionText = '%s' ", + HttpOption.class.getSimpleName(), + HttpOption.SYSTEMSETTING_STERILIZATIONPURPOSE, + sterilisation.getSterilizationPurpose()); + @SuppressWarnings("unchecked") + List httpOptionList = objectDao.findByHql(sql); + if(CollectionUtils.isEmpty(httpOptionList)){ + throw new SystemException("灭菌目的不正确!"); + } + sterilisation.setSterilizationPurposeId(httpOptionList.get(0).getId()); + } + //灭菌程序改名字后,器械包定义中引用的灭菌程序能联动修改 String sql = String.format("update %s set sterilingMethod = '%s' where sterilingMethod = (select Sterilisation from %s where id = %s) and sterilingMethod <> '%s'", TousseDefinition.class.getSimpleName(), sterilisation.getSterilisation(), Sterilisation.class.getSimpleName(), sterilisation.getId(), sterilisation.getSterilisation()); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/systemsetting/service/HttpOptionManagerSSTSImpl.java =================================================================== diff -u -r34344 -r34359 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/systemsetting/service/HttpOptionManagerSSTSImpl.java (.../HttpOptionManagerSSTSImpl.java) (revision 34344) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/systemsetting/service/HttpOptionManagerSSTSImpl.java (.../HttpOptionManagerSSTSImpl.java) (revision 34359) @@ -504,10 +504,18 @@ if(StringUtils.isBlank(httpOption.getOptionListId())){ httpOption.setOptionListId(HttpOption.SYSTEMSETTING_STERILIZATIONPURPOSE); } - //排序 - if(DatabaseUtil.isPoIdValid(httpOption.getId())){ + if(!DatabaseUtil.isPoIdValid(httpOption.getId())){ + //新增记录需要设置顺序 setHttpOptionSequence(httpOption); } + //联动修改灭菌程序的灭菌目的字段 + if(DatabaseUtil.isPoIdValid(httpOption.getId())){ + String sql = String.format("update %s set sterilizationPurpose = '%s' where sterilizationPurposeId = %s", + Sterilisation.class.getSimpleName(), + httpOption.getOptionText(), + httpOption.getId()); + objectDao.excuteSQL(sql); + } objectDao.saveOrUpdate(httpOption); } Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.97_4.9.98_sqlserver.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.97_4.9.98_sqlserver.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.97_4.9.98_sqlserver.sql (revision 34359) @@ -0,0 +1 @@ +update Sterilisation set sterilizationPurposeid = (select max(id) from HttpOption where optionText = Sterilisation.sterilizationPurpose and optionListId = 'sterilizationPurpose') where sterilizationPurposeid is null and sterilizationPurpose is not null; \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/sterilisation/Sterilisation.java =================================================================== diff -u -r24102 -r34359 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/sterilisation/Sterilisation.java (.../Sterilisation.java) (revision 24102) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/sterilisation/Sterilisation.java (.../Sterilisation.java) (revision 34359) @@ -39,6 +39,11 @@ private Integer useTime;//灭菌使用时间 + /** + * 灭菌目的ID(GYEY-777) + */ + private Long sterilizationPurposeId; + private String sterilizationPurpose;//灭菌目的 private String sterilizationMode;//灭菌方式 @@ -117,6 +122,14 @@ this.sterilisationAbbreviation = sterilisationAbbreviation; } + public Long getSterilizationPurposeId() { + return sterilizationPurposeId; + } + + public void setSterilizationPurposeId(Long sterilizationPurposeId) { + this.sterilizationPurposeId = sterilizationPurposeId; + } + public String getSterilizationPurpose() { return sterilizationPurpose; } Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r34327 -r34359 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 34327) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 34359) @@ -27,7 +27,7 @@ "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.30","4.9.31","4.9.32","4.9.33","4.9.34","4.9.35","4.9.36","4.9.37","4.9.38","4.9.39","4.9.40","4.9.41","4.9.42","4.9.43","4.9.44", "4.9.45","4.9.46","4.9.47","4.9.48","4.9.49","4.9.50","4.9.51","4.9.52","4.9.53","4.9.54","4.9.55","4.9.56","4.9.57","4.9.58","4.9.59","4.9.60","4.9.61","4.9.62", "4.9.63","4.9.64","4.9.65","4.9.66","4.9.67","4.9.68","4.9.69","4.9.70","4.9.71","4.9.72","4.9.73","4.9.74","4.9.75","4.9.76","4.9.77","4.9.78","4.9.79","4.9.80","4.9.81","4.9.82","4.9.83","4.9.84","4.9.85", - "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92","4.9.93","4.9.94","4.9.95","4.9.96","4.9.97"}; + "4.9.86","4.9.87","4.9.88","4.9.89","4.9.90","4.9.91","4.9.92","4.9.93","4.9.94","4.9.95","4.9.96","4.9.97","4.9.98"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] {