liusheng
2023-09-28 8aaffe80f14469a81d0c1c54a3a60908de66ce37
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -21,6 +21,7 @@
import com.ruoyi.project.service.IServiceFunddetailService;
import com.ruoyi.project.service.IServiceFunddetailSharedService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -104,6 +105,9 @@
        if (serviceFund.getUploadtime() != null) {
            wrappers.eq(ServiceFund::getUploadtime, serviceFund.getUploadtime());
        }
        if (serviceFund.getFlowlevel() != null) {
            wrappers.eq(ServiceFund::getFlowlevel, serviceFund.getFlowlevel());
        }
        return this.list(wrappers);
    }
@@ -154,7 +158,14 @@
            //数据发送给财务
            uploadOAFileAndUpdateDb(serviceFunddetailShareds.get(i));
        }
        boolean result = detailSharedService.saveBatch(serviceFunddetailShareds);
        boolean result = false;
        for (ServiceFunddetailShared serviceFunddetailShared : serviceFunddetailShareds) {
            if (ObjectUtils.isNotEmpty(serviceFunddetailShared)) {
                result = detailSharedService.save(serviceFunddetailShared);
            } else {
                log.info("serviceFunddetailShared为空了!!!");
            }
        }
        return result;
    }
@@ -671,13 +682,8 @@
    public Long addOrUpdateNew(ServiceFundVO serviceFundVO) {
        Long id = null;
        //将数据保存到fund表
        if (serviceFundVO.getId() == null) {
            save(serviceFundVO);
            id = serviceFundVO.getId();
        } else {
            updateById(serviceFundVO);
            id = serviceFundVO.getId();
        }
        id = saveFund(serviceFundVO);
        List<ServiceFunddetailVO> serviceFunddetails = serviceFundVO.getServiceFunddetails();
        if (CollectionUtils.isEmpty(serviceFunddetails)) {
            System.out.println("serviceFunddetails为空喽");
@@ -700,6 +706,42 @@
        }
        return id;
    }
    @Override
    public Map<String, Long> performance(ServiceFundVO serviceFundVO) {
        Long id = null;
        //将数据保存到fund表
        id = saveFund(serviceFundVO);
        List<ServiceFunddetailVO> serviceFunddetails = serviceFundVO.getServiceFunddetails();
        if (CollectionUtils.isEmpty(serviceFunddetails)) {
            System.out.println("serviceFunddetails为空喽");
            return null;
        }
        //总税前
        Double pretaxcosts = 0.00;
        //总税后
        Double taxedcosts = 0.00;
        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
            serviceFunddetailVO.setFundid(id);
            ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
            Map<String, Double> performance = serviceFunddetailService.performance(serviceFunddetail);
            if (!performance.isEmpty()) {
                Double amount = performance.get("amount");
                Double taxedamount = performance.get("taxedamount");
                pretaxcosts = pretaxcosts + amount;
                taxedcosts = taxedcosts + taxedamount;
            }
            serviceFundVO.setPretaxcost(pretaxcosts);
            serviceFundVO.setTaxedcost(taxedcosts);
            updateById(serviceFundVO);
        }
        Map map = new HashMap();
        map.put("fundId", id);
        return map;
    }
    int uploadOAFileAndUpdateDb(ServiceFunddetailShared remShare) {
@@ -857,4 +899,18 @@
//        return 0;
//    }
    public long saveFund(ServiceFundVO serviceFundVO) {
        Long id = null;
        //将数据保存到fund表
        if (ObjectUtils.isNotEmpty(serviceFundVO) && serviceFundVO.getId() == null) {
            serviceFundVO.setCheckstatus(serviceFundVO.getCheckstatus() == null ? 1 : 2);
            save(serviceFundVO);
            id = serviceFundVO.getId();
        } else {
            updateById(serviceFundVO);
            id = serviceFundVO.getId();
        }
        return id;
    }
}