From be917b8b38d40be81ec0d1fc5dff22890d645088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E4=B8=96=E5=BC=BA?= Date: Wed, 15 Mar 2023 08:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=94=B6=E6=AC=BE=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CollectionController.java | 109 +++++++++++++++--- .../scm/basicInformation/collection/index.vue | 4 +- 2 files changed, 94 insertions(+), 19 deletions(-) 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 b97b8f95..fab92f7f 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 @@ -91,12 +91,12 @@ public class CollectionController { return ActionResult.success(result); } - /** +/* *//** * 提交 * * @param ids * @return - */ + *//* @PostMapping("/commit/{ids}") @Transactional public ActionResult commit(@PathVariable("ids") String ids) { @@ -175,7 +175,7 @@ public class CollectionController { } } return ActionResult.fail("请选择一条数据"); - } + }*/ /** * 认款 @@ -189,24 +189,99 @@ public class CollectionController { String[] idList = ids.split(","); for (String id : idList) { CollectionEntity collectionEntity = collectionService.getInfo(id); - if (ObjectUtils.isNotEmpty(collectionEntity)) { - if (collectionEntity.getStatus().equals("0")) { - return ActionResult.fail("请先提交"); - } - if (collectionEntity.getStatus().equals("2")) { - return ActionResult.fail("已认款,无需再次提交"); - } - if (collectionEntity.getAmountCollected() == null || collectionEntity.getAmountCollected().compareTo(BigDecimal.ZERO) < 1) { - return ActionResult.fail("请先输入收款金额"); + if (collectionEntity.getStatus().equals("1")){ + return ActionResult.fail("已提交"); + } + if (collectionEntity.getStatus().equals("2")){ + return ActionResult.fail("已认款"); + } + if (collectionEntity.getStatus().equals("0")) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(Collection_item0Entity::getCollectionId, id); + List collection_item0EntityList = collection_item0Service.list(queryWrapper);//查询收款单子表信息 + for (Collection_item0Entity collection_item0Entity : collection_item0EntityList) { + BigDecimal sum = new BigDecimal(0); + SaleorderitemEntity saleordercetEntity = saleorderitemService.getById(collection_item0Entity.getSalesorderId());//查询销售订单信息 + if (saleordercetEntity.getAmountCollected() == null) { + saleordercetEntity.setAmountCollected(new BigDecimal(0)); + } +// if (saleordercetEntity.getAmountCollected().equals(saleordercetEntity.getPrice())) { +// return ActionResult.fail("已回款金额等于金额"); +// } + if (collectionEntity.getAmountCollected() == null || collectionEntity.getAmountCollected().compareTo(BigDecimal.ZERO) < 1) { + return ActionResult.fail("请先输入回款金额"); + } else { + sum = saleordercetEntity.getAmountCollected().add(collection_item0Entity.getAmount()); + if (sum.compareTo(saleordercetEntity.getPrice()) > 0) { + return ActionResult.fail("总回款金额大于金额"); + } + } + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.lambda().eq(Salesorder_item0Entity::getSalesOrderId,saleordercetEntity.getId()); + List list = salesorder_item0Service.list(queryWrapper1); + List poundlist = new ArrayList<>(); + for (Salesorder_item0Entity saleItem : list){ + PoundlistEntity poundlistEntity = collectionService.queryPoundInfo(saleItem.getPoundlistId()); + if (ObjectUtils.isNotEmpty(poundlistEntity)) { + poundlist.add(poundlistEntity); + } + } + if (poundlist.size() > 0) { + poundlist = poundlist.stream().sorted(Comparator.comparing(PoundlistEntity::getAdvance).reversed() + .thenComparing(Comparator.comparing(PoundlistEntity::getPoundDate))).collect(Collectors.toList()); + }else{ + return ActionResult.fail("磅单为空"); + } + BigDecimal amount = new BigDecimal(0); + List poundlist1 = new ArrayList<>(); + for (PoundlistEntity pound : poundlist){ + if (pound.getSalesPrice()!=null && pound.getSettlement()!=null) { + amount = amount.add(pound.getSalesPrice().multiply(pound.getSettlement())); + if (amount.compareTo(sum) < 1) { + poundlist1.add(pound); + }else{ + break; + } + } + } + for (PoundlistEntity poundlistEntity : poundlist1){ + poundlistEntity.setIsCollection("1"); + if (poundlistEntity.getPaymentDate() == null){ + poundlistEntity.setPaymentDate(new Date()); + } + poundlistService.updateById(poundlistEntity); + } + saleordercetEntity.setAmountCollected(sum); +// saleordercetEntity.setStatus("3"); + saleorderitemService.updateById(saleordercetEntity); + collectionEntity.setStatus("2"); + collectionService.updateById(collectionEntity); + return ActionResult.success("认款成功"); } - collectionEntity.setStatus("2"); - collectionService.updateById(collectionEntity); - return ActionResult.success("认款成功"); - } else { - return ActionResult.fail("数据为空"); } } return ActionResult.fail("请选择一条数据"); +// String[] idList = ids.split(","); +// for (String id : idList) { +// CollectionEntity collectionEntity = collectionService.getInfo(id); +// if (ObjectUtils.isNotEmpty(collectionEntity)) { +// if (collectionEntity.getStatus().equals("0")) { +// return ActionResult.fail("请先提交"); +// } +// if (collectionEntity.getStatus().equals("2")) { +// return ActionResult.fail("已认款,无需再次提交"); +// } +// if (collectionEntity.getAmountCollected() == null || collectionEntity.getAmountCollected().compareTo(BigDecimal.ZERO) < 1) { +// return ActionResult.fail("请先输入收款金额"); +// } +// collectionEntity.setStatus("2"); +// collectionService.updateById(collectionEntity); +// return ActionResult.success("认款成功"); +// } else { +// return ActionResult.fail("数据为空"); +// } +// } +// return ActionResult.fail("请选择一条数据"); } /** * 列表 diff --git a/SC-web/src/views/scm/basicInformation/collection/index.vue b/SC-web/src/views/scm/basicInformation/collection/index.vue index 9707a012..0800dc89 100644 --- a/SC-web/src/views/scm/basicInformation/collection/index.vue +++ b/SC-web/src/views/scm/basicInformation/collection/index.vue @@ -40,8 +40,8 @@ - 提交 - + + 认款