From fadd75018c5cce0586e761b875ac6bb268033f73 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 24 四月 2024 16:44:14 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java |   99 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 75 insertions(+), 24 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..01b4ad9 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,6 +159,17 @@
     @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);
@@ -170,7 +196,17 @@
             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);
+                }
+                return false;
+            }
+
         }
 
 //        detailSharedService.saveBatch(serviceReimbursementdetailShareds);
@@ -205,8 +241,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 +261,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 +287,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 +312,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