From 323e4e535e3539d9aa49aecaa25c46ed00c2c9dd Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期五, 07 四月 2023 20:29:20 +0800 Subject: [PATCH] yxh --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 261 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..df35e04 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() { @@ -202,7 +201,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 +448,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 +586,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