Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java =================================================================== diff -u -r26368 -r26379 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java (.../UrgentLevelAction.java) (revision 26368) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java (.../UrgentLevelAction.java) (revision 26379) @@ -43,6 +43,28 @@ } public void saveUrgentLevel(){ try{ + if(urgentLevel != null){ + boolean isCheckColor = StrutsParamUtils.getBoolPraramValue("isCheckColor", true); + String extraWhereSql = ""; + Long id = urgentLevel.getId(); + if(id != null){//修改时,本身不算在加急条数之内 + extraWhereSql = String.format(" and id!=%s", id); + } + if(isCheckColor){//验证颜色是否重复 + boolean isTheColorUesd = urgentLevelManager.isTheColorUsed(id,urgentLevel.getColorCode(),extraWhereSql); + if(isTheColorUesd){ + throw new RuntimeException("该颜色已经被使用"); + } + } + //验证是否已有默认加急 + if(Constants.STR_YES.equals(urgentLevel.getUrgentDefaultValue())){ + //查询是否存在其他默认加急 + boolean isExistDefaultUrgentLevel = urgentLevelManager.isExistDefaultUrgentLevel(id, extraWhereSql); + if(isExistDefaultUrgentLevel){ + throw new RuntimeException("已存在其他默认的加急级别"); + } + } + } urgentLevelManager.save(urgentLevel); StrutsResponseUtils.output(true, "保存成功"); }catch(RuntimeException e){ Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java =================================================================== diff -u -r26368 -r26379 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java (.../UrgentLevelManagerImpl.java) (revision 26368) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java (.../UrgentLevelManagerImpl.java) (revision 26379) @@ -43,26 +43,6 @@ if(StringTools.isBlank(object.getName())){ throw new RuntimeException("加急级别名称不能为空"); } - boolean isCheckColor = StrutsParamUtils.getBoolPraramValue("isCheckColor", true); - String extraWhereSql = ""; - Long id = object.getId(); - if(id != null){//修改时,本身不算在加急条数之内 - extraWhereSql = String.format(" and id!=%s", id); - } - if(isCheckColor){//验证颜色是否重复 - boolean isTheColorUesd = isTheColorUsed(id,object.getColorCode(),extraWhereSql); - if(isTheColorUesd){ - throw new RuntimeException("该颜色已经被使用"); - } - } - //验证是否已有默认加急 - if(Constants.STR_YES.equals(object.getUrgentDefaultValue())){ - //查询是否存在其他默认加急 - boolean isExistDefaultUrgentLevel = isExistDefaultUrgentLevel(id, extraWhereSql); - if(isExistDefaultUrgentLevel){ - throw new RuntimeException("已存在其他默认的加急级别"); - } - } UrgentLevel urgentLevel = getFirst("name", object.getName()); if(urgentLevel != null && !urgentLevel.getId().equals(object.getId())){ //名称相同且不是同一个对象,不能保存 @@ -163,6 +143,9 @@ } @Override public boolean isTheColorUsed(Long id, String colorCode, String extraWhereSql) { + if(extraWhereSql == null){ + extraWhereSql = ""; + } String countSql = String.format("colorCode='%s' %s ", colorCode,extraWhereSql); return count(countSql) > 0? true:false; }