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 ( | ... | ... |