Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r41609 -r41617 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 41609) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 41617) @@ -1556,7 +1556,12 @@ private void buildUrgentTousseJson(JSONObject params, InvoicePlan applicaiton) { //加急处理 - JSONArray urgentTousseItems = new JSONArray(); + JSONArray urgentTousseItems = params.optJSONArray("urgentTousseItems"); + if(CollectionUtils.isNotEmpty(urgentTousseItems)){//如果前端传了加急信息 就不需要后台自动使用申请物品上的加急信息 + return; + }else{ + urgentTousseItems = new JSONArray(); + } List appItems = applicaiton.getApplicationItems(); if(appItems != null){ for (TousseItem tousseItem : appItems) { @@ -1588,19 +1593,46 @@ private void buildRecyclingItemJson(JSONObject params,InvoicePlan application){ if(application != null && CollectionUtils.isNotEmpty(application.getApplicationItems())){ JSONArray array = new JSONArray(); + JSONArray urgentTousseItems = params.optJSONArray("urgentTousseItems"); for(TousseItem ti : application.getApplicationItems()){ JSONObject json = new JSONObject(); json.put("tousseDefinitionID", ti.getTousseDefinitionId()); json.put("tousseName", ti.getTousseName()); json.put("errorRemark", ti.getErrorRemark()); json.put("damageRemark", ti.getDamageRemark()); - json.put("urgentLevel", ti.getUrgentLevel()); + if(CollectionUtils.isNotEmpty(urgentTousseItems)){ + json.put("urgentLevel", getUrgentLevelByUrgentTousseItems(ti.getTousseDefinitionId(), urgentTousseItems)); + }else{ + json.put("urgentLevel", ti.getUrgentLevel()); + } json.put("errorDamageQmKey", ti.getErrorDamageQmKey()); array.add(json); } params.put("recyclingItemArray", array); } } + /** + * 获取包定义对应的加急等级 + * @param tousseDefinitionID + * @param urgentTousseItems + * @return + */ + private String getUrgentLevelByUrgentTousseItems(Long tousseDefinitionID, JSONArray urgentTousseItems) { + if (!DatabaseUtil.isPoIdValid(tousseDefinitionID) || urgentTousseItems == null) { + return null; + } + + for (Object item : urgentTousseItems) { + JSONObject obj = (JSONObject) item; + Long tdid = obj.optLong("tousseDefinitionID"); + + if (tousseDefinitionID.equals(tdid)) { + return obj.optString("urgentLevel", null); + } + } + + return null; + } @Override public void saveExpressRecycling(JSONObject params,String app_id) { InvoicePlan application = invoicePlanManager.getForUpdate(app_id);