From 8e3a02c1facca35c5a90ce9b49505f373ae658f5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 13 三月 2026 10:31:48 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java |  205 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 128 insertions(+), 77 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 61603f5..a053db7 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
@@ -17,7 +17,7 @@
 import com.ruoyi.common.utils.HttpClientKit;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
-import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.project.common.IdGeneratorUtils;
 import com.ruoyi.project.domain.*;
 import com.ruoyi.project.domain.dto.ServiceReimbursementDto;
 import com.ruoyi.project.domain.vo.CheckFundVO;
@@ -76,6 +76,9 @@
 
     @Autowired
     IServiceReimbursementpayeeSharedService payeeSharedService;
+
+    @Autowired
+    IServiceReimbursementpayeeService payeeService;
 
     @Autowired
     IServiceFundflowruleService serviceFundflowruleService;
@@ -210,7 +213,17 @@
         List<ServiceReimbursementShared> serviceReimbursementShareds = sharedService.queryList(reimbursementShared1);
         log.info("serviceReimbursementShareds鐨勬煡璇㈢粨鏋� :{}", serviceReimbursementShareds.size());
         if (!CollectionUtils.isEmpty(serviceReimbursementShareds)) {
-            return true;
+            //濡傛灉涓嶄负绌猴紝鍒欏皢鍒嗕韩琛ㄩ噷鐨勬暟鎹垹闄わ紙鍥犱负鎺ヤ笅鍘伙紝鑰佹暟鎹笂浼犵殑闄勪欢锛屽彲鑳戒笉鏄兂瑕佺殑浜嗭紝杩樼敤鑰侀檮浠讹紝鏄湁闂鐨勶紱鎵�浠ラ渶瑕佸皢鑰佺殑share鏁版嵁鍒犻櫎锛岀劧鍚庡啀鏂板锛屼笂浼犳柊闄勪欢锛�
+            for (ServiceReimbursementShared serviceReimbursementShared : serviceReimbursementShareds) {
+                sharedService.removeById(serviceReimbursementShared.getId());
+
+                ServiceReimbursementdetailShared srds = new ServiceReimbursementdetailShared();
+                srds.setRbid(serviceReimbursementShared.getId());
+                List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = detailSharedService.queryList(srds);
+                for (ServiceReimbursementdetailShared serviceReimbursementdetailShared : serviceReimbursementdetailShareds) {
+                    detailSharedService.removeById(serviceReimbursementdetailShared.getId());
+                }
+            }
         }
 
         //濡傛灉娌℃湁鎻掑叆锛屽垯璧颁笅闈㈢殑娴佺▼
