package com.ruoyi.project.service.impl; import java.util.List; import com.ruoyi.project.domain.ServiceFund; import com.ruoyi.project.domain.ServiceReimbursement; import com.ruoyi.project.domain.ServiceReimbursementdetail; import com.ruoyi.project.mapper.ServiceFundMapper; 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.ServiceFunddetailMapper; import com.ruoyi.project.domain.ServiceFunddetail; import com.ruoyi.project.service.IServiceFunddetailService; /** * 费用申请明细Service业务层处理 * * @author ruoyi * @date 2022-01-25 */ @Service public class ServiceFunddetailServiceImpl extends ServiceImpl implements IServiceFunddetailService { @Autowired ServiceFunddetailMapper serviceFunddetailMapper; @Autowired ServiceFundMapper serviceFundMapper; /** * 查询费用申请明细列表 * * @param serviceFunddetail 费用申请明细 * @return 费用申请明细 */ @Override public List queryList(ServiceFunddetail serviceFunddetail) { LambdaQueryWrapper wrappers = Wrappers.lambdaQuery(); if (StringUtils.isNotBlank(serviceFunddetail.getBeneficiaryname())){ wrappers.like(ServiceFunddetail::getBeneficiaryname ,serviceFunddetail.getBeneficiaryname()); } if (StringUtils.isNotBlank(serviceFunddetail.getUnitname())){ wrappers.like(ServiceFunddetail::getUnitname ,serviceFunddetail.getUnitname()); } if (StringUtils.isNotBlank(serviceFunddetail.getApplytype())){ wrappers.eq(ServiceFunddetail::getApplytype ,serviceFunddetail.getApplytype()); } if (StringUtils.isNotBlank(serviceFunddetail.getItemname())){ wrappers.like(ServiceFunddetail::getItemname ,serviceFunddetail.getItemname()); } if (StringUtils.isNotBlank(serviceFunddetail.getItemtype())){ wrappers.eq(ServiceFunddetail::getItemtype ,serviceFunddetail.getItemtype()); } if (StringUtils.isNotBlank(serviceFunddetail.getRecordstatus())){ wrappers.eq(ServiceFunddetail::getRecordstatus ,serviceFunddetail.getRecordstatus()); } if (StringUtils.isNotBlank(serviceFunddetail.getCreateBy())){ wrappers.eq(ServiceFunddetail::getCreateBy ,serviceFunddetail.getCreateBy()); } if (serviceFunddetail.getCreateTime() != null){ wrappers.eq(ServiceFunddetail::getCreateTime ,serviceFunddetail.getCreateTime()); } if (StringUtils.isNotBlank(serviceFunddetail.getUploadflag())){ wrappers.eq(ServiceFunddetail::getUploadflag ,serviceFunddetail.getUploadflag()); } if (serviceFunddetail.getUploadtime() != null){ wrappers.eq(ServiceFunddetail::getUploadtime ,serviceFunddetail.getUploadtime()); } return this.list(wrappers); } @Override public List getAllDetailsByFDIDLW(Long id) { return serviceFunddetailMapper.getAllDetailsByFDIDLW(id); } @Override public List getAllDetailsByFDIDSH(Long id) { return serviceFunddetailMapper.getAllDetailsByFDIDSH(id); } @Override public List getAllDetailsByFDIDSS(Long id) { return serviceFunddetailMapper.getAllDetailsByFDIDSS(id); } @Override public List getAllDetailsByFDIDYX(Long id) { return serviceFunddetailMapper.getAllDetailsByFDIDYX(id); } @Override public List getAllDetailsByFDIDHZ(Long id) { return serviceFunddetailMapper.getAllDetailsByFDIDHZ(id); } @Override public List getAllDetailsByFDIDLWF(Long id) { return serviceFunddetailMapper.getAllDetailsByFDIDLWF(id); } @Override public List selectServiceFunddetailList(ServiceFunddetail serviceFunddetail) { return serviceFunddetailMapper.selectServiceFunddetailList(serviceFunddetail); } @Override public int deleteDetail(Long id) { ServiceFunddetail serviceFunddetail = serviceFunddetailMapper.selectById(id); Long fundid = serviceFunddetail.getFundid(); ServiceFund serviceFund = serviceFundMapper.selectById(fundid); Double pretax = serviceFund.getPretaxcost(); Double aftertax = serviceFund.getTaxedcost(); pretax = pretax - serviceFunddetail.getAmount(); aftertax = aftertax - serviceFunddetail.getTaxedamount(); Double amount = pretax + aftertax; serviceFund.setPretaxcost(pretax); serviceFund.setTaxedcost(aftertax); serviceFund.setAmountrequested(amount); int updateAmount = serviceFundMapper.updateById(serviceFund); return serviceFunddetailMapper.deleteById(id); } }