Quellcode durchsuchen

北京首钢项目工时数据推送接口对接
项目同步接口对接

yurk vor 2 Jahren
Ursprung
Commit
05cd1dbb25

+ 44 - 48
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -210,7 +210,7 @@ public class TimingTask {
         }
     }
 
-    //每个月五号推送上月日报信息
+    //每个月五号一点推送上月日报信息
     @Scheduled(cron = "0 0 1 5 * ?")
     private void pushReportListByToken(){
         if(isDev) return;
@@ -222,54 +222,50 @@ public class TimingTask {
         LocalDate end=now.with(TemporalAdjusters.lastDayOfMonth());
         List<TimeType> timeTypeList = timeTypeMapper.selectList(new QueryWrapper<TimeType>().eq("push_report_data", 1));
         for (TimeType timeType : timeTypeList) {
-            List<HashMap<String, Object>> allReportByProject = reportMapper.geReportByProject(start.format(df),timeType.getCompanyId(),end.format(df));
-            String url=timeType.getPushReportUrl();
-            //认证的账号和密码
-            HttpHeaders headers=new HttpHeaders();
-            JSONObject param = new JSONObject();
-            JSONArray array=new JSONArray();
-            allReportByProject.forEach(rl->{
-                JSONObject object=new JSONObject();
-                object.put("projectMainCode",rl.get("projectMainCode"));
-                object.put("projectMainName",rl.get("projectMainName"));
-                object.put("projectCode",rl.get("projectCode"));
-                object.put("project",rl.get("project"));
-                object.put("duration",rl.get("duration"));
-                object.put("cost",rl.get("cost"));
-                object.put("year",rl.get("year"));
-                object.put("month",rl.get("month"));
-                array.add(object);
-            });
-            JSONObject header=new JSONObject();
-            param.put("IT_TAB",array);
-            JSONObject item=new JSONObject();
-            item.put("headers",header);
-            item.put("body",param);
-            //在请求头信息中携带Basic认证信息(这里才是实际Basic认证传递用户名密码的方式)
-            headers.setContentType(MediaType.APPLICATION_JSON);
-            HttpEntity<String> requestEntity = new HttpEntity<String>(item.toJSONString(), headers);
-            //过滤掉账号认证失败的时候抛出的401异常
-            restTemplate.setErrorHandler(new DefaultResponseErrorHandler(){
-                @Override
-                public void handleError(ClientHttpResponse response) throws IOException {
-                    if(response.getRawStatusCode() != 401){
-                        super.handleError(response);
+            if(timeType.getPushReportUrl()!=null&&!timeType.getPushReportUrl().equals("")){
+                List<HashMap<String, Object>> allReportByProject = reportMapper.geReportByProject(start.format(df),timeType.getCompanyId(),end.format(df));
+                String url=timeType.getPushReportUrl();
+                JSONObject param = new JSONObject();
+                JSONArray array=new JSONArray();
+                allReportByProject.forEach(rl->{
+                    JSONObject object=new JSONObject();
+                    object.put("projectMainCode",rl.get("projectMainCode")==null?"":rl.get("projectMainCode"));
+                    object.put("projectMainName",rl.get("projectMainName")==null?"":rl.get("projectMainName"));
+                    object.put("projectCode",rl.get("projectCode"));
+                    object.put("project",rl.get("project"));
+                    object.put("duration",rl.get("duration"));
+                    object.put("cost",rl.get("cost"));
+                    object.put("year",rl.get("year"));
+                    object.put("month",rl.get("month"));
+                    array.add(object);
+                });
+                HttpHeaders headers = new HttpHeaders();
+                headers.setContentType(MediaType.APPLICATION_JSON);
+                param.put("data",array);
+                HttpEntity<String> requestEntity = new HttpEntity<String>(param.toJSONString(),headers);
+                //过滤掉账号认证失败的时候抛出的401异常
+                restTemplate.setErrorHandler(new DefaultResponseErrorHandler(){
+                    @Override
+                    public void handleError(ClientHttpResponse response) throws IOException {
+                        if(response.getRawStatusCode() != 401){
+                            super.handleError(response);
+                        }
                     }
-                }
-            });
-            //发送请求
-            ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST,requestEntity,String.class);
-            if (response.getStatusCode() == HttpStatus.OK) {
-                String resp = response.getBody();
-                JSONObject obj = JSONObject.parseObject(resp);
-                if (obj.getString("msg").equals("SUCCESS")) {
-                    msg.data=obj;
-                } else {
-                    //抛出异常
-                    try {
-                        throw new Exception(obj.getString("msg"));
-                    } catch (Exception e) {
-                        e.printStackTrace();
+                });
+                //发送请求
+                ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST,requestEntity,String.class);
+                if (response.getStatusCode() == HttpStatus.OK) {
+                    String resp = response.getBody();
+                    JSONObject obj = JSONObject.parseObject(resp);
+                    if (obj.getString("message").equals("SUCCESS")) {
+                        msg.data=obj;
+                    } else {
+                        //抛出异常
+                        try {
+                            throw new Exception(obj.getString("data"));
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
                     }
                 }
             }