@@ -234,7 +247,7 @@
 //        //涓婁紶OA鏂囦欢
         //灏唖erviceReimbursementdetail琛ㄩ噷鐨刬d璧嬪�肩粰Rdid; 灏唖erviceReimbursementShared閲岀殑ID璧嬪�肩粰RBID,骞跺皢serviceReimbursementdetailShared琛ㄩ噷鐨刬d缃┖锛岀敱鏁版嵁搴撻噸鏂扮敓鎴�
         for (int i = 0; i < details.size(); i++) {
-            serviceReimbursementdetailShareds.get(i).setRdid(serviceReimbursementdetailShareds.get(i).getId());
+            serviceReimbursementdetailShareds.get(i).setRdid(details.get(i).getId());
             serviceReimbursementdetailShareds.get(i).setRbid(serviceReimbursementShared.getId());
             serviceReimbursementdetailShareds.get(i).setId(null);
             //涓婁紶OA鏂囦欢
@@ -257,7 +270,16 @@
 //        detailSharedService.saveBatch(serviceReimbursementdetailShareds);
         for (ServiceReimbursementdetailShared serviceReimbursementdetailShared : serviceReimbursementdetailShareds) {
             if (ObjectUtils.isNotEmpty(serviceReimbursementdetailShared)) {
+                log.info("鏇存柊serviceReimbursementdetail琛ㄩ噷鐨勫�间负:{}", serviceReimbursementdetailShared);
                 detailSharedService.save(serviceReimbursementdetailShared);
+
+                log.info("鏇存柊serviceReimbursementdetail琛ㄩ噷鐨勯檮浠跺瓧娈�:{},{}", serviceReimbursementdetailShared.getAnnexfiles(), serviceReimbursementdetailShared.getInvoicefiles());
+                //鏇存柊serviceReimbursementdetail琛ㄩ噷鐨勯檮浠跺瓧娈�
+                ServiceReimbursementdetail serviceReimbursementdetail = new ServiceReimbursementdetail();
+                serviceReimbursementdetail.setId(serviceReimbursementdetailShared.getRdid());
+                serviceReimbursementdetail.setAnnexfiles(serviceReimbursementdetailShared.getAnnexfiles());
+                serviceReimbursementdetail.setInvoicefiles(serviceReimbursementdetailShared.getInvoicefiles());
+                serviceReimbursementdetailMapper.updateById(serviceReimbursementdetail);
             } else {
                 log.info("serviceReimbursementdetailShared涓虹┖浜�");
             }
@@ -359,7 +381,7 @@
                     log.info("鍑哄樊琛ヨ创琚� 璐㈠姟閫�鍥炲啀鎻愪氦锛屽嚭绾冲啀娆″鎵癸紝涔嬪悗鎻愪氦鍒拌储鍔�:{}", serviceReimbursement.getId());
                     //璇存槑鏄储鍔¢��鍥炲啀鎻愪氦鐨�.闇�瑕佸嚭绾冲啀鐪嬩竴閬嶏紝娌¢棶棰樹箣鍚庯紝寰�鍒嗕韩琛ㄩ噷鏂板
 //                    serviceReimbursementService.addSharedData(serviceReimbursement.getId());
-//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
                     serviceReimbursement.setFinancechecher(user.getNickName());
                     serviceReimbursement.setFlowlevel(serviceFundflowrules.get(0).getTotallevel().longValue());
                     serviceReimbursement.setRecordstatus(99);
@@ -380,6 +402,7 @@
                     serviceFundflow.setCheckuserno(user.getUserName());
                     serviceFundflow.setCheckusername(user.getNickName());
                     serviceFundflow.setFundtype(1);
+                    serviceFundflow.setCheckTime(new Date());
                     serviceFundflow.setApplytype("0");
                     serviceFundflow.setFlowconclusion(CheckFlag);
                     serviceFundflow.setFlowcontent("閫氳繃");
@@ -395,7 +418,7 @@
                 List<Integer> roleIds = sysUserRoleMapper.getUserRoleByUserId(user.getUserId());
                 if (roleIds != null && roleIds.contains(11)) {
                     //11涓鸿储鍔�
-//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getUserName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//                    serviceReimbursement.setFinancechecher("瀹℃壒浜猴細" + user.getNickName() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
                     serviceReimbursement.setFinancechecher(user.getNickName());
                 }
 
@@ -436,6 +459,7 @@
             serviceFundflow.setFundid(serviceReimbursement.getId());
             serviceFundflow.setCheckuserno(user.getUserName());
             serviceFundflow.setCheckusername(user.getNickName());
+            serviceFundflow.setCheckTime(new Date());
             serviceFundflow.setFundtype(1);
             serviceFundflow.setApplytype("0");
             serviceFundflow.setFlowconclusion(CheckFlag);
@@ -479,7 +503,9 @@
                     }
                 }
             }
-
+//            if (StringUtils.isNotEmpty(serviceReimbursement.getManagername()) && serviceReimbursement.getManagername().equals(loginUser.getUser().getNickName())) {
+//                serviceReimbursement.setManagername("瀹℃壒浜猴細" + serviceReimbursement.getManagername() + " & 瀹℃壒鏃堕棿" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+//            }
             updateById(serviceReimbursement);
 
             ServiceSystemmessage serviceSystemmessage = new ServiceSystemmessage();
@@ -518,23 +544,44 @@
     }
 
 
