Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/vo/TousseInstanceVo.java =================================================================== diff -u -r32988 -r38518 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/vo/TousseInstanceVo.java (.../TousseInstanceVo.java) (revision 32988) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/vo/TousseInstanceVo.java (.../TousseInstanceVo.java) (revision 38518) @@ -1,5 +1,9 @@ package com.forgon.disinfectsystem.sterilizationmanager.proxydisinfection.vo; +import net.sf.json.JSONObject; + +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; + /** * *@author SongWei @@ -27,6 +31,7 @@ */ private String sterilizationMode; + private JSONObject urgentLevel; public Long getId() { return id; } @@ -77,5 +82,13 @@ this.sterilizationMode = sterilizationMode; } + public JSONObject getUrgentLevel() { + return urgentLevel; + } + + public void setUrgentLevel(JSONObject urgentLevel) { + this.urgentLevel = urgentLevel; + } + } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r38264 -r38518 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 38264) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 38518) @@ -48,6 +48,7 @@ import com.forgon.disinfectsystem.entity.sterilizationTransition.SterilizationTransition; import com.forgon.disinfectsystem.entity.sterilizationmanager.proxydisinfection.ProxyDisinfection; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; import com.forgon.disinfectsystem.sterilizationmanager.proxydisinfection.vo.ReviewedBasketVo; import com.forgon.disinfectsystem.sterilizationmanager.proxydisinfection.vo.TousseInstanceVo; @@ -921,6 +922,31 @@ if(CollectionUtils.isNotEmpty(applicationItems)){ deleteTousseItems.addAll(applicationItems); } + Map tdIdToUrgentLevel = new HashMap(); + Map tdIdToUrgentLevelAmount = new HashMap(); + UrgentLevel maxUrgentLevel = null; + for (TousseInstance tousseInstance : newProxyTousseInstanceList) { + if(tousseInstance.getUrgentLevel() != null){//每个包定义取最急的等级 + TousseDefinition td = tousseInstance.getTousseDefinition(); + if(!tdIdToUrgentLevel.containsKey(td.getId()) + || tousseInstance.getUrgentLevel().getGrade() > tdIdToUrgentLevel.get(td.getId()).getGrade()){ + tdIdToUrgentLevel.put(td.getId(), tousseInstance.getUrgentLevel()); + } + if(tdIdToUrgentLevelAmount.containsKey(td.getId())){ + tdIdToUrgentLevelAmount.put(td.getId(), tdIdToUrgentLevelAmount.get(td.getId()) + 1); + }else{ + tdIdToUrgentLevelAmount.put(td.getId(), 1); + } + if(maxUrgentLevel == null || tousseInstance.getUrgentLevel().getGrade() > maxUrgentLevel.getGrade()){ + maxUrgentLevel = tousseInstance.getUrgentLevel(); + } + } + } + if(maxUrgentLevel != null){ + proxyDisinfection.setUrgentLevel(maxUrgentLevel); + proxyDisinfection.setUrgent(com.forgon.Constants.STR_YES); + } + // 设置发货物品明细 List tousseInfos = generateTousseItemInfo(proxyDisinfection, newProxyTousseInstanceList); List tousseItemList = new ArrayList(); @@ -941,6 +967,15 @@ tousseItem.setInvoicePlanID(tii.getInvoicePlanId()); tousseItem.setAncestorID(tii.getAncestorId()); tousseItem.setTousseDefinitionId(tii.getTousseDefinitionId()); + if(tdIdToUrgentLevel != null && tdIdToUrgentLevel.containsKey(tii.getTousseDefinitionId())){ + UrgentLevel ul = tdIdToUrgentLevel.get(tii.getTousseDefinitionId()); + if(ul != null){ + tousseItem.setUrgent(Constants.STR_YES); + tousseItem.setUrgentLevelObj(ul); + tousseItem.setUrgentLevel(ul.getName()); + tousseItem.setUrgentAmount(tdIdToUrgentLevelAmount.get(tii.getTousseDefinitionId())); + } + } tousseItem.setHasReceivedAmount(tii.getHasReceivedAmount()); tousseItemList.add(tousseItem); } @@ -1336,6 +1371,13 @@ vo.setStatus(tousseInstance.getStatus()); vo.setHasReceived(tousseInstance.hasReceived()); vo.setSterilizationMode(tousseInstance.getSterilingMode()); + if(tousseInstance.getUrgentLevel() != null){ + JSONObject urgentLevelObj = new JSONObject(); + urgentLevelObj.put("name", tousseInstance.getUrgentLevel().getName()); + urgentLevelObj.put("colorCode", tousseInstance.getUrgentLevel().getColorCode()); + urgentLevelObj.put("id", tousseInstance.getUrgentLevel().getId()); + vo.setUrgentLevel(urgentLevelObj); + } coll.add(vo); } @@ -1396,7 +1438,13 @@ if (tousseInstance.getProxyDisinfection_id() != null) { isProxyed = true; } - + if(tousseInstance.getUrgentLevel() != null){ + JSONObject urgentLevelObj = new JSONObject(); + urgentLevelObj.put("name", tousseInstance.getUrgentLevel().getName()); + urgentLevelObj.put("colorCode", tousseInstance.getUrgentLevel().getColorCode()); + urgentLevelObj.put("id", tousseInstance.getUrgentLevel().getId()); + json.put("urgentLevel", urgentLevelObj); + } //配置为true时,启用代理灭菌物品可以跨申请单接收功能,不检查物品是否已经录入代理灭菌单;配置为false或不配置时,不启用此功能;(GDSZYY-207) boolean enableProxySterilizationItemsCanBeAcceptedByOtherApplicationsFunction = ConfigUtils.getSystemSetConfigByNameBool("enableProxySterilizationItemsCanBeAcceptedByOtherApplicationsFunction", false);