From d3dfc07c93ae97cc6a301d9ccf2f8513a6a8ad85 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 10 五月 2023 21:08:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java |  287 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 266 insertions(+), 21 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index 863f73d..56aae00 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -1,14 +1,20 @@
 package com.ruoyi.web.controller.project;
 
-import java.io.*;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
+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;
 import com.ruoyi.common.constant.HttpStatus;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.model.LoginUser;
+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.poi.ExcelUtil;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.vo.*;
 import com.ruoyi.project.service.*;
@@ -18,23 +24,13 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.ibatis.annotations.Options;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.annotation.RepeatSubmit;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.*;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 import static com.ruoyi.web.controller.project.ServiceReimbursementController.convert;
 
@@ -66,6 +62,9 @@
 
     @Autowired
     private IServiceSystemmessageService ServiceSystemmessage;
+
+    @Autowired
+    private IServiceFundSharedService fundServiceShare;
 
 
     public ServiceFundController() {
@@ -157,6 +156,11 @@
         return AjaxResult.success(serviceFundService.getFundId(infoid));
     }
 
+    @GetMapping("/addFundSharedInfo/{id}")
+    public AjaxResult addFundSharedInfo(@PathVariable("id") Long id){
+        return AjaxResult.success(serviceFundService.addFundSharedInfo(id));
+    }
+
     @GetMapping("/getFundDetail/{id}")
     public AjaxResult getFundDetail(@PathVariable("id") Long id){
         return AjaxResult.success(serviceFundService.getFundDetail(id));
@@ -202,7 +206,239 @@
     {
         boolean b = serviceFundService.save(serviceFund);
         Long id = serviceFund.getId();
+        if(b)
+        {
+            addReiSharedDatd(serviceFund,1);
+        }
         return AjaxResult.success(id);
+    }
+
+
+    public  int addReiSharedDatd(ServiceFund serviceFund,int nType)
+    {
+        //remShare = ;
+        ServiceFundShared remShare = null;
+        if(nType == 1)
+        {
+            remShare = new ServiceFundShared();
+            remShare.setSerfunid(serviceFund.getId());
+        }
+        else //modify
+        {
+            List<ServiceFundShared> remlist = fundServiceShare.getFundShareInfoById(serviceFund.getId());
+            if(remlist!=null)
+                remShare =remlist.get(0);
+        }
+
+        remShare.setDonorno(serviceFund.getDonorno());
+        remShare.setDonorname(serviceFund.getDonorname());
+        remShare.setUserno(serviceFund.getUserno());
+        remShare.setUsername(serviceFund.getUsername());
+        remShare.setUnitname(serviceFund.getUnitname());
+        remShare.setUnitno(serviceFund.getUnitno());
+        remShare.setUnituserno(serviceFund.getUnituserno());
+        remShare.setPhone(serviceFund.getPhone());
+        remShare.setAnnexbankcard(serviceFund.getAnnexbankcard());
+        remShare.setAnnexregistform(serviceFund.getAnnexregistform());
+        Double nTemp= serviceFund.getPretaxcost();
+        if( nTemp == null) nTemp = 0d;
+        remShare.setPretaxcost(BigDecimal.valueOf(nTemp));
+        //remShare.setAnnexfiles(serviceReimbursement.getAnnexfiles());
+        // remShare.setAmountrequested(BigDecimal.valueOf(serviceReimbursement.getAmountrequested()));
+
+        nTemp= serviceFund.getTaxedcost();
+        if( nTemp == null) nTemp = 0d;
+        remShare.setTaxedcost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getTotalcost();
+        if( nTemp == null) nTemp = 0d;
+        remShare.setTotalcost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getExpertcost();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setExpertcost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getEthicscost();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setEthicscost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getMedicalcost();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setMedicalcost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getFamilycost();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setFamilycost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getAftercarecost();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setAftercarecost(BigDecimal.valueOf(nTemp));
+
+        nTemp = serviceFund.getAmountrequested();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setAmountrequested(BigDecimal.valueOf(nTemp));
+
+
+        remShare.setApplytype(serviceFund.getApplytype());
+
+        nTemp = serviceFund.getPrepaidamount();
+        if(nTemp == null) nTemp = 0.0;
+        remShare.setPrepaidamount(BigDecimal.valueOf(nTemp));
+
+        remShare.setInvoicecount(serviceFund.getInvoicecount());
+        remShare.setAttachcount(serviceFund.getAttachcount());
+        remShare.setManagerno(serviceFund.getManagerno());
+        remShare.setManagername(serviceFund.getManagername());
+        remShare.setDeptmentno(serviceFund.getDeptmentno());
+        remShare.setDeptmentname(serviceFund.getDeptmentname());
+        remShare.setOpochecker(serviceFund.getOpochecker());
+        remShare.setFinvicepresident(serviceFund.getFinvicepresident());
+        remShare.setBusvicepresident(serviceFund.getBusvicepresident());
+        remShare.setOfficedirector(serviceFund.getOfficedirector());
+        remShare.setFinancedirector(serviceFund.getFinancedirector());
+        remShare.setFinancechecher(serviceFund.getFinancechecher());
+        //remShare.setIsdistribute(serviceFund.getIsdistribute());
+        remShare.setRecordstatus(serviceFund.getRecordstatus());
+        remShare.setUploadflag(serviceFund.getUploadflag());
+        remShare.setUploadtime(serviceFund.getUploadtime());
+        long nLevel = serviceFund.getFlowlevel();
+        remShare.setFlowlevel(nLevel);
+
+        remShare.setInfoid(serviceFund.getInfoid());
+
+        //remShare.setOaid(serviceReimbursement.getOaid());
+        //remShare.setDonorno(serviceReimbursement.getDonorno());
+
+        boolean bRet = false;
+        if(nType==1)
+        {
+            bRet = fundServiceShare.save(remShare);
+        }
+        else
+        {
+            //remShare.setId(serviceReimbursement.);
+            bRet = fundServiceShare.updateById(remShare);
+        }
+
+        //if(!bRet) return -1;
+        String strMutfileUrl = remShare.getAnnexbankcard();
+        //鏈夐檮浠舵椂鎵嶈皟鐢ㄧ涓夋柟杩涜涓婁紶
+        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(ServiceFundShared 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.getAnnexbankcard();//鍙兘瀛樺湪澶氫釜鍦板潃锛屼互,鍒嗗紑
+
+        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();
+            }
+
+
+            //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 = fundServiceShare.updateById(remShare);
+        if(!bRet) return -1;
+
+        return 0;
     }
 
     /**
@@ -217,6 +453,10 @@
     {
         boolean b = serviceFundService.save(serviceFundVO);
         Long id = serviceFundVO.getId();
+        if(b)
+        {
+            addReiSharedDatd(serviceFundVO,1);
+        }
         List<ServiceFunddetail> serviceFunddetails=serviceFundVO.getServiceFunddetails();
         serviceFunddetails.forEach(item->item.setFundid(id));
         serviceFunddetailService.saveBatch(serviceFunddetails);
@@ -351,7 +591,12 @@
     @RepeatSubmit    
     public AjaxResult edit(@RequestBody ServiceFund serviceFund)
     {
-        return toAjax(serviceFundService.updateById(serviceFund));
+        boolean bret = serviceFundService.updateById(serviceFund);
+        if(bret)
+        {
+            addReiSharedDatd(serviceFund,2);
+        }
+        return toAjax(bret);
     }
 
     /**

--
Gitblit v1.9.3