+    public String getLastApprovalInfo(List<ServiceFundflow> serviceFundflows, String managerName) {
+        if (StringUtils.isEmpty(managerName)) return null;
+        if (org.springframework.util.CollectionUtils.isEmpty(serviceFundflows)) {
+            //濡傛灉鏄渶鍚庝竴涓汉瀹℃壒锛岃繖涓椂鍊欏彲鑳絝low閲岃繕娌℃湁鐢熸垚杩涘幓
+            SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            return "瀹℃壒浜猴細" + managerName + " & 瀹℃壒鏃堕棿锛�" + sd.format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃";
+        }
+        String mn = managerName.trim();
+        Optional<ServiceFundflow> lastApproval = serviceFundflows.stream().filter(flow -> flow.getCheckusername().contains(mn)).max(Comparator.comparing(ServiceFundflow::getCreateTime));
+
+        if (lastApproval.isPresent()) {
+            ServiceFundflow flow = lastApproval.get();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            if (flow.getCheckTime() == null) {
+                flow.setCheckTime(new Date());
+            }
+            String formattedTime = sdf.format(flow.getCheckTime());
+
+            return "瀹℃壒浜猴細" + managerName + " & 瀹℃壒鏃堕棿锛�" + formattedTime + " & 瀹℃壒缁撴灉锛氶�氳繃";
+        }
+
+        return "鏈壘鍒板鎵硅褰�";
+    }
+
     public Boolean sendData(ServiceReimbursement serviceReimbursement) {
         // fund鍜宖unddetail鐨勬暟鎹幏鍙�
         addSharedData(serviceReimbursement.getId());
         List<ServiceReimbursementShared> serviceReimbursementSharedList = sharedService.getRemShareInfoByRemId(serviceReimbursement.getId());
         if (org.springframework.util.CollectionUtils.isEmpty(serviceReimbursementSharedList)) return false;
-
         log.info("serviceReimbursementSharedList鐨勬暟鎹噺涓猴細{}", serviceReimbursementSharedList.size());
 
         //detail璇︽儏
-        ServiceReimbursementdetailShared serviceReimbursementdetailShared = new ServiceReimbursementdetailShared();
-        serviceReimbursementdetailShared.setRbid(serviceReimbursementSharedList.get(0).getId());
-        List<ServiceReimbursementdetailShared> serviceReimbursementdetailShareds = detailSharedService.queryList(serviceReimbursementdetailShared);
+        List<ServiceReimbursementdetail> serviceReimbursementdetailList = serviceReimbursementdetailMapper.getAllDetailsByRBID(serviceReimbursement.getId());
 
         //payee璇︽儏
-        ServiceReimbursementpayeeShared serviceReimbursementpayeeShared = new ServiceReimbursementpayeeShared();
-        serviceReimbursementpayeeShared.setRbid(serviceReimbursementSharedList.get(0).getId());
-        List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = payeeSharedService.queryList(serviceReimbursementpayeeShared);
+        ServiceReimbursementpayee serviceReimbursementpayee = new ServiceReimbursementpayee();
+        serviceReimbursementpayee.setRbid(serviceReimbursement.getId());
+        List<ServiceReimbursementpayee> serviceReimbursementpayees = payeeService.queryList(serviceReimbursementpayee);
 
 
         // 鏁版嵁鐨勫皝瑁�
@@ -545,14 +592,13 @@
 
         // 涓昏〃瀛楁鏁版嵁
         Map<String, Object> data2 = new HashMap<>();
-        data2.put("formmain_1209", formmain_1209(serviceReimbursementSharedList.get(0)));
-
+        ServiceReimbursement sr = serviceReimbursementMapper.selectById(serviceReimbursement.getId());
+        data2.put("formmain_1209", formmain_1209(sr));
         // 鏄庣粏琛ㄥ瓧娈垫暟鎹紝涓庨檮浠剁殑澶勭悊
-        Map<String, List<Map<String, Object>>> map1 = formson_1210(serviceReimbursementdetailShareds);
+        Map<String, List<Map<String, Object>>> map1 = formson_1210(serviceReimbursementdetailList);
         data2.put("formson_1210", map1.get("formson_1210"));
         data2.put("thirdAttachments", map1.get("annexfilesList"));
-        data2.put("formson_1211", formson_1211(serviceReimbursementpayeeShareds));
-
+        data2.put("formson_1211", formson_1211(serviceReimbursementpayees));
         data.put("data", data2);
         //妯℃澘缂栧彿锛岀敱鑷磋繙鏂规彁渚涳紝璇ュ弬鏁板喅瀹氬彂璧峰崗鍚岀郴缁熶腑鍝釜娴佺▼
         data.put("templateCode", "cyfbxd_rzhc_ceshi");
@@ -566,7 +612,6 @@
         data.put("subject", "");
         ServiceReimbursement serviceReimbursement1 = serviceReimbursementMapper.selectById(serviceReimbursement.getId());
         data.put("summaryId", serviceReimbursement1.getSummaryId() == null ? "" : serviceReimbursement1.getSummaryId());
-
         map.put("data", data);
         String strRes = null;
         if (!active.equals("druid")) {
@@ -574,7 +619,6 @@
             String token = getToken();
             JSONObject json1 = JSONObject.parseObject(token);
             token = json1.get("id").toString();
-
             ObjectMapper objectMapper = new ObjectMapper();
             String json = null;
             try {
@@ -610,44 +654,42 @@
         return true;
     }
 
-    private static final AtomicLong COUNTER = new AtomicLong(System.currentTimeMillis());
-
-    private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetailShared> serviceReimbursementdetailSharedList) {
+    private Map<String, List<Map<String, Object>>> formson_1210(List<ServiceReimbursementdetail> serviceReimbursementdetailList) {
         Map<String, List<Map<String, Object>>> allMap = new HashMap<>();
         List<Map<String, Object>> list = new ArrayList<>();
         List<Map<String, Object>> annexfilesList = new ArrayList<>();
-        for (ServiceReimbursementdetailShared reimbursementdetailShared : serviceReimbursementdetailSharedList) {
+        for (ServiceReimbursementdetail reimbursementdetail : serviceReimbursementdetailList) {
             Map<String, Object> map = new HashMap<>();
-            map.put("浜ら�氬伐鍏�", reimbursementdetailShared.getTraffictype());
-            map.put("浜ら�氳垂", reimbursementdetailShared.getTrafficexpense());
-            map.put("甯傚唴浜ら��", reimbursementdetailShared.getCityfee());
-            map.put("浣忓璐�", reimbursementdetailShared.getHotelexpense());
-            map.put("鏉傝垂", reimbursementdetailShared.getOtherexpense());
-            map.put("浼欓璐规姤閿�", reimbursementdetailShared.getFoodexpenses());
-            map.put("浼欓璐硅ˉ鍔�", reimbursementdetailShared.getFoodallowance());
-            map.put("鍏朵粬璐圭敤", reimbursementdetailShared.getOtherfeeamount());
-            map.put("鍏朵粬璐圭敤璇存槑", reimbursementdetailShared.getOtherfeedesc());
+            map.put("浜ら�氬伐鍏�", reimbursementdetail.getTraffictype());
+            map.put("浜ら�氳垂", reimbursementdetail.getTrafficexpense());
+            map.put("甯傚唴浜ら��", reimbursementdetail.getCityfee());
+            map.put("浣忓璐�", reimbursementdetail.getHotelexpense());
+            map.put("鏉傝垂", reimbursementdetail.getOtherexpense());
+            map.put("浼欓璐规姤閿�", reimbursementdetail.getFoodexpenses());
+            map.put("浼欓璐硅ˉ鍔�", reimbursementdetail.getFoodallowance());
+            map.put("鍏朵粬璐圭敤", reimbursementdetail.getOtherfeeamount());
+            map.put("鍏朵粬璐圭敤璇存槑", reimbursementdetail.getOtherfeedesc());
             map.put("閲戦鍚堣", "");
-            map.put("鍑哄樊鏃堕棿璧�", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetailShared.getStarttime()));
-            map.put("鍑哄彂鍦扮偣", reimbursementdetailShared.getDeparture());
-            map.put("鍑哄樊鏃堕棿姝�", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetailShared.getEndtime()));
-            map.put("鍑哄樊鐩殑鍦�", reimbursementdetailShared.getDestination());
-            map.put("澶╂暟", reimbursementdetailShared.getDays());
-            BigDecimal total = safe(reimbursementdetailShared.getCityfee()).add(safe(reimbursementdetailShared.getTrafficexpense())).add(safe(reimbursementdetailShared.getHotelexpense())).add(safe(reimbursementdetailShared.getOtherexpense())).add(safe(reimbursementdetailShared.getFoodexpenses())).add(safe(reimbursementdetailShared.getFoodallowance())).add(safe(reimbursementdetailShared.getOtherfeeamount()));
+            map.put("鍑哄樊鏃堕棿璧�", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetail.getStarttime()));
+            map.put("鍑哄彂鍦扮偣", reimbursementdetail.getDeparture());
+            map.put("鍑哄樊鏃堕棿姝�", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(reimbursementdetail.getEndtime()));
+            map.put("鍑哄樊鐩殑鍦�", reimbursementdetail.getDestination());
+            map.put("澶╂暟", reimbursementdetail.getDays());
+            BigDecimal total = safe(reimbursementdetail.getCityfee()).add(safe(reimbursementdetail.getTrafficexpense())).add(safe(reimbursementdetail.getHotelexpense())).add(safe(reimbursementdetail.getOtherexpense())).add(safe(reimbursementdetail.getFoodexpenses())).add(safe(reimbursementdetail.getFoodallowance())).add(safe(reimbursementdetail.getOtherfeeamount()));
             map.put("瀹為檯鎶ラ攢閲戦", total);
-            map.put("璐㈠姟澶囨敞", reimbursementdetailShared.getRemark());
-            map.put("id", reimbursementdetailShared.getRdid());
-            map.put("鍑哄樊浜�", reimbursementdetailShared.getPersonname());
+            map.put("璐㈠姟澶囨敞", reimbursementdetail.getRemark());
+            map.put("id", reimbursementdetail.getId());
+            map.put("鍑哄樊浜�", reimbursementdetail.getPersonname());
             map.put("鍥炰氦閫氬伐鍏�", "");
-            map.put("浜哄憳绫诲埆", reimbursementdetailShared.getPersontype());
+            map.put("浜哄憳绫诲埆", reimbursementdetail.getPersontype());
             map.put("浣忓璐规爣鍑�", "");
-            map.put("浣忓璐规爣鍑嗗悎璁�", reimbursementdetailShared.getHotelexpense());
-            Long fpuuid = COUNTER.incrementAndGet();
+            map.put("浣忓璐规爣鍑嗗悎璁�", reimbursementdetail.getHotelexpense());
+            Long fpuuid = IdGeneratorUtils.nextId();
             map.put("鍙戠エ闄勪欢", fpuuid);
             map.put("绁ㄦ嵁璇嗗埆", "");
             map.put("璇嗗埆浜�", "");
             map.put("搴忓彿1", "");
-            Long qtuuid = COUNTER.incrementAndGet();
+            Long qtuuid = IdGeneratorUtils.nextId();
             map.put("鍏朵粬闄勪欢", qtuuid);
             map.put("涓汉绁ㄥす鐢ㄦ埛", "");
             map.put("璇嗗埆绁ㄦ嵁", "");
@@ -655,8 +697,8 @@
             list.add(map);
 
             //闄勪欢澶勭悊
-            String annexfiles = reimbursementdetailShared.getAnnexfiles();
-            String invoicefiles = reimbursementdetailShared.getInvoicefiles();
+            String annexfiles = reimbursementdetail.getAnnexfiles();
+            String invoicefiles = reimbursementdetail.getInvoicefiles();
 
             int i = 0;
             if (StringUtils.isNotEmpty(annexfiles)) {
@@ -691,18 +733,18 @@
         return val == null ? BigDecimal.ZERO : val;
     }
 
-    private List<Map<String, Object>> formson_1211(List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds) {
+    private List<Map<String, Object>> formson_1211(List<ServiceReimbursementpayee> serviceReimbursementpayees) {
         Map<String, List<Map<String, Object>>> allMap = new HashMap<>();
 
         List<Map<String, Object>> list = new ArrayList<>();
-        for (ServiceReimbursementpayeeShared serviceReimbursementpayeeShared : serviceReimbursementpayeeShareds) {
+        for (ServiceReimbursementpayee serviceReimbursementpayee : serviceReimbursementpayees) {
             Map<String, Object> map = new HashMap<>();
 
-            map.put("鏀舵浜�", serviceReimbursementpayeeShared.getPersonname());
-            map.put("鍗″彿", serviceReimbursementpayeeShared.getBankcardno());
-            map.put("寮�鎴烽摱琛�", serviceReimbursementpayeeShared.getBankname());
-            map.put("鎵撴閲戦", serviceReimbursementpayeeShared.getAmount());
-            map.put("浜哄憳绫诲埆鎵撴", serviceReimbursementpayeeShared.getPersontype());
+            map.put("鏀舵浜�", serviceReimbursementpayee.getPersonname());
+            map.put("鍗″彿", serviceReimbursementpayee.getBankcardno());
+            map.put("寮�鎴烽摱琛�", serviceReimbursementpayee.getBankname());
+            map.put("鎵撴閲戦", serviceReimbursementpayee.getAmount());
+            map.put("浜哄憳绫诲埆鎵撴", serviceReimbursementpayee.getPersontype());
             map.put("鏍哥畻椤圭洰", "");
             map.put("棰勭畻椤圭洰", "");
             map.put("鍊熸柟鎽樿", "");
@@ -712,43 +754,52 @@
         return list;
     }
 
-    private Map<String, Object> formmain_1209(ServiceReimbursementShared serviceReimbursementShared) {
+    private Map<String, Object> formmain_1209(ServiceReimbursement serviceReimbursement) {
+        ServiceFundflow serviceFundflow = new ServiceFundflow();
+        serviceFundflow.setFundid(serviceReimbursement.getId());
+        serviceFundflow.setFundtype(1);
+        List<ServiceFundflow> serviceFundflows = serviceFundflowService.queryList(serviceFundflow);
+
+
         Map<String, Object> formmain_1209 = new HashMap<>();
 
-        formmain_1209.put("鎶ラ攢鏃ユ湡", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceReimbursementShared.getApplyTime()));
+        formmain_1209.put("鎶ラ攢鏃ユ湡", new SimpleDateFormat("yyyy-MM-dd HH:mm").format(serviceReimbursement.getApplyTime()));
         formmain_1209.put("鍑哄樊浜�-浣滃簾", "");
-        formmain_1209.put("鎶ラ攢浜�", serviceReimbursementShared.getUsername());
-        formmain_1209.put("鍖哄煙缁勯暱", serviceReimbursementShared.getManagername());
-        formmain_1209.put("鍑哄樊浜嬬敱", serviceReimbursementShared.getReason());
+        formmain_1209.put("鎶ラ攢浜�", serviceReimbursement.getUsername());
+        formmain_1209.put("鍖哄煙缁勯暱", serviceReimbursement.getManagername());
+        formmain_1209.put("鍑哄樊浜嬬敱", serviceReimbursement.getReason());
         formmain_1209.put("澶╂暟鍚堣", 0.00);
-        formmain_1209.put("浜ら�氳垂鍚堣", serviceReimbursementShared.getTotalamount());
+        formmain_1209.put("浜ら�氳垂鍚堣", serviceReimbursement.getTotalamount());
         formmain_1209.put("甯傚唴浜ら�氬悎璁�", 0.00);
         formmain_1209.put("浣忓璐瑰悎璁�", 0.00);
         formmain_1209.put("鏉傝垂鍚堣", 0.00);
         formmain_1209.put("浼欓璐规姤閿�鍚堣", 0.00);
         formmain_1209.put("浼欓璐硅ˉ鍔╁悎璁�", 0.00);
         formmain_1209.put("鍏朵粬璐圭敤鍚堣", 0.00);
-        formmain_1209.put("棰嗘閲戦澶у啓", serviceReimbursementShared.getBigstrmoney());
-        formmain_1209.put("棰嗘閲戦", serviceReimbursementShared.getAmountrequested());
+        formmain_1209.put("棰嗘閲戦澶у啓", serviceReimbursement.getBigstrmoney());
+        formmain_1209.put("棰嗘閲戦", serviceReimbursement.getAmountrequested());
         formmain_1209.put("璐㈠姟瀹℃壒", "");
-        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", serviceReimbursementShared.getFinancedirector());
-        formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", serviceReimbursementShared.getOfficedirector());
-        formmain_1209.put("澶囨敞", serviceReimbursementShared.getRemark());
-        formmain_1209.put("涓氬姟鍓櫌闀垮鎵�", serviceReimbursementShared.getBusvicepresident());
-        formmain_1209.put("璐㈠姟鍓櫌闀垮鎵�", serviceReimbursementShared.getFinvicepresident());
-        formmain_1209.put("涓績璐熻矗浜哄鎵�", serviceReimbursementShared.getOpochecker());
+        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒", getLastApprovalInfo(serviceFundflows, serviceReimbursement.getFinancedirector()));
+        if (serviceReimbursement.getBackflowlevel() == 3)
+            formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", "瀹℃壒浜猴細鍛ㄨ偛鎴� & 瀹℃壒鏃堕棿锛�" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " & 瀹℃壒缁撴灉锛氶�氳繃");
+        else formmain_1209.put("鍔炲叕瀹や富浠诲鎵�", getLastApprovalInfo(serviceFundflows, "鍛ㄨ偛鎴�"));
+
+        formmain_1209.put("澶囨敞", serviceReimbursement.getRemark());
+        formmain_1209.put("涓氬姟鍓櫌闀垮鎵�", serviceReimbursement.getBusvicepresident());
+        formmain_1209.put("璐㈠姟鍓櫌闀垮鎵�", serviceReimbursement.getFinvicepresident());
+        formmain_1209.put("涓績璐熻矗浜哄鎵�", serviceReimbursement.getOpochecker());
         formmain_1209.put("寮�鎴烽摱琛�-浣滃簾", "");
         formmain_1209.put("鍗″彿-浣滃簾", "");
-        formmain_1209.put("鏀粯鏂瑰紡", serviceReimbursementShared.getZffs());
-        formmain_1209.put("缁勯暱", serviceReimbursementShared.getManagername());
-        formmain_1209.put("瀹℃壒浜哄憳", serviceReimbursementShared.getFinancechecher());
-        formmain_1209.put("鏀粯鏃ユ湡", serviceReimbursementShared.getRiqi());
+        formmain_1209.put("鏀粯鏂瑰紡", serviceReimbursement.getZffs());
+        formmain_1209.put("缁勯暱", getLastApprovalInfo(serviceFundflows, serviceReimbursement.getManagername()));
+        formmain_1209.put("瀹℃壒浜哄憳", getLastApprovalInfo(serviceFundflows, "闄堟厱鍗�"));
+        formmain_1209.put("鏀粯鏃ユ湡", serviceReimbursement.getRiqi());
         formmain_1209.put("涓婁紶闄勪欢", "");
         formmain_1209.put("鎵撴鍚堣", 0.00);
         formmain_1209.put("鍙戠エ璇嗗埆-浣滃簾", "");
         formmain_1209.put("璇嗗埆浜�-浣滃簾", "");
         formmain_1209.put("璐㈠姟瀹℃壒绛惧瓧", "");
-        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒绛惧瓧", serviceReimbursementShared.getFinancedirector());
+        formmain_1209.put("璐㈠姟閮ㄨ礋璐d汉瀹℃壒绛惧瓧", getLastApprovalInfo(serviceFundflows, serviceReimbursement.getFinancedirector()));
         formmain_1209.put("琛ㄥ崟缂栧彿1", "");
         formmain_1209.put("CIF璐﹀閰嶇疆1", "");
         formmain_1209.put("闄㈠尯", "");
@@ -762,13 +813,13 @@
         formmain_1209.put("琛ㄥ崟闄勪欢", "");
         formmain_1209.put("10204", "");
         formmain_1209.put("鐜伴噾娴侀噺鍒嗘瀽", "");
-        formmain_1209.put("鎹愮尞鑰�", serviceReimbursementShared.getDonorname());
+        formmain_1209.put("鎹愮尞鑰�", serviceReimbursement.getDonorname());
         formmain_1209.put("鍑瘉绫诲埆", "");
         formmain_1209.put("鍚堣", 0.00);
         formmain_1209.put("瀹為檯鍚堣", 0.00);
         formmain_1209.put("浼欓琛ュ姪鍚堣", 0.00);
         formmain_1209.put("鍘嗗彶瀹℃壒璁板綍", "");
-        formmain_1209.put("琛ㄥ崟缂栧彿", serviceReimbursementShared.getReimid());
+        formmain_1209.put("琛ㄥ崟缂栧彿", serviceReimbursement.getId());
         formmain_1209.put("鍘嗗彶瀹℃壒宸ㄩ箍鏌ヨ", "");
         return formmain_1209;
     }
@@ -776,7 +827,6 @@
 
     public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) throws Exception {
         log.info("uploadOAFileAndUpdate鏂规硶鐨勫叆鍙�:{}", remShare);
-        System.out.println("uploadOAFileAndUpdate鏂规硶鐨勫叆鍙�:" + remShare);
         //涓婁紶OA鏂囦欢
         String strRes = getToken();
 
@@ -814,6 +864,7 @@
 
         System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString());
         String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());
+        log.info("-----------------strRes-----鐨勫�间负锛歿}", strRes);
         return strRes;
     }
 

--
Gitblit v1.9.3