Index: forgon-core/src/main/java/com/forgon/systemsetting/action/HttpOptionAction.java =================================================================== diff -u -r34344 -r34419 --- forgon-core/src/main/java/com/forgon/systemsetting/action/HttpOptionAction.java (.../HttpOptionAction.java) (revision 34344) +++ forgon-core/src/main/java/com/forgon/systemsetting/action/HttpOptionAction.java (.../HttpOptionAction.java) (revision 34419) @@ -34,6 +34,11 @@ private HttpOptionManager httpOptionManager; private HttpOption httpOption; + + /** + * 修改前的名称 + */ + private String originalOptionText; public HttpOption getHttpOption() { return httpOption; @@ -54,7 +59,13 @@ @Override public void prepare() throws Exception { - + String id = StrutsParamUtils.getPraramValue("id", ""); + if(DatabaseUtil.isPoIdValid(id)){ + HttpOption httpOption = httpOptionManager.get(id); + if(httpOption != null){ + originalOptionText = httpOption.getOptionText(); + } + } } /** @@ -147,7 +158,7 @@ httpOption.setOptionListId(HttpOption.SYSTEMSETTING_STERILIZATIONPURPOSE); } httpOption.setOptionText(value); - httpOptionManager.saveSterilizationPurposeHttpOption(httpOption); + httpOptionManager.saveSterilizationPurposeHttpOption(httpOption, originalOptionText); } catch (Exception e) { result = JSONUtil.buildJsonObject(false, "保存失败:" + e.getMessage()); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/systemsetting/service/HttpOptionManagerSSTSImpl.java =================================================================== diff -u -r34359 -r34419 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/systemsetting/service/HttpOptionManagerSSTSImpl.java (.../HttpOptionManagerSSTSImpl.java) (revision 34359) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/systemsetting/service/HttpOptionManagerSSTSImpl.java (.../HttpOptionManagerSSTSImpl.java) (revision 34419) @@ -20,6 +20,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.exception.SystemException; import com.forgon.systemsetting.model.HttpOption; import com.forgon.systemsetting.service.HttpOptionManager; @@ -495,7 +496,7 @@ } @Override - public void saveSterilizationPurposeHttpOption(HttpOption httpOption) { + public void saveSterilizationPurposeHttpOption(HttpOption httpOption, String originalOptionText) { if(StringUtils.isBlank(httpOption.getOptionText())){ throw new SystemException("灭菌目的不能为空!"); } @@ -508,13 +509,19 @@ //新增记录需要设置顺序 setHttpOptionSequence(httpOption); } - //联动修改灭菌程序的灭菌目的字段 - if(DatabaseUtil.isPoIdValid(httpOption.getId())){ + if(DatabaseUtil.isPoIdValid(httpOption.getId()) && !StringUtils.equals(originalOptionText, httpOption.getOptionText())){ + //联动修改灭菌程序的灭菌目的字段 String sql = String.format("update %s set sterilizationPurpose = '%s' where sterilizationPurposeId = %s", Sterilisation.class.getSimpleName(), httpOption.getOptionText(), httpOption.getId()); objectDao.excuteSQL(sql); + //联动修改灭菌记录的灭菌目的字段 + String updateSterilizationRecordSql = String.format("update %s set sterilizationPurpose = '%s' where sterilizationPurpose = '%s'", + SterilizationRecord.class.getSimpleName(), + httpOption.getOptionText(), + originalOptionText); + objectDao.excuteSQL(updateSterilizationRecordSql); } objectDao.saveOrUpdate(httpOption); } Index: forgon-core/src/main/java/com/forgon/systemsetting/service/HttpOptionManager.java =================================================================== diff -u -r34344 -r34419 --- forgon-core/src/main/java/com/forgon/systemsetting/service/HttpOptionManager.java (.../HttpOptionManager.java) (revision 34344) +++ forgon-core/src/main/java/com/forgon/systemsetting/service/HttpOptionManager.java (.../HttpOptionManager.java) (revision 34419) @@ -79,8 +79,9 @@ /** * 保存灭菌目的 * @param httpOption + * @param originalOptionText 修改前的名称 */ - public void saveSterilizationPurposeHttpOption(HttpOption httpOption); + public void saveSterilizationPurposeHttpOption(HttpOption httpOption, String originalOptionText); /** * HttpOption排序