Min 1 рік тому
батько
коміт
e3188a5de8

+ 2 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/WxCorpInfoController.java

@@ -94,8 +94,8 @@ public class WxCorpInfoController {
         filter2.put("key","sp_status");
         filter2.put("value",2);
         jsonArrayFilter.add(filter2);
-        JSONArray approvalInfo = wxCorpInfoService.getApprovalInfo(7, startDate, endDate, "", jsonArrayFilter);
-        msg.setData(approvalInfo.toArray());
+        List<String> approvalInfo = wxCorpInfoService.getApprovalInfo(7, startDate, endDate, "", jsonArrayFilter);
+        msg.setData(approvalInfo);
         return msg;
     }
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/WxCorpInfoService.java

@@ -81,7 +81,7 @@ public interface WxCorpInfoService extends IService<WxCorpInfo> {
      */
     public String getCorpAgentAccessToken(WxCorpInfo corpInfo) throws Exception;
 
-    JSONArray getApprovalInfo(Integer companyId, String startDate, String endDate,String newCursor, JSONArray jsonArrayFilter) throws Exception;
+    List<String> getApprovalInfo(Integer companyId, String startDate, String endDate,String newCursor, JSONArray jsonArrayFilter) throws Exception;
 
     String getApprovalInfoDetail(Integer companyId, String spNo) throws Exception;
 }

+ 8 - 8
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/WxCorpInfoServiceImpl.java

@@ -2003,7 +2003,7 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
      *    Integer sp_status 1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付
      * */
     @Override
-    public JSONArray getApprovalInfo(Integer companyId, String startDate, String endDate, String newCursor, JSONArray filterArray) throws Exception {
+    public List<String> getApprovalInfo(Integer companyId, String startDate, String endDate, String newCursor, JSONArray filterArray) throws Exception {
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDateTime startDateTime = LocalDate.parse(startDate, df).atTime(LocalTime.MIN);
         LocalDateTime endDateTime = LocalDate.parse(endDate, df).atTime(LocalTime.MAX);
@@ -2025,19 +2025,19 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
         HttpEntity<JSONObject> entity = new HttpEntity<>(requestMap, headers);
         ResponseEntity<String> ResponseEntity = restTemplate.postForEntity(url, entity, String.class);
         if (ResponseEntity.getStatusCode() == HttpStatus.OK) {
-            JSONArray jsonArray=new JSONArray();
+            List<String> list=new ArrayList<>();
             String resp = ResponseEntity.getBody();
             JSONObject jsonObject = JSONObject.parseObject(resp);
             if(jsonObject.getString("errmsg").equals("ok")){
-                JSONArray sp_no_list = jsonObject.getJSONArray("sp_no_list");
-                jsonArray.addAll(sp_no_list);
+                List<String> sp_no_list = (List<String>) jsonObject.get("sp_no_list");
+                list.addAll(sp_no_list);
                 if(jsonObject.containsKey("new_next_cursor")){
                     String new_next_cursor = jsonObject.getString("new_next_cursor");
-                    JSONArray approvalInfo = getApprovalInfo(companyId, startDate, endDate, new_next_cursor, filterArray);
-                    jsonArray.addAll(approvalInfo);
+                    List<String> approvalInfo = getApprovalInfo(companyId, startDate, endDate, new_next_cursor, filterArray);
+                    list.addAll(approvalInfo);
                 }
-                System.out.println(jsonArray);
-                return jsonArray;
+                System.out.println(list);
+                return list;
             }
             System.out.println(jsonObject.getString("errmsg"));
         }

+ 8 - 4
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/task/TimingTask.java

@@ -237,13 +237,16 @@ public class TimingTask {
         filter2.put("key","sp_status");
         filter2.put("value",2);
         for (WxCorpInfo wxCorpInfo : list) {
-            JSONArray approvalInfo = wxCorpInfoService.getApprovalInfo(wxCorpInfo.getCompanyId(), df.format(start), df.format(end), "", jsonArrayFilter);
+            List<String> approvalInfo = wxCorpInfoService.getApprovalInfo(wxCorpInfo.getCompanyId(), df.format(start), df.format(end), "", jsonArrayFilter);
             List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, wxCorpInfo.getCompanyId()));
             if(approvalInfo!=null){
                 List<LeaveSheet> leaveSheets = new ArrayList<>();
                 for (int i = 0; i < approvalInfo.size(); i++) {
-                    JSONObject item = approvalInfo.getJSONObject(i);
-                    JSONObject applyer = item.getJSONObject("applyer");
+                    String codeNum = approvalInfo.get(i);
+                    String approvalInfoDetailResp = wxCorpInfoService.getApprovalInfoDetail(wxCorpInfo.getCompanyId(), codeNum);
+                    JSONObject approvalInfoDetail = JSONObject.parseObject(approvalInfoDetailResp);
+                    JSONObject info = approvalInfoDetail.getJSONObject("info");
+                    JSONObject applyer = info.getJSONObject("applyer");
                     String userid = applyer.getString("userid");
                     Optional<User> first = userList.stream().filter(u -> u.getCorpwxUserid().equals(userid)).findFirst();
                     if(!first.isPresent()){
@@ -254,7 +257,8 @@ public class TimingTask {
                     leaveSheet.setStatus(0);
                     leaveSheet.setOwnerId(first.get().getId());
                     leaveSheet.setOwnerName(first.get().getName());
-                    JSONObject apply_data = item.getJSONObject("apply_data");
+                    JSONObject apply_data = info.getJSONObject("apply_data");
+                    System.out.println("获取到的单据信息===========>"+apply_data);
                     JSONArray contents = apply_data.getJSONArray("contents");
                     for (int i1 = 0; i1 < contents.size(); i1++) {
                         JSONObject map = contents.getJSONObject(i1);