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/ServiceReimbursementController.java |  346 ++++++++++++++-------------------------------------------
 1 files changed, 86 insertions(+), 260 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
index 9d64cfc..e8adf33 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java
@@ -1,7 +1,6 @@
 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.config.RuoYiConfig;
 import com.ruoyi.common.constant.HttpStatus;
@@ -13,15 +12,17 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
-import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
 import com.ruoyi.project.domain.vo.CheckFundVO;
+import com.ruoyi.project.domain.vo.DingTalkReqVo;
 import com.ruoyi.project.domain.vo.SpFinancialExpensesIn;
 import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut;
 import com.ruoyi.project.service.*;
+import com.ruoyi.system.service.ISysDeptService;
 import com.ruoyi.system.service.ISysPostService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.web.controller.enums.PersonType;
 import freemarker.template.Configuration;
 import freemarker.template.Template;
@@ -39,6 +40,7 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
@@ -57,6 +59,9 @@
     @Autowired
     private IServiceReimbursementService serviceReimbursementService;
 
+//    @Autowired
+//    private MergeFilesToPDFUtils mergeFilesToPDFUtils;
+
     @Autowired
     private IServiceReimbursementSharedService serviceReimbursementSharedService;
 
@@ -73,10 +78,10 @@
     private IServiceFundflowService serviceFundflowService;
 
     @Autowired
-    private IServiceFundService serviceFundService;
+    private DingTalkService dingTalkService;
 
     @Autowired
-    private IBaseOnlyvalueService baseOnlyvalueService;
+    private ISysUserService sysUserService;
 
     @Autowired
     private ISysPostService postService;
@@ -99,7 +104,7 @@
      * 鏌ヨ鎶ラ攢鐢宠鍒楄〃
      */
     @ApiOperation("鏌ヨ鎶ラ攢鐢宠鍒楄〃")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:list')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:list')")
     @Log(title = "鏌ヨ鎶ラ攢鐢宠鍒楄〃", businessType = BusinessType.OTHER)
     @GetMapping("/list")
     public TableDataInfo list(ServiceReimbursement serviceReimbursement) {
@@ -175,7 +180,7 @@
         Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() {
             @Override
             public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) {
-                return o1.getCreateTime().compareTo(o2.getCreateTime());
+                return o1.getApplyTime().compareTo(o2.getApplyTime());
             }
         });
         return getCustomDataTable(list, pageNum, pageSize);
@@ -185,7 +190,7 @@
      * 瀵煎嚭鎶ラ攢鐢宠鍒楄〃
      */
     @ApiOperation("瀵煎嚭鎶ラ攢鐢宠鍒楄〃")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:export')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:export')")
     @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
     public AjaxResult export(ServiceReimbursement serviceReimbursement) {
@@ -198,7 +203,7 @@
      * 鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅
      */
     @ApiOperation("鑾峰彇鎶ラ攢鐢宠璇︾粏淇℃伅")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:query')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
         return AjaxResult.success(serviceReimbursementService.getById(id));
@@ -218,14 +223,16 @@
      * 鏂板鎶ラ攢鐢宠
      */
     @ApiOperation("鏂板鎶ラ攢鐢宠")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:add')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:add')")
     @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.INSERT)
-    @PostMapping
-	@RepeatSubmit
+    @PostMapping("/add")
+    @RepeatSubmit
     @Options(useGeneratedKeys = true, keyProperty = "id")
     public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
         if (!Objects.isNull(serviceReimbursement)) {
+            serviceReimbursement.setCreateTime(new Date());
             serviceReimbursement.setCheckstatus(serviceReimbursement.getCheckstatus() == null ? 1 : serviceReimbursement.getCheckstatus());
+            serviceReimbursement.setUploadStates(0);
             boolean b = serviceReimbursementService.save(serviceReimbursement);
             Long id = serviceReimbursement.getId();
             return AjaxResult.success(id);
@@ -233,228 +240,15 @@
         return error();
     }
 
