From 39405c053391f29d2f2c0e2c3104bea111e0e460 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 08 五月 2024 10:25:31 +0800 Subject: [PATCH] 代码提交 --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java | 102 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 77 insertions(+), 25 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 e2427b8..e6cda1b 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 { @@ -135,15 +142,34 @@ } } } + if (StringUtils.isNotBlank(invoicefiles)) { + try { + serviceReimbursementdetailVO.setInvoicefilesList(JSON.parseArray(invoicefiles)); + } catch (Exception e) { + if (e.getMessage().equals("invalid comment")) { + } + } + } serviceReimbursementdetailVOS.add(serviceReimbursementdetailVO); } return serviceReimbursementdetailVOS; } @Override - @Transactional + @Transactional(rollbackFor = Exception.class) 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); @@ -170,7 +196,18 @@ serviceReimbursementdetailShareds.get(i).setId(null); //涓婁紶OA鏂囦欢 log.info("涓婁紶OA鏂囦欢鏂规硶鐨勫叆鍙�:{}", serviceReimbursementdetailShareds.get(i)); - uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); + try { + uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); + } catch (Exception e) { + log.error("Exception涓璻eimShare鐨勫叆鍙俰d涓猴細{}", serviceReimbursementShared.getId()); + if (serviceReimbursementShared.getId() != null) { + Boolean aBoolean = sharedService.delResharedInfoById(serviceReimbursementShared.getId()); + log.error("鏂囦欢涓婁紶澶辫触锛屽皢鍒嗕韩琛ㄦ暟鎹洖婊氾細{}", aBoolean); + } + e.getMessage(); + return false; + } + } // detailSharedService.saveBatch(serviceReimbursementdetailShareds); @@ -205,8 +242,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 @@ -225,7 +262,7 @@ } - public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) { + public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) throws Exception { log.info("uploadOAFileAndUpdate鏂规硶鐨勫叆鍙�:{}", remShare); System.out.println("uploadOAFileAndUpdate鏂规硶鐨勫叆鍙�:" + remShare); //涓婁紶OA鏂囦欢 @@ -251,7 +288,20 @@ 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); + //鍙戠エ鏂囦欢涓婁紶 + 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) throws Exception { if (!CollectionUtils.isEmpty(parseArray)) { for (int i = 0; i < parseArray.size(); i++) { RbDetailFile rbDetailFile = parseArray.get(i); @@ -263,31 +313,33 @@ 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; - } + 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()); + //鑾峰彇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()); } 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