Commit bb8cc5ddc7a90bff28e95a2ace04b0c017568854

Authored by 陈杰
1 parent 3ff150e8
Exists in master

翼学云同步

cloud/quartz/src/main/java/com/sincere/quartz/enums/KqTypeEnums.java
1 1 package com.sincere.quartz.enums;
2 2  
3   -import com.sincere.common.dto.smartCampus.KqTeacherDto;
4   -
5 3 /**
6 4 * @author chen
7 5 * @version 1.0
... ...
cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
... ... @@ -73,6 +73,9 @@ public interface ScFeign {
73 73 @RequestMapping(value = "sm/sync/selectDept",method = RequestMethod.GET)
74 74 List<SyncDeptDto> selectDept(@RequestParam("schoolId") int schoolId) ;
75 75  
  76 + @RequestMapping(value = "sm/sync/selectDeptByGradeId",method = RequestMethod.GET)
  77 + SyncDeptDto selectDeptByGradeId(@RequestParam("gradeId") int gradeId);
  78 +
76 79 @RequestMapping(value = "sm/sync/selectUser",method = RequestMethod.GET)
77 80 List<SyncUserDto> selectUser(@RequestParam("schoolId") int schoolId);
78 81  
... ... @@ -96,4 +99,6 @@ public interface ScFeign {
96 99  
97 100 @RequestMapping(value = "sm/sync/selectUserYxyIdByHxyId",method = RequestMethod.GET)
98 101 String selectUserYxyIdByHxyId(@RequestParam("hxyCustomerId") String hxyCustomerId);
  102 +
  103 +
99 104 }
... ...
cloud/quartz/src/main/java/com/sincere/quartz/job/AlarmJob.java
1   -package com.sincere.quartz.job;
2   -
3   -import com.alibaba.fastjson.JSONArray;
4   -import com.alibaba.fastjson.JSONObject;
5   -import com.sincere.common.dto.smartCampus.SZ_AttendanceDto;
6   -import com.sincere.common.dto.smartCampus.SchoolDto;
7   -import com.sincere.common.util.DateUtils;
8   -import com.sincere.common.util.HttpClientUtils;
9   -import com.sincere.quartz.feign.ScFeign;
10   -import com.sincere.quartz.model.ShortMsg;
11   -import com.sincere.quartz.service.ManagerService;
12   -import com.sincere.quartz.service.SmsService;
13   -import org.springframework.beans.factory.annotation.Autowired;
14   -import org.springframework.scheduling.annotation.Scheduled;
15   -import org.springframework.stereotype.Service;
16   -
17   -import java.util.ArrayList;
18   -import java.util.Date;
19   -import java.util.List;
20   -
21   -/**
22   - * @author chen
23   - * @version 1.0
24   - * @date 2020/1/3 0003 10:02
25   - */
26   -@Service
27   -public class AlarmJob {
28   -
29   - @Autowired
30   - ScFeign scFeign;
31   -
32   - @Autowired
33   - SmsService smsService;
34   -
35   - @Autowired
36   - ManagerService managerService ;
37   -
38   - private static List<String> opexList ;
39   - private static String integration ;
40   -
41   - static{
42   - opexList = new ArrayList<>();
43   - opexList.add("15857566147"); //王汉栋
44   - opexList.add("13858485977"); //王楠彬
45   -
46   - integration = "18767117554" ; //林炜
47   - }
48   -
49   - /**
50   - * 设备掉线
51   - */
52   - @Scheduled(cron = "0 0 6-18 * * ? ")
53   - public void attendanceAlarm(){
54   - List<Integer> list = scFeign.selectCloudAttendance();
55   - for(Integer schoolId : list){
56   - if(schoolId != 0 && schoolId != 16){
57   - SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId);
58   - List<String> weigengList = new ArrayList<>();
59   - List<String> faceList = new ArrayList<>();
60   - List<SZ_AttendanceDto> attendanceList = scFeign.selectCloudAttendanceBySchoolId(schoolId);
61   - for(SZ_AttendanceDto attendanceDto : attendanceList){
62   - if(attendanceDto.getClint_type().equals("6")){
63   - //微耕,查询另一张表
64   - String lastDate = scFeign.selectByDeviceNo(attendanceDto.getClint_id());
65   - if(lastDate != null){
66   - if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(lastDate,DateUtils.format2),"s") > 20){
67   - weigengList.add(attendanceDto.getClint_id());
68   - }
69   - }
70   - }else {
71   - //人脸
72   - if(attendanceDto.getIsConnection() == 0){
73   - faceList.add(attendanceDto.getClint_id()); }
74   - }
75   - }
76   - if(weigengList.size() + faceList.size() > 0){
77   - //有设备掉线,发送短信
78   - String msg = "【设备掉线预警】" + schoolDto.getSchoolName() + "!" ;
79   - if(weigengList.size() > 0){
80   - msg += weigengList.size() + "台闸机掉线。" ;
81   - }
82   - if(faceList.size() > 0){
83   - msg += faceList.size() + "台人脸机掉线。" ;
84   - }
85   - msg += "请关注。" ;
86   - try{
87   - sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg);
88   - sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg);
89   - sendMessage(schoolDto.getSchoolId(),integration,msg);
90   - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg);
91   - }catch (Exception e){
92   - e.printStackTrace();
93   - }
94   - }
95   - }
96   - }
97   - }
98   -
99   -
100   - /**
101   - * 卡 脸未下发
102   - */
103   - @Scheduled(cron = "0 0 12,18 * * ? ")
104   - public void unPush(){
105   - List<Integer> list = scFeign.selectCloudAttendance();
106   - for(Integer schoolId : list) {
107   - if(schoolId != 0 && schoolId != 16){
108   - SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId);
109   - JSONObject schoolResult = getCount(schoolDto);
110   - int cardStudentCount = Integer.valueOf( schoolResult.get("studentCardCount").toString() );
111   - int successStudentCardCount = Integer.valueOf( schoolResult.get("successStudentCardCount").toString() );
112   - int fushuCardCount = Integer.valueOf( schoolResult.get("fushuCardCount").toString() );
113   - int successFushuCardCount = Integer.valueOf( schoolResult.get("successFushuCardCount").toString() );
114   - int teaCardCount = Integer.valueOf( schoolResult.get("teaCardCount").toString() );
115   - int successTeaCardCount = Integer.valueOf( schoolResult.get("successTeaCardCount").toString() );
116   - int totalCardNumber = cardStudentCount + fushuCardCount +teaCardCount ;
117   - int successCardNumber = successFushuCardCount +successStudentCardCount +successTeaCardCount ;
118   - int unSendCard = totalCardNumber-successCardNumber ;
119   -
120   - int errorStudentPhotoCount = Integer.valueOf( schoolResult.get("errorStudentPhotoCount").toString() );
121   - int errorFushuPhotoCount = Integer.valueOf( schoolResult.get("errorFushuPhotoCount").toString() );
122   - int errorTeaPhotoCount = Integer.valueOf( schoolResult.get("errorTeaPhotoCount").toString() );
123   - int unSendFace = errorStudentPhotoCount+errorFushuPhotoCount+errorTeaPhotoCount ;
124   - if(unSendCard + unSendFace > 0) {
125   - String msg = "【人脸卡号下发异常预警】" + schoolDto.getSchoolName() + "!";
126   - if (unSendCard > 0) {
127   - msg += unSendCard + "卡未下发。";
128   - }
129   - if (unSendFace > 0) {
130   - msg += unSendFace + "脸未下发。";
131   - }
132   - msg += "请关注。";
133   - try {
134   - sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg);
135   - sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg);
136   - sendMessage(schoolDto.getSchoolId(),integration,msg);
137   - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg);
138   - } catch (Exception e) {
139   - e.printStackTrace();
140   - }
141   - }
142   - }
143   - }
144   - }
145   -
146   -
147   - public JSONObject getCount(SchoolDto schoolDto){
148   - JSONObject object = new JSONObject();
149   - object.put("schoolName",schoolDto.getSchoolName());
150   - object.put("pageIndex",1);
151   - object.put("pageSize",1);
152   - JSONObject result = HttpClientUtils.httpPostJson("http://campus.myjxt.com/api/GateServiceManager/GetFacePhotoList",object.toJSONString());
153   - JSONObject data = (JSONObject) result.get("data");
154   - JSONArray array = (JSONArray) data.get("list");
155   -
156   - JSONObject schoolResult = (JSONObject) array.get(0);
157   - return schoolResult ;
158   - }
159   -
160   - private void sendMessage(int schoolId , String mobile , String msg){
161   - String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format);
162   - ShortMsg shortMsg = new ShortMsg();
163   - shortMsg.setTableName("smsNew"+tableSuffix);
164   - shortMsg.setSchoolId(schoolId);
165   - shortMsg.setMobile(mobile);
166   - shortMsg.setMsg(msg);
167   - smsService.insertSMS(shortMsg);
168   - }
169   -}
  1 +//package com.sincere.quartz.job;
  2 +//
  3 +//import com.alibaba.fastjson.JSONArray;
  4 +//import com.alibaba.fastjson.JSONObject;
  5 +//import com.sincere.common.dto.smartCampus.SZ_AttendanceDto;
  6 +//import com.sincere.common.dto.smartCampus.SchoolDto;
  7 +//import com.sincere.common.util.DateUtils;
  8 +//import com.sincere.common.util.HttpClientUtils;
  9 +//import com.sincere.quartz.feign.ScFeign;
  10 +//import com.sincere.quartz.model.ShortMsg;
  11 +//import com.sincere.quartz.service.ManagerService;
  12 +//import com.sincere.quartz.service.SmsService;
  13 +//import org.apache.commons.lang3.StringUtils;
  14 +//import org.springframework.beans.factory.annotation.Autowired;
  15 +//import org.springframework.scheduling.annotation.Scheduled;
  16 +//import org.springframework.stereotype.Service;
  17 +//
  18 +//import java.util.ArrayList;
  19 +//import java.util.Date;
  20 +//import java.util.List;
  21 +//
  22 +///**
  23 +// * @author chen
  24 +// * @version 1.0
  25 +// * @date 2020/1/3 0003 10:02
  26 +// */
  27 +//@Service
  28 +//public class AlarmJob {
  29 +//
  30 +// @Autowired
  31 +// ScFeign scFeign;
  32 +//
  33 +// @Autowired
  34 +// SmsService smsService;
  35 +//
  36 +// @Autowired
  37 +// ManagerService managerService ;
  38 +//
  39 +// private static List<String> opexList ;
  40 +// private static String integration ;
  41 +//
  42 +// static{
  43 +// opexList = new ArrayList<>();
  44 +// opexList.add("15857566147"); //王汉栋
  45 +// opexList.add("13858485977"); //王楠彬
  46 +//
  47 +// integration = "18767117554" ; //林炜
  48 +// }
  49 +//
  50 +// /**
  51 +// * 设备掉线
  52 +// */
  53 +// @Scheduled(cron = "0 0 6-18 * * MON-FRI")
  54 +// public void attendanceAlarm(){
  55 +// List<Integer> list = scFeign.selectCloudAttendance();
  56 +// for(Integer schoolId : list){
  57 +// if(schoolId != 0 && schoolId != 16){
  58 +// SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId);
  59 +// List<String> weigengList = new ArrayList<>();
  60 +// List<String> faceList = new ArrayList<>();
  61 +// List<SZ_AttendanceDto> attendanceList = scFeign.selectCloudAttendanceBySchoolId(schoolId);
  62 +// for(SZ_AttendanceDto attendanceDto : attendanceList){
  63 +// if(attendanceDto.getClint_type().equals("6")){
  64 +// //微耕,查询另一张表
  65 +// String lastDate = scFeign.selectByDeviceNo(attendanceDto.getClint_id());
  66 +// if(lastDate != null){
  67 +// if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(lastDate,DateUtils.format2),"s") > 20){
  68 +// weigengList.add(attendanceDto.getClint_id());
  69 +// }
  70 +// }
  71 +// }else {
  72 +// //人脸
  73 +// if(attendanceDto.getIsConnection() == 0){
  74 +// faceList.add(attendanceDto.getClint_id()); }
  75 +// }
  76 +// }
  77 +// if(weigengList.size() + faceList.size() > 0){
  78 +// //有设备掉线,发送短信
  79 +// String msg = "【设备掉线预警】" + schoolDto.getSchoolName() + "!" ;
  80 +// if(weigengList.size() > 0){
  81 +// msg += weigengList.size() + "台闸机掉线。" ;
  82 +// }
  83 +// if(faceList.size() > 0){
  84 +// msg += faceList.size() + "台人脸机掉线。" ;
  85 +// }
  86 +// msg += "请关注。" ;
  87 +// try{
  88 +// sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg);
  89 +// sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg);
  90 +// sendMessage(schoolDto.getSchoolId(),integration,msg);
  91 +// sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg);
  92 +// }catch (Exception e){
  93 +// e.printStackTrace();
  94 +// }
  95 +// }
  96 +// }
  97 +// }
  98 +// }
  99 +//
  100 +//
  101 +// /**
  102 +// * 卡 脸未下发
  103 +// */
  104 +// @Scheduled(cron = "0 0 12,18 * * MON-FRI")
  105 +// public void unPush(){
  106 +// List<Integer> list = scFeign.selectCloudAttendance();
  107 +// for(Integer schoolId : list) {
  108 +// if(schoolId != 0 && schoolId != 16){
  109 +// SchoolDto schoolDto = scFeign.selectSchoolBySchoolId(schoolId);
  110 +// JSONObject schoolResult = getCount(schoolDto);
  111 +// int cardStudentCount = Integer.valueOf( schoolResult.get("studentCardCount").toString() );
  112 +// int successStudentCardCount = Integer.valueOf( schoolResult.get("successStudentCardCount").toString() );
  113 +// int fushuCardCount = Integer.valueOf( schoolResult.get("fushuCardCount").toString() );
  114 +// int successFushuCardCount = Integer.valueOf( schoolResult.get("successFushuCardCount").toString() );
  115 +// int teaCardCount = Integer.valueOf( schoolResult.get("teaCardCount").toString() );
  116 +// int successTeaCardCount = Integer.valueOf( schoolResult.get("successTeaCardCount").toString() );
  117 +// int totalCardNumber = cardStudentCount + fushuCardCount +teaCardCount ;
  118 +// int successCardNumber = successFushuCardCount +successStudentCardCount +successTeaCardCount ;
  119 +// int unSendCard = totalCardNumber-successCardNumber ;
  120 +//
  121 +// int errorStudentPhotoCount = Integer.valueOf( schoolResult.get("errorStudentPhotoCount").toString() );
  122 +// int errorFushuPhotoCount = Integer.valueOf( schoolResult.get("errorFushuPhotoCount").toString() );
  123 +// int errorTeaPhotoCount = Integer.valueOf( schoolResult.get("errorTeaPhotoCount").toString() );
  124 +// int unSendFace = errorStudentPhotoCount+errorFushuPhotoCount+errorTeaPhotoCount ;
  125 +// if(unSendCard + unSendFace > 0) {
  126 +// String msg = "【人脸卡号下发异常预警】" + schoolDto.getSchoolName() + "!";
  127 +// if (unSendCard > 0) {
  128 +// msg += unSendCard + "卡未下发。";
  129 +// }
  130 +// if (unSendFace > 0) {
  131 +// msg += unSendFace + "脸未下发。";
  132 +// }
  133 +// msg += "请关注。";
  134 +// try {
  135 +// sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg);
  136 +// sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg);
  137 +// sendMessage(schoolDto.getSchoolId(),integration,msg);
  138 +// String managerMobile = managerService.selectManagerById(schoolDto.getManagerUserId()) ;
  139 +// if(StringUtils.isNotBlank(managerMobile)){
  140 +// sendMessage(schoolDto.getSchoolId(),managerMobile,msg);
  141 +// }
  142 +// } catch (Exception e) {
  143 +// e.printStackTrace();
  144 +// }
  145 +// }
  146 +// }
  147 +// }
  148 +// }
  149 +//
  150 +//
  151 +// public JSONObject getCount(SchoolDto schoolDto){
  152 +// JSONObject object = new JSONObject();
  153 +// object.put("schoolName",schoolDto.getSchoolName());
  154 +// object.put("pageIndex",1);
  155 +// object.put("pageSize",1);
  156 +// JSONObject result = HttpClientUtils.httpPostJson("http://campus.myjxt.com/api/GateServiceManager/GetFacePhotoList",object.toJSONString());
  157 +// JSONObject data = (JSONObject) result.get("data");
  158 +// JSONArray array = (JSONArray) data.get("list");
  159 +//
  160 +// JSONObject schoolResult = (JSONObject) array.get(0);
  161 +// return schoolResult ;
  162 +// }
  163 +//
  164 +// private void sendMessage(int schoolId , String mobile , String msg){
  165 +// String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format);
  166 +// ShortMsg shortMsg = new ShortMsg();
  167 +// shortMsg.setTableName("smsNew"+tableSuffix);
  168 +// shortMsg.setSchoolId(schoolId);
  169 +// shortMsg.setMobile(mobile);
  170 +// shortMsg.setMsg(msg);
  171 +// smsService.insertSMS(shortMsg);
  172 +// }
  173 +//}