-//    public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) {
-//        //remShare = ;
-//        ServiceReimbursementShared remShare = new ServiceReimbursementShared();
-//        if (nType == 1) {
-//            // remShare = new ServiceReimbursementShared();
-//            remShare.setReimid(serviceReimbursement.getId());
-//        } else //modify
-//        {
-//            List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
-//            if (!CollectionUtils.isEmpty(remlist)) remShare = remlist.get(0);
-//        }
-//
-//        remShare.setUserno(serviceReimbursement.getUserno());
-//        remShare.setUsername(serviceReimbursement.getUsername());
-//        remShare.setTravelers(serviceReimbursement.getTravelers());
-//        remShare.setIdcardtype(serviceReimbursement.getIdcardtype());
-//        remShare.setIdcardno(serviceReimbursement.getIdcardno());
-//        remShare.setPhone(serviceReimbursement.getPhone());
-//        remShare.setDepositbank(serviceReimbursement.getDepositbank());
-//        remShare.setBankcardno(serviceReimbursement.getBankcardno());
-//        remShare.setBranchbankname(serviceReimbursement.getBranchbankname());
-//        remShare.setAnnexbankcard(serviceReimbursement.getAnnexbankcard());
-//        remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
-//        //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
-//        // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
-//
-//        Double nTemp = serviceReimbursement.getAmountrequested();
-//        if (nTemp == null) nTemp = 0d;
-//        remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
-//
-//        nTemp = serviceReimbursement.getPrepaidamount();
-//        if (nTemp == null) nTemp = 0.0;
-//        remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
-//
-//        remShare.setInvoicecount(serviceReimbursement.getInvoicecount());
-//        remShare.setAttachcount(serviceReimbursement.getAttachcount());
-//        remShare.setManagerno(serviceReimbursement.getManagerno());
-//        remShare.setManagername(serviceReimbursement.getManagername());
-//        remShare.setDeptmentno(serviceReimbursement.getDeptmentno());
-//        remShare.setDeptmentname(serviceReimbursement.getDeptmentname());
-//        remShare.setOpochecker(serviceReimbursement.getOpochecker());
-//        remShare.setFinvicepresident(serviceReimbursement.getFinvicepresident());
-//        remShare.setBusvicepresident(serviceReimbursement.getBusvicepresident());
-//        remShare.setOfficedirector(serviceReimbursement.getOfficedirector());
-//        remShare.setFinancedirector(serviceReimbursement.getFinancedirector());
-//        remShare.setFinancechecher(serviceReimbursement.getFinancechecher());
-//        remShare.setInfoid(serviceReimbursement.getInfoid());
-//        remShare.setDonorno(serviceReimbursement.getDonorno());
-//
-//        remShare.setDonorname(serviceReimbursement.getDonorname());
-//        remShare.setReason(serviceReimbursement.getReason());
-//        remShare.setRecordstatus(serviceReimbursement.getRecordstatus());
-//        remShare.setUploadflag(serviceReimbursement.getUploadflag());
-//        remShare.setUploadtime(serviceReimbursement.getUploadtime());
-//
-//        nTemp = serviceReimbursement.getTotalamount();
-//        if (nTemp == null) nTemp = 0.0;
-//        remShare.setTotalamount(BigDecimal.valueOf(nTemp));
-//
-//        remShare.setBigstrmoney(serviceReimbursement.getBigstrmoney());
-//        remShare.setFlowlevel(serviceReimbursement.getFlowlevel());
-//        remShare.setCosttype(serviceReimbursement.getCosttype());
-//        remShare.setCosttypename(serviceReimbursement.getCosttypename());
-//        remShare.setFileurl(serviceReimbursement.getAnnexfiles());
-//        remShare.setDonorbank(serviceReimbursement.getDonorbank());
-//        remShare.setDonorbankcard(serviceReimbursement.getDonorbankcard());
-//        remShare.setDonorremark(serviceReimbursement.getDonorremark());
-//
-//        nTemp = serviceReimbursement.getDonoramount();
-//        if (nTemp == null) nTemp = 0.0;
-//        remShare.setDonoramount(nTemp);
-//        remShare.setDonorrelatives(serviceReimbursement.getDonorrelatives());
-//        //remShare.setOaid(serviceReimbursement.getOaid());
-//        //remShare.setDonorno(serviceReimbursement.getDonorno());
-//
-//        boolean bRet = false;
-//        if (nType == 1) {
-//            bRet = serviceReimbursementServiceShare.save(remShare);
-//        } else {
-//            //remShare.setId(serviceReimbursement.);
-//            bRet = serviceReimbursementServiceShare.updateById(remShare);
-//        }
-//
-//        //if(!bRet) return -1;
-//        String strMutfileUrl = remShare.getFileurl();
-//        //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶
-//        if (strMutfileUrl == null) return 0;
-//        if (strMutfileUrl.isEmpty()) return 0;
-//
-//        try {
-//            uploadOAFileAndUpdateDb(remShare);
-//        } catch (Exception e) {
-//            logger.error("璋冪敤绗笁鏂规帴鍙e嚭閿�!");
-//            e.printStackTrace();
-//        }
-//
-//        //姝ゅ淇濆瓨鎴愬姛鍚庤涓婁紶OA锛屼繚瀛樿繑鍥炲��
-//
-//        return 0;
-//    }
-
-
-//    int uploadOAFileAndUpdateDb(ServiceReimbursementShared remShare) {
-//        //涓婁紶OA鏂囦欢
-//        //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3";
-//        String strUrl = "http://129.88.242.39:8899/seeyon/rest/token";
-//        //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token";
-//        //涓婁紶鏂囦欢鎴愬姛鍚庯紝鍘绘洿鏂扮浉鍏崇殑鏁版嵁搴�
-//
-//
-//        Map<String, Object> map = new HashMap<String, Object>();
-//        map.put("userName", "opo");
-//        map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5");
-//        map.put("loginName", "demo3");
-//
-//        JSONObject jsonObj = new JSONObject(map);
-//
-//        System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
-//        String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());//
-//        //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//寰楀埌杩斿洖鐨則oken?
-//
-//        JSONObject json1 = JSONObject.parseObject(strRes);
-//        strRes = json1.get("id").toString();
-//
-//        ///if(strRes.isEmpty() || "" == strRes) return -1;// 涓虹┖浠h〃澶辫触
-//
-//        //涓嬮潰闇�姹傝皟鐢ㄦ枃浠剁殑鎺ュ彛锛岃皟鐢ㄦ垚鍔熻繑鍥炲悗锛屽緱鍒癴ilename鍜宖ileid 鐢ㄨ繖浜屼釜鍊煎幓鏇存柊鏁版嵁
-//
-//        String filePath = RuoYiConfig.getUploadPath();
-//        String strMutfileUrl = remShare.getFileurl();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑
-//
-//        String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes;
-//        //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes;
-//        //strFUrl = String.format(strFUrl, strRes);
-//
-//        /*File test = null;
-//        File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17");
-//        if (file.exists() && file.isDirectory()) {
-//            // 鑾峰彇鎵�鏈夌洸鐩掓枃浠跺す
-//            File[] ones = file.listFiles();
-//            for (File one : ones) {
-//                test = one;
-//            }
-//        }*/
-//
-//        String filename = "";
-//        String fileid = "";
-//
-//        String[] urlArray = strMutfileUrl.split(",");
-//        for (int i = 0; i < urlArray.length; i++) {
-//            String strOneFileName = urlArray[i];
-//            String strTemp = strOneFileName.substring(15);
-//            String strFile = filePath + strTemp;
-//            //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName);
-//            String struploadResult = "";
-//            File filetest = new File(strFile);
-//            try {
-//                struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl);
-//            } catch (Exception e) {
-//                e.printStackTrace();
-//            }
-//
-//
-//            /*CloseableHttpClient httpClient = HttpClients.createDefault();
-//            //鍒涘缓post鏂规硶杩炴帴瀹炰緥锛屽湪post鏂规硶涓紶鍏ュ緟杩炴帴鍦板潃
-//            HttpPost httpPost = new HttpPost(strFUrl);
-//            CloseableHttpResponse response = null;
-//
-//            String struploadResult = "";
-//            try {
-//                //璁剧疆璇锋眰鍙傛暟锛堢被浼糷tml椤甸潰涓璶ame灞炴�э級
-//                MultipartEntityBuilder entity = MultipartEntityBuilder.create();
-//                //entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
-//                entity.setCharset(Charset.forName("UTF-8"));
-//
-//                byte[] fileBytes = Files.readAllBytes(Paths.get(strFile));
-//                if (fileBytes != null) {
-//                    //鍐呭绫诲瀷锛岀敤浜庡畾涔夌綉缁滄枃浠剁殑绫诲瀷鍜岀綉椤电殑缂栫爜锛屽喅瀹氭枃浠舵帴鏀舵柟灏嗕互浠�涔堝舰寮忋�佷粈涔堢紪鐮佽鍙栬繖涓枃浠�
-//                    ContentType OCTEC_STREAM = ContentType.create("application/octet-stream", Charset.forName("UTF-8"));
-//                    //娣诲姞鏂囦欢
-//                    entity.addBinaryBody("file", fileBytes, OCTEC_STREAM, strTemp);
-//                }
-//
-//                httpPost.setEntity(entity.build());
-//                //鍙戣捣璇锋眰锛屽苟杩斿洖璇锋眰鍝嶅簲
-//                response = httpClient.execute(httpPost);
-//                struploadResult = EntityUtils.toString(response.getEntity(), "utf-8");
-//            }
-//            catch (Exception e)
-//            {
-//                e.printStackTrace();
-//            }*/
-//
-//            //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj);
-//            if (struploadResult == null) return 0;
-//            if (struploadResult.isEmpty()) return 0;
-//
-//            JSONObject jsonR = JSONObject.parseObject(struploadResult);
-//
-//            JSONArray jsonArr = jsonR.getJSONArray("atts");
-//            for (int j = 0; j < jsonArr.size(); j++) {
-//                JSONObject jsonRet = jsonArr.getJSONObject(j);
-//                String name1 = jsonRet.get("filename").toString();
-//                String id1 = jsonRet.get("fileUrl").toString();
-//                filename += name1;
-//                fileid += id1;
-//                if (i != urlArray.length - 1) {
-//                    filename += ",";
-//                    fileid += ",";
-//                }
-//            }
-//
-//        }
-//
-////        long nId = remShare.getId();
-////        remShare.setId(nId);
-////        remShare.setFilename(filename);
-////        remShare.setFileid(fileid);
-////        boolean bRet = serviceReimbursementServiceShare.updateById(remShare);
-////        if (!bRet) return -1;
-//
-//        return 0;
+//    /**
+//     * 宸梾璐逛笂鎶�
+//     */
+//    @ApiOperation("宸梾璐逛笂鎶�")
+//    @Log(title = "宸梾璐逛笂鎶�", businessType = BusinessType.OTHER)
+//    @PostMapping("/test")
+//    public AjaxResult test(@RequestBody CheckFundVO checkFundVO) {
+//        mergeFilesToPDFUtils.generatePdf(checkFundVO.getFileNames(), checkFundVO.getOutputFile());
+//        return AjaxResult.success(200);
 //    }
 
 
