From 519886a70d630e3cdd6c0f40f55fcebc6e780dc5 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期二, 19 三月 2024 17:45:11 +0800 Subject: [PATCH] 代码提交 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java | 130 ++++++++++++++++++++++++++++++++----------- 1 files changed, 96 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 e46998b..c14b0c9 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 @@ -100,8 +100,14 @@ if (serviceReimbursement.getRecordstatus() != null) { wrappers.eq(ServiceReimbursement::getRecordstatus, serviceReimbursement.getRecordstatus()); } + if (serviceReimbursement.getUploadStates() != null) { + wrappers.eq(ServiceReimbursement::getUploadStates, serviceReimbursement.getUploadStates()); + } if (StringUtils.isNotBlank(serviceReimbursement.getUploadflag())) { wrappers.eq(ServiceReimbursement::getUploadflag, serviceReimbursement.getUploadflag()); + } + if (serviceReimbursement.getFlowlevel() != null) { + wrappers.eq(ServiceReimbursement::getFlowlevel, serviceReimbursement.getFlowlevel()); } /* if (serviceReimbursement.getStarttime()!=null && serviceReimbursement.getEndtime()!=null){ @@ -125,6 +131,7 @@ 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 { @@ -132,6 +139,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")) { } } } @@ -144,11 +159,22 @@ @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); + List<ServiceReimbursementdetail> details = serviceReimbursementdetailMapper.selectByMap(columnMap); log.info("serviceReimbursementdetailMapper.selectByMap鏂规硶鐨勮繑鍙傚弬 :{}", CollectionUtils.isEmpty(details) ? null : details.size()); //鑾峰彇鏀粯鏁版嵁 List<ServiceReimbursementpayee> serviceReimbursementpayees = reimbursementpayeeMapper.selectByMap(columnMap); @@ -173,7 +199,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++) { @@ -181,8 +214,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; } @@ -192,8 +231,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 @@ -238,41 +277,64 @@ String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes; List<RbDetailFile> parseArray2 = new ArrayList<>(); + List<RbDetailFile> invoicefilesList = new ArrayList<>(); + + //鏅�氭枃浠朵笂浼� List<RbDetailFile> parseArray = JSON.parseArray(remShare.getAnnexfiles(), RbDetailFile.class); - for (int i = 0; i < parseArray.size(); i++) { - RbDetailFile rbDetailFile = parseArray.get(i); + //鍙戠エ鏂囦欢涓婁紶 + List<RbDetailFile> invoicefilesArray = JSON.parseArray(remShare.getInvoicefiles(), RbDetailFile.class); + //鏅�氶檮浠� + uploadFile(filePath, strFUrl, parseArray2, parseArray, remShare, "1"); - 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; - } + //鍙戠エ闄勪欢 + uploadFile(filePath, strFUrl, invoicefilesList, invoicefilesArray, remShare, "2"); + 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()); + 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