From b6dd47b05107fc36d8ff4f7f29a4446521f95503 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 02 一月 2025 18:44:28 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java |  123 ++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 31 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
index 1e49609..ca09670 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
+++ b/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,25 +97,81 @@
      * 鏂板鎶ラ攢鐢宠鏄庣粏
      */
     @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) {
+            serviceReimbursementdetailService.saveOrUpdate(serviceReimbursementdetail);
+
+        }
+        return null;
+    }
+
+    /**
+     * 淇敼鎶ラ攢鐢宠鏄庣粏
+     */
+    @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));
     }
 
@@ -116,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)));
     }
 
@@ -130,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));
     }
 

--
Gitblit v1.9.3