@@ -466,14 +260,27 @@
     @PostMapping("/travelexpensereport")
     public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+        serviceReimbursement.setApplyTime(new Date());
+        Long flowLavel = null;
+
+        LoginUser loginUser = getLoginUser();
+        SysUser user = loginUser.getUser();
+
+        //鏌ヨ蹇呭浜�
+        ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
+        serviceFundflowrule.setApplytype("0");
+        serviceFundflowrule.setMustAudite(1);
+        serviceFundflowrule.setDel_flag(0);
+        List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
+        log.info("reimbursement蹇呭浜虹殑绛夌骇涓猴細{}", serviceFundflowrules.get(0).getFlowlevel());
+
         //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�;
         if (!Objects.isNull(serviceReimbursement) && serviceReimbursement.getBackflowlevel() != null) {
             if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
-//            if (serviceReimbursement.getBackflowlevel() == 199) {
                 //灏嗛��鍥為樁娈佃缃垚100
                 serviceReimbursement.setBackflowlevel(100L);
                 //閫�鍥炲啀鎻愪氦锛岄渶瑕佸啀鍒板嚭绾抽偅閲�
-                serviceReimbursement.setFlowlevel(1L);
+                serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
                 serviceReimbursement.setRecordstatus(2);
                 serviceReimbursementService.updateById(serviceReimbursement);
 
@@ -481,9 +288,9 @@
 //                serviceReimbursementService.addSharedData(checkFundVO.getFundid());
 
                 return success();
-            } else if (serviceReimbursement.getBackflowlevel() == 2) {
-                //鑱傜閫�鍥炵殑锛屼篃闇�瑕佽蛋鍑虹撼閭i噷
-                serviceReimbursement.setFlowlevel(1L);
+            } else if (serviceReimbursement.getBackflowlevel() >= Long.valueOf(serviceFundflowrules.get(0).getFlowlevel())) {
+                //蹇呭浜洪瀵奸��鍥炵殑锛屼篃闇�瑕佽蛋蹇呭浜洪偅閲�
+                serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
                 serviceReimbursement.setRecordstatus(2);
                 serviceReimbursementService.updateById(serviceReimbursement);
                 return success();
@@ -491,8 +298,6 @@
         }
         if (serviceReimbursement != null) {
             Integer TotalLevel = 0;
-            LoginUser loginUser = getLoginUser();
-            SysUser user = loginUser.getUser();
             List<Integer> postids = postService.selectPostListByUserId(loginUser.getUserId());
 
             if (!postids.contains(2)) {
@@ -500,8 +305,8 @@
                 if (serviceReimbursement.getBackflowlevel() != null) {
                     serviceReimbursement.setFlowlevel(serviceReimbursement.getBackflowlevel());
                 } else {
-                    serviceReimbursement.setBackflowlevel(1L);
-                    serviceReimbursement.setFlowlevel(1L);
+                    serviceReimbursement.setBackflowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
+                    serviceReimbursement.setFlowlevel(Long.valueOf(serviceFundflowrules.get(0).getFlowlevel() - 1));
                 }
             } else {
                 serviceReimbursement.setRecordstatus(0);
@@ -523,7 +328,8 @@
                 serviceFundflow.setApplytype("0");
                 serviceFundflow.setFlowconclusion(1);
                 serviceFundflow.setFlowcontent("闈炰笓鑱屼汉鍛樼洿鎺ヨ繘鍏ヤ簩绾у鏍�");
-                serviceFundflow.setFlowlevel(1);
+
+                serviceFundflow.setFlowlevel(serviceFundflowrules.get(0).getFlowlevel() - 1);
                 serviceFundflowService.save(serviceFundflow);
             }
 
@@ -590,12 +396,15 @@
                 }
 
                 if (serviceReimbursement.getFlowlevel() == 1 && serviceReimbursement.getBackflowlevel() == 100) {
-                    log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�");
+                    log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId());
                     //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