... ...
cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java
... ... @@ -45,6 +45,8 @@ public class KQJob {
45 45 @Autowired
46 46 ManagerService managerService ;
47 47  
  48 + private static String iotUrl = "http://60.190.202.57:8035";
  49 +
48 50 private static String date ;
49 51 private static Map<String , String> map = new HashMap<>(); //学校 考勤推送map
50 52  
... ... @@ -98,7 +100,7 @@ public class KQJob {
98 100 }
99 101 }
100 102  
101   - @Scheduled(cron = "0 0 18 * * MON-FRI")
  103 + @Scheduled(cron = "0 0-59 * * * ? ")
102 104 public void alarmKaoQing() {
103 105 String now = DateUtils.date2String(new Date(),DateUtils.format1) ;
104 106 if(StringUtils.isBlank(alarmDate)){
... ... @@ -117,7 +119,8 @@ public class KQJob {
117 119 ){
118 120 String key = entity.getKey();
119 121 keyList.add(key);
120   - alarm(entity);
  122 + //alarm(entity); //告警
  123 + //insertIOT(entity); //iot
121 124 }
122 125 }
123 126 for(String key : keyList){
... ... @@ -142,9 +145,9 @@ public class KQJob {
142 145 String type = msg.substring(msg.indexOf("Type")+6,msg.indexOf("Type")+8);
143 146 type = type.replace("\"","");
144 147 int nowWeek = DateUtils.getWeek() ;
145   - if(Week.contains(nowWeek+"") && nowWeek != 1 && nowWeek != 7 ){ //周末不告警
  148 + if(Week.contains(nowWeek+"") && nowWeek != 6 && nowWeek != 0 ){ //周末不告警
146 149 logger.info((templateId+"_"+templateDto.getSchoolId()+"------"+beginTime+"_"+endTime));
147   - alarmMap.put(templateId+"_"+templateDto.getSchoolId() , beginTime+"_"+endTime+"_"+type+"_"+templateDto.getId());
  150 + alarmMap.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getTitle() , beginTime+"_"+endTime+"_"+type+"_"+templateDto.getId());
148 151 }
149 152 }catch (Exception e){
150 153 e.printStackTrace();
... ... @@ -159,7 +162,8 @@ public class KQJob {
159 162 String schoolId = entry.getKey().split("_")[1] ;
160 163 String id = entry.getValue().split("_")[3];
161 164 String type = entry.getValue().split("_")[2] ;
162   - if(DateUtils.getWeek() == 3 || DateUtils.getWeek() == 6){
  165 +
  166 + if(DateUtils.getWeek() == 2 || DateUtils.getWeek() == 5){
163 167 //可以相差40%
164 168 BigDecimal percent = getAlarmCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type));
165 169 if(templateMap.get(templateId) != null){
... ... @@ -182,6 +186,30 @@ public class KQJob {
182 186 }
183 187 }
184 188  
  189 + private void insertIOT(Map.Entry<String,String> entry){
  190 + String templateId = entry.getKey().split("_")[0] ;
  191 + String schoolId = entry.getKey().split("_")[1] ;
  192 + String title = entry.getKey().split("_")[2] ;
  193 + String id = entry.getValue().split("_")[3];
  194 + String type = entry.getValue().split("_")[2] ;
  195 + String beginTime = entry.getValue().split("_")[0] ;
  196 + String endTime = entry.getValue().split("_")[1] ;
  197 +
  198 + List<Integer> list = getIOTCensus(Integer.valueOf(id),templateId,Integer.valueOf(schoolId),Integer.valueOf(type)) ;
  199 + JSONObject object = new JSONObject();
  200 + object.put("strTime",beginTime);
  201 + object.put("endTime",endTime);
  202 + object.put("inTime",DateUtils.date2String(new Date(),DateUtils.format1));
  203 + object.put("noAttendanceCount",list.get(1));
  204 + object.put("attendanceCount",list.get(0));
  205 + object.put("leaveCount",list.get(2));
  206 + object.put("templateName",title);
  207 + object.put("qianDaoIdId",id);
  208 + object.put("schoolId",schoolId);
  209 + object.put("templateId",templateId);
  210 + HttpClientUtils.httpPostJson(iotUrl+"/api/Association/addIntelligenceAttendance",object.toJSONString());
  211 + }
  212 +
185 213 //初始化要推送的模板
186 214 private void initMap(){
187 215 map = new HashMap<>();
... ... @@ -436,7 +464,44 @@ public class KQJob {
436 464 e.printStackTrace();
437 465 }
438 466 }
439   - return new BigDecimal(attendNumber).divide(new BigDecimal(allNumber)) ;
  467 + if(allNumber != 0){
  468 + BigDecimal pecrent = new BigDecimal(attendNumber).divide(new BigDecimal(allNumber),10, BigDecimal.ROUND_HALF_DOWN) ;
  469 + return pecrent ;
  470 + }else {
  471 + return BigDecimal.ZERO ;
  472 + }
  473 +
  474 + }
  475 +
  476 + /**
  477 + *
  478 + * @param id
  479 + * @param templateId
  480 + * @param schoolId
  481 + * @param type
  482 + * @return list(0) 出勤 list(1) 未出勤 List(2) 请假
  483 + */
  484 + private List<Integer> getIOTCensus(int id , String templateId ,int schoolId , int type){
  485 + List<Integer> result = new ArrayList<>();
  486 + int attend = 0 , unattend = 0 , leave = 0;
  487 + List<Integer> list = scFeign.selectClassBySchoolId(schoolId);
  488 + for(Integer classId : list){
  489 + String url = "http://campus.myjxt.com/api/EasyN/GeAttendDetail?classId="+classId+
  490 + "&id="+id+"&templateID="+templateId+"&type="+type+"&time=" + DateUtils.date2String(new Date(),DateUtils.format1);
  491 + JSONObject jsonObject = HttpClientUtils.httpGet(url);
  492 + try{
  493 + JSONObject data = (JSONObject) jsonObject.get("data");
  494 + attend = attend + (Integer) data.get("stuAttendCount");
  495 + unattend = unattend + (Integer) data.get("noAttendCount");
  496 + leave = leave + (Integer) data.get("leaveCount");
  497 + }catch (Exception e){
  498 + e.printStackTrace();
  499 + }
  500 + }
  501 + result.add(attend);
  502 + result.add(unattend);
  503 + result.add(leave);
  504 + return result ;
440 505 }
441 506  
442 507  
... ... @@ -464,7 +529,10 @@ public class KQJob {
464 529 sendMessage(schoolDto.getSchoolId(),opexList.get(0),msg);
465 530 sendMessage(schoolDto.getSchoolId(),opexList.get(1),msg);
466 531 sendMessage(schoolDto.getSchoolId(),integration,msg);
467   - sendMessage(schoolDto.getSchoolId(),managerService.selectManagerById(schoolDto.getManagerUserId()),msg);
  532 + String managerPhone = managerService.selectManagerById(schoolDto.getManagerUserId()) ;
  533 + if(StringUtils.isNotBlank(managerPhone)){
  534 + sendMessage(schoolDto.getSchoolId(),managerPhone,msg);
  535 + }
468 536 }catch (Exception e){
469 537 e.printStackTrace();
470 538 }
... ...
cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java
... ... @@ -20,11 +20,10 @@ public class SyncJob {
20 20 @Autowired
21 21 YXYReadService yxyReadService ;
22 22  
23   - //@Scheduled(cron = "0/1 * * * * ? ")
24   - //@Scheduled(cron = "0 0 23 * * ? ")
  23 + @Scheduled(cron = "0 0 23 * * ? ")
25 24 public void Sync(){
26 25 //翼校通的同步 之后还有钉钉的同步等等
27   - //yxyWriteService.sync();
28   - yxyReadService.sync();
  26 + yxyWriteService.sync();
  27 + //yxyReadService.sync();
29 28 }
30 29 }
... ...
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYReadService.java
... ... @@ -44,9 +44,9 @@ public class YXYReadService {
44 44 list.add(SI);
45 45 list.add(getPassword(SI_CODE));
46 46 list.add("05750400");
47   - String wsdl =getAllStudent ;
  47 + String wsdl =getAllTeacher ;
48 48 String ns = nameSpace;
49   - String method = getALlStudent_method;
  49 + String method = getAllTeacher_method;
50 50 JSONArray jsonArray = getMessage(wsdl, ns, method, list);
51 51 System.out.println(jsonArray.toJSONString());
52 52 }
... ...
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java
... ... @@ -7,6 +7,8 @@ import com.sincere.common.dto.smartCampus.*;
7 7 import com.sincere.common.util.HttpClientUtils;
8 8 import com.sincere.quartz.feign.ScFeign;
9 9 import org.apache.commons.lang3.StringUtils;
  10 +import org.slf4j.Logger;
  11 +import org.slf4j.LoggerFactory;
10 12 import org.springframework.beans.factory.annotation.Autowired;
11 13 import org.springframework.stereotype.Service;
12 14  
... ... @@ -20,6 +22,9 @@ import java.util.List;
20 22 */
21 23 @Service
22 24 public class YXYWriteService {
  25 +
  26 + private Logger logger = LoggerFactory.getLogger(YXYWriteService.class);
  27 +
23 28 private String TOKEN="" ;
24 29  
25 30 private static String key = "SZKJ";
... ... @@ -47,8 +52,10 @@ public class YXYWriteService {
47 52  
48 53 public void sync(){
49 54 //查出要同步的学校
  55 + logger.info("开始同步翼学云数据===========");
50 56 List<SyncSchoolDto> schoolList = scFeign.selectSyncSchool();
51 57 for(SyncSchoolDto school : schoolList){
  58 + logger.info("学校"+school.getSchoolName());
52 59 if(school.getPush() == 0){
53 60 //同步课程
54 61 syncSubject(school);
... ... @@ -159,6 +166,7 @@ public class YXYWriteService {
159 166 JSONArray array = initAddJson(addDept,school.getYxtId());
160 167 YXYResult result = getResult(prefix_url+suffix_org_add,array.toJSONString());
161 168 if(result.getCode() == 0 || result.getCode() == -3){
  169 + logger.info("同步组织架构:total:" + result.getTotal() + ";pass:"+result.getPass());
162 170 for(YXYResultDetail detail : result.getData()){
163 171 if(StringUtils.isNotBlank(detail.getId())){
164 172 //成功
... ... @@ -238,6 +246,7 @@ public class YXYWriteService {
238 246 JSONArray array = initAddJson(addGrade,school.getYxtId());
239 247 YXYResult result = getResult(prefix_url+suffix_grade_add,array.toJSONString());
240 248 if(result.getCode() == 0 || result.getCode() == -3){
  249 + logger.info("同步年级:total:" + result.getTotal() + ";pass:"+result.getPass());
241 250 for(YXYResultDetail detail : result.getData()){
242 251 if(StringUtils.isNotBlank(detail.getId())){
243 252 //成功
... ... @@ -317,6 +326,7 @@ public class YXYWriteService {
317 326 JSONArray array = initClassAddJson(addClass);
318 327 YXYResult result = getResult(prefix_url+suffix_class_add,array.toJSONString());
319 328 if(result.getCode() == 0 || result.getCode() == -3){
  329 + logger.info("同步班级:total:" + result.getTotal() + ";pass:"+result.getPass());
320 330 for(YXYResultDetail detail : result.getData()){
321 331 if(StringUtils.isNotBlank(detail.getClassid())){
322 332 //成功
... ... @@ -396,6 +406,7 @@ public class YXYWriteService {
396 406 JSONArray array = initAddJson(addStudentList);
397 407 YXYResult result = getResult(prefix_url+suffix_student_add,array.toJSONString());
398 408 if(result.getCode() == 0 || result.getCode() == -3){
  409 + logger.info("同步学生:total:" + result.getTotal() + ";pass:"+result.getPass());
399 410 for(YXYResultDetail detail : result.getData()){
400 411 if(StringUtils.isNotBlank(detail.getUserid())){
401 412 //成功
... ... @@ -473,6 +484,7 @@ public class YXYWriteService {
473 484 JSONArray array = initTeacherAddJson(school,addTeacherList);
474 485 YXYResult result = getResult(prefix_url+suffix_teacher_add,array.toJSONString());
475 486 if(result.getCode() == 0 || result.getCode() == -3){
  487 + logger.info("同步老师:total:" + result.getTotal() + ";pass:"+result.getPass());
476 488 for(YXYResultDetail detail : result.getData()){
477 489 if(StringUtils.isNotBlank(detail.getUserid())){
478 490 //成功
... ... @@ -554,7 +566,7 @@ public class YXYWriteService {
554 566 object.put("schoolid",yxtId);
555 567 object.put("name",deptDto.getDeptName());
556 568 if(deptDto.getGradeId() != 0){
557   - object.put("groupname",getDept(list,deptDto.getGradeId()).getDeptName());
  569 + object.put("groupname",scFeign.selectDeptByGradeId(deptDto.getGradeId()).getDeptName());
558 570 }
559 571 array.add(object);
560 572 }
... ...
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/SyncController.java
... ... @@ -69,6 +69,11 @@ public class SyncController {
69 69 return syncService.selectUser(schoolId);
70 70 }
71 71  
  72 + @RequestMapping(value = "selectDeptByGradeId",method = RequestMethod.GET)
  73 + SyncDeptDto selectDeptByGradeId(@RequestParam("gradeId") int gradeId){
  74 + return syncService.selectDeptByGradeId(gradeId);
  75 + }
  76 +
72 77 @RequestMapping(value = "selectYxyIdByHxyId",method = RequestMethod.GET)
73 78 String selectYxyIdByHxyId(@RequestParam("hxyId") int hxyId){
74 79 return syncService.selectYxyIdByHxyId(hxyId);
... ...
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/SyncMapper.java
... ... @@ -26,6 +26,8 @@ public interface SyncMapper {
26 26  
27 27 List<SyncDeptDto> selectDept(int schoolId) ;
28 28  
  29 + SyncDeptDto selectDeptByGradeId(int gradeId);
  30 +
29 31 List<SyncUserDto> selectUser(int schoolId);
30 32  
31 33 int insertDeptRelation(DeptRelationDto deptRelationDto);
... ...
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/SyncService.java
... ... @@ -25,6 +25,8 @@ public interface SyncService {
25 25  
26 26 List<SyncDeptDto> selectDept(int schoolId) ;
27 27  
  28 + SyncDeptDto selectDeptByGradeId(int gradeId);
  29 +
28 30 List<SyncUserDto> selectUser(int schoolId);
29 31  
30 32 int insertDeptRelation(DeptRelationDto deptRelationDto);
... ...
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/SyncServiceImpl.java
... ... @@ -55,6 +55,11 @@ public class SyncServiceImpl implements SyncService {
55 55 }
56 56  
57 57 @Override
  58 + public SyncDeptDto selectDeptByGradeId(int gradeId) {
  59 + return syncMapper.selectDeptByGradeId(gradeId);
  60 + }
  61 +
  62 + @Override
58 63 public List<SyncUserDto> selectUser(int schoolId) {
59 64 return syncMapper.selectUser(schoolId);
60 65 }
... ...
cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml
... ... @@ -40,7 +40,12 @@
40 40 </resultMap>
41 41 <select id="selectDept" parameterType="java.lang.Integer" resultMap="DeptDto">
42 42 select ID , Dept_id , schoolid , Dept_name ,UpdateType ,gradeId , usertype from HS_TeaGroupUpdate where schoolid = #{schoolId}
43   - and yxy_is_new = 0
  43 + and yxy_is_new = 0 order by ID
  44 + </select>
  45 +
  46 + <select id="selectDeptByGradeId" parameterType="java.lang.Integer" resultMap="DeptDto">
  47 + select ID , Dept_id , schoolid , Dept_name ,UpdateType ,gradeId , usertype from HS_TeaGroupUpdate
  48 + where gradeId = #{gradeId}
44 49 </select>
45 50  
46 51 <update id="updateDept" parameterType="java.lang.Integer" >
... ...