Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r14296 -r14318 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 14296) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 14318) @@ -255,7 +255,7 @@ } } //器械包加急处理 - setTousseItemUrgentAmount(urgentTousseItems, items); + setTousseItemUrgentAmount(urgentTousseItems, items,true); recyclingRecord.setItems(items); } @@ -1323,14 +1323,15 @@ } //加急物品 if(application != null){ - setTousseItemUrgentAmount(urgentTousseItems, application.getApplicationItems()); + setTousseItemUrgentAmount(urgentTousseItems, application.getApplicationItems(),false); } } - private void setTousseItemUrgentAmount(JSONArray urgentTousseItems, List items) { + private void setTousseItemUrgentAmount(JSONArray urgentTousseItems, List items,boolean isRecycleTousseItem) { if(urgentTousseItems != null){ for (int i = 0; i < urgentTousseItems.size(); i++) { JSONObject urgentTousseItem = urgentTousseItems.getJSONObject(i); + String tousseName = urgentTousseItem.optString("tousseName"); Long tousseDefinitionID = urgentTousseItem.optLong("tousseDefinitionID"); Integer urgentAmount = urgentTousseItem.optInt("urgentAmount"); if(!DatabaseUtil.isPoIdValid(tousseDefinitionID)){ @@ -1341,6 +1342,11 @@ } if(items != null){ for (TousseItem ti : items) { + if(isRecycleTousseItem){ + if(urgentAmount > ti.getAmount()){ + throw new RuntimeException(tousseName + ",加急数量不能大于回收数量!"); + } + } if(tousseDefinitionID.equals(ti.getTousseDefinitionId())){ ti.setUrgentAmount(urgentAmount); break; Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r14149 -r14318 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 14149) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 14318) @@ -349,6 +349,7 @@ if(recyclingRecord == null){ recyclingRecord = createRecyclingRecord(applicaiton); } + buildUrgentTousseJson(params, applicaiton); try { recyclingRecordManager .saveOrUpdate(recyclingRecord, params); @@ -368,8 +369,44 @@ return null; } + + /** + * 快速回收加急处理 + * @param params + * @param applicaiton + */ + private void buildUrgentTousseJson(JSONObject params, + RecyclingApplication applicaiton) { + //加急处理 + JSONArray urgentTousseItems = new JSONArray(); + List appItems = applicaiton.getApplicationItems(); + if(appItems != null){ + for (TousseItem tousseItem : appItems) { + Integer urgentAmount = tousseItem.getUrgentAmount(); + if(urgentAmount == null || urgentAmount <= 0){ + continue; + } + JSONArray tousseJson = params.optJSONArray("tousseJson"); + if(tousseJson != null){ + for (int i = 0; i < tousseJson.size(); i++) { + JSONObject basketTousseItemJson = tousseJson.optJSONObject(i); + long tousseDefinitionID = basketTousseItemJson.optLong("tousseDefinitionID"); + if(tousseItem.getTousseDefinitionId() != null){ + if(tousseDefinitionID == tousseItem.getTousseDefinitionId().longValue()){ + JSONObject urgentJson = new JSONObject(); + urgentJson.put("tousseName", tousseItem.getTousseName()); + urgentJson.put("tousseDefinitionID", tousseItem.getTousseDefinitionId()); + urgentJson.put("urgentAmount", tousseItem.getUrgentAmount()); + urgentTousseItems.add(urgentJson); + } + } + } + } + } + } + params.put("urgentTousseItems", urgentTousseItems); + } - public void saveRecyclingRecord() { HttpServletRequest request = StrutsParamUtils.getRequest(); String paramStr = StrutsParamUtils.getPraramValue("jsonParam", ""); Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r14296 -r14318 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 14296) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 14318) @@ -1733,22 +1733,22 @@ */ function getUrgentTousseItems(){ var urgentItemJsonArray = new Array(); - $('#tousseItemTable').children().first().children().each(function(index,element){ - if($('#deleted'+index).val() == '0'){ - var tousseName = $('#tousseName'+index).val(); - var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); - - var originalUrgentAmount = parseInt($('#originalUrgentAmount'+index).val(),10); - var urgentAmount = parseInt($('#urgentAmount'+index).val(),10); -// if(originalUrgentAmount != urgentAmount){ - urgentItemJsonArray.push({ - tousseName:tousseName, - tousseDefinitionID:tousseDefinitionID, - urgentAmount:urgentAmount - }); -// } - } - }); + if(params_id == ''){ + $('#tousseItemTable').children().first().children().each(function(index,element){ + if($('#deleted'+index).val() == '0'){ + var tousseName = $('#tousseName'+index).val(); + var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); + var originalUrgentAmount = parseInt($('#originalUrgentAmount'+index).val(),10); + var urgentAmount = parseInt($('#urgentAmount'+index).val(),10); + + urgentItemJsonArray.push({ + tousseName:tousseName, + tousseDefinitionID:tousseDefinitionID, + urgentAmount:urgentAmount + }); + } + }); + } return urgentItemJsonArray; }