liusheng
2025-01-02 b6dd47b05107fc36d8ff4f7f29a4446521f95503
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -1,11 +1,20 @@
package com.ruoyi.web.controller.project;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.DtoConversionUtils;
import com.ruoyi.project.domain.ServiceReimbursementdetailVO;
import com.ruoyi.project.service.IServiceReimbursementdetailSharedService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@@ -26,26 +35,26 @@
/**
 * 报销申请明细Controller
 *
 *
 * @author ruoyi
 * @date 2022-01-24
 */
@Api("报销申请明细")
@RestController
@RequestMapping("/project/reimbursementdetail")
public class ServiceReimbursementdetailController extends BaseController
{
public class ServiceReimbursementdetailController extends BaseController {
    @Autowired
    private IServiceReimbursementdetailService serviceReimbursementdetailService;
    @Autowired
    private IServiceReimbursementdetailSharedService detailSharedService;
    /**
     * 查询报销申请明细列表
     */
    @ApiOperation("查询报销申请明细列表")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:list')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:list')")
    @GetMapping("/list")
    public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public TableDataInfo list(ServiceReimbursementdetail serviceReimbursementdetail) {
        startPage();
        //List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail);
        List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.selectServiceReimbursementdetailList(serviceReimbursementdetail);
@@ -56,21 +65,20 @@
     * 导出报销申请明细列表
     */
    @ApiOperation("导出报销申请明细列表")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:export')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:export')")
    @Log(title = "报销申请明细", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public AjaxResult export(ServiceReimbursementdetail serviceReimbursementdetail) {
        List<ServiceReimbursementdetail> list = serviceReimbursementdetailService.queryList(serviceReimbursementdetail);
        ExcelUtil<ServiceReimbursementdetail> util = new ExcelUtil<ServiceReimbursementdetail>(ServiceReimbursementdetail.class);
        return util.exportExcel(list, "报销申请明细数据");
    }
    @DeleteMapping("/deleteByRBId/{rbid}")
    public AjaxResult removeAllDetail(@PathVariable("rbid") Long rbid){
    @GetMapping("/deleteByRBId/{rbid}")
    public AjaxResult removeAllDetail(@PathVariable("rbid") Long rbid) {
        List<Long> ids = serviceReimbursementdetailService.getAllIds(rbid);
        Long[] arr = (Long[])ids.toArray(new Long[ids.size()]);
        Long[] arr = (Long[]) ids.toArray(new Long[ids.size()]);
        return remove(arr);
    }
@@ -79,10 +87,9 @@
     * 获取报销申请明细详细信息
     */
    @ApiOperation("获取报销申请明细详细信息")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:query')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return AjaxResult.success(serviceReimbursementdetailService.getById(id));
    }
@@ -90,34 +97,35 @@
     * 新增报销申请明细
     */
    @ApiOperation("新增报销申请明细")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:add')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:add')")
    @Log(title = "报销申请明细", businessType = BusinessType.INSERT)
    @PostMapping
    @PostMapping("/add")
    @RepeatSubmit
    public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail)
    {
        return toAjax(serviceReimbursementdetailService.save(serviceReimbursementdetail));
    public AjaxResult add(@RequestBody ServiceReimbursementdetailVO serviceReimbursementdetailVO) {
        ServiceReimbursementdetail serviceReimbursementdetail = DtoConversionUtils.sourceToTarget(serviceReimbursementdetailVO, ServiceReimbursementdetail.class);
        //将前端传来的附件集合转成字符串
        if (!CollectionUtils.isEmpty(serviceReimbursementdetailVO.getAnnexfilesList())) {
            serviceReimbursementdetail.setAnnexfiles(JSON.toJSONString(serviceReimbursementdetailVO.getAnnexfilesList()));
        }
        if (!CollectionUtils.isEmpty(serviceReimbursementdetailVO.getInvoicefilesList())) {
            serviceReimbursementdetail.setInvoicefiles(JSON.toJSONString(serviceReimbursementdetailVO.getInvoicefilesList()));
        }
        boolean save = serviceReimbursementdetailService.save(serviceReimbursementdetail);
        return AjaxResult.success(serviceReimbursementdetail);
    }
    /**
     * 修改报销申请明细
     */
    @ApiOperation("修改报销申请明细")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')")
    @Log(title = "修改申请明细", businessType = BusinessType.UPDATE)
    @PostMapping("/updateRDlList")
    public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails)
    {
        for (ServiceReimbursementdetail serviceReimbursementdetail:serviceReimbursementdetails) {
    public AjaxResult updateRDlList(@RequestBody List<ServiceReimbursementdetail> serviceReimbursementdetails) {
        for (ServiceReimbursementdetail serviceReimbursementdetail : serviceReimbursementdetails) {
            serviceReimbursementdetailService.saveOrUpdate(serviceReimbursementdetail);
            if(serviceReimbursementdetail.getId()!=null) {
                serviceReimbursementdetailService.updateById(serviceReimbursementdetail);
            }else {
                //如果ID为空,则要新增
                add(serviceReimbursementdetail);
            }
        }
      //  return toAjax("null");
        return null;
    }
@@ -125,12 +133,45 @@
     * 修改报销申请明细
     */
    @ApiOperation("修改报销申请明细")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:edit')")
    @Log(title = "报销申请明细", businessType = BusinessType.UPDATE)
    @PutMapping
    @PostMapping("/reimbursementdetailEdit")
    //@RepeatSubmit
    public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail)
    {
    public AjaxResult edit(@RequestBody ServiceReimbursementdetailVO serviceReimbursementdetailVO) {
        if (serviceReimbursementdetailVO.getTrafficexpense() == null) {
            serviceReimbursementdetailVO.setTrafficexpense(new BigDecimal(0));
        }
        if (serviceReimbursementdetailVO.getCityfee() == null) {
            serviceReimbursementdetailVO.setCityfee(new BigDecimal(0));
        }
        if (serviceReimbursementdetailVO.getHotelexpense() == null) {
            serviceReimbursementdetailVO.setHotelexpense(new BigDecimal(0));
        }
        if (serviceReimbursementdetailVO.getFoodexpenses() == null) {
            serviceReimbursementdetailVO.setFoodexpenses(new BigDecimal(0));
        }
        if (serviceReimbursementdetailVO.getFoodallowance() == null) {
            serviceReimbursementdetailVO.setFoodallowance(new BigDecimal(0));
        }
        if (serviceReimbursementdetailVO.getOtherexpense() == null) {
            serviceReimbursementdetailVO.setOtherexpense(new BigDecimal(0));
        }
        if (serviceReimbursementdetailVO.getOtherfeeamount() == null) {
            serviceReimbursementdetailVO.setOtherfeeamount(new BigDecimal(0));
        }
        ServiceReimbursementdetail serviceReimbursementdetail = DtoConversionUtils.sourceToTarget(serviceReimbursementdetailVO, ServiceReimbursementdetail.class);
        if (!CollectionUtils.isEmpty(serviceReimbursementdetailVO.getAnnexfilesList())) {
            //对前端传过来的数组,进行JSON序列化,并赋值给Annexfiles
            serviceReimbursementdetail.setAnnexfiles(JSON.toJSONString(serviceReimbursementdetailVO.getAnnexfilesList()));
        } else {
            serviceReimbursementdetail.setAnnexfiles(null);
        }
        if (!CollectionUtils.isEmpty(serviceReimbursementdetailVO.getInvoicefilesList())) {
            //对前端传过来的数组,进行JSON序列化,并赋值给Invoicefiles
            serviceReimbursementdetail.setInvoicefiles(JSON.toJSONString(serviceReimbursementdetailVO.getInvoicefilesList()));
        } else {
            serviceReimbursementdetail.setInvoicefiles(null);
        }
        return toAjax(serviceReimbursementdetailService.updateById(serviceReimbursementdetail));
    }
@@ -138,11 +179,10 @@
     * 删除报销申请明细
     */
    @ApiOperation("删除报销申请明细")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:remove')")
    //// @PreAuthorize("@ss.hasPermi('project:reimbursementdetail:remove')")
    @Log(title = "报销申请明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceReimbursementdetailService.removeByIds(Arrays.asList(ids)));
    }
@@ -152,9 +192,8 @@
     */
    @ApiOperation("删除报销申请明细并修改金额")
    @Log(title = "报销申请明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/deleteDetail/{id}")
    public AjaxResult deleteDetail(@PathVariable Long id)
    {
    @GetMapping("/deleteDetail/{id}")
    public AjaxResult deleteDetail(@PathVariable Long id) {
        return AjaxResult.success(serviceReimbursementdetailService.deleteDetail(id));
    }