liusheng
2023-09-07 b113be4dfacb8ce58789b12e8beca6cd9ba8fb3c
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -31,6 +31,7 @@
import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.annotations.Options;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.io.*;
@@ -100,6 +101,7 @@
    public TableDataInfo list(ServiceReimbursement serviceReimbursement) {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        serviceReimbursement.setCreateBy(user.getUserName());
        serviceReimbursement.setUsername(user.getNickName());
        startPage();
        List<ServiceReimbursement> list = serviceReimbursementService.queryList(serviceReimbursement);
        return getDataTable(list);
@@ -154,6 +156,10 @@
        }
        //startPage();
        List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE);
        if (StringUtils.isNotBlank(spFinancialExpensesIn.getUsername())) {
            list = list.stream().filter(reimbursementOut -> reimbursementOut.getUsername().contains(spFinancialExpensesIn.getUsername())).collect(Collectors.toList()); // 按name字段过滤
        }
        Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() {
            @Override
            public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) {
@@ -760,9 +766,15 @@
        ServiceReimbursementEo serviceReimbursementEo = new ServiceReimbursementEo();
        serviceReimbursementEo.setId(id);
        List<ServiceReimbursementEo> rdInfoByItem = serviceReimbursementService.getRDInfoByItem(serviceReimbursementEo);
        log.info("rdInfoByItem是否为空 :{}", CollectionUtils.isEmpty(rdInfoByItem) ? null : rdInfoByItem.size());
        for (int i = 0; i < rdInfoByItem.size(); i++) {
            ServiceReimbursementEo serviceReimbursementEo1 = rdInfoByItem.get(i);
            String codeByInfo = PersonType.getCodeByInfo(serviceReimbursementEo1.getPersontype());
            serviceReimbursementEo1.setPersontype(codeByInfo);
        }
        //获取报销支付信息
        List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo);
        log.info("reimbursementpayeeInfo是否为空 :{}", CollectionUtils.isEmpty(reimbursementpayeeInfo) ? null : reimbursementpayeeInfo.size());
        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
        List<Map<String, BigDecimal>> list = new ArrayList<>();
        StringBuffer FYXM1 = new StringBuffer();
@@ -779,7 +791,7 @@
            BigDecimal keyOneMoney = new BigDecimal(0.00);
            BigDecimal keyTwoMoney = new BigDecimal(0.00);
            for (ServiceReimbursementEo serviceReimbursementEo1 : values) {
                otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount());
                otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getCityfee()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount());
            }
            map.put(key, otherMoney);
            list.add(map);
@@ -915,6 +927,14 @@
        }
        dataMap.put("BXBZ", remark);
        dataMap.put("ZXFZR", StringUtils.isEmpty(rdInfoByItem.get(0).getOpochecker()) ? "" : rdInfoByItem.get(0).getOpochecker());
//
        dataMap.put("CWFYZ", StringUtils.isEmpty(rdInfoByItem.get(0).getFinvicepresident()) ? "" : rdInfoByItem.get(0).getFinvicepresident());
        dataMap.put("YWFYZ", StringUtils.isEmpty(rdInfoByItem.get(0).getBusvicepresident()) ? "" : rdInfoByItem.get(0).getBusvicepresident());
        dataMap.put("BGSZR", StringUtils.isEmpty(rdInfoByItem.get(0).getOfficedirector()) ? "" : rdInfoByItem.get(0).getOfficedirector());
        dataMap.put("CWBZR", StringUtils.isEmpty(rdInfoByItem.get(0).getFinancedirector()) ? "" : rdInfoByItem.get(0).getFinancedirector());
        dataMap.put("CWSH", StringUtils.isEmpty(rdInfoByItem.get(0).getFinancechecher()) ? "" : rdInfoByItem.get(0).getFinancechecher());
        dataMap.put("YYMMDD", time);