-                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
-                    serviceReimbursement.setFlowlevel(100L);
+//                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
+
+                    serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
                     serviceReimbursement.setRecordstatus(99);
-                    serviceReimbursementService.updateById(serviceReimbursement);
+                    serviceReimbursement.setUploadStates(1);
+                    boolean b = serviceReimbursementService.updateById(serviceReimbursement);
+                    log.info("鏄惁淇敼鎴愬姛:{}", b);
 
                     //淇濆瓨瀹℃壒娴佺▼琛�
                     ServiceFundflow serviceFundflow = new ServiceFundflow();
@@ -629,8 +438,19 @@
                         FlowLevel = 0;
                     }
                 }
-
-
+                SysUser sysUser = sysUserService.selectUserByUserName(serviceReimbursement.getUserno());
+                ArrayList<ConcurrentHashMap<String, Object>> contentList = new ArrayList<>();
+                ConcurrentHashMap map = new ConcurrentHashMap();
+                map.put("瀹℃壒浜猴細", loginUser.getUser().getUserName());
+                map.put("瀹℃壒鏃堕棿锛�", new Date());
+                map.put("鎰忚锛�", "涓嶉�氳繃");
+                if (StringUtils.isNotBlank(checkFundVO.getFlowcontent())) map.put("鎰忚锛�", checkFundVO.getFlowcontent());
+                contentList.add(map);
+                DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
+                dingTalkReqVo.setTitle("璐㈠姟绯荤粺椹冲洖淇℃伅");
+                dingTalkReqVo.setNumber(sysUser.getPhonenumber());
+                dingTalkReqVo.setContents(contentList);
+                dingTalkService.sendNotification(dingTalkReqVo);
             }
 
             serviceReimbursement.setRecordstatus(RecordStatus);
