Index: ssts-web/src/main/webapp/WEB-INF/dwr.xml =================================================================== diff -u -r27007 -r31168 --- ssts-web/src/main/webapp/WEB-INF/dwr.xml (.../dwr.xml) (revision 27007) +++ ssts-web/src/main/webapp/WEB-INF/dwr.xml (.../dwr.xml) (revision 31168) @@ -530,6 +530,7 @@ + Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java =================================================================== diff -u -r30611 -r31168 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 30611) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 31168) @@ -37,6 +37,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; import com.forgon.entity.PageEntity; import com.forgon.systemsetting.service.HttpOptionManager; import com.forgon.tools.Constants; @@ -1016,7 +1017,13 @@ //固定为'是' supplyRoomConfig.setCustomTousseNeedRecycle(Constants.STR_YES); /************/ - + String urgenLevel_id = rq.getParameter("urgentLevelId"); + if(DatabaseUtil.isPoIdValid(urgenLevel_id)){ + UrgentLevel urgentLevel = (UrgentLevel) objectDao.getById(UrgentLevel.class.getSimpleName(), urgenLevel_id); + if(urgentLevel != null){ + supplyRoomConfig.setUrgentLevel(urgentLevel); + } + } supplyRoomConfigManager.save(supplyRoomConfig); StrutsResponseUtils.output(true, "保存成功!"); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java =================================================================== diff -u -r26395 -r31168 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java (.../UrgentLevelManagerImpl.java) (revision 26395) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java (.../UrgentLevelManagerImpl.java) (revision 31168) @@ -206,4 +206,10 @@ } return maxUrgentLevel; } + + @Override + public List getAllExceptVoluntarily() { + String condition = "enable='" + Constants.STR_YES + "' and id not in (select src.urgentLevel.id from SupplyRoomConfig src where src.supplyRoomType = 0) order by grade asc"; + return getByHql(condition); + } } Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r30837 -r31168 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 30837) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 31168) @@ -2979,14 +2979,20 @@ //先把tousseItemJson里面的启用标识牌的器械包合并 Collection tousseItemJsonTemp = mergeIdCardTousse(tousseItemJson); JSONArray voluntarilyUrgentItems = new JSONArray(); - List urgentLevels = urgentLevelManager.getAllExceptDisabled(); String urgentLevelDefaultStr = ""; - if(CollectionUtils.isNotEmpty(urgentLevels)){ - for (int i = 0; i < urgentLevels.size(); i++) { - UrgentLevel urgentLevelItem = urgentLevels.get(i); - if(Constants.STR_YES.equals( urgentLevelItem.getUrgentDefaultValue()) || i == urgentLevels.size() - 1){ - urgentLevelDefaultStr = urgentLevelItem.getName();//默认加急 - break; + // 自动加急物品的加急等级取决于系统参数设置里增加一个参数:【自动加急的加急级别】所选择的加急级别ZSSXLRMYY-198 + UrgentLevel urgentLevelDefault = supplyRoomConfigManager.getSystemParamsObj().getUrgentLevel(); + if(urgentLevelDefault != null){ + urgentLevelDefaultStr = urgentLevelDefault.getName(); + }else { + List urgentLevels = urgentLevelManager.getAllExceptDisabled(); + if(CollectionUtils.isNotEmpty(urgentLevels)){ + for (int i = 0; i < urgentLevels.size(); i++) { + UrgentLevel urgentLevelItem = urgentLevels.get(i); + if(Constants.STR_YES.equals( urgentLevelItem.getUrgentDefaultValue()) || i == urgentLevels.size() - 1){ + urgentLevelDefaultStr = urgentLevelItem.getName();//默认加急 + break; + } } } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java =================================================================== diff -u -r29031 -r31168 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java (.../UrgentLevelAction.java) (revision 29031) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java (.../UrgentLevelAction.java) (revision 31168) @@ -109,6 +109,26 @@ StrutsResponseUtils.output(false,"保存失败"); } } + + /** + * 加载所有启用的加急等级 + */ + public void loadAllExceptDisabledUrgent(){ + try { + List urgentLevels = urgentLevelManager.getAllExceptDisabled(); + JSONArray array = new JSONArray(); + for(UrgentLevel ul : urgentLevels){ + JSONObject json = JSONObject.fromObject(ul); + json.put("urgentLevel", ul.getName()); + array.add(json); + } + StrutsResponseUtils.output(true, array); + } catch (Exception e) { + e.printStackTrace(); + StrutsResponseUtils.output(false, "读取失败"); + } + } + @Override public UrgentLevel getModel() { urgentLevel = new UrgentLevel(); @@ -119,7 +139,8 @@ */ public void getUrgentsForSelect(){ try { - List urgentLevels = urgentLevelManager.getAllExceptDisabled(); + //List urgentLevels = urgentLevelManager.getAllExceptDisabled(); + List urgentLevels = urgentLevelManager.getAllExceptVoluntarily(); JSONArray array = new JSONArray(); for(UrgentLevel ul : urgentLevels){ JSONObject json = JSONObject.fromObject(ul); @@ -128,6 +149,7 @@ } StrutsResponseUtils.output(true, array); } catch (Exception e) { + e.printStackTrace(); StrutsResponseUtils.output(false, "读取失败"); } } @@ -143,7 +165,8 @@ int count = objectDao.countBySql(String.format("select count(*) from urgentLevel po where po.id=%s and (exists (select 0 from invoicePlan where urgentLevel_id=po.id) " + "or exists (select 0 from tousseitem where urgentLevel_id=po.id) " + "or exists (select 0 from PackingTask where urgentLevel_id=po.id) " - + "or exists (select 0 from TousseInstance where urgentLevel_id=po.id))", id)); + + "or exists (select 0 from TousseInstance where urgentLevel_id=po.id) " + + "or exists (select 0 from supplyRoomConfig where urgentLevel_id=po.id))", id)); if(count > 0){ throw new RuntimeException("该记录正被使用,不能删除"); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java =================================================================== diff -u -r30593 -r31168 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 30593) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 31168) @@ -11,7 +11,9 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Index; +import javax.persistence.JoinColumn; import javax.persistence.Lob; +import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Transient; @@ -27,6 +29,7 @@ import com.forgon.Constants; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; import com.forgon.tools.string.StringTools; /** @@ -426,6 +429,11 @@ private String receiptor; /** + * 自动加急的加急级别(ZSSXLRMYY-198) + */ + private UrgentLevel urgentLevel; + + /** * 自动签收人名字默认值为“系统签收”(GYEY-744) */ public static final String DEFAULT_RECEIPTOR = "系统签收"; @@ -1177,4 +1185,15 @@ public void setReceiptor(String receiptor) { this.receiptor = receiptor; } + + @ManyToOne + @JoinColumn(name = "urgentLevel_id") + public UrgentLevel getUrgentLevel() { + return urgentLevel; + } + + public void setUrgentLevel(UrgentLevel urgentLevel) { + this.urgentLevel = urgentLevel; + } + } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManager.java =================================================================== diff -u -r26368 -r31168 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManager.java (.../UrgentLevelManager.java) (revision 26368) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManager.java (.../UrgentLevelManager.java) (revision 31168) @@ -74,4 +74,10 @@ * @return 返回等级最高的加急对象;若无则返回null */ public UrgentLevel getMaxUrgentLevelByTousseInstances(Collection tousseInstances); + + /** + * 获取所有启用的加急级别,按优先级从小到大,排除科室供应室配置的【自动加急的加急级别】 + * @return + */ + public List getAllExceptVoluntarily(); }