Commit 3898e462fe746de823c118cda9a42ea47ffd6968

Authored by 陈杰
1 parent a8a87475
Exists in master

考勤推送

cloud/common/src/main/java/com/sincere/common/dto/smartCampus/CensusKqDto.java
... ... @@ -10,6 +10,7 @@ public class CensusKqDto {
10 10 private String className ;
11 11 private int allT ;
12 12 private int kqT ;
  13 + private int qjT ;
13 14  
14 15 public int getClassId() {
15 16 return classId;
... ... @@ -42,4 +43,12 @@ public class CensusKqDto {
42 43 public void setKqT(int kqT) {
43 44 this.kqT = kqT;
44 45 }
  46 +
  47 + public int getQjT() {
  48 + return qjT;
  49 + }
  50 +
  51 + public void setQjT(int qjT) {
  52 + this.qjT = qjT;
  53 + }
45 54 }
... ...
cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java
... ... @@ -53,8 +53,7 @@ public class KQJob {
53 53 List<String> keyList = new ArrayList<>();
54 54 for(Map.Entry<String, String> entity : map.entrySet()){
55 55 String endTime = entity.getValue().split("_")[1];
56   - if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")>=2
57   - && DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m") < 5 ){
  56 + if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")>=2){
58 57 String key = entity.getKey();
59 58 String[] messageArray = key.split("_");
60 59 if(messageArray[2].contains("5")){
... ... @@ -91,7 +90,7 @@ public class KQJob {
91 90 type = type.replace("\"","");
92 91 int nowWeek = DateUtils.getWeek() ;
93 92 if(Week.contains(nowWeek+"")){
94   - logger.info((templateId+"_"+templateDto.getSchoolId()+templateDto.getType()+"------"+beginTime+"_"+endTime));
  93 + logger.info((templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType()+"------"+beginTime+"_"+endTime));
95 94 map.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType() , beginTime+"_"+endTime+"_"+type);
96 95 }
97 96 }catch (Exception e){
... ... @@ -108,24 +107,20 @@ public class KQJob {
108 107 //出入校 推班主任
109 108 List<KqTeacherDto> list = scFeign.getTeacherList(schoolId);
110 109 for(KqTeacherDto teacher : list){
111   - if(teacher.getName().equals("倪任佳")){
112   - dingSchoolPush(templateId,teacher,key,appDto);
113   - }
  110 + dingSchoolPush(templateId,teacher,key,appDto);
114 111 }
115 112 }else {
116 113 //出入寝 推班主任
117 114 List<KqTeacherDto> list = scFeign.getTeacherList(schoolId);
118 115 for(KqTeacherDto teacher : list){
119   - if(teacher.getName().equals("倪任佳")) {
120   - dingSchoolPush(templateId,teacher, key, appDto);
121   - }
  116 + logger.info("盯盯推送—————" + templateId + "--------" + teacher.getName());
  117 + dingSchoolPush(templateId,teacher, key, appDto);
122 118 }
123 119 //推宿管
124 120 List<KqTeacherDto> chamberList = scFeign.selectChamberTeacher(schoolId);
125 121 for(KqTeacherDto teacher : chamberList){
126   - if(teacher.getName().equals("倪任佳")) {
127   - dingChamberPush(templateId,teacher, key, appDto);
128   - }
  122 + logger.info("企业号推送—————" + templateId + "--------" + teacher.getName());
  123 + dingChamberPush(templateId,teacher, key, appDto);
129 124 }
130 125 }
131 126 }
... ... @@ -137,7 +132,7 @@ public class KQJob {
137 132 //出入校 推班主任
138 133 List<KqTeacherDto> list = scFeign.getTeacherList(schoolId);
139 134 for (KqTeacherDto teacher : list) {
140   - weChatSchoolPush(templateId,teacher, key, appDto);
  135 + weChatSchoolPush(templateId,teacher, key, appDto);
141 136 }
142 137 }else {
143 138 //出入寝 推班主任
... ... @@ -167,7 +162,7 @@ public class KQJob {
167 162 String message = "";
168 163 for(CensusKqDto censusKqDto : censusKqDtos){
169 164 int number = censusKqDto.getAllT() - censusKqDto.getKqT() ;
170   - message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;";
  165 + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;请假"+censusKqDto.getQjT()+"人";
171 166 }
172 167 DingSms dingSms = new DingSms();
173 168 dingSms.setName(teacher.getName());
... ... @@ -206,7 +201,7 @@ public class KQJob {
206 201 String message = "";
207 202 for(CensusKqDto censusKqDto : censusKqDtos){
208 203 int number = censusKqDto.getAllT() - censusKqDto.getKqT() ;
209   - message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;";
  204 + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;请假"+censusKqDto.getQjT()+"人";
210 205 }
211 206 DingSms dingSms = new DingSms();
212 207 dingSms.setName(teacher.getName());
... ... @@ -243,7 +238,7 @@ public class KQJob {
243 238 String message = "";
244 239 for (CensusKqDto censusKqDto : censusKqDtos) {
245 240 int number = censusKqDto.getAllT() - censusKqDto.getKqT();
246   - message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;";
  241 + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;请假"+censusKqDto.getQjT()+"人";
247 242 }
248 243 WeChatSms weChatSms = new WeChatSms();
249 244 weChatSms.setTableName("qyhSmsNew" + tableSuffix);
... ... @@ -260,7 +255,7 @@ public class KQJob {
260 255 String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" +
261 256 "schoolid=" + teacher.getSchoolId() + "&userId=" + teacher.getUserId() + "&name=" + teacher.getName() +
262 257 "&data=" + teacher.getWeChatUserId() + "&type=1&stype=3&mobile=" + teacher.getMobile() + "&pass=" + teacher.getPass() +
263   - "&face=" + teacher.getFace() + "&sourcetype=16&soutype=2&timestamp=" + DateUtils.getDate()+"&time="+DateUtils.date2String(new Date(),DateUtils.format1);
  258 + "&face=" + teacher.getFace() + "&sourcetype=16&soutype=2&timestamp=" + DateUtils.getDate()+"&time="+DateUtils.date2String(new Date(),DateUtils.format1)+"&";
264 259 weChatSms.setMsgUrl(msgUrl);
265 260 weChatSms.setTdType(TypeEnums.kaoqing.getType());
266 261 smsMapper.insertWeChat(weChatSms);
... ... @@ -283,7 +278,7 @@ public class KQJob {
283 278 String message = "";
284 279 for (CensusKqDto censusKqDto : censusKqDtos) {
285 280 int number = censusKqDto.getAllT() - censusKqDto.getKqT();
286   - message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;";
  281 + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;请假"+censusKqDto.getQjT()+"人";
287 282 }
288 283 WeChatSms weChatSms = new WeChatSms();
289 284 weChatSms.setTableName("qyhSmsNew" + tableSuffix);
... ... @@ -299,7 +294,7 @@ public class KQJob {
299 294 weChatSms.setSecret(appDto.getAgentSecret());
300 295 String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" +
301 296 "schoolid=" + teacher.getSchoolId() + "&userId=" + teacher.getUserId() + "&name=" + teacher.getName() +
302   - "&pass=" + teacher.getPass() + "&type=4&soutype=2&time="+DateUtils.date2String(new Date(),DateUtils.format1);
  297 + "&pass=" + teacher.getPass() + "&type=4&soutype=2&time="+DateUtils.date2String(new Date(),DateUtils.format1)+"&";
303 298 weChatSms.setMsgUrl(msgUrl);
304 299 weChatSms.setTdType(TypeEnums.kaoqing.getType());
305 300 smsMapper.insertWeChat(weChatSms);
... ...
cloud/quartz/src/main/resources/logback.xml
... ... @@ -21,7 +21,7 @@
21 21         <!-- 过滤器,只打印ERROR级别的日志 -->
22 22         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
23 23             <!--日志文件输出的文件名-->
24   -             <FileNamePattern>${LOG_HOME}/${PROJECT_NAME}/%d{yyyy-MM-dd HH}.%i.log</FileNamePattern>
  24 +             <FileNamePattern>${LOG_HOME}/${PROJECT_NAME}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
25 25             <!--日志文件保留天数-->
26 26             <MaxHistory>30</MaxHistory>
27 27             <!--日志文件最大的大小-->
... ...
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java
... ... @@ -32,11 +32,17 @@ public interface KqTemplateMapper {
32 32  
33 33 int selectChamberTrueKq(Map<String,String> map);
34 34  
35   - int selectClassDealDate(Map<String,String> map);
  35 + int selectClassDealDateCHUQIN(Map<String,String> map);
  36 +
  37 + int selectClassDealDateQINGJIA(Map<String,String> map);
36 38  
37 39 int selectClassLeave(Map<String,String> map);
38 40  
39   - int selectChamberDealDate(Map<String,String> map);
  41 + int selectChamberDealDateCHUQIN(Map<String,String> map);
  42 +
  43 + int selectChamberDealDateQINGJIA(Map<String,String> map);
40 44  
41 45 int selectChamberLeave(Map<String,String> map);
  46 +
  47 + int selectClassChamberNumber(int classId);
42 48 }
... ...
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java
... ... @@ -54,14 +54,21 @@ public class KqServiceImpl implements KqService {
54 54 map.put("type",kqDto.getType());
55 55 List<CensusKqDto> list = kqTemplateMapper.selectCensusKq(map);
56 56 for(CensusKqDto censusKqDto : list){
  57 + if(Integer.valueOf(kqDto.getType()) >= 7){
  58 + //出入寝
  59 + int classNumber = kqTemplateMapper.selectClassChamberNumber(censusKqDto.getClassId());
  60 + censusKqDto.setAllT(classNumber);
  61 + }
57 62 Map<String,String> sqlMap = new HashMap<>();
58 63 sqlMap.put("templateId",kqDto.getTemplateId());
59 64 sqlMap.put("classId",censusKqDto.getClassId()+"");
60   - int i = kqTemplateMapper.selectClassDealDate(sqlMap);
  65 + int chuqin = kqTemplateMapper.selectClassDealDateCHUQIN(sqlMap);
  66 + int qingjia = kqTemplateMapper.selectClassDealDateQINGJIA(sqlMap);
61 67 String date = DateUtils.date2String(new Date(),DateUtils.format1);
62 68 sqlMap.put("endTime",date+" " + kqDto.getEndTime() +":00");
63   - i = i + kqTemplateMapper.selectClassLeave(sqlMap);
64   - censusKqDto.setKqT(censusKqDto.getKqT()+i);
  69 + qingjia = qingjia + kqTemplateMapper.selectClassLeave(sqlMap);
  70 + censusKqDto.setKqT(censusKqDto.getKqT()+chuqin);
  71 + censusKqDto.setQjT(qingjia);
65 72 }
66 73 return list ;
67 74 }
... ... @@ -86,11 +93,13 @@ public class KqServiceImpl implements KqService {
86 93 sqlMap.put("templateId",kqDto.getTemplateId());
87 94 sqlMap.put("userId",kqDto.getUserId());
88 95 sqlMap.put("id",chamber.getId()+"");
89   - int i = kqTemplateMapper.selectClassDealDate(sqlMap);
  96 + int chuqin = kqTemplateMapper.selectChamberDealDateCHUQIN(sqlMap);
  97 + int qingjia = kqTemplateMapper.selectChamberDealDateQINGJIA(sqlMap);
90 98 String date = DateUtils.date2String(new Date(),DateUtils.format1);
91 99 sqlMap.put("endTime",date+" " + kqDto.getEndTime() +":00");
92   - i = i + kqTemplateMapper.selectChamberLeave(sqlMap);
93   - censusKqDto.setKqT(trueKq+i);
  100 + qingjia = qingjia + kqTemplateMapper.selectChamberLeave(sqlMap);
  101 + censusKqDto.setKqT(trueKq+chuqin);
  102 + censusKqDto.setKqT(qingjia);
94 103 list.add(censusKqDto);
95 104 }
96 105 return list;
... ...
cloud/search_smartCampus/src/main/resources/application.yml
... ... @@ -22,6 +22,6 @@ eureka:
22 22 client:
23 23 service-url:
24 24 # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
25   - defaultZone: http://121.40.109.21:8761/eureka/,http://121.40.109.21:8762/eureka/
  25 + defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
26 26  
27 27  
... ...
cloud/search_smartCampus/src/main/resources/mapper/KqTemplateMapper.xml
... ... @@ -11,7 +11,7 @@
11 11 <select id="selectKqTemplate" resultMap="TemplateMap">
12 12 select XA_KqTemplate.config , XA_KqTemplate.SchoolId ,SZ_School.MsgTypes as type from XA_KqTemplate
13 13 join SZ_School on XA_KqTemplate.SchoolId = SZ_School.school_id
14   - where XA_KqTemplate.State = 1 and XA_KqTemplate.ScenceType = 0 and XA_KqTemplate.TType = 1
  14 + where XA_KqTemplate.State = 1 and XA_KqTemplate.TType = 1
15 15 and (SZ_School.MsgTypes like '%4%' or SZ_School.MsgTypes like '%5%')
16 16 and SZ_School.IsPush =1
17 17 </select>
... ... @@ -52,6 +52,10 @@
52 52 and ApplyName = '智能校卫'
53 53 </select>
54 54  
  55 + <select id="selectClassChamberNumber" parameterType="java.lang.Integer" resultType="java.lang.Integer">
  56 + select count(0) from SZ_V_School_Student where class_id=#{classId} and student_type=2
  57 + </select>
  58 +
55 59 <resultMap id="KqMap" type="com.sincere.common.dto.smartCampus.CensusKqDto">
56 60 <result column="class_id" property="classId"/>
57 61 <result column="class_name" property="className"/>
... ... @@ -69,16 +73,23 @@
69 73 where a.role_state=1 and a.user_id=#{userId}
70 74 </select>
71 75  
72   - <select id="selectClassDealDate" parameterType="java.util.Map" resultType="java.lang.Integer">
  76 + <select id="selectClassDealDateCHUQIN" parameterType="java.util.Map" resultType="java.lang.Integer">
73 77 select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
74   - where EQ_DealData.DealState in ('出勤','请假')
  78 + where EQ_DealData.DealState ='出勤'
  79 + and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
  80 + and SZ_V_School_Student.class_id = #{classId}
  81 + </select>
  82 +
  83 + <select id="selectClassDealDateQINGJIA" parameterType="java.util.Map" resultType="java.lang.Integer">
  84 + select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
  85 + where EQ_DealData.DealState = '请假'
75 86 and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
76 87 and SZ_V_School_Student.class_id = #{classId}
77 88 </select>
78 89  
79 90 <select id="selectClassLeave" parameterType="java.util.Map" resultType="java.lang.Integer">
80   - select count(0) from HS_LeaveExamine join SZ_V_School_Student on HS_LeaveExamine.StudentId = SZ_V_School_Student.student_id
81   - where HS_LeaveExamine.State in (2,7,8,9,10,11) and HS_LeaveExamine.ReturnTime &gt; #{endTime}
  91 + select COUNT ( DISTINCT HS_LeaveExamine.StudentId ) from HS_LeaveExamine join SZ_V_School_Student on HS_LeaveExamine.StudentId = SZ_V_School_Student.student_id
  92 + where HS_LeaveExamine.State in (2,7,8,9,10,11) and HS_LeaveExamine.ReturnTime &gt; #{endTime} and HS_LeaveExamine.LeaveTime &lt; #{endTime}
82 93 and SZ_V_School_Student.class_id = #{classId}
83 94 </select>
84 95  
... ... @@ -114,9 +125,22 @@
114 125 )
115 126 </select>
116 127  
117   - <select id="selectChamberDealDate" parameterType="java.util.Map" resultType="java.lang.Integer">
  128 + <select id="selectChamberDealDateCHUQIN" parameterType="java.util.Map" resultType="java.lang.Integer">
  129 + select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
  130 + where EQ_DealData.DealState ='出勤'
  131 + and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
  132 + and SZ_V_School_Student.student_id in (
  133 + select SS_RoomNumber.StudentId from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
  134 + where SS_Room.Pid in (
  135 + select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId
  136 + where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id}
  137 + ) and SS_RoomNumber.StudentId != 0
  138 + )
  139 + </select>
  140 +
  141 + <select id="selectChamberDealDateQINGJIA" parameterType="java.util.Map" resultType="java.lang.Integer">
118 142 select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id
119   - where EQ_DealData.DealState in ('出勤','请假')
  143 + where EQ_DealData.DealState ='请假'
120 144 and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 )
121 145 and SZ_V_School_Student.student_id in (
122 146 select SS_RoomNumber.StudentId from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
... ... @@ -128,8 +152,8 @@
128 152 </select>
129 153  
130 154 <select id="selectChamberLeave" parameterType="java.util.Map" resultType="java.lang.Integer">
131   - select count(0) from HS_LeaveExamine join SZ_V_School_Student on HS_LeaveExamine.StudentId = SZ_V_School_Student.student_id
132   - where HS_LeaveExamine.State in (2,7,8,9,10,11) and HS_LeaveExamine.ReturnTime &gt; #{endTime}
  155 + select COUNT ( DISTINCT HS_LeaveExamine.StudentId ) from HS_LeaveExamine join SZ_V_School_Student on HS_LeaveExamine.StudentId = SZ_V_School_Student.student_id
  156 + where HS_LeaveExamine.State in (2,7,8,9,10,11) and HS_LeaveExamine.ReturnTime &gt; #{endTime} and HS_LeaveExamine.LeaveTime &lt; #{endTime}
133 157 and SZ_V_School_Student.student_id in (
134 158 select SS_RoomNumber.StudentId from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid
135 159 where SS_Room.Pid in (
... ...