yxh
2023-05-10 d3dfc07c93ae97cc6a301d9ccf2f8513a6a8ad85
Merge remote-tracking branch 'origin/master'

# Conflicts:
# ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementpayeeController.java
已修改9个文件
176 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -156,6 +156,11 @@
        return AjaxResult.success(serviceFundService.getFundId(infoid));
    }
    @GetMapping("/addFundSharedInfo/{id}")
    public AjaxResult addFundSharedInfo(@PathVariable("id") Long id){
        return AjaxResult.success(serviceFundService.addFundSharedInfo(id));
    }
    @GetMapping("/getFundDetail/{id}")
    public AjaxResult getFundDetail(@PathVariable("id") Long id){
        return AjaxResult.success(serviceFundService.getFundDetail(id));
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -189,6 +189,7 @@
    /**
     * 往service_reimbursement_share,往service_reimbursementdetail_share,往service_reimbursementpyee_share新增备份数据
     *
     * @param id
     * @return
     */
@@ -210,9 +211,9 @@
    public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
        boolean b = serviceReimbursementService.save(serviceReimbursement);
        if (b) {
            addReiSharedDatd(serviceReimbursement, 1);
        }
//        if (b) {
//            addReiSharedDatd(serviceReimbursement, 1);
//        }
        Long id = serviceReimbursement.getId();
        return AjaxResult.success(id);
    }
@@ -226,8 +227,7 @@
        } else //modify
        {
            List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
            if (remlist != null)
                remShare = remlist.get(0);
            if (remlist != null) remShare = remlist.get(0);
        }
        remShare.setUserno(serviceReimbursement.getUserno());
@@ -629,9 +629,9 @@
    @PostMapping("/editMoney")
    public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) {
        boolean b = serviceReimbursementService.updateById(null);
        if (b) {
            addReiSharedDatd(null, 2);
        }
//        if (b) {
//            addReiSharedDatd(null, 2);
//        }
        return toAjax(b);
    }
@@ -713,8 +713,7 @@
        //获取报销支付信息
        List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo);
        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream()
                .collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
        List<Map<String, BigDecimal>> list = new ArrayList<>();
        StringBuffer FYXM1 = new StringBuffer();
        StringBuffer FYXM2 = new StringBuffer();
@@ -802,17 +801,20 @@
        } else {
            dataMap.put("FYXM3", "");
        }
        //   dataMap.put("JEXS", rdInfoByItem.get(0).getAmountrequested());
        dataMap.put("JEXS", allMoney);
        //double temp = 0;
        //temp = Math.round(serviceReimbursement.getAmountrequested() * 100) * 0.01d;
        // dataMap.put("JEDS", convert(rdInfoByItem.get(0).getAmountrequested().doubleValue()) + "整");
        dataMap.put("JEDS", convert(allMoney.doubleValue()) + "整");
        String remark = "";
        for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) {
            remark += "<w:br/> "+PersonType.getInfoByCode(serviceReimbursementpayee.getPersontype())+ "(" + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
            remark += " 元; " + serviceReimbursementpayee.getBankname() + ": " + serviceReimbursementpayee.getBankcardno() + ") 备注: " + serviceReimbursementpayee.getRemark();
            remark += "<w:br/> " + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
            remark += " 元; ";
            if (!StringUtils.isEmpty(serviceReimbursementpayee.getBankname())) {
                remark += serviceReimbursementpayee.getBankname() + " ( " + serviceReimbursementpayee.getBankcardno() + ")";
            }
            remark += " 备注: " + serviceReimbursementpayee.getPersontype();
            if (!StringUtils.isEmpty(serviceReimbursementpayee.getRemark())) {
                remark += serviceReimbursementpayee.getRemark();
            }
        }
        dataMap.put("BXBZ", remark);
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -4,8 +4,6 @@
import java.util.Arrays;
import java.util.List;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.ServiceReimbursementdetailShared;
import com.ruoyi.project.service.IServiceReimbursementdetailSharedService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -38,8 +36,7 @@
@Api("报销申请明细")
@RestController
@RequestMapping("/project/reimbursementdetail")
public class ServiceReimbursementdetailController extends BaseController
{
public class ServiceReimbursementdetailController extends BaseController {
    @Autowired
    private IServiceReimbursementdetailService serviceReimbursementdetailService;
    @Autowired
@@ -51,8 +48,7 @@
    @ApiOperation("查询报销申请明细列表")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail) {
        startPage();
        //List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail);
        List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.selectServiceReimbursementdetailList(serviceReimbursementdetail);
@@ -66,8 +62,7 @@
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:export')")
    @Log(title = "报销申请明细", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail) {
        List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail);
        ExcelUtil<ServiceReimbursementdetail> util = new ExcelUtil<ServiceReimbursementdetail>(ServiceReimbursementdetail.class);
        return util.exportExcel(list, "报销申请明细数据");
@@ -88,8 +83,7 @@
    @ApiOperation("获取报销申请明细详细信息")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceReimbursementdetailService.getById(id));
    }
