liusheng
2024-03-11 4920ea5372b919f8b8f27cd709e1ab4040fe8d2b
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -109,8 +109,14 @@
        if (serviceFund.getUploadtime() != null) {
            wrappers.eq(ServiceFund::getUploadtime, serviceFund.getUploadtime());
        }
        if (serviceFund.getUploadStates() != null) {
            wrappers.eq(ServiceFund::getUploadStates, serviceFund.getUploadStates());
        }
        if (serviceFund.getFlowlevel() != null) {
            wrappers.eq(ServiceFund::getFlowlevel, serviceFund.getFlowlevel());
        }
        if (serviceFund.getJxrq() != null) {
            wrappers.eq(ServiceFund::getJxrq, serviceFund.getJxrq());
        }
        return this.list(wrappers);
    }
@@ -695,43 +701,47 @@
    public Long addOrUpdateNew(ServiceFundVO serviceFundVO) {
        Long id = null;
        //将数据保存到fund表
        serviceFundVO.setUploadStates(0);
        id = saveFund(serviceFundVO);
        List<ServiceFunddetailVO> serviceFunddetails = serviceFundVO.getServiceFunddetails();
        if (CollectionUtils.isEmpty(serviceFunddetails)) {
            throw new BaseException("serviceFunddetails为空喽");
        }
        BigDecimal bigDecimal = new BigDecimal(0.0);
        // 保存详情数据
        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
        if (!CollectionUtils.isEmpty(serviceFunddetails)) {
            if (StringUtils.isEmpty(serviceFunddetailVO.getBankcardno())) {
                throw new BaseException("请检查银行卡号是否为空,姓名:" + serviceFunddetailVO.getBeneficiaryname());
            // 保存详情数据
            for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
                //去掉身份证的首尾空格
                if (StringUtils.isNotEmpty(serviceFunddetailVO.getIdcardno())) {
                    serviceFunddetailVO.setIdcardno(serviceFunddetailVO.getIdcardno().trim());
                }
                if (StringUtils.isEmpty(serviceFunddetailVO.getBankcardno())) {
                    throw new BaseException("请检查银行卡号是否为空,姓名:" + serviceFunddetailVO.getBeneficiaryname());
                }
                serviceFunddetailVO.setFundid(id);
                //將附件转成json
                if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
                    serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
                } else {
                    serviceFunddetailVO.setAnnexfiles(null);
                }
                if (!CollectionUtils.isEmpty(serviceFunddetailVO.getInvoicefilesList())) {
                    serviceFunddetailVO.setInvoicefiles(JSON.toJSONString(serviceFunddetailVO.getInvoicefilesList()));
                } else {
                    serviceFunddetailVO.setInvoicefiles(null);
                }
                ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
                if (serviceFunddetailVO.getId() == null) {
                    serviceFunddetailService.save(serviceFunddetail);
                } else {
                    serviceFunddetailService.updateById(serviceFunddetail);
                }
                bigDecimal = bigDecimal.add(BigDecimal.valueOf(serviceFunddetailVO.getAmount()));
            }
            serviceFunddetailVO.setFundid(id);
            //將附件转成json
            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
                serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
            } else {
                serviceFunddetailVO.setAnnexfiles(null);
            }
            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getInvoicefilesList())) {
                serviceFunddetailVO.setInvoicefiles(JSON.toJSONString(serviceFunddetailVO.getInvoicefilesList()));
            } else {
                serviceFunddetailVO.setInvoicefiles(null);
            }
            ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
            if (serviceFunddetailVO.getId() == null) {
                serviceFunddetailService.save(serviceFunddetail);
            } else {
                serviceFunddetailService.updateById(serviceFunddetail);
            }
            bigDecimal = bigDecimal.add(BigDecimal.valueOf(serviceFunddetailVO.getAmount()));
        }
        serviceFundVO.setPretaxcost(bigDecimal.doubleValue());
        serviceFundMapper.updateById(serviceFundVO);