|
@@ -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();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|