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 implements IServiceReimbursementdetailService { @Autowired ServiceReimbursementdetailMapper serviceReimbursementdetailMapper; @Autowired ServiceReimbursementdetailSharedMapper detailSharedMapper; @Autowired ServiceReimbursementMapper serviceReimbursementMapper; /** * 查询报销申请明细列表 * * @param serviceReimbursementdetail 报销申请明细 * @return 报销申请明细 */ @Override public List queryList(ServiceReimbursementdetail serviceReimbursementdetail) { LambdaQueryWrapper 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 getAllIds(Long rbid) { return serviceReimbursementdetailMapper.getAllIds(rbid); } @Override public List getAllDetailsByRBID(Long id) { return serviceReimbursementdetailMapper.getAllDetailsByRBID(id); } @Override public List 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); } }