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();
}