Commit 3898e462fe746de823c118cda9a42ea47ffd6968
1 parent
a8a87475
Exists in
master
考勤推送
Showing
7 changed files
with
81 additions
and
38 deletions
Show diff stats
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×tamp=" + DateUtils.getDate()+"&time="+DateUtils.date2String(new Date(),DateUtils.format1); | |
258 | + "&face=" + teacher.getFace() + "&sourcetype=16&soutype=2×tamp=" + 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 > #{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 > #{endTime} and HS_LeaveExamine.LeaveTime < #{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 > #{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 > #{endTime} and HS_LeaveExamine.LeaveTime < #{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 ( | ... | ... |