liusheng
2024-04-17 d7bfd8dadd802a55225f9d5ea2ecb92c02b7dcce
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -4,11 +4,17 @@
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;
@@ -69,7 +75,7 @@
    }
    @DeleteMapping("/deleteByRBId/{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()]);
@@ -93,10 +99,19 @@
    @ApiOperation("新增报销申请明细")
    //@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);
    }
    /**
@@ -120,9 +135,43 @@
    @ApiOperation("修改报销申请明细")
    //@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));
    }
@@ -132,7 +181,7 @@
    @ApiOperation("删除报销申请明细")
    //@PreAuthorize("@ss.hasPermi('project:reimbursementdetail:remove')")
    @Log(title = "报销申请明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceReimbursementdetailService.removeByIds(Arrays.asList(ids)));
    }
@@ -143,7 +192,7 @@
     */
    @ApiOperation("删除报销申请明细并修改金额")
    @Log(title = "报销申请明细", businessType = BusinessType.DELETE)
    @DeleteMapping("/deleteDetail/{id}")
    @GetMapping("/deleteDetail/{id}")
    public AjaxResult deleteDetail(@PathVariable Long id) {
        return AjaxResult.success(serviceReimbursementdetailService.deleteDetail(id));
    }