Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r30126 -r30358 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 30126) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 30358) @@ -9,7 +9,6 @@ import java.util.Calendar; import java.util.Collection; import java.util.Collections; -import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -24,6 +23,7 @@ import net.sf.json.JSONException; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; +import net.sf.json.processors.JsonValueProcessor; import net.sf.json.util.CycleDetectionStrategy; import org.apache.commons.collections.MapUtils; @@ -1399,6 +1399,7 @@ } buildUrgentTousseJson(params, application); buildRecyclingItemJson(params,application); + params.put("expressRecycling", true); save(recyclingRecord, params); //用于保存视频监控记录(回收记录与视频记录的关联) params.put("recyclingRecordId", recyclingRecord.getId()); @@ -1413,6 +1414,7 @@ rc.setJsonParam(params.toString()); rc.setAutoReturnTheBorrowingTousse(false); rc.parseParameters(); + rc.setExpressRecycling(params.optBoolean("expressRecycling", false)); save(record, rc); } @@ -4022,8 +4024,12 @@ String tousseName = recyclingBasketItem.getTousseName(); Long tousseDefinitionID = recyclingBasketItem.getTousseDefinitionID(); Integer amount = recyclingBasketItem.getAmount(); + int minAmount = 0; + if(recyclingContext.getExpressRecycling() != null && recyclingContext.getExpressRecycling()){ + minAmount = 1;//快速回收数量不能为0 + } // 清点确认时,如果物品的申请数量不为0,则允许清点确认数量为 0 - if(amount != null){ + if(amount != null && amount >= minAmount){ // 从已存在的申请项里面查找TousseItem TousseItem appItem = appTousseItemMap.get(tousseDefinitionID); if(appItem == null){ @@ -6383,15 +6389,22 @@ "idCardDefinitions", "hibernateLazyInitializer", "recyclingApplications", "parent", "classifyBasket" }); config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); - Collections.sort(recyclingRecord.getItems(),new Comparator() { + config.registerJsonValueProcessor(Integer.class, new JsonValueProcessor() { @Override - public int compare(RecyclingItem b1, - RecyclingItem b2) { - return b2.getId().compareTo( - b1.getId()); + public Object processObjectValue(String key, Object value, + JsonConfig jsonConfig) { + if("recyclingTempAmout".equalsIgnoreCase((key))){ + if(value == null){ + return -999999;//防止为null时,改字段被修改为0 + } + } + return value; } + @Override + public Object processArrayValue(Object value, JsonConfig jsonConfig) { + return value; + } }); - return JSONObject.fromObject(recyclingRecord, config); } public String getRecyclingRecordById(String id) { Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java =================================================================== diff -u -r28470 -r30358 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java (.../RecyclingContext.java) (revision 28470) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java (.../RecyclingContext.java) (revision 30358) @@ -153,7 +153,10 @@ * 拆分物品的Json对象 */ private JSONArray splitJsonParamObject; - + /** + * 是否快速回收(isExpressRecycling 临时回收量不能为0) + */ + private Boolean expressRecycling; public String getJsonParam() { return jsonParam; } @@ -465,5 +468,11 @@ public void setSplitJsonParamObject(JSONArray splitJsonParamObject) { this.splitJsonParamObject = splitJsonParamObject; } - + public Boolean getExpressRecycling() { + return expressRecycling; + } + public void setExpressRecycling(Boolean expressRecycling) { + this.expressRecycling = expressRecycling; + } + }