From da15d1a6598501c12d2388e49bc1d51c548a6eff Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Fri, 6 Dec 2024 16:09:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=94=AE=E5=90=8E=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCollectionConfirmationMapper.java | 4 + .../FinCollectionConfirmationMapper.xml | 28 +++++++ .../FinCollectionConfirmationService.java | 30 +++++++- .../AsBillSettelApplyDetail.java | 14 ++-- .../AsBillSettelApplySitem.java | 18 ++--- .../AsBillSettelApplyService.java | 77 ++++++++++++++----- 6 files changed, 131 insertions(+), 40 deletions(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java index da5e35f278..59dfd8f6e3 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java @@ -194,4 +194,8 @@ public interface FinCollectionConfirmationMapper extends BaseMapper selectSids(String busVehSid); IPage asListPagess(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + String selCurrentReceivableMoneyForWXD(@Param("wxdSid") String wxdSid); + + void update4asWxdState(@Param("wxdSid") String wxdSid); } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml index 0ebe3999b6..386a98d388 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml @@ -183,6 +183,11 @@ where contractNo = #{contractNo} and VIN = #{temporaryNo} + + update yxt_4sas.as_busrepair_bill + set settleState = 1,isOutFactory = 1 + where sid = #{wxdSid} + + diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 58ae3e0051..e453516475 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -227,6 +227,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService createQueryWrapper(FinCollectionConfirmationQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -1972,6 +1973,28 @@ public class FinCollectionConfirmationService extends MybatisBaseService receivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 3); + if (receivablesDetailedVos.size() > 0) { + receivablesDetailedVos.stream().forEach(v -> { + //已选款项明细sid + String selectSid = v.getSid(); + //应收未收款项明细sid + String receivablesSid = v.getReceivablesSid(); + FinUncollectedReceivablesDetailed u = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid); + if (null != u) { + String wxdSid = u.getContractSid(); //维修单sid + String yingshou = baseMapper.selCurrentReceivableMoneyForWXD(wxdSid); //查询该应收单是否有应收未收; + if (StringUtils.isNotBlank(yingshou)) { + BigDecimal ys = new BigDecimal(yingshou); + if (ys.compareTo(BigDecimal.ZERO) == 0) { + //没有应收款,修改维修单状态 + baseMapper.update4asWxdState(wxdSid); + } + } + } + }); + } return rb.success().setMsg("款项确认成功"); } @@ -3398,7 +3421,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService 7) { - vinNo = finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8); + vinNo = finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8); } else { vinNo = finSelectedReceivablesDetailedVo.getVIN(); } @@ -3416,7 +3439,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.asListPagess(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -6004,5 +6027,4 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { + + BigDecimal settleHourAmount = BigDecimal.ZERO; + BigDecimal settleGoodsAmount = BigDecimal.ZERO; + List sitemList = asBillSettelApplySitemService.fetchByBillSid(sid); + if (!sitemList.isEmpty()) { + for (AsBillSettelApplySitem sitem : sitemList) { + if (null != sitem.getSitemSettleAmount()) { + settleHourAmount = sitem.getSitemSettleAmount().add(settleHourAmount); + } + } + } + List goodsList = asBillSettelApplyDetailService.fetchByBillSid(sid); + if (!goodsList.isEmpty()) { + for (AsBillSettelApplyDetail g : goodsList) { + if (null != g.getGoodsSettleAmount()) { + settleGoodsAmount = g.getGoodsSettleAmount().add(settleGoodsAmount); + } + } + } + + if (settleHourAmount.compareTo(BigDecimal.ZERO) > 0) { FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); @@ -1125,15 +1144,15 @@ public class AsBillSettelApplyService extends MybatisBaseService 0) { + + + if (settleGoodsAmount.compareTo(BigDecimal.ZERO) > 0) { FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); @@ -1154,13 +1173,13 @@ public class AsBillSettelApplyService extends MybatisBaseService 0) { FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); @@ -1467,8 +1486,26 @@ public class AsBillSettelApplyService extends MybatisBaseService 0) { + BigDecimal settleHourAmount = BigDecimal.ZERO; + BigDecimal settleGoodsAmount = BigDecimal.ZERO; + List sitemList = asBillSettelApplySitemService.fetchByBillSid(businessSid); + if (!sitemList.isEmpty()) { + for (AsBillSettelApplySitem sitem : sitemList) { + if (null != sitem.getSitemSettleAmount()) { + settleHourAmount = sitem.getSitemSettleAmount().add(settleHourAmount); + } + } + } + List goodsList = asBillSettelApplyDetailService.fetchByBillSid(businessSid); + if (!goodsList.isEmpty()) { + for (AsBillSettelApplyDetail g : goodsList) { + if (null != g.getGoodsSettleAmount()) { + settleGoodsAmount = g.getGoodsSettleAmount().add(settleGoodsAmount); + } + } + } + + if (settleHourAmount.compareTo(BigDecimal.ZERO) > 0) { FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); @@ -1489,15 +1526,15 @@ public class AsBillSettelApplyService extends MybatisBaseService 0) { + + + if (settleGoodsAmount.compareTo(BigDecimal.ZERO) > 0) { FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName()); finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid()); @@ -1518,13 +1555,13 @@ public class AsBillSettelApplyService extends MybatisBaseService 0) { FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto(); finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());