Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r35499 -r35682 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 35499) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 35682) @@ -1516,14 +1516,16 @@ } if(DatabaseUtil.isPoIdValid(appid)){ //关联申请单的外来器械包定义,材料数量不能为0 - if(amount <= 0){ + if(amount != null && amount <= 0){ continue; } } String minDismantleAmount = materialJson.optString("minDismantleAmount"); MaterialInstance mi = new MaterialInstance(); mi.setMaterialName(materialName); - mi.setCount(amount); + if(amount != null){ + mi.setCount(amount); + } mi.setPrice(materialPrice); mi.setMinDismantleAmount(minDismantleAmount); mi.setTousse(tousseDefinition); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java =================================================================== diff -u -r35676 -r35682 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java (.../PrepareRecycleTousseManagerImpl.java) (revision 35676) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java (.../PrepareRecycleTousseManagerImpl.java) (revision 35682) @@ -54,11 +54,16 @@ //以下代码为原serviceManager实现方法的代码,现已移值到此manager实现类中,在此基础上做新增的需求内容 boolean success = true; String error = "保存成功"; - if(params != null){ + out : if(params != null){ JSONArray array = params.optJSONArray("tousseItems"); if(CollectionUtils.isNotEmpty(array)){ String invoiceplanId = params.optString("app_id"); InvoicePlan plan = get(invoiceplanId); + if(plan == null){ + success = false; + error = "申请单不存在"; + break out; + } String isContinueStr = params.optString("isContinue");//是否要归还 Boolean isContinue = null;//为空做验证 if("true".equals(isContinueStr)){ @@ -243,56 +248,53 @@ JSONUtil.buildErrorMsgJsonResult("未找到对应的器械包"); } } - tousseItemManager.save(item); - objectDao.flush(); - tousseItemIdList.add(item.getId()); - tdIdToTousseItemIdMap.put(item.getTousseDefinitionId(), item.getId()); + if(item != null){ + tousseItemManager.save(item); + objectDao.flush(); + tousseItemIdList.add(item.getId()); + tdIdToTousseItemIdMap.put(item.getTousseDefinitionId(), item.getId()); + } } String handlePrepareRecyleScanBarcodeMsg = handlePrepareRecyleScanBarcode(scanBarcodeInfo, tousseItemIdList, tdIdToTousseItemIdMap); if(StringUtils.isNotBlank(handlePrepareRecyleScanBarcodeMsg)){ return JSONUtil.buildJsonObject(false, handlePrepareRecyleScanBarcodeMsg); } - if (plan != null) { - if(CollectionUtils.isNotEmpty(delTousseItems)){ - String compareResult = "申请单单号:" - + plan.getSerialNumber() - + ",通过预回收删除了物品"; - Set delTousseItemIds = new HashSet(); - for (int i = 0; i < delTousseItems.size(); i++) { - TousseItem ti = delTousseItems.get(i); - delTousseItemIds.add(ti.getId()); - if(i == 0){ - compareResult += "\"" +ti.getTousseName() + "\""; - }else{ - compareResult += ",\"" + ti.getTousseName() + "\""; - } + if(CollectionUtils.isNotEmpty(delTousseItems)){ + String compareResult = "申请单单号:" + + plan.getSerialNumber() + + ",通过预回收删除了物品"; + Set delTousseItemIds = new HashSet(); + for (int i = 0; i < delTousseItems.size(); i++) { + TousseItem ti = delTousseItems.get(i); + delTousseItemIds.add(ti.getId()); + if(i == 0){ + compareResult += "\"" +ti.getTousseName() + "\""; + }else{ + compareResult += ",\"" + ti.getTousseName() + "\""; } - compareResult +=";"; - String deletePrepareRecyleScanBarcodeSql = "delete from PrepareRecyleScanBarcode where " - + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("tousseItemId", delTousseItemIds); - objectDao.excuteSQL(deletePrepareRecyleScanBarcodeSql); - String deleteTousseItemSql = "delete from TousseItem where recyclingApplication_ID=" - + invoiceplanId - +" and " - + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", delTDids); - objectDao.excuteSQL(deleteTousseItemSql); - applicationLogManager.saveApplicationLog(plan, compareResult, ApplicationLogStatusEnum.UPDATE); } - plan.setIsPrepareRecycled(InvoicePlan.SIGNED_TRUE); - String comfirmor = params.optString("comfirmor"); - String operator = params.optString("operator"); - plan.setPrepareRecycleComfirmor(comfirmor); - plan.setPrepareRecycleOperator(operator); - plan.setPrepareRecycleDateTime(new Date()); - save(plan); - if(isContinue != null && isContinue){ - returnTousse(tousseDefIdPrepareRecycleAmountMap, restApplyTousses, plan, plan.getDepartCoding()); - } - success = true; - } else { - success = false; - error = "申请单不存在"; + compareResult +=";"; + String deletePrepareRecyleScanBarcodeSql = "delete from PrepareRecyleScanBarcode where " + + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("tousseItemId", delTousseItemIds); + objectDao.excuteSQL(deletePrepareRecyleScanBarcodeSql); + String deleteTousseItemSql = "delete from TousseItem where recyclingApplication_ID=" + + invoiceplanId + +" and " + + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", delTDids); + objectDao.excuteSQL(deleteTousseItemSql); + applicationLogManager.saveApplicationLog(plan, compareResult, ApplicationLogStatusEnum.UPDATE); } + plan.setIsPrepareRecycled(InvoicePlan.SIGNED_TRUE); + String comfirmor = params.optString("comfirmor"); + String operator = params.optString("operator"); + plan.setPrepareRecycleComfirmor(comfirmor); + plan.setPrepareRecycleOperator(operator); + plan.setPrepareRecycleDateTime(new Date()); + save(plan); + if(isContinue != null && isContinue){ + returnTousse(tousseDefIdPrepareRecycleAmountMap, restApplyTousses, plan, plan.getDepartCoding()); + } + success = true; } } /*if(1==1){