@@ -101,8 +95,7 @@
    @Log(title = "报销申请明细", businessType = BusinessType.INSERT)
    @PostMapping
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) {
        return toAjax(serviceReimbursementdetailService.save(serviceReimbursementdetail));
    }
@@ -113,13 +106,10 @@
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')")
    @Log(title = "修改申请明细", businessType = BusinessType.UPDATE)
    @PostMapping("/updateRDlList")
    public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails)
    {
    public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails) {
        for (ServiceReimbursementdetail serviceReimbursementdetail:serviceReimbursementdetails) {
            serviceReimbursementdetailService.saveOrUpdate(serviceReimbursementdetail);
            //新增或修改报销申请明细分享表
            ServiceReimbursementdetailShared serviceReimbursementdetailShared = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailShared.class);
            detailSharedService.saveOrUpdate(serviceReimbursementdetailShared);
        }
        return null;
    }
@@ -132,8 +122,7 @@
    @Log(title = "报销申请明细", businessType = BusinessType.UPDATE)
    @PutMapping
    //@RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) {
        return toAjax(serviceReimbursementdetailService.updateById(serviceReimbursementdetail));
    }
@@ -144,8 +133,7 @@
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:remove')")
    @Log(title = "报销申请明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceReimbursementdetailService.removeByIds(Arrays.asList(ids)));
    }
