From 0028d554cb0dcae4d5250dac3d0f2a1e5d2f2da2 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 26 七月 2023 15:27:57 +0800
Subject: [PATCH] 修改字段

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementController.java |  666 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 374 insertions(+), 292 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 0d00995..c210bc5 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,5 @@
 package com.ruoyi.web.controller.project;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
@@ -13,8 +11,8 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.HttpClientKit;
 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;
@@ -36,9 +34,9 @@
 
 import java.io.*;
 import java.math.BigDecimal;
-import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 
@@ -56,10 +54,10 @@
     private IServiceReimbursementService serviceReimbursementService;
 
     @Autowired
-    private IServiceReimbursementpayeeService reimbursementpayeeService;
+    private IServiceReimbursementSharedService serviceReimbursementSharedService;
 
     @Autowired
-    private IServiceReimbursementSharedService serviceReimbursementServiceShare;
+    private IServiceReimbursementpayeeService reimbursementpayeeService;
 
     @Autowired
     private IServiceReimbursementdetailService serviceReimbursementdetailService;
@@ -69,6 +67,9 @@
 
     @Autowired
     private IServiceFundflowService serviceFundflowService;
+
+    @Autowired
+    private IServiceFundService serviceFundService;
 
     @Autowired
     private ISysPostService postService;
@@ -151,6 +152,12 @@
         }
         //startPage();
         List<SpFinancialExpensesReimbursementOut> list = serviceReimbursementService.getListBypower(loginUser.getUsername(), 1, APPLICANT, APPLICATIONBEGTIME, APPLICATIONENDTIME, loginUser.getDeptId().toString(), CHECKFLAG, APPLYTYPE);
+        Collections.sort(list, new Comparator<SpFinancialExpensesReimbursementOut>() {
+            @Override
+            public int compare(SpFinancialExpensesReimbursementOut o1, SpFinancialExpensesReimbursementOut o2) {
+                return o2.getCreateTime().compareTo(o1.getCreateTime());
+            }
+        });
         return getCustomDataTable(list, pageNum, pageSize);
     }
 
@@ -188,17 +195,6 @@
     }
 
     /**
-     * 寰�service_reimbursement_share,寰�service_reimbursementdetail_share,寰�service_reimbursementpyee_share鏂板澶囦唤鏁版嵁
-     * @param id
-     * @return
-     */
-    @GetMapping("/addShareData/{id}")
-    public AjaxResult addSharedData(@PathVariable("id") Long id) {
-
-        return AjaxResult.success(serviceReimbursementService.addSharedData(id));
-    }
-
-    /**
      * 鏂板鎶ラ攢鐢宠
      */
     @ApiOperation("鏂板鎶ラ攢鐢宠")
@@ -210,237 +206,237 @@
     public AjaxResult add(@RequestBody ServiceReimbursement serviceReimbursement) {
 
         boolean b = serviceReimbursementService.save(serviceReimbursement);
-        if (b) {
-            addReiSharedDatd(serviceReimbursement, 1);
-        }
+//        if (b) {
+//            addReiSharedDatd(serviceReimbursement, 1);
+//        }
         Long id = serviceReimbursement.getId();
         return AjaxResult.success(id);
     }
 
