liusheng
2023-06-14 d6f2f458d9c8156981880c987d861423ce9af146
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -1,33 +1,36 @@
package com.ruoyi.project.service.impl;
import java.util.HashMap;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.project.domain.ServiceReimbursementdetail;
import com.ruoyi.project.domain.ServiceRelativesconfirmation;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.*;
import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut;
import com.ruoyi.project.mapper.ServiceReimbursementdetailMapper;
import com.ruoyi.project.mapper.*;
import com.ruoyi.project.service.IServiceReimbursementSharedService;
import com.ruoyi.project.service.IServiceReimbursementdetailSharedService;
import com.ruoyi.project.service.IServiceReimbursementpayeeSharedService;
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 java.util.ArrayList;
import java.util.Map;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.project.mapper.ServiceReimbursementMapper;
import com.ruoyi.project.domain.ServiceReimbursement;
import com.ruoyi.project.service.IServiceReimbursementService;
import org.springframework.transaction.annotation.Transactional;
/**
 * 报销申请Service业务层处理
 *
 *
 * @author ruoyi
 * @date 2022-01-24
 */
@Service
public class ServiceReimbursementServiceImpl extends ServiceImpl<ServiceReimbursementMapper, ServiceReimbursement> implements IServiceReimbursementService
{
public class ServiceReimbursementServiceImpl extends ServiceImpl<ServiceReimbursementMapper, ServiceReimbursement> implements IServiceReimbursementService {
    @Autowired
    ServiceReimbursementMapper serviceReimbursementMapper;
@@ -35,38 +38,56 @@
    @Autowired
    ServiceReimbursementdetailMapper serviceReimbursementdetailMapper;
    @Autowired
    ServiceReimbursementdetailSharedMapper serviceReimbursementdetailSharedMapper;
    @Autowired
    ServiceReimbursementpayeeMapper reimbursementpayeeMapper;
    @Autowired
    ServiceReimbursementpayeeSharedMapper reimbursementpayeeSharedMapper;
    @Autowired
    IServiceReimbursementdetailSharedService detailSharedService;
    @Autowired
    IServiceReimbursementSharedService sharedService;
    @Autowired
    IServiceReimbursementpayeeSharedService payeeSharedService;
    /**
     * 查询报销申请列表
     *
     *
     * @param serviceReimbursement 报销申请
     * @return 报销申请
     */
    @Override
    public List<ServiceReimbursement> queryList(ServiceReimbursement serviceReimbursement) {
        LambdaQueryWrapper<ServiceReimbursement> wrappers = Wrappers.lambdaQuery();
        if (StringUtils.isNotBlank(serviceReimbursement.getCreateBy())){
            wrappers.eq(ServiceReimbursement::getCreateBy ,serviceReimbursement.getCreateBy());
        if (StringUtils.isNotBlank(serviceReimbursement.getCreateBy())) {
            wrappers.eq(ServiceReimbursement::getCreateBy, serviceReimbursement.getCreateBy());
        }
        if (serviceReimbursement.getCreateTime() != null){
            wrappers.eq(ServiceReimbursement::getCreateTime ,serviceReimbursement.getCreateTime());
        if (serviceReimbursement.getCreateTime() != null) {
            wrappers.eq(ServiceReimbursement::getCreateTime, serviceReimbursement.getCreateTime());
        }
        if (StringUtils.isNotBlank(serviceReimbursement.getUsername())){
            wrappers.like(ServiceReimbursement::getUsername ,serviceReimbursement.getUsername());
        if (StringUtils.isNotBlank(serviceReimbursement.getUsername())) {
            wrappers.like(ServiceReimbursement::getUsername, serviceReimbursement.getUsername());
        }
        if (StringUtils.isNotBlank(serviceReimbursement.getTravelers())){
            wrappers.like(ServiceReimbursement::getTravelers ,serviceReimbursement.getTravelers());
        if (StringUtils.isNotBlank(serviceReimbursement.getTravelers())) {
            wrappers.like(ServiceReimbursement::getTravelers, serviceReimbursement.getTravelers());
        }
        if (StringUtils.isNotBlank(serviceReimbursement.getDeptmentname())){
            wrappers.like(ServiceReimbursement::getDeptmentname ,serviceReimbursement.getDeptmentname());
        if (StringUtils.isNotBlank(serviceReimbursement.getDeptmentname())) {
            wrappers.like(ServiceReimbursement::getDeptmentname, serviceReimbursement.getDeptmentname());
        }
        if (StringUtils.isNotBlank(serviceReimbursement.getDonorno())){
            wrappers.eq(ServiceReimbursement::getDonorno ,serviceReimbursement.getDonorno());
        if (StringUtils.isNotBlank(serviceReimbursement.getDonorno())) {
            wrappers.eq(ServiceReimbursement::getDonorno, serviceReimbursement.getDonorno());
        }
        if (serviceReimbursement.getRecordstatus()!=null){
            wrappers.eq(ServiceReimbursement::getRecordstatus ,serviceReimbursement.getRecordstatus());
        if (serviceReimbursement.getRecordstatus() != null) {
            wrappers.eq(ServiceReimbursement::getRecordstatus, serviceReimbursement.getRecordstatus());
        }
        if (StringUtils.isNotBlank(serviceReimbursement.getUploadflag())){
            wrappers.eq(ServiceReimbursement::getUploadflag ,serviceReimbursement.getUploadflag());
        if (StringUtils.isNotBlank(serviceReimbursement.getUploadflag())) {
            wrappers.eq(ServiceReimbursement::getUploadflag, serviceReimbursement.getUploadflag());
        }
       /* if (serviceReimbursement.getStarttime()!=null && serviceReimbursement.getEndtime()!=null){
@@ -87,13 +108,51 @@
    }
    @Override
    @Transactional
    public Boolean addSharedData(Long id) {
        ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id);
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("rbid", id);
        //获取详情数据
        List<ServiceReimbursementdetail> details = serviceReimbursementdetailMapper.selectByMap(columnMap);
        //获取支付数据
        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);
        //将serviceReimbursementpayee表里的id赋值给Rpid; 将serviceReimbursementShared里的ID赋值给RBID,并将serviceReimbursementpayeeShared表里的id置空,由数据库重新生成
        for (int i = 0; i < serviceReimbursementpayees.size(); i++) {
            serviceReimbursementpayeeShareds.get(i).setRpid(Long.valueOf(serviceReimbursementpayees.get(i).getId()));
            serviceReimbursementpayeeShareds.get(i).setRbid(serviceReimbursementShared.getId());
            serviceReimbursementpayeeShareds.get(i).setId(null);
        }
        payeeSharedService.saveBatch(serviceReimbursementpayeeShareds);
        return true;
    }
    @Override
    public List<ServiceReimbursement> selectSearchList(ServiceReimbursementDto serviceReimbursementdto) {
        return serviceReimbursementMapper.selectSearchList(serviceReimbursementdto);
    }
    @Override
    public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT,Integer CHECKFLAG,Integer APPLYTYPE) {
        return serviceReimbursementMapper.getListBypower(PAUSERNO,  PAFUNDTYPE,  PAAPPLICANT,  PAAPPLICATIONBEGTIME,  PAAPPLICATIONENDTIME,  PADEPARTMENT,CHECKFLAG,APPLYTYPE);
    public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE) {
        return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE);
    }
    @Override
@@ -106,4 +165,10 @@
        return serviceReimbursementMapper.getInfoByInfoIdRelatives(infoid);
    }
    @Override
    public List<ServiceReimbursementEo> getRDInfoByItem(ServiceReimbursementEo serviceReimbursementEo) {
        return serviceReimbursementMapper.getRDInfoByItem(serviceReimbursementEo);
    }
}