| | |
| | | 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.*; |
| | |
| | | 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; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private IServiceSystemmessageService ServiceSystemmessage; |
| | | |
| | | @Autowired |
| | | private IServiceFundSharedService fundServiceShare; |
| | | |
| | | |
| | | public ServiceFundController() { |
| | |
| | | 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)); |
| | |
| | | { |
| | | 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.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);//得到返回的token? |
| | | |
| | | JSONObject json1 = JSONObject.parseObject(strRes); |
| | | strRes = json1.get("id").toString(); |
| | | |
| | | ///if(strRes.isEmpty() || "" == strRes) return -1;// 为空代表失败 |
| | | |
| | | //下面需求调用文件的接口,调用成功返回后,得到filename和fileid 用这二个值去更新数据 |
| | | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | { |
| | | 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); |
| | |
| | | @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); |
| | | } |
| | | |
| | | /** |