-    public int addReiSharedDatd(ServiceReimbursement serviceReimbursement, int nType) {
-        //remShare = ;
-        ServiceReimbursementShared remShare = null;
-        if (nType == 1) {
-            remShare = new ServiceReimbursementShared();
-            remShare.setReimid(serviceReimbursement.getId());
-        } else //modify
-        {
-            List<ServiceReimbursementShared> remlist = serviceReimbursementServiceShare.getRemShareInfoByRemId(serviceReimbursement.getId());
-            if (remlist != null)
-                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;
-    }
+//    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";
-        //涓婁紶鏂囦欢鎴愬姛鍚庯紝鍘绘洿鏂扮浉鍏崇殑鏁版嵁搴�
+//    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;
+//    }
 
-
-        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;
-    }
 
     /**
      * 宸梾璐逛笂鎶�
@@ -450,6 +446,23 @@
     @PostMapping("/travelexpensereport")
     public AjaxResult travelexpensereport(@RequestBody CheckFundVO checkFundVO) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+        //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�
+        if (serviceReimbursement.getBackflowlevel() == 100 || serviceReimbursement.getBackflowlevel() == 199) {
+
+            //灏嗕慨鏀圭殑涓婃姤鏁版嵁 鏂板涓�鏉�
+            ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class);
+            serviceReimbursementShared.setId(null);
+            serviceReimbursementShared.setDelFlag(0L);
+            serviceReimbursementShared.setReimid(serviceReimbursement.getId());
+            serviceReimbursementSharedService.save(serviceReimbursementShared);
+
+            //灏嗛��鍥為樁娈佃缃垚100
+            serviceReimbursement.setBackflowlevel(100L);
+            serviceReimbursement.setFlowlevel(100L);
+            serviceReimbursement.setRecordstatus(0);
+            serviceReimbursementService.updateById(serviceReimbursement);
+            return success();
+        }
         if (serviceReimbursement != null) {
             Integer TotalLevel = 0;
             LoginUser loginUser = getLoginUser();
@@ -458,10 +471,12 @@
 
             if (!postids.contains(2)) {
                 serviceReimbursement.setFlowlevel(1L);
+                serviceReimbursement.setBackflowlevel(1L);
                 serviceReimbursement.setRecordstatus(2);
             } else {
                 serviceReimbursement.setFlowlevel(0L);
                 serviceReimbursement.setRecordstatus(0);
+                serviceReimbursement.setBackflowlevel(0L);
             }
 
             if (!postids.contains(2)) {
@@ -494,8 +509,9 @@
     @PostMapping("/checkfund")
     public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
         ServiceReimbursement serviceReimbursement = serviceReimbursementService.getById(checkFundVO.getFundid());
+
         if (serviceReimbursement != null) {
-            Integer TotalLevel = 0;
+            Integer totalLevel = 0;
             LoginUser loginUser = getLoginUser();
             ServiceFundflowrule serviceFundflowrule = new ServiceFundflowrule();
             serviceFundflowrule.setFundtype(1);
@@ -512,18 +528,24 @@
             }
 
             if (serviceFundflowrules != null && serviceFundflowrules.stream().count() > 0) {
-                TotalLevel = serviceFundflowrules.get(0).getTotallevel();
+                totalLevel = serviceFundflowrules.get(0).getTotallevel();
+
+
             }
             Integer CheckFlag = 0;
             Integer RecordStatus = serviceReimbursement.getRecordstatus();
             Integer FlowLevel = Integer.valueOf(serviceReimbursement.getFlowlevel().toString());
+            if (Objects.isNull(serviceReimbursement.getBackflowlevel()) && !Objects.isNull(serviceReimbursement.getFlowlevel())) {
+                serviceReimbursement.setBackflowlevel(Long.valueOf(FlowLevel.toString()));
+            }
             Integer OriginalFlowLevel = FlowLevel;
             if (checkFundVO.getFlowconclusion() == 1) {
                 CheckFlag = 1;
-                if (TotalLevel == 0) {
+                if (totalLevel == 0) {
+                    //99 鍙栨秷
                     RecordStatus = 99;
                 } else {
-                    if (TotalLevel == FlowLevel + 1) {
+                    if (totalLevel == FlowLevel + 1) {
                         RecordStatus = 99;
                     } else {
                         RecordStatus = (FlowLevel + 1) * 2;
@@ -532,16 +554,22 @@
                 FlowLevel = FlowLevel + 1;
             } else {
                 CheckFlag = 2;
-                RecordStatus = (FlowLevel + 1) * 2 - 1;
-                FlowLevel = (FlowLevel - 1);
-                if (FlowLevel < 0) {
+
+                if (CheckFlag == 2) {
+                    //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯��
                     FlowLevel = 0;
+                } else {
+                    //涓嬮潰鏄師鏉ョ殑鍐欐硶锛屼竴绾т竴绾х殑寰�涓嬮��锛屽尰闄㈢幇鍦ㄤ笉瑕佽繖鏍锋悶浜嗭紝涓嬮潰杩欐浠g爜鍏堜繚鐣欙紝绛夊尰闄㈠洖蹇冭浆鎰忥紝鍐嶇粰鏀惧紑
+                    RecordStatus = (FlowLevel + 1) * 2 - 1;
+                    FlowLevel = (FlowLevel - 1);
+                    if (FlowLevel < 0) {
+                        FlowLevel = 0;
+                    }
                 }
             }
 
             serviceReimbursement.setRecordstatus(RecordStatus);
             serviceReimbursement.setFlowlevel(Long.valueOf(FlowLevel.toString()));
-
             ServiceFundflow serviceFundflow = new ServiceFundflow();
             SysUser user = loginUser.getUser();
             serviceFundflow.setFundid(serviceReimbursement.getId());
@@ -589,7 +617,10 @@
                 //閫氳繃
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁�氳繃");
                 serviceSystemmessage.setMessagecontent("鎮�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceReimbursement.getCreateTime()) + "鎻愪氦鐨勫叧浜庢崘鐚渚嬨��" + serviceReimbursement.getDonorname() + "銆戠殑宸梾璐圭敵璇峰凡閫氳繃" + (OriginalFlowLevel + 1) + "绾у鏍�");
-
+                if (totalLevel == OriginalFlowLevel + 1) {
+                    //鎵�鏈夋暟鎹柊澧炲埌澶囦唤琛�
+                    serviceReimbursementService.addSharedData(checkFundVO.getFundid());
+                }
             } else {
                 //椹冲洖
                 serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "绾у鏍搁┏鍥�");
@@ -614,9 +645,9 @@
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceReimbursement serviceReimbursement) {
         boolean b = serviceReimbursementService.updateById(serviceReimbursement);
-        if (b) {
-            addReiSharedDatd(serviceReimbursement, 2);
-        }
+//        if (b) {
+//            addReiSharedDatd(serviceReimbursement, 2);
+//        }
         return toAjax(b);
     }
 
@@ -629,9 +660,9 @@
     @PostMapping("/editMoney")
     public AjaxResult editMoney(@RequestBody List<ReimbursementService> serviceReimbursement) {
         boolean b = serviceReimbursementService.updateById(null);
-        if (b) {
-            addReiSharedDatd(null, 2);
-        }
+//        if (b) {
+//            addReiSharedDatd(null, 2);
+//        }
         return toAjax(b);
     }
 
@@ -713,8 +744,7 @@
         //鑾峰彇鎶ラ攢鏀粯淇℃伅
         List<ServiceReimbursementpayee> reimbursementpayeeInfo = reimbursementpayeeService.getReimbursementpayeeInfo(serviceReimbursementEo);
 
-        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream()
-                .collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
+        Map<String, List<ServiceReimbursementEo>> listMap = rdInfoByItem.stream().collect(Collectors.groupingBy(ServiceReimbursementEo::getPersontype));
         List<Map<String, BigDecimal>> list = new ArrayList<>();
         StringBuffer FYXM1 = new StringBuffer();
         StringBuffer FYXM2 = new StringBuffer();
@@ -730,30 +760,76 @@
             BigDecimal keyOneMoney = new BigDecimal(0.00);
             BigDecimal keyTwoMoney = new BigDecimal(0.00);
             for (ServiceReimbursementEo serviceReimbursementEo1 : values) {
-                otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense())
-                        .add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance())
-                        .add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount());
+                otherMoney = otherMoney.add(serviceReimbursementEo1.getTrafficexpense()).add(serviceReimbursementEo1.getHotelexpense()).add(serviceReimbursementEo1.getFoodexpenses()).add(serviceReimbursementEo1.getFoodallowance()).add(serviceReimbursementEo1.getOtherexpense()).add(serviceReimbursementEo1.getOtherfeeamount());
             }
             map.put(key, otherMoney);
             list.add(map);
-            // 涓嶄负涓撳鎴栧灞�
-            if (!key.equals("3") && !key.equals("4")) {
-                //灏嗕笂涓�娆$殑娓呯┖
-                FYXM1.delete(0, FYXM1.length());
-                //鍐嶆柊澧�
-                otherMoneyall = otherMoneyall.add(otherMoney);
-                FYXM1.append("OPO宸ヤ綔浜哄憳" + ":" + otherMoneyall + " ");
-            } else {
-                if (flag == 0) {
-                    key1 = key;
-                    flag = 1;
-                }
-                if (key1 == key) {
-                    FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
-                    allMoney = allMoney.add(otherMoney);
+            // 涓嶄负涓撳鎴栧灞烇紝key鏈夊彲鑳芥槸鏁板瓧锛屾湁鍙兘鏄眽瀛�
+            Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+            boolean matches = pattern.matcher(key).matches();
+            if (matches) {
+                if (!key.equals("3") && !key.equals("4")) {
+                    //灏嗕笂涓�娆$殑娓呯┖
+                    FYXM1.delete(0, FYXM1.length());
+                    //鍐嶆柊澧�
+                    otherMoneyall = otherMoneyall.add(otherMoney);
+                    FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " ");
                 } else {
-                    FYXM3.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
-                    allMoney = allMoney.add(otherMoney);
+                    if (flag == 0) {
+                        key1 = key;
+                        flag = 1;
+                    }
+                    if (key1 == key) {
+                        if (key.equals("3")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    } else {
+                        if (key.equals("3")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    }
+                }
+            } else {
+                if (!key.equals("涓撳") && !key.equals("瀹跺睘")) {
+                    //灏嗕笂涓�娆$殑娓呯┖
+                    FYXM1.delete(0, FYXM1.length());
+                    //鍐嶆柊澧�
+                    otherMoneyall = otherMoneyall.add(otherMoney);
+                    FYXM1.append("OP0 宸ヤ綔浜哄憳鎶ラ攢宸梾璐�" + ":" + otherMoneyall + " ");
+                } else {
+                    if (flag == 0) {
+                        key1 = key;
+                        flag = 1;
+                    }
+                    if (key1 == key) {
+                        if (key.equals("涓撳")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM2.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM2.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    } else {
+                        if (key.equals("涓撳")) {
+//                        FYXM2.append(PersonType.getInfoByCode(key) + ":" + otherMoney);
+                            FYXM3.append("涓撳鎶ラ攢宸梾璐� :" + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        } else {
+                            FYXM3.append("瀹跺睘鎶ラ攢宸梾璐瑰強璇伐璐圭敤 : " + otherMoney);
+                            allMoney = allMoney.add(otherMoney);
+                        }
+                    }
                 }
             }
         }
@@ -802,17 +878,20 @@
         } else {
             dataMap.put("FYXM3", "");
         }
-        //   dataMap.put("JEXS", rdInfoByItem.get(0).getAmountrequested());
         dataMap.put("JEXS", allMoney);
-        //double temp = 0;
-        //temp = Math.round(serviceReimbursement.getAmountrequested() * 100) * 0.01d;
-        // dataMap.put("JEDS", convert(rdInfoByItem.get(0).getAmountrequested().doubleValue()) + "鏁�");
         dataMap.put("JEDS", convert(allMoney.doubleValue()) + "鏁�");
 
         String remark = "";
         for (ServiceReimbursementpayee serviceReimbursementpayee : reimbursementpayeeInfo) {
-            remark += "<w:br/> "+PersonType.getInfoByCode(serviceReimbursementpayee.getPersontype())+ "(" + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
-            remark += " 鍏�; " + serviceReimbursementpayee.getBankname() + ": " + serviceReimbursementpayee.getBankcardno() + ") 澶囨敞: " + serviceReimbursementpayee.getRemark();
+            remark += "<w:br/> " + serviceReimbursementpayee.getPersonname() + " " + serviceReimbursementpayee.getAmount();
+            remark += " 鍏�; ";
+            if (!StringUtils.isEmpty(serviceReimbursementpayee.getBankname())) {
+                remark += serviceReimbursementpayee.getBankname() + " ( " + serviceReimbursementpayee.getBankcardno() + ")";
+            }
+            remark += " 澶囨敞: " + serviceReimbursementpayee.getPersontype();
+            if (!StringUtils.isEmpty(serviceReimbursementpayee.getRemark())) {
+                remark += serviceReimbursementpayee.getRemark();
+            }
         }
         dataMap.put("BXBZ", remark);
 
@@ -857,11 +936,16 @@
             map.put("DA", s.getDeparture() == null ? "" : s.getDeparture());
 
             Date et = s.getEndtime();
-            SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            String date_et = formatter_et.format(et);
-            String year_et = date_et.substring(0, 4);
-            String month_et = date_et.substring(5, 7);
-            String day_et = date_et.substring(8, 10);
+            String year_et = null;
+            String month_et = null;
+            String day_et = null;
+            if (et != null) {
+                SimpleDateFormat formatter_et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                String date_et = formatter_et.format(et);
+                year_et = date_et.substring(0, 4);
+                month_et = date_et.substring(5, 7);
+                day_et = date_et.substring(8, 10);
+            }
 
             map.put("AY", year_et == null ? "" : year_et);
             map.put("AM", month_et == null ? "" : month_et);
@@ -1006,9 +1090,7 @@
         }
 
         result = result.replaceAll("闆朵粺", "闆�").replaceAll("闆朵桨", "闆�")        //鎶婂崟浣�'浜�','涓�','鍏�'鏀惧埌鏈�鍚庢浛鎹€��
-                .replaceAll("闆舵嬀", "闆�").replaceAll("闆堕浂", "闆�")
-                .replaceAll("闆堕浂", "闆�").replaceAll("闆朵嚎", "浜�")
-                .replaceAll("闆朵竾", "涓�").replaceAll("闆跺厓", "鍏�");
+                .replaceAll("闆舵嬀", "闆�").replaceAll("闆堕浂", "闆�").replaceAll("闆堕浂", "闆�").replaceAll("闆朵嚎", "浜�").replaceAll("闆朵竾", "涓�").replaceAll("闆跺厓", "鍏�");
         //        result = result.replaceAll("闆朵粺", "闆�");
         //        result = result.replaceAll("闆朵桨", "闆�");
         //        result = result.replaceAll("闆舵嬀", "闆�");

--
Gitblit v1.9.3