package com.ruoyi.project.service.impl;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.project.domain.ServiceReimbursement;
|
import com.ruoyi.project.mapper.ServiceReimbursementMapper;
|
import com.ruoyi.project.mapper.ServiceReimbursementdetailSharedMapper;
|
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.ServiceReimbursementdetailMapper;
|
import com.ruoyi.project.domain.ServiceReimbursementdetail;
|
import com.ruoyi.project.service.IServiceReimbursementdetailService;
|
|
/**
|
* 报销申请明细Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2022-01-24
|
*/
|
@Service
|
public class ServiceReimbursementdetailServiceImpl extends ServiceImpl<ServiceReimbursementdetailMapper, ServiceReimbursementdetail> implements IServiceReimbursementdetailService
|
{
|
|
@Autowired
|
ServiceReimbursementdetailMapper serviceReimbursementdetailMapper;
|
|
@Autowired
|
ServiceReimbursementdetailSharedMapper detailSharedMapper;
|
|
@Autowired
|
ServiceReimbursementMapper serviceReimbursementMapper;
|
|
/**
|
* 查询报销申请明细列表
|
*
|
* @param serviceReimbursementdetail 报销申请明细
|
* @return 报销申请明细
|
*/
|
@Override
|
public List<ServiceReimbursementdetail> queryList(ServiceReimbursementdetail serviceReimbursementdetail) {
|
LambdaQueryWrapper<ServiceReimbursementdetail> wrappers = Wrappers.lambdaQuery();
|
if (StringUtils.isNotBlank(serviceReimbursementdetail.getCreateBy())){
|
wrappers.eq(ServiceReimbursementdetail::getCreateBy ,serviceReimbursementdetail.getCreateBy());
|
}
|
if (serviceReimbursementdetail.getCreateTime() != null){
|
wrappers.eq(ServiceReimbursementdetail::getCreateTime ,serviceReimbursementdetail.getCreateTime());
|
}
|
if (StringUtils.isNotBlank(serviceReimbursementdetail.getUploadFlag())){
|
wrappers.eq(ServiceReimbursementdetail::getUploadFlag ,serviceReimbursementdetail.getUploadFlag());
|
}
|
if (serviceReimbursementdetail.getUploadTime() != null){
|
wrappers.eq(ServiceReimbursementdetail::getUploadTime ,serviceReimbursementdetail.getUploadTime());
|
}
|
return this.list(wrappers);
|
}
|
|
@Override
|
public List<Long> getAllIds(Long rbid) {
|
return serviceReimbursementdetailMapper.getAllIds(rbid);
|
}
|
|
@Override
|
public List<ServiceReimbursementdetail> getAllDetailsByRBID(Long id) {
|
return serviceReimbursementdetailMapper.getAllDetailsByRBID(id);
|
}
|
|
@Override
|
public List<ServiceReimbursementdetail> selectServiceReimbursementdetailList(ServiceReimbursementdetail serviceReimbursementdetail) {
|
return serviceReimbursementdetailMapper.selectServiceReimbursementdetailList(serviceReimbursementdetail);
|
}
|
|
@Override
|
public int deleteDetail(Long id) {
|
ServiceReimbursementdetail serviceReimbursementdetail = serviceReimbursementdetailMapper.selectById(id);
|
Long rbid = serviceReimbursementdetail.getRbid();
|
ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(rbid);
|
Double amount = serviceReimbursement.getAmountrequested();
|
|
BigDecimal subtract = BigDecimal.valueOf(amount).subtract(serviceReimbursementdetail.getTrafficexpense()).subtract(serviceReimbursementdetail.getCityfee()).subtract(serviceReimbursementdetail.getHotelexpense())
|
.subtract(serviceReimbursementdetail.getFoodexpenses()).subtract(serviceReimbursementdetail.getFoodallowance())
|
.subtract(serviceReimbursementdetail.getOtherexpense()).subtract(serviceReimbursementdetail.getOtherfeeamount());
|
|
serviceReimbursement.setAmountrequested(subtract.doubleValue());
|
int updateAmount = serviceReimbursementMapper.updateById(serviceReimbursement);
|
|
detailSharedMapper.deleteById(id);
|
return serviceReimbursementdetailMapper.deleteById(id);
|
}
|
|
|
}
|