ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -163,10 +163,10 @@ return AjaxResult.success(serviceFundService.getFundId(infoid)); } @GetMapping("/addFundSharedInfo/{id}") public AjaxResult addFundSharedInfo(@PathVariable("id") Long id) { return AjaxResult.success(serviceFundService.addFundSharedInfo(id)); } // @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) { @@ -534,38 +534,39 @@ serviceSystemmessage.setMessagetitle("" + (OriginalFlowLevel + 1) + "级审核通过"); serviceSystemmessage.setMessagecontent("您" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(serviceFund.getCreateTime()) + "提交的关于捐献案例【" + serviceFund.getDonorname() + "】的费用申请已通过" + (OriginalFlowLevel + 1) + "级审核"); if (TotalLevel == OriginalFlowLevel + 1) { ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); serviceFundShared.setId(null); serviceFundShared.setSerfunid(serviceFund.getId()); serviceFundShared.setAmountrequested(new BigDecimal(serviceFund.getAmountrequested())); serviceFundShared.setPrepaidamount(new BigDecimal(serviceFund.getPrepaidamount())); serviceFundShared.setTotalcost(new BigDecimal(serviceFund.getTotalcost())); serviceFundShared.setProcurementcost(new BigDecimal(serviceFund.getProcurementcost())); serviceFundShared.setExpertcost(new BigDecimal(serviceFund.getExpertcost())); serviceFundShared.setEthicscost(new BigDecimal(serviceFund.getEthicscost())); serviceFundShared.setMedicalcost(new BigDecimal(serviceFund.getMedicalcost())); serviceFundShared.setFamilycost(new BigDecimal(serviceFund.getFamilycost())); serviceFundShared.setAftercarecost(new BigDecimal(serviceFund.getAftercarecost())); fundSharedService.save(serviceFundShared); Map<String, Object> columnMap = new HashMap<>(); columnMap.put("fundID", checkFundVO.getFundid()); //获取详情数据 List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap); logger.info("serviceFundController---checkFund的返回值serviceFunddetails :{}", serviceFunddetails); List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class); for (int i = 0; i < serviceFunddetails.size(); i++) { serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); serviceFunddetailShareds.get(i).setFdid(serviceFunddetails.get(i).getId()); serviceFunddetailShareds.get(i).setAmount(new BigDecimal(serviceFunddetails.get(i).getAmount())); serviceFunddetailShareds.get(i).setPrepaidamount(new BigDecimal(serviceFunddetails.get(i).getPrepaidamount())); serviceFunddetailShareds.get(i).setTaxamount(new BigDecimal(serviceFunddetails.get(i).getTaxamount())); serviceFunddetailShareds.get(i).setTaxedamount(new BigDecimal(serviceFunddetails.get(i).getTaxedamount())); serviceFunddetailShareds.get(i).setQuantity(new BigDecimal(serviceFunddetails.get(i).getQuantity())); serviceFunddetailShareds.get(i).setPrice(new BigDecimal(serviceFunddetails.get(i).getPrice())); serviceFunddetailShareds.get(i).setId(null); } funddetailSharedService.saveBatch(serviceFunddetailShareds); serviceFundService.addFundSharedInfo(checkFundVO.getFundid()); // ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class); // serviceFundShared.setId(null); // serviceFundShared.setSerfunid(serviceFund.getId()); // serviceFundShared.setAmountrequested(new BigDecimal(serviceFund.getAmountrequested())); // serviceFundShared.setPrepaidamount(new BigDecimal(serviceFund.getPrepaidamount())); // serviceFundShared.setTotalcost(new BigDecimal(serviceFund.getTotalcost())); // serviceFundShared.setProcurementcost(new BigDecimal(serviceFund.getProcurementcost())); // serviceFundShared.setExpertcost(new BigDecimal(serviceFund.getExpertcost())); // serviceFundShared.setEthicscost(new BigDecimal(serviceFund.getEthicscost())); // serviceFundShared.setMedicalcost(new BigDecimal(serviceFund.getMedicalcost())); // serviceFundShared.setFamilycost(new BigDecimal(serviceFund.getFamilycost())); // serviceFundShared.setAftercarecost(new BigDecimal(serviceFund.getAftercarecost())); // fundSharedService.save(serviceFundShared); // // Map<String, Object> columnMap = new HashMap<>(); // columnMap.put("fundID", checkFundVO.getFundid()); // //获取详情数据 // List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap); // logger.info("serviceFundController---checkFund的返回值serviceFunddetails :{}", serviceFunddetails); // List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class); // for (int i = 0; i < serviceFunddetails.size(); i++) { // serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); // serviceFunddetailShareds.get(i).setFdid(serviceFunddetails.get(i).getId()); // serviceFunddetailShareds.get(i).setAmount(new BigDecimal(serviceFunddetails.get(i).getAmount())); // serviceFunddetailShareds.get(i).setPrepaidamount(new BigDecimal(serviceFunddetails.get(i).getPrepaidamount())); // serviceFunddetailShareds.get(i).setTaxamount(new BigDecimal(serviceFunddetails.get(i).getTaxamount())); // serviceFunddetailShareds.get(i).setTaxedamount(new BigDecimal(serviceFunddetails.get(i).getTaxedamount())); // serviceFunddetailShareds.get(i).setQuantity(new BigDecimal(serviceFunddetails.get(i).getQuantity())); // serviceFunddetailShareds.get(i).setPrice(new BigDecimal(serviceFunddetails.get(i).getPrice())); // serviceFunddetailShareds.get(i).setId(null); // } // funddetailSharedService.saveBatch(serviceFunddetailShareds); } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetail.java
@@ -239,5 +239,9 @@ private String subjecttypename; /** 附件文件地址 */ @ApiModelProperty("附件文件地址") private String annexfiles; } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceFunddetailShared.java
@@ -84,6 +84,11 @@ @Excel(name = "收益人编号") private String beneficiaryno; /** 附件表 */ @ApiModelProperty("附件表") @Excel(name = "附件表") private String annexfiles; /** 工作单位 */ @ApiModelProperty("工作单位") @Excel(name = "工作单位") ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -7,6 +7,7 @@ import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.config.RuoYiConfig; @@ -136,8 +137,7 @@ serviceFundShared.setSerfunid(serviceFundShared.getId()); serviceFundShared.setId(null); sharedService.save(serviceFundShared); //数据发送给财务 uploadOAFileAndUpdateDb(serviceFundShared); //fundId为主表的ID Map<String, Object> columnMap = new HashMap<>(); columnMap.put("fundid", id); @@ -149,6 +149,8 @@ //fundID为service_fund_shared表的主键ID serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId()); serviceFunddetailShareds.get(i).setId(null); //数据发送给财务 uploadOAFileAndUpdateDb(serviceFunddetailShareds.get(i)); } boolean result = detailSharedService.saveBatch(serviceFunddetailShareds); return result; @@ -733,14 +735,12 @@ return id; } int uploadOAFileAndUpdateDb(ServiceFundShared remShare) { int uploadOAFileAndUpdateDb(ServiceFunddetailShared 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"); @@ -755,74 +755,136 @@ 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); List<RbDetailFile> parseArray2 = new ArrayList<>(); List<RbDetailFile> parseArray = JSON.parseArray(remShare.getAnnexfiles(), RbDetailFile.class); for (int i = 0; i < parseArray.size(); i++) { RbDetailFile rbDetailFile = parseArray.get(i); log.info("filePath的修改:{}", filePath); String url = rbDetailFile.getUrl(); //file用的是绝对位置 String substring = url.substring(url.indexOf("/profile/upload") + "/profile/upload".length()); // String strFile = rbDetailFile.getUrl().replace(filePath, "/profile/upload"); File filetest = new File(filePath + substring); /*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); String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); log.info("第三方传回的数据: {}", struploadResult); if (StringUtils.isEmpty(struploadResult)) { log.info("HttpClientKit.sendPostWithFile 请求为空了 filetest:{}, strFUrl:{} ", filetest, strFUrl); return 0; } //获取fileid JSONObject jsonR = JSONObject.parseObject(struploadResult); JSONArray jsonArr = jsonR.getJSONArray("atts"); log.info("第三方传回的数据获取的atts : {}", jsonArr); for (int j = 0; j < jsonArr.size(); j++) { JSONObject jsonRet = jsonArr.getJSONObject(j); rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); } } 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 += ","; parseArray2.add(rbDetailFile); } } } long nId = remShare.getId(); remShare.setId(nId); remShare.setFilename(filename); remShare.setFileid(fileid); boolean bRet = sharedService.updateById(remShare); if (!bRet) return -1; remShare.setAnnexfiles(JSON.toJSONString(parseArray2)); log.info("ServiceReimbursementdetailShared 是否加上了fileid : {}", remShare); 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 = sharedService.updateById(remShare); // if (!bRet) return -1; // // return 0; // } } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -250,7 +250,6 @@ File filetest = new File(filePath + substring); try { log.info("请求第三方的入参strFile : {}, strFUrl : {}", strFile, filePath); System.out.println("请求第三方的入参:" + filePath + substring); String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); log.info("第三方传回的数据: {}", struploadResult); if (StringUtils.isEmpty(struploadResult)) { ruoyi-project/src/main/resources/mapper/project/ServiceFunddetailMapper.xml
@@ -56,6 +56,7 @@ <result property="itemcode" column="ItemCode"/> <result property="subjecttype" column="subjecttype"/> <result property="subjecttypename" column="subjecttypename"/> <result property="AnnexFiles" column="AnnexFiles"/> </resultMap> <sql id="selectServiceFunddetailVo"> @@ -109,7 +110,8 @@ SERVICETYPE, SERVICETYPENAME, subjecttype, subjecttypename subjecttypename, AnnexFiles from service_funddetail </sql>