@@ -669,9 +489,10 @@
                 }
 
             }
-            //001瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂
-            if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("001")) {
+            //053瀹℃壒閫氳繃涔嬪悗锛屽氨闇�瑕佹妸鈥滃姙鍏涓讳换鈥濈殑鍚嶅瓧濉笂
+            if (checkFundVO.getFlowconclusion() == 1 && user.getUserName().equals("053")) {
                 serviceReimbursement.setOfficedirector(user.getNickName());
+                serviceReimbursement.setUploadStates(1);
             }
 
             serviceReimbursementService.updateById(serviceReimbursement);
@@ -685,21 +506,25 @@
             serviceSystemmessage.setReceiveusername(serviceReimbursement.getUsername());
             serviceSystemmessage.setIsread(0);
             serviceSystemmessage.setMessagetype(1);
+            serviceSystemmessage.setUpdateTime(new Date());
+            serviceSystemmessage.setUpdateBy(user.getNickName());
             serviceSystemmessage.setRelevantno(serviceReimbursement.getId());
             log.info("CheckFlag鐨勫�� : {}", CheckFlag);
             if (CheckFlag == 1) {
                 //閫氳繃
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃");
-                serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡閫氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�");
+                serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫樊鏃呮姤閿�鍗曠敵璇峰凡閫氳繃");
                 log.info("totalLevel鐨勫�� : {},  OriginalFlowLevel鐨勫��:{}", totalLevel, OriginalFlowLevel);
-                if (totalLevel == OriginalFlowLevel + 1) {
-                    //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
-                    serviceReimbursementService.addSharedData(checkFundVO.getFundid());
-                }
+
+                //杩欎竴鍧楁斁瀹氭椂浠诲姟閲屽仛
+//                if (totalLevel == OriginalFlowLevel + 1) {
+//                    //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
+//                    serviceReimbursementService.addSharedData(checkFundVO.getFundid());
+//                }
             } else {
                 //椹冲洖
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�");
-                serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡琚�" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥烇紝鍘熷洜涓�" + checkFundVO.getFlowcontent() + "");
+                serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫樊鏃呮姤閿�鍗曠敵璇疯椹冲洖锛屽師鍥�:" + checkFundVO.getFlowcontent() + "");
             }
             ServiceSystemmessage.save(serviceSystemmessage);
 
