From ded03f0315e02c13f17b8bf7777c89a5cc73130e Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 19 三月 2024 12:16:38 +0800
Subject: [PATCH] 代码提交
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java | 137 ++++++++++++++++++++++++++++++++++-----------
1 files changed, 103 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..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
@@ -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;
@@ -99,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){
@@ -117,12 +124,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 +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")) {
}
}
}
@@ -142,15 +159,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 +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++) {
@@ -179,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;
}
@@ -190,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
@@ -231,41 +272,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