Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/BeCleanItemManagerImpl.java =================================================================== diff -u -r26938 -r26947 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/BeCleanItemManagerImpl.java (.../BeCleanItemManagerImpl.java) (revision 26938) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/BeCleanItemManagerImpl.java (.../BeCleanItemManagerImpl.java) (revision 26947) @@ -757,7 +757,7 @@ } obj.put("name", materialName); obj.put("type", ClassifiedItem.TYPE_MATERIAL); - obj.put("amount", item.getAmount()); + obj.put("amount", amount); obj.put("materialDefinitionId", md.getId()); } else { //不是材料 TousseDefinition td = item.getTousseDefinition(); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r26938 -r26947 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26938) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26947) @@ -4691,6 +4691,12 @@ boolean isSecondRecycleForForeignTousse = false; InvoicePlan ip = invoicePlanManager.get(recyclingApplicationId); if(ip != null){ + if(ip.ended()){ + return JSONUtil.buildJsonObject(false, "申请单已被终止!"); + } + if(isTerminatedInInvoicePlan(ip, td)){ + return JSONUtil.buildJsonObject(false, td.getName() + "已被终止!"); + } isSecondRecycleForForeignTousse = ip.isSecondRecycleForForeignTousse(); } Map> map = new HashMap<>(); @@ -4915,7 +4921,25 @@ } return json.toString(); } - + /** + * 包定义对应申请单内的物品是否被终止 + * @param ip 申请单 + * @param td 包定义 + * @return + */ + private boolean isTerminatedInInvoicePlan(InvoicePlan ip, TousseDefinition td){ + List items = ip.getApplicationItems(); + if(CollectionUtils.isEmpty(items)){ + return false; + } + for (TousseItem item : items) { + Long tdId = item.getTousseDefinitionId(); + if(tdId.longValue() == td.getId().longValue() && item.terminated()){ + return true; + } + } + return false; + } private JSONObject vaildateBasketIncludeIdCardInstance(String idCardBarcode, JSONArray basketArray, Map classifyBasketMap, String basketBarcode,String isCleanedEntirely) { Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r26939 -r26947 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 26939) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 26947) @@ -425,9 +425,7 @@ } } String basketBarcode = task.getBasketBarcode(); - if(td.cleanedEntirely()){ - classifiedItemManager.updateNumOfUnwashedStopsByPackingTask(task); - } + classifiedItemManager.updateNumOfUnwashedStopsByPackingTask(task); objectDao.delete(task); //修改篮筐状态 updateContainerStatus(basketBarcode); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifiedItemManagerImpl.java =================================================================== diff -u -r26938 -r26947 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifiedItemManagerImpl.java (.../ClassifiedItemManagerImpl.java) (revision 26938) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifiedItemManagerImpl.java (.../ClassifiedItemManagerImpl.java) (revision 26947) @@ -279,20 +279,19 @@ Set ids = getGetClassifiedItemIdsByPackingTaskId(packingTask.getId()); try { if(ids.size() > 0){ - objectDao.excuteSQL(buildSqlForUpdateNumOfUnwashedStops(ids, packingTask.getAmount())); + objectDao.excuteSQL(buildSqlForUpdateNumOfUnwashedStops(ids)); } } catch (Exception e) { e.printStackTrace(); }finally { DatabaseUtil.closeResultSetAndStatement(rs); } } - private String buildSqlForUpdateNumOfUnwashedStops(Set ids, Integer numOfUnwashedStops){ + private String buildSqlForUpdateNumOfUnwashedStops(Set ids){ return new StringBuffer(200) .append("update ") .append(ClassifiedItem.class.getSimpleName()) - .append(" set numOfUnwashedStops= case when numOfUnwashedStops is null then 0 else numOfUnwashedStops end + ") - .append(numOfUnwashedStops) + .append(" set numOfUnwashedStops=amount") .append(" where ") .append(SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", ids)) .toString();