package com.ruoyi.web.controller.project;
|
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.NotRepeatCommit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.exception.base.BaseException;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.project.domain.FunddetailReqVo;
|
import com.ruoyi.project.domain.ServiceFunddetail;
|
import com.ruoyi.project.domain.SpStatBonusReq;
|
import com.ruoyi.project.domain.vo.TaxMoneyVO;
|
import com.ruoyi.project.service.IServiceFunddetailService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.Arrays;
|
import java.util.List;
|
|
/**
|
* 费用申请明细Controller
|
*
|
* @author ruoyi
|
* @date 2022-01-25
|
*/
|
@Slf4j
|
@Api("费用申请明细")
|
@RestController
|
@RequestMapping("/project/funddetail")
|
public class ServiceFunddetailController extends BaseController {
|
@Autowired
|
private IServiceFunddetailService serviceFunddetailService;
|
|
|
/**
|
* 查询费用申请明细列表
|
*/
|
@ApiOperation("查询费用申请明细列表")
|
//// @PreAuthorize("@ss.hasPermi('project:funddetail:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(ServiceFunddetail serviceFunddetail) {
|
startPage();
|
//List<ServiceFunddetail> list = serviceFunddetailService.queryList(serviceFunddetail);
|
List<ServiceFunddetail> list = serviceFunddetailService.selectServiceFunddetailList(serviceFunddetail);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出费用申请明细列表
|
*/
|
@ApiOperation("导出费用申请明细列表")
|
//// @PreAuthorize("@ss.hasPermi('project:funddetail:export')")
|
@Log(title = "费用申请明细", businessType = BusinessType.EXPORT)
|
@GetMapping("/export")
|
public AjaxResult export(ServiceFunddetail serviceFunddetail) {
|
List<ServiceFunddetail> list = serviceFunddetailService.queryList(serviceFunddetail);
|
ExcelUtil<ServiceFunddetail> util = new ExcelUtil<ServiceFunddetail>(ServiceFunddetail.class);
|
return util.exportExcel(list, "费用申请明细数据");
|
}
|
|
/**
|
* 获取费用申请明细详细信息
|
*/
|
@ApiOperation("获取费用申请明细详细信息")
|
//// @PreAuthorize("@ss.hasPermi('project:funddetail:query')")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
return AjaxResult.success(serviceFunddetailService.getById(id));
|
}
|
|
/**
|
* 新增费用申请明细
|
*/
|
@ApiOperation("新增费用申请明细")
|
//// @PreAuthorize("@ss.hasPermi('project:funddetail:add')")
|
@Log(title = "费用申请明细", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@NotRepeatCommit(key = "param:arg[1]", value = 30000)
|
public AjaxResult add(@RequestBody ServiceFunddetail serviceFunddetail) {
|
boolean save = serviceFunddetailService.save(serviceFunddetail);
|
return AjaxResult.success(serviceFunddetail);
|
}
|
|
/**
|
* 修改费用申请明细
|
*/
|
@ApiOperation("修改费用申请明细")
|
//// @PreAuthorize("@ss.hasPermi('project:funddetail:edit')")
|
@Log(title = "费用申请明细", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@NotRepeatCommit(key = "param:arg[1]", value = 30000)
|
public AjaxResult edit(@RequestBody ServiceFunddetail serviceFunddetail) {
|
log.info("修改的数据信息:{}", serviceFunddetail);
|
return toAjax(serviceFunddetailService.updateById(serviceFunddetail));
|
}
|
|
/**
|
* 删除费用申请明细
|
*/
|
@ApiOperation("删除费用申请明细")
|
//// @PreAuthorize("@ss.hasPermi('project:funddetail:remove')")
|
@Log(title = "费用申请明细", businessType = BusinessType.DELETE)
|
@GetMapping("/remove/{ids}")
|
public AjaxResult remove(@PathVariable Long[] ids) {
|
return toAjax(serviceFunddetailService.removeByIds(Arrays.asList(ids)));
|
}
|
|
|
/**
|
* 删除报销申请明细并修改金额
|
*/
|
@ApiOperation("删除报销申请明细并修改金额")
|
@GetMapping("/deleteDetail/{id}")
|
public AjaxResult deleteDetail(@PathVariable Long id) {
|
return AjaxResult.success(serviceFunddetailService.deleteDetail(id));
|
}
|
|
/**
|
* 根据受益人编号获取费用申请明细信息
|
*/
|
@ApiOperation("根据受益人身份证号获取费用申请明细信息")
|
@PostMapping("/getDataBybeneficiaryNo")
|
public AjaxResult getDataBybeneficiaryNo(@RequestBody FunddetailReqVo funddetailReqVo) {
|
List<ServiceFunddetail> dataBybeneficiaryNo = serviceFunddetailService.getDataBybeneficiaryNo(funddetailReqVo);
|
return AjaxResult.success(dataBybeneficiaryNo);
|
}
|
|
/**
|
* 根据受益人身份证编号获取税费金额
|
*
|
* @param taxMoneyVo 身份证编号
|
* @return
|
*/
|
@ApiOperation("根据受益人身份证编号获取税费金额")
|
@PostMapping("/getTaxByBeneFiciaryNo")
|
public AjaxResult getTaxBeforeByBeneFiciaryNo(@RequestBody TaxMoneyVO taxMoneyVo) {
|
return AjaxResult.success(serviceFunddetailService.getTaxByBeneFiciaryNo(taxMoneyVo));
|
}
|
|
/**
|
* 根据税后金额获取税前金额
|
*
|
* @param taxMoneyVo 税后工资
|
* @return
|
*/
|
@ApiOperation("根据税后工资获取税前金额")
|
@PostMapping("/getTaxBeforeByAfterMoney")
|
public AjaxResult getTaxBeforeByAfterMoney(@RequestBody TaxMoneyVO taxMoneyVo) {
|
return AjaxResult.success(serviceFunddetailService.getTaxBeforeByAfterMoney(taxMoneyVo));
|
}
|
|
|
@GetMapping("/getFundDetail/{id}")
|
public AjaxResult getFundDetail(@PathVariable("id") Long id) {
|
return AjaxResult.success(serviceFunddetailService.getFundDetail(id));
|
}
|
|
@ApiOperation("根据条件算税")
|
@PostMapping("/calculateTax")
|
public AjaxResult calculateTax(@RequestBody List<ServiceFunddetail> serviceFunddetails) {
|
return AjaxResult.success(serviceFunddetailService.calculateTax(serviceFunddetails));
|
}
|
|
// /**
|
// * 绩效计算
|
// * <p>
|
// * beneficiaryNO 受益人编号
|
// */
|
// @ApiOperation("绩效计算")
|
// @PostMapping(value = "/performance")
|
// public AjaxResult performance(@RequestBody ServiceFunddetail serviceFunddetail) {
|
// if (StringUtils.isBlank(serviceFunddetail.getBeneficiaryno())) {
|
// return AjaxResult.error("受益人编号为空");
|
// }
|
//
|
// return AjaxResult.success(serviceFunddetailService.performance(serviceFunddetail));
|
// }
|
|
/**
|
* 查询绩效奖金统计
|
*/
|
@ApiOperation("查询绩效奖金统计")
|
@PostMapping("/getListBySpStatBonus")
|
public TableDataInfo getListBySpStatBonus(@RequestBody SpStatBonusReq spStatBonusReq) {
|
startPage();
|
return getDataTable(serviceFunddetailService.getListBySpStatBonus(spStatBonusReq));
|
}
|
}
|