diff --git a/SC-boot/linkage-scm/src/main/java/jnpf/collection/controller/CollectionController.java b/SC-boot/linkage-scm/src/main/java/jnpf/collection/controller/CollectionController.java index a77ab68c..a8ab309a 100644 --- a/SC-boot/linkage-scm/src/main/java/jnpf/collection/controller/CollectionController.java +++ b/SC-boot/linkage-scm/src/main/java/jnpf/collection/controller/CollectionController.java @@ -290,55 +290,57 @@ public class CollectionController { @PostMapping @Transactional public ActionResult create(@RequestBody @Valid CollectionCrForm collectionCrForm) throws DataException { - List Collection_item0List = JsonUtil.getJsonToList(collectionCrForm.getCollection_item0List(),Collection_item0Entity.class); - for (Collection_item0Entity collectionItem0Entity : Collection_item0List){ - if (StringUtils.isNotEmpty(collectionItem0Entity.getSalesorderId())){ - SaleorderitemEntity saleorderitemEntity = saleorderitemService.getInfo(collectionItem0Entity.getSalesorderId()); - if (saleorderitemEntity.getInvoiceAmount() != null && saleorderitemEntity.getPrice() != null){ - if (saleorderitemEntity.getInvoiceAmount().compareTo(saleorderitemEntity.getPrice()) != 0){ - return ActionResult.fail("订单金额与发票金额不一致,无法回款"); + if (collectionCrForm.getCollection_item0List()!=null && collectionCrForm.getCollection_item0List().size()>0) { + List Collection_item0List = JsonUtil.getJsonToList(collectionCrForm.getCollection_item0List(), Collection_item0Entity.class); + for (Collection_item0Entity collectionItem0Entity : Collection_item0List) { + if (StringUtils.isNotEmpty(collectionItem0Entity.getSalesorderId())) { + SaleorderitemEntity saleorderitemEntity = saleorderitemService.getInfo(collectionItem0Entity.getSalesorderId()); + if (saleorderitemEntity.getInvoiceAmount() != null && saleorderitemEntity.getPrice() != null) { + if (saleorderitemEntity.getInvoiceAmount().compareTo(saleorderitemEntity.getPrice()) != 0) { + return ActionResult.fail("订单金额与发票金额不一致,无法回款"); + } } } - } - if (collectionItem0Entity.getAmount() == null ){ - return ActionResult.fail("请输入收款金额"); - } - if (collectionItem0Entity.getSalesorderId() != null){ - SaleorderitemEntity saleorderitemEntity = saleorderitemService.getInfo(collectionItem0Entity.getSalesorderId()); - if (saleorderitemEntity.getAmountCollected() == null){ - saleorderitemEntity.setAmountCollected(new BigDecimal("0")); - } - if (saleorderitemEntity.getPrice() == null){ - saleorderitemEntity.setPrice(new BigDecimal("0")); - } - BigDecimal notAmount = new BigDecimal("0"); - notAmount = saleorderitemEntity.getPrice().subtract(saleorderitemEntity.getAmountCollected()); - if (collectionItem0Entity.getAmount().compareTo(notAmount) == 1){ - return ActionResult.fail("收款金额不能大于订单金额-已收款金额"); + if (collectionItem0Entity.getAmount() == null || collectionItem0Entity.getAmount().compareTo(BigDecimal.ZERO) == 0) { + return ActionResult.fail("请输入收款金额"); } - if (saleorderitemEntity.getAmountCollected().equals(saleorderitemEntity.getPrice()) || - saleorderitemEntity.getAmountCollected().compareTo(saleorderitemEntity.getPrice()) == 1){ - return ActionResult.fail("已回完款,无需回款"); + if (StringUtil.isNotEmpty(collectionItem0Entity.getSalesorderId())) { + SaleorderitemEntity saleorderitemEntity = saleorderitemService.getInfo(collectionItem0Entity.getSalesorderId()); + if (saleorderitemEntity.getAmountCollected() == null) { + saleorderitemEntity.setAmountCollected(new BigDecimal("0")); + } + if (saleorderitemEntity.getPrice() == null) { + saleorderitemEntity.setPrice(new BigDecimal("0")); + } + BigDecimal notAmount = new BigDecimal("0"); + notAmount = saleorderitemEntity.getPrice().subtract(saleorderitemEntity.getAmountCollected()); + if (collectionItem0Entity.getAmount().compareTo(notAmount) == 1) { + return ActionResult.fail("收款金额不能大于订单金额-已收款金额"); + } + if (saleorderitemEntity.getAmountCollected().equals(saleorderitemEntity.getPrice()) || + saleorderitemEntity.getAmountCollected().compareTo(saleorderitemEntity.getPrice()) == 1) { + return ActionResult.fail("已回完款,无需回款"); + } + } else { + return ActionResult.fail("销售订单不存在"); } - }else { - return ActionResult.fail("销售订单不存在"); - } - String mainId =RandomUtil.uuId(); - UserInfo userInfo=userProvider.get(); - collectionCrForm.setCreatorUserName(userInfo.getUserId()); - collectionCrForm.setCreatorTime(DateUtil.getNow()); + String mainId = RandomUtil.uuId(); + UserInfo userInfo = userProvider.get(); + collectionCrForm.setCreatorUserName(userInfo.getUserId()); + collectionCrForm.setCreatorTime(DateUtil.getNow()); // collectionCrForm.setDocumentNo(generaterSwapUtil.getBillNumber("collection", false)); - CollectionEntity entity = JsonUtil.getJsonToBean(collectionCrForm, CollectionEntity.class); - entity.setId(mainId); - entity.setStatus("0"); - collectionService.save(entity); + CollectionEntity entity = JsonUtil.getJsonToBean(collectionCrForm, CollectionEntity.class); + entity.setId(mainId); + entity.setStatus("0"); + collectionService.save(entity); // List Collection_item0List = JsonUtil.getJsonToList(collectionCrForm.getCollection_item0List(),Collection_item0Entity.class); - for(Collection_item0Entity entitys : Collection_item0List){ - entitys.setId(RandomUtil.uuId()); - entitys.setCollectionId(entity.getId()); - collection_item0Service.save(entitys); + for (Collection_item0Entity entitys : Collection_item0List) { + entitys.setId(RandomUtil.uuId()); + entitys.setCollectionId(entity.getId()); + collection_item0Service.save(entitys); + } + return ActionResult.success("创建成功"); } - return ActionResult.success("创建成功"); } return ActionResult.fail("请填写收款明细"); }