@@ -714,7 +539,7 @@
      * 淇敼鎶ラ攢鐢宠
      */
     @ApiOperation("淇敼鎶ラ攢鐢宠")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
     @Log(title = "鎶ラ攢鐢宠", businessType = BusinessType.UPDATE)
     @PostMapping("/reimbursementEdit")
     @RepeatSubmit
@@ -730,7 +555,7 @@
      * 淇敼鎶ラ攢鐢宠
      */
     @ApiOperation("淇敼鎶ラ攢鐢宠")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:edit')")
     @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER)
     @PostMapping("/editMoney")
     public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) {
@@ -745,7 +570,7 @@
      * 鍒犻櫎鎶ラ攢鐢宠
      */
     @ApiOperation("鍒犻櫎鎶ラ攢鐢宠")
-    //@PreAuthorize("@ss.hasPermi('project:reimbursement:remove')")
+    //// @PreAuthorize("@ss.hasPermi('project:reimbursement:remove')")
     @Log(title = "鎶ラ攢鐢宠")
     @GetMapping("/remove/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
@@ -807,6 +632,7 @@
         }
         Map<String, Object> map = new HashMap<>();
         map.put("downloadUrl", "/profile/download/wordtemplate/" + name + ".doc");
+        map.put("downloadName", name + ".doc");
         return map;
     }
 

--
Gitblit v1.9.3