From a8b458570fea9039e464150da723b9415b95a64c Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 01 二月 2024 16:30:05 +0800 Subject: [PATCH] 代码提交 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java | 131 ++++++++++++++++++++++++++++++++----------- 1 files changed, 97 insertions(+), 34 deletions(-) diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java index eb06291..ae593c3 100644 --- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java +++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java @@ -19,6 +19,7 @@ import com.ruoyi.project.service.IServiceReimbursementdetailSharedService; import com.ruoyi.project.service.IServiceReimbursementpayeeSharedService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -117,12 +118,14 @@ @Override public List<ServiceReimbursementdetailVO> getRBDetailList(Long id) { + log.info("getRBDetailList鐨勫叆鍙�:{}", id); List<ServiceReimbursementdetailVO> serviceReimbursementdetailVOS = new ArrayList<>(); List<ServiceReimbursementdetail> rbDetailList = serviceReimbursementdetailMapper.getRBDetailList(id); + log.info("getRBDetailList鐨勫叆鍙�:{}", CollectionUtils.isEmpty(rbDetailList) ? null : rbDetailList.size()); for (int j = 0; j < rbDetailList.size(); j++) { - ServiceReimbursementdetail serviceReimbursementdetail = rbDetailList.get(j); String annexfiles = serviceReimbursementdetail.getAnnexfiles(); + String invoicefiles = serviceReimbursementdetail.getInvoicefiles(); ServiceReimbursementdetailVO serviceReimbursementdetailVO = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailVO.class); if (StringUtils.isNotBlank(annexfiles)) { try { @@ -130,6 +133,14 @@ } catch (Exception e) { if (e.getMessage().equals("invalid comment")) { log.error("鎶ュ紓甯镐簡锛岃�佸ぇ涓嶈鎴戝鐞�"); + } + } + } + if (StringUtils.isNotBlank(invoicefiles)) { + try { + serviceReimbursementdetailVO.setInvoicefilesList(JSON.parseArray(invoicefiles)); + } catch (Exception e) { + if (e.getMessage().equals("invalid comment")) { } } } @@ -142,15 +153,26 @@ @Transactional public Boolean addSharedData(Long id) { log.info("addSharedData鏂规硶鐨勫叆鍙俰d :{}", id); + //鍏堝垽鏂竴涓媠hare琛ㄦ槸鍚﹀凡缁忔彃鍏� + ServiceReimbursementShared reimbursementShared1 = new ServiceReimbursementShared(); + reimbursementShared1.setReimid(id); + reimbursementShared1.setDelFlag(0L); + List<ServiceReimbursementShared> serviceReimbursementShareds = sharedService.queryList(reimbursementShared1); + log.info("serviceReimbursementShareds鐨勬煡璇㈢粨鏋� :{}", serviceReimbursementShareds.size()); + if (!CollectionUtils.isEmpty(serviceReimbursementShareds)) { + return true; + } + + //濡傛灉娌℃湁鎻掑叆锛屽垯璧颁笅闈㈢殑娴佺▼ ServiceReimbursement serviceReimbursement = serviceReimbursementMapper.selectById(id); Map<String, Object> columnMap = new HashMap<>(); columnMap.put("rbid", id); //鑾峰彇璇︽儏鏁版嵁 List<ServiceReimbursementdetail> details = serviceReimbursementdetailMapper.selectByMap(columnMap); - log.info("serviceReimbursementdetailMapper.selectByMap鏂规硶鐨勮繑鍙傚弬 :{}", details.size()); + log.info("serviceReimbursementdetailMapper.selectByMap鏂规硶鐨勮繑鍙傚弬 :{}", CollectionUtils.isEmpty(details) ? null : details.size()); //鑾峰彇鏀粯鏁版嵁 List<ServiceReimbursementpayee> serviceReimbursementpayees = reimbursementpayeeMapper.selectByMap(columnMap); - log.info("reimbursementpayeeMapper.selectByMap鏂规硶鐨勮繑鍙傚弬 :{}", serviceReimbursementpayees.size()); + log.info("reimbursementpayeeMapper.selectByMap鏂规硶鐨勮繑鍙傚弬 :{}", CollectionUtils.isEmpty(serviceReimbursementpayees) ? null : serviceReimbursementpayees.size()); //鏁版嵁缁勮 ServiceReimbursementShared serviceReimbursementShared = DtoConversionUtils.sourceToTarget(serviceReimbursement, ServiceReimbursementShared.class); serviceReimbursementShared.setReimid(id); @@ -171,7 +193,14 @@ uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); } - detailSharedService.saveBatch(serviceReimbursementdetailShareds); +// detailSharedService.saveBatch(serviceReimbursementdetailShareds); + for (ServiceReimbursementdetailShared serviceReimbursementdetailShared : serviceReimbursementdetailShareds) { + if (ObjectUtils.isNotEmpty(serviceReimbursementdetailShared)) { + detailSharedService.save(serviceReimbursementdetailShared); + } else { + log.info("serviceReimbursementdetailShared涓虹┖浜�"); + } + } //灏唖erviceReimbursementpayee琛ㄩ噷鐨刬d璧嬪�肩粰Rpid; 灏唖erviceReimbursementShared閲岀殑ID璧嬪�肩粰RBID,骞跺皢serviceReimbursementpayeeShared琛ㄩ噷鐨刬d缃┖锛岀敱鏁版嵁搴撻噸鏂扮敓鎴� for (int i = 0; i < serviceReimbursementpayees.size(); i++) { @@ -179,8 +208,14 @@ serviceReimbursementpayeeShareds.get(i).setRbid(serviceReimbursementShared.getId()); serviceReimbursementpayeeShareds.get(i).setId(null); } - payeeSharedService.saveBatch(serviceReimbursementpayeeShareds); + for (ServiceReimbursementpayeeShared serviceReimbursementpayeeShared : serviceReimbursementpayeeShareds) { + if (ObjectUtils.isNotEmpty(serviceReimbursementpayeeShared)) { + payeeSharedService.save(serviceReimbursementpayeeShared); + } else { + log.info("serviceReimbursementpayeeShared涓虹┖浜嗭紒"); + } + } return true; } @@ -190,8 +225,8 @@ } @Override - public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE) { - return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE); + public List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE, Integer CHECKSTATUS, String donorname) { + return serviceReimbursementMapper.getListBypower(PAUSERNO, PAFUNDTYPE, PAAPPLICANT, PAAPPLICATIONBEGTIME, PAAPPLICATIONENDTIME, PADEPARTMENT, CHECKFLAG, APPLYTYPE, CHECKSTATUS, donorname); } @Override @@ -231,41 +266,69 @@ JSONObject json1 = JSONObject.parseObject(strRes); strRes = json1.get("id").toString(); - + log.info("strRes鐨勫�� : {}", strRes); String filePath = RuoYiConfig.getUploadPath(); String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + 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 strFile = rbDetailFile.getUrl().replaceAll("/profile/upload", filePath); - File filetest = new File(strFile); - try { - log.info("璇锋眰绗笁鏂圭殑鍏ュ弬strFile : {}, strFUrl : {}", strFile, filePath); - String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); - log.info("绗笁鏂逛紶鍥炵殑鏁版嵁: {}", struploadResult); - if (StringUtils.isEmpty(struploadResult)) { - log.info("HttpClientKit.sendPostWithFile 璇锋眰涓虹┖浜� filetest:{}, strFUrl:{} ", filetest, strFUrl); - return 0; - } + List<RbDetailFile> invoicefilesList = new ArrayList<>(); - //鑾峰彇fileid - JSONObject jsonR = JSONObject.parseObject(struploadResult); - JSONArray jsonArr = jsonR.getJSONArray("atts"); - log.info("绗笁鏂逛紶鍥炵殑鏁版嵁鑾峰彇鐨刟tts : {}", jsonArr); - for (int j = 0; j < jsonArr.size(); j++) { - JSONObject jsonRet = jsonArr.getJSONObject(j); - rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); + //鏅�氭枃浠朵笂浼� + List<RbDetailFile> parseArray = JSON.parseArray(remShare.getAnnexfiles(), RbDetailFile.class); + //鍙戠エ鏂囦欢涓婁紶 + List<RbDetailFile> invoicefilesArray = JSON.parseArray(remShare.getInvoicefiles(), RbDetailFile.class); + //鏅�氶檮浠� + uploadFile(filePath, strFUrl, parseArray2, parseArray, remShare, "1"); + + //鍙戠エ闄勪欢 + uploadFile(filePath, strFUrl, invoicefilesList, invoicefilesArray, remShare, "2"); + return 0; + } + + private Integer uploadFile(String filePath, String strFUrl, List<RbDetailFile> parseArray2, List<RbDetailFile> parseArray, ServiceReimbursementdetailShared remShare, String flag) { + if (!CollectionUtils.isEmpty(parseArray)) { + 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"); + System.out.println("reimbursement鏈嶅姟鐨刦ilePath + substring鏄贡鐮佸悧: " + filePath + substring); + File filetest = new File(filePath + substring); + try { + log.info("璇锋眰绗笁鏂圭殑鍏ュ弬strFile : {}, strFUrl : {}", strFile, filePath); + 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("绗笁鏂逛紶鍥炵殑鏁版嵁鑾峰彇鐨刟tts : {}", 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(); + log.error("HttpClientKit.sendPostWithFile 鎶ラ敊浜� : " + e.getMessage()); } - } catch (Exception e) { - e.printStackTrace(); - log.error("HttpClientKit.sendPostWithFile 鎶ラ敊浜� : " + e.getMessage()); + parseArray2.add(rbDetailFile); } - parseArray2.add(rbDetailFile); } - remShare.setAnnexfiles(JSON.toJSONString(parseArray2)); + if (flag.equals("1")) { + //濡傛灉flag涓�1,鍒欐槸鏅�� + remShare.setAnnexfiles(JSON.toJSONString(parseArray2)); + + } else if (flag.equals("2")) { + //濡傛灉flag涓�2,鍒欐槸鍙戠エ + remShare.setInvoicefiles(JSON.toJSONString(parseArray2)); + } log.info("ServiceReimbursementdetailShared 鏄惁鍔犱笂浜唂ileid : {}", remShare); return 0; } -- Gitblit v1.9.3