@@ -156,8 +144,7 @@
    @ApiOperation("删除报销申请明细并修改金额")
    @Log(title = "报销申请明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/deleteDetail/{id}")
    public AjaxResult deleteDetail(@PathVariable Long id)
    {
    public AjaxResult deleteDetail(@PathVariable Long id) {
        return AjaxResult.success(serviceReimbursementdetailService.deleteDetail(id));
    }
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
@@ -34,6 +34,11 @@
    @Excel(name = "资金申请主表ID")
    private Long fundid;
    /** 对应的service_funddetail表的ID */
    @ApiModelProperty("对应的service_funddetail表的ID")
    @Excel(name = "对应的service_funddetail表的ID")
    private Long fdid;
    /** 顺序号 */
    @ApiModelProperty("顺序号")
    @Excel(name = "顺序号")
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailShared.java
@@ -34,6 +34,11 @@
    @Excel(name = "资金申请主表ID")
    private Long rbid;
    /** 差旅报销单明细ID */
    @ApiModelProperty("差旅报销单明细ID")
    @Excel(name = "差旅报销单明细ID")
    private Long rdid;
    /** 人员类别 */
    @ApiModelProperty("人员类别")
    @Excel(name = "人员类别")
ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementpayeeShared.java
@@ -59,6 +59,11 @@
    @Excel(name = "开户银行")
    private String bankname;
    /** 备注 */
    @ApiModelProperty("备注")
    @Excel(name = "备注")
    private String remark;
    /** 卡号 */
    @ApiModelProperty("卡号")
    @Excel(name = "卡号")
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
@@ -5,6 +5,7 @@
import com.ruoyi.project.domain.ServiceFund;
import com.ruoyi.project.domain.ServiceFunddetail;
import com.ruoyi.project.domain.vo.*;
import org.springframework.web.bind.annotation.PathVariable;
/**
 * 费用申请主Service接口
@@ -29,6 +30,13 @@
    Long getFundId(Long infoid);
    /**
     * 往分享表中添加数据
     * @param id
     * @return
     */
    Boolean addFundSharedInfo(Long id);
    List<ServiceFund> selectServiceFundList(ServiceFund serviceFund);
    List<ServiceFunddetail> getFundDetail(Long id);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -1,24 +1,24 @@
package com.ruoyi.project.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ruoyi.project.domain.BaseExpertfeetype;
import com.ruoyi.project.domain.ServiceFunddetail;
import com.ruoyi.project.domain.ServiceReimbursement;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.vo.*;
import com.ruoyi.project.mapper.BaseExpertfeetypeMapper;
import com.ruoyi.project.mapper.ServiceFunddetailMapper;
import com.ruoyi.project.mapper.ServiceReimbursementMapper;
import com.ruoyi.project.mapper.*;
import com.ruoyi.project.service.IServiceFundSharedService;
import com.ruoyi.project.service.IServiceFunddetailSharedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.mapper.ServiceFundMapper;
import com.ruoyi.project.domain.ServiceFund;
import com.ruoyi.project.service.IServiceFundService;
import org.springframework.transaction.annotation.Transactional;
/**
 * 费用申请主Service业务层处理
@@ -27,8 +27,7 @@
 * @date 2022-01-24
 */
@Service
public class ServiceFundServiceImpl extends ServiceImpl<ServiceFundMapper, ServiceFund> implements IServiceFundService
{
public class ServiceFundServiceImpl extends ServiceImpl<ServiceFundMapper, ServiceFund> implements IServiceFundService {
    @Autowired
    ServiceFundMapper serviceFundMapper;
@@ -41,6 +40,17 @@
    @Autowired
    ServiceReimbursementMapper serviceReimbursementMapper;
    @Autowired
    IServiceFundSharedService sharedService;
    @Autowired
    ServiceFundSharedMapper serviceFundSharedMapper;
    @Autowired
    ServiceFunddetailSharedMapper sharedMapper;
    @Autowired
    IServiceFunddetailSharedService detailSharedService;
    /**
@@ -85,10 +95,34 @@
    }
    @Override
    public Long getFundId(Long infoid) {
        return serviceFundMapper.getFundId(infoid);
    }
    @Override
    @Transactional
    public Boolean addFundSharedInfo(Long id) {
        ServiceFund serviceFund = serviceFundMapper.selectById(id);
        ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class);
        serviceFundShared.setSerfunid(serviceFundShared.getId());
        serviceFundShared.setId(null);
        sharedService.save(serviceFundShared);
        //fundId为主表的ID
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("fundid", id);
        List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap);
        //将查出的数据放到ServiceFunddetailShared中
        List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class);
        for (int i = 0; i < serviceFunddetails.size(); i++) {
            serviceFunddetailShareds.get(i).setFdid(serviceFunddetailShareds.get(i).getId());
            //fundID为service_fund_shared表的主键ID
            serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId());
            serviceFunddetailShareds.get(i).setId(null);
        }
        boolean result = detailSharedService.saveBatch(serviceFunddetailShareds);
        return result;
    }
    @Override
@@ -465,11 +499,9 @@
            }
        }
        hj = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10 + f11 + f12 + f13 + f14 + f15 + f16 + f17 + f18 + f19 + f20 + f21 + f22 + f23 + f24 + f25 + f26 + f27 + f28 + f29 + f30 + f31 + f32 + f33 + f34 + f35
                + f36 + f37 + f38 + f39 + f40 + f41 + f42 + f43 + f44 + f45 + f46 + f47 + f48 + f49 + f50 + f51 + f52;
        hj = f1 + f2 + f3 + f4 + f5 + f6 + f7 + f8 + f9 + f10 + f11 + f12 + f13 + f14 + f15 + f16 + f17 + f18 + f19 + f20 + f21 + f22 + f23 + f24 + f25 + f26 + f27 + f28 + f29 + f30 + f31 + f32 + f33 + f34 + f35 + f36 + f37 + f38 + f39 + f40 + f41 + f42 + f43 + f44 + f45 + f46 + f47 + f48 + f49 + f50 + f51 + f52;
        shhj = sh1 + sh2 + sh3 + sh4 + sh5 + sh6 + sh7 + sh8 + sh9 + sh10 + sh11 + sh12 + sh13 + sh14 + sh15 + sh16 + sh17 + sh18 + sh19 + sh20 + sh21 + sh22 + sh23 + sh24 + sh25 + sh26 + sh27 + sh28 + sh29 + sh30 + sh31 + sh32 + sh33 + sh34 + sh35
                + sh36 + sh37 + sh38 + sh39 + sh40 + sh41 + sh42 + sh43 + sh44 + sh45 + sh46 + sh47 + sh48 + sh49 + sh50 + sh51 + sh52;
        shhj = sh1 + sh2 + sh3 + sh4 + sh5 + sh6 + sh7 + sh8 + sh9 + sh10 + sh11 + sh12 + sh13 + sh14 + sh15 + sh16 + sh17 + sh18 + sh19 + sh20 + sh21 + sh22 + sh23 + sh24 + sh25 + sh26 + sh27 + sh28 + sh29 + sh30 + sh31 + sh32 + sh33 + sh34 + sh35 + sh36 + sh37 + sh38 + sh39 + sh40 + sh41 + sh42 + sh43 + sh44 + sh45 + sh46 + sh47 + sh48 + sh49 + sh50 + sh51 + sh52;
        fdvo.setFy1(f1);
        fdvo.setFy2(f2);
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -20,9 +20,11 @@
import java.util.ArrayList;
import java.util.Map;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.service.IServiceReimbursementService;
import org.springframework.transaction.annotation.Transactional;
/**
 * 报销申请Service业务层处理
@@ -112,6 +114,7 @@
    }
    @Override
    @Transactional
    public Boolean addSharedData(Long id) {
        ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id);
        Map<String, Object> columnMap = new HashMap<>();
@@ -122,11 +125,27 @@
        List<ServiceReimbursementpayee> serviceReimbursementpayees = reimbursementpayeeMapper.selectByMap(columnMap);
        //数据组装
        ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class);
        serviceReimbursementShared.setReimid(id);
        serviceReimbursementShared.setId(null);
        List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = DtoConversionUtils.sourceToTarget(details, ServiceReimbursementdetailShared.class);
        List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = DtoConversionUtils.sourceToTarget(serviceReimbursementpayees, ServiceReimbursementpayeeShared.class);
        //将组装好的数据插入到分享表中
        sharedService.save(serviceReimbursementShared);
        //将serviceReimbursementdetail表里的id赋值给Rdid; 将serviceReimbursementShared里的ID赋值给RBID,并将serviceReimbursementdetailShared表里的id置空,由数据库重新生成
        for (int i = 0; i < details.size(); i++) {
            serviceReimbursementdetailShareds.get(i).setRdid(serviceReimbursementdetailShareds.get(i).getId());
            serviceReimbursementdetailShareds.get(i).setRbid(serviceReimbursementShared.getId());
            serviceReimbursementdetailShareds.get(i).setId(null);
        }
        detailSharedService.saveBatch(serviceReimbursementdetailShareds);
        //将serviceReimbursementdetail表里的id赋值给Rpid; 将serviceReimbursementShared里的ID赋值给RBID,并将serviceReimbursementpayeeShared表里的id置空,由数据库重新生成
        for (int i = 0; i < serviceReimbursementpayees.size(); i++) {
            serviceReimbursementpayeeShareds.get(i).setRpid(serviceReimbursementpayeeShareds.get(i).getId());
            serviceReimbursementpayeeShareds.get(i).setRbid(serviceReimbursementShared.getId());
            serviceReimbursementpayeeShareds.get(i).setId(null);
        }
        payeeSharedService.saveBatch(serviceReimbursementpayeeShareds);
        return true;