Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r29222 -r29225 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29222) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29225) @@ -7440,37 +7440,41 @@ } @Override - public void tousseInstanceUrgent(String ids, UrgentLevel urgentLevel) { - if (StringUtils.isNotBlank(ids)) { + public void tousseInstanceUrgent(String ids, Long urgentLevelId) { + if (StringUtils.isNotBlank(ids) || DatabaseUtil.isPoIdValid(urgentLevelId)) { String[] idArray = ids.split(";"); + UrgentLevel urgentLevel = urgentLevelManager.get(urgentLevelId); for (String tousseInstanceId : idArray) { TousseInstance ti = tousseInstanceManager.get(tousseInstanceId); - if (ti != null && !StringUtils.equals(Constants.STR_YES,ti.getIsUrgentTousse())) { - ti.setIsUrgentTousse(Constants.STR_YES); - if (ti.getInvoicePlanID() == null) { - Long recycleRecordId = ti.getRecyclingRecordId(); - RecyclingRecord record = (RecyclingRecord) objectDao - .getByProperty(RecyclingRecord.class.getSimpleName(), - "id", recycleRecordId); - if(record != null){ - setTousseItemUrgent(record.getRecyclingApplication(),ti.getTousseDefinition().getId()); - } - }else{ - InvoicePlan invoicePlan = (InvoicePlan) objectDao - .getByProperty(InvoicePlan.class.getSimpleName(), - "id", ti.getInvoicePlanID()); - setTousseItemUrgent(invoicePlan,ti.getTousseDefinition().getId()); - } + if(ti == null || StringUtils.equals(Constants.STR_YES,ti.getIsUrgentTousse())){ + continue; } ti.setUrgentLevel(urgentLevel); - if(urgentLevel == null){ - ti.setIsUrgentTousse(Constants.STR_NO); + ti.setIsUrgentTousse(Constants.STR_YES); + InvoicePlan invoicePlan = null; + if (ti.getInvoicePlanID() == null) { + Long recycleRecordId = ti.getRecyclingRecordId(); + RecyclingRecord record = (RecyclingRecord) objectDao + .getByProperty(RecyclingRecord.class.getSimpleName(), + "id", recycleRecordId); + if(record != null){ + invoicePlan = record.getRecyclingApplication(); + setTousseItemUrgent(invoicePlan,ti.getTousseDefinition().getId(),urgentLevel); + } + }else{ + invoicePlan = (InvoicePlan) objectDao + .getByProperty(InvoicePlan.class.getSimpleName(), + "id", ti.getInvoicePlanID()); + setTousseItemUrgent(invoicePlan,ti.getTousseDefinition().getId(),urgentLevel); } + if(invoicePlan != null){ + invoicePlan.setUrgentInfo(); + } } } } - private void setTousseItemUrgent(InvoicePlan invoicePlan,Long tousseDefinitionId){ + private void setTousseItemUrgent(InvoicePlan invoicePlan,Long tousseDefinitionId, UrgentLevel urgentLevel){ if(invoicePlan != null){ if(StringUtils.equals(invoicePlan.getDeliverStatus(), InvoicePlan.DELIVERSTATUS_DELIVERED)){ return; @@ -7484,6 +7488,10 @@ if(StringUtils.equals("" + tousseDefinitionId, "" + tousseItem.getTousseDefinitionId())){ tousseItem.setUrgent(Constants.STR_YES); tousseItem.setUrgentAmount((tousseItem.getUrgentAmount() == null ? 0 : tousseItem.getUrgentAmount()) + 1); + if(urgentLevel != null){ + tousseItem.setUrgentLevelObj(urgentLevel); + tousseItem.setUrgentLevel(urgentLevel.getName()); + } break; } } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java =================================================================== diff -u -r29004 -r29225 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 29004) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManager.java (.../PackingManager.java) (revision 29225) @@ -242,7 +242,7 @@ * 器械包实例临时加急 * @param ids */ - public void tousseInstanceUrgent(String ids, UrgentLevel urgentLevel); + public void tousseInstanceUrgent(String ids, Long urgentLevelId); /** * 获取对应的装配任务 * @param sourceId Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java =================================================================== diff -u -r29004 -r29225 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java (.../PackingAction.java) (revision 29004) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/PackingAction.java (.../PackingAction.java) (revision 29225) @@ -1256,13 +1256,8 @@ Long urgentLevelId = StrutsParamUtils.getPraramLongValue("urgentLevelId", null); boolean success = true; String msg = "保存成功!"; - UrgentLevel ul = null; try { - if(DatabaseUtil.isPoIdValid(urgentLevelId)){ - ul = new UrgentLevel(); - ul.setId(Long.valueOf(urgentLevelId)); - } - packingManager.tousseInstanceUrgent(ids, ul); + packingManager.tousseInstanceUrgent(ids, urgentLevelId); } catch (Exception e) { success = false; msg = "保存失败!"; Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r29207 -r29225 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 29207) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 29225) @@ -405,6 +405,7 @@ obj.put("haveUnSupplementMaterials", tousseInstance.getHaveUnSupplementMaterials()); obj.put("sterileDateTime2", TousseInstanceUtils.safelyGetSterileStartDateTimeStr2(tousseInstance)); obj.put("expirationDateTime2", tousseInstance.getValidUntilStr(Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM)); + obj.put("urgentLevel", tousseInstance.getUrgentLevel()); if(foreignProxyDisinfection != null){ obj.put("makerCode", foreignProxyDisinfection.getMakerCode()); obj.put("assistantCode", foreignProxyDisinfection.getAssistantCode());