Commit 46eaf1b0e0eed7790365402f0690102e5935b4be
Exists in
master
Merge branch 'master' of http://git.shunzhi.net/taohd/mycloud
Showing
12 changed files
with
492 additions
and
68 deletions
Show diff stats
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/CensusKqDto.java
@@ -6,9 +6,19 @@ package com.sincere.common.dto.smartCampus; | @@ -6,9 +6,19 @@ package com.sincere.common.dto.smartCampus; | ||
6 | * @date 2019/11/29 0029 14:27 | 6 | * @date 2019/11/29 0029 14:27 |
7 | */ | 7 | */ |
8 | public class CensusKqDto { | 8 | public class CensusKqDto { |
9 | + private int classId ; | ||
9 | private String className ; | 10 | private String className ; |
10 | private int allT ; | 11 | private int allT ; |
11 | private int kqT ; | 12 | private int kqT ; |
13 | + private int qjT ; | ||
14 | + | ||
15 | + public int getClassId() { | ||
16 | + return classId; | ||
17 | + } | ||
18 | + | ||
19 | + public void setClassId(int classId) { | ||
20 | + this.classId = classId; | ||
21 | + } | ||
12 | 22 | ||
13 | public String getClassName() { | 23 | public String getClassName() { |
14 | return className; | 24 | return className; |
@@ -33,4 +43,12 @@ public class CensusKqDto { | @@ -33,4 +43,12 @@ public class CensusKqDto { | ||
33 | public void setKqT(int kqT) { | 43 | public void setKqT(int kqT) { |
34 | this.kqT = kqT; | 44 | this.kqT = kqT; |
35 | } | 45 | } |
46 | + | ||
47 | + public int getQjT() { | ||
48 | + return qjT; | ||
49 | + } | ||
50 | + | ||
51 | + public void setQjT(int qjT) { | ||
52 | + this.qjT = qjT; | ||
53 | + } | ||
36 | } | 54 | } |
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/KqDto.java
0 → 100644
@@ -0,0 +1,46 @@ | @@ -0,0 +1,46 @@ | ||
1 | +package com.sincere.common.dto.smartCampus; | ||
2 | + | ||
3 | +/** | ||
4 | + * @author chen | ||
5 | + * @version 1.0 | ||
6 | + * @date 2019/12/5 0005 11:01 | ||
7 | + */ | ||
8 | +public class KqDto { | ||
9 | + private String userId ; | ||
10 | + private String type ; | ||
11 | + private String templateId ; | ||
12 | + private String endTime ; | ||
13 | + | ||
14 | + | ||
15 | + public String getUserId() { | ||
16 | + return userId; | ||
17 | + } | ||
18 | + | ||
19 | + public void setUserId(String userId) { | ||
20 | + this.userId = userId; | ||
21 | + } | ||
22 | + | ||
23 | + public String getType() { | ||
24 | + return type; | ||
25 | + } | ||
26 | + | ||
27 | + public void setType(String type) { | ||
28 | + this.type = type; | ||
29 | + } | ||
30 | + | ||
31 | + public String getTemplateId() { | ||
32 | + return templateId; | ||
33 | + } | ||
34 | + | ||
35 | + public void setTemplateId(String templateId) { | ||
36 | + this.templateId = templateId; | ||
37 | + } | ||
38 | + | ||
39 | + public String getEndTime() { | ||
40 | + return endTime; | ||
41 | + } | ||
42 | + | ||
43 | + public void setEndTime(String endTime) { | ||
44 | + this.endTime = endTime; | ||
45 | + } | ||
46 | +} |
cloud/quartz/src/main/java/com/sincere/quartz/feign/ScFeign.java
1 | package com.sincere.quartz.feign; | 1 | package com.sincere.quartz.feign; |
2 | 2 | ||
3 | -import com.sincere.common.dto.smartCampus.AppDto; | ||
4 | -import com.sincere.common.dto.smartCampus.CensusKqDto; | ||
5 | -import com.sincere.common.dto.smartCampus.KqTeacherDto; | ||
6 | -import com.sincere.common.dto.smartCampus.TemplateDto; | 3 | +import com.sincere.common.dto.smartCampus.*; |
7 | import org.springframework.cloud.openfeign.FeignClient; | 4 | import org.springframework.cloud.openfeign.FeignClient; |
5 | +import org.springframework.web.bind.annotation.RequestBody; | ||
8 | import org.springframework.web.bind.annotation.RequestMapping; | 6 | import org.springframework.web.bind.annotation.RequestMapping; |
9 | import org.springframework.web.bind.annotation.RequestMethod; | 7 | import org.springframework.web.bind.annotation.RequestMethod; |
10 | import org.springframework.web.bind.annotation.RequestParam; | 8 | import org.springframework.web.bind.annotation.RequestParam; |
@@ -25,9 +23,15 @@ public interface ScFeign { | @@ -25,9 +23,15 @@ public interface ScFeign { | ||
25 | @RequestMapping(value = "/sm/kq/getTeacherList",method = RequestMethod.GET) | 23 | @RequestMapping(value = "/sm/kq/getTeacherList",method = RequestMethod.GET) |
26 | List<KqTeacherDto> getTeacherList(@RequestParam("schoolId")int schoolId); | 24 | List<KqTeacherDto> getTeacherList(@RequestParam("schoolId")int schoolId); |
27 | 25 | ||
26 | + @RequestMapping(value = "/sm/kq/selectChamberTeacher",method = RequestMethod.GET) | ||
27 | + List<KqTeacherDto> selectChamberTeacher(@RequestParam("schoolId")int schoolId); | ||
28 | + | ||
28 | @RequestMapping(value = "/sm/kq/getApp",method = RequestMethod.GET) | 29 | @RequestMapping(value = "/sm/kq/getApp",method = RequestMethod.GET) |
29 | AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type); | 30 | AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type); |
30 | 31 | ||
31 | - @RequestMapping(value = "/sm/kq/getCensusKq",method = RequestMethod.GET) | ||
32 | - List<CensusKqDto> getCensusKq(@RequestParam("userId") String userId , @RequestParam("type") int type); | 32 | + @RequestMapping(value = "/sm/kq/getCensusKq",method = RequestMethod.POST) |
33 | + List<CensusKqDto> getCensusKq(@RequestBody KqDto kqDto); | ||
34 | + | ||
35 | + @RequestMapping(value = "/sm/kq/selectCensusChamberKq",method = RequestMethod.POST) | ||
36 | + List<CensusKqDto> selectCensusChamberKq(@RequestBody KqDto kqDto); | ||
33 | } | 37 | } |
cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java
1 | package com.sincere.quartz.job; | 1 | package com.sincere.quartz.job; |
2 | 2 | ||
3 | -import com.sincere.common.dto.smartCampus.AppDto; | ||
4 | -import com.sincere.common.dto.smartCampus.CensusKqDto; | ||
5 | -import com.sincere.common.dto.smartCampus.KqTeacherDto; | ||
6 | -import com.sincere.common.dto.smartCampus.TemplateDto; | 3 | +import com.sincere.common.dto.smartCampus.*; |
7 | import com.sincere.common.util.DateUtils; | 4 | import com.sincere.common.util.DateUtils; |
8 | import com.sincere.quartz.enums.KqTypeEnums; | 5 | import com.sincere.quartz.enums.KqTypeEnums; |
9 | import com.sincere.quartz.enums.TypeEnums; | 6 | import com.sincere.quartz.enums.TypeEnums; |
@@ -57,17 +54,16 @@ public class KQJob { | @@ -57,17 +54,16 @@ public class KQJob { | ||
57 | for(Map.Entry<String, String> entity : map.entrySet()){ | 54 | for(Map.Entry<String, String> entity : map.entrySet()){ |
58 | String endTime = entity.getValue().split("_")[1]; | 55 | String endTime = entity.getValue().split("_")[1]; |
59 | if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")>=2 | 56 | if(DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")>=2 |
60 | - && DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m")<5){ | 57 | + && DateUtils.getDateDifference(new Date(),DateUtils.string2Date(now+" "+endTime+":00",DateUtils.format2),"m") < 5){ |
61 | String key = entity.getKey(); | 58 | String key = entity.getKey(); |
62 | String[] messageArray = key.split("_"); | 59 | String[] messageArray = key.split("_"); |
63 | - List<KqTeacherDto> list = scFeign.getTeacherList(Integer.valueOf(messageArray[1])); | ||
64 | if(messageArray[2].contains("5")){ | 60 | if(messageArray[2].contains("5")){ |
65 | logger.info("企业号推送:" + messageArray[0] + "__" + messageArray[1]); | 61 | logger.info("企业号推送:" + messageArray[0] + "__" + messageArray[1]); |
66 | - weChatPush(list,entity.getValue()); | 62 | + weChatBatchPush(messageArray[0],Integer.valueOf(messageArray[1]),entity.getValue()); |
67 | } | 63 | } |
68 | if(messageArray[2].contains("4")){ | 64 | if(messageArray[2].contains("4")){ |
69 | logger.info(("盯盯推送:" + messageArray[0] + "__" + messageArray[1])); | 65 | logger.info(("盯盯推送:" + messageArray[0] + "__" + messageArray[1])); |
70 | - dingPush(list,entity.getValue()); | 66 | + dingBatchPush(messageArray[0],Integer.valueOf(messageArray[1]),entity.getValue()); |
71 | } | 67 | } |
72 | keyList.add(key); | 68 | keyList.add(key); |
73 | } | 69 | } |
@@ -95,7 +91,7 @@ public class KQJob { | @@ -95,7 +91,7 @@ public class KQJob { | ||
95 | type = type.replace("\"",""); | 91 | type = type.replace("\"",""); |
96 | int nowWeek = DateUtils.getWeek() ; | 92 | int nowWeek = DateUtils.getWeek() ; |
97 | if(Week.contains(nowWeek+"")){ | 93 | if(Week.contains(nowWeek+"")){ |
98 | - logger.info((templateId+"_"+templateDto.getSchoolId()+templateDto.getType()+"------"+beginTime+"_"+endTime)); | 94 | + logger.info((templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType()+"------"+beginTime+"_"+endTime)); |
99 | map.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType() , beginTime+"_"+endTime+"_"+type); | 95 | map.put(templateId+"_"+templateDto.getSchoolId()+"_"+templateDto.getType() , beginTime+"_"+endTime+"_"+type); |
100 | } | 96 | } |
101 | }catch (Exception e){ | 97 | }catch (Exception e){ |
@@ -105,59 +101,159 @@ public class KQJob { | @@ -105,59 +101,159 @@ public class KQJob { | ||
105 | } | 101 | } |
106 | } | 102 | } |
107 | 103 | ||
108 | - private void dingPush(List<KqTeacherDto> list , String key){ | 104 | + private void dingBatchPush(String templateId , int schoolId , String key){ |
105 | + String[] times = key.split("_"); | ||
106 | + AppDto appDto = scFeign.getApp(schoolId,1); | ||
107 | + if(Integer.valueOf(times[2]) < 7){ | ||
108 | + //出入校 推班主任 | ||
109 | + List<KqTeacherDto> list = scFeign.getTeacherList(schoolId); | ||
110 | + for(KqTeacherDto teacher : list){ | ||
111 | + logger.info("盯盯推送班主任—————" + templateId + "--------" + teacher.getName()); | ||
112 | + dingSchoolPush(templateId,teacher,key,appDto); | ||
113 | + } | ||
114 | + }else { | ||
115 | + //出入寝 推班主任 | ||
116 | + List<KqTeacherDto> list = scFeign.getTeacherList(schoolId); | ||
117 | + for(KqTeacherDto teacher : list){ | ||
118 | + logger.info("盯盯推送班主任—————" + templateId + "--------" + teacher.getName()); | ||
119 | + dingSchoolPush(templateId,teacher, key, appDto); | ||
120 | + } | ||
121 | + //推宿管 | ||
122 | + List<KqTeacherDto> chamberList = scFeign.selectChamberTeacher(schoolId); | ||
123 | + for(KqTeacherDto teacher : chamberList){ | ||
124 | + logger.info("盯盯推送宿管—————" + templateId + "--------" + teacher.getName()); | ||
125 | + dingChamberPush(templateId,teacher, key, appDto); | ||
126 | + } | ||
127 | + } | ||
128 | + } | ||
129 | + | ||
130 | + private void weChatBatchPush(String templateId , int schoolId , String key){ | ||
131 | + String[] times = key.split("_"); | ||
132 | + AppDto appDto = scFeign.getApp(schoolId, 0); | ||
133 | + if(Integer.valueOf(times[2]) < 7) { | ||
134 | + //出入校 推班主任 | ||
135 | + List<KqTeacherDto> list = scFeign.getTeacherList(schoolId); | ||
136 | + for (KqTeacherDto teacher : list) { | ||
137 | + logger.info("企业号推送班主任—————" + templateId + "--------" + teacher.getName()); | ||
138 | + weChatSchoolPush(templateId,teacher, key, appDto); | ||
139 | + } | ||
140 | + }else { | ||
141 | + //出入寝 推班主任 | ||
142 | + List<KqTeacherDto> list = scFeign.getTeacherList(schoolId); | ||
143 | + for (KqTeacherDto teacher : list) { | ||
144 | + logger.info("企业号推送班主任—————" + templateId + "--------" + teacher.getName()); | ||
145 | + weChatSchoolPush(templateId,teacher, key, appDto); | ||
146 | + } | ||
147 | + //推宿管 | ||
148 | + List<KqTeacherDto> chamberList = scFeign.selectChamberTeacher(schoolId); | ||
149 | + for(KqTeacherDto teacher : chamberList){ | ||
150 | + logger.info("企业号推送宿管—————" + templateId + "--------" + teacher.getName()); | ||
151 | + weChatChamberPush(templateId,teacher, key, appDto); | ||
152 | + } | ||
153 | + } | ||
154 | + } | ||
155 | + | ||
156 | + private void dingSchoolPush(String templateId ,KqTeacherDto teacher , String key , AppDto appDto){ | ||
109 | String[] times = key.split("_"); | 157 | String[] times = key.split("_"); |
110 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | 158 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); |
111 | - AppDto appDto = scFeign.getApp(list.get(0).getSchoolId(),1); | ||
112 | - for(KqTeacherDto teacher : list){ | ||
113 | - if(StringUtils.isNotBlank(teacher.getDingUserId())){ | ||
114 | - List<CensusKqDto> censusKqDtos = scFeign.getCensusKq(teacher.getUserId(),Integer.valueOf(times[2])); | 159 | + if(StringUtils.isNotBlank(teacher.getDingUserId())){ |
160 | + KqDto dto = new KqDto(); | ||
161 | + dto.setEndTime(times[1]); | ||
162 | + dto.setTemplateId(templateId); | ||
163 | + dto.setType(times[2]); | ||
164 | + dto.setUserId(teacher.getUserId()); | ||
165 | + List<CensusKqDto> censusKqDtos = scFeign.getCensusKq(dto); | ||
166 | + if(censusKqDtos != null &&censusKqDtos.size() > 0){ | ||
115 | String message = ""; | 167 | String message = ""; |
116 | for(CensusKqDto censusKqDto : censusKqDtos){ | 168 | for(CensusKqDto censusKqDto : censusKqDtos){ |
117 | - int number = censusKqDto.getAllT() - censusKqDto.getKqT() ; | ||
118 | - message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;"; | 169 | + int number = censusKqDto.getAllT() - censusKqDto.getKqT()-censusKqDto.getQjT() ; |
170 | + number = number < 0?0:number ; | ||
171 | + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人,请假"+censusKqDto.getQjT()+"人;"; | ||
119 | } | 172 | } |
120 | DingSms dingSms = new DingSms(); | 173 | DingSms dingSms = new DingSms(); |
121 | dingSms.setName(teacher.getName()); | 174 | dingSms.setName(teacher.getName()); |
122 | dingSms.setTableName("DingSmsNew"+tableSuffix); | 175 | dingSms.setTableName("DingSmsNew"+tableSuffix); |
123 | dingSms.setMsg("报告类型:"+KqTypeEnums.getName(Integer.valueOf(times[2])) + "出勤报告 \n - "+ | 176 | dingSms.setMsg("报告类型:"+KqTypeEnums.getName(Integer.valueOf(times[2])) + "出勤报告 \n - "+ |
124 | - "签到日期:"+DateUtils.date2String(new Date(),DateUtils.format1)+ "("+DateUtils.getWeekName()+") \n - "+ | ||
125 | - "签到时间:"+times[0]+"-"+ times[1] +" \n - "+ | ||
126 | - "整体数据:" + message.substring(0,message.length()-1)); | 177 | + "签到日期:"+DateUtils.date2String(new Date(),DateUtils.format1)+ "("+DateUtils.getWeekName()+") \n - "+ |
178 | + "签到时间:"+times[0]+"-"+ times[1] +" \n - "+ | ||
179 | + "整体数据:" + message); | ||
180 | + String wapUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | ||
181 | + "schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+ "&TemplateId=" + templateId+ | ||
182 | + "&data="+teacher.getDingUserId()+"&type=1&stype=4&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+ | ||
183 | + "&face=&sourcetype=16&soutype=3×tamp="+ DateUtils.getDate()+"&time="+DateUtils.date2String(new Date(),DateUtils.format1) ; | ||
127 | dingSms.setSchoolId(teacher.getSchoolId()); | 184 | dingSms.setSchoolId(teacher.getSchoolId()); |
128 | dingSms.setDingUserId(teacher.getDingUserId()); | 185 | dingSms.setDingUserId(teacher.getDingUserId()); |
129 | dingSms.setAgentId(appDto.getAgentId()); | 186 | dingSms.setAgentId(appDto.getAgentId()); |
130 | - String wapUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | ||
131 | - "schoolid="+teacher.getSchoolId()+"&userId="+teacher.getUserId()+"&name="+teacher.getName()+ | ||
132 | - "&data="+teacher.getDingUserId()+"&type=1&stype=4&mobile="+teacher.getMobile()+"&pass="+teacher.getPass()+ | ||
133 | - "&face=&sourcetype=16&soutype=3×tamp="+ DateUtils.getDate() ; | ||
134 | dingSms.setWapUrl(wapUrl); | 187 | dingSms.setWapUrl(wapUrl); |
135 | dingSms.setReceiveUserId(teacher.getUserId()); | 188 | dingSms.setReceiveUserId(teacher.getUserId()); |
136 | dingSms.setTdType(TypeEnums.kaoqing.getType()); | 189 | dingSms.setTdType(TypeEnums.kaoqing.getType()); |
137 | smsMapper.insertDing(dingSms); | 190 | smsMapper.insertDing(dingSms); |
138 | } | 191 | } |
139 | - | ||
140 | } | 192 | } |
141 | } | 193 | } |
142 | 194 | ||
143 | - private void weChatPush(List<KqTeacherDto> list , String key){ | 195 | + private void dingChamberPush(String templateId, KqTeacherDto teacher , String key , AppDto appDto){ |
144 | String[] times = key.split("_"); | 196 | String[] times = key.split("_"); |
145 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | 197 | String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); |
146 | - AppDto appDto = scFeign.getApp(list.get(0).getSchoolId(),0); | ||
147 | - for(KqTeacherDto teacher : list){ | ||
148 | - if (StringUtils.isNotBlank(teacher.getOpenId())) { | ||
149 | - List<CensusKqDto> censusKqDtos = scFeign.getCensusKq(teacher.getUserId(),Integer.valueOf(times[2])); | 198 | + if(StringUtils.isNotBlank(teacher.getDingUserId())){ |
199 | + List<CensusKqDto> censusKqDtos ; | ||
200 | + KqDto dto = new KqDto(); | ||
201 | + dto.setEndTime(times[1]); | ||
202 | + dto.setTemplateId(templateId); | ||
203 | + dto.setType(times[2]); | ||
204 | + dto.setUserId(teacher.getUserId()); | ||
205 | + censusKqDtos = scFeign.selectCensusChamberKq(dto); | ||
206 | + if(censusKqDtos != null &&censusKqDtos.size() > 0){ | ||
150 | String message = ""; | 207 | String message = ""; |
151 | for(CensusKqDto censusKqDto : censusKqDtos){ | 208 | for(CensusKqDto censusKqDto : censusKqDtos){ |
152 | - int number = censusKqDto.getAllT() - censusKqDto.getKqT() ; | ||
153 | - message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人;"; | 209 | + int number = censusKqDto.getAllT() - censusKqDto.getKqT()-censusKqDto.getQjT() ; |
210 | + number = number < 0?0:number ; | ||
211 | + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人,请假"+censusKqDto.getQjT()+"人;"; | ||
154 | } | 212 | } |
155 | - WeChatSms weChatSms = new WeChatSms(); | ||
156 | - weChatSms.setTableName("qyhSmsNew" + tableSuffix); | ||
157 | - weChatSms.setMsg("报告类型:"+KqTypeEnums.getName(Integer.valueOf(times[2])) + "出勤报告 \n - "+ | 213 | + DingSms dingSms = new DingSms(); |
214 | + dingSms.setName(teacher.getName()); | ||
215 | + dingSms.setTableName("DingSmsNew"+tableSuffix); | ||
216 | + dingSms.setMsg("报告类型:"+KqTypeEnums.getName(Integer.valueOf(times[2])) + "出勤报告 \n - "+ | ||
158 | "签到日期:"+DateUtils.date2String(new Date(),DateUtils.format1)+ "("+DateUtils.getWeekName()+") \n - "+ | 217 | "签到日期:"+DateUtils.date2String(new Date(),DateUtils.format1)+ "("+DateUtils.getWeekName()+") \n - "+ |
159 | "签到时间:"+times[0]+"-"+ times[1] +" \n - "+ | 218 | "签到时间:"+times[0]+"-"+ times[1] +" \n - "+ |
160 | - "整体数据:" + message.substring(0,message.length()-1)); | 219 | + "整体数据:" + message); |
220 | + String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | ||
221 | + "schoolid=" + teacher.getSchoolId() + "&userId=" + teacher.getUserId() + "&name=" + teacher.getName() +"&TemplateId=" + templateId+ | ||
222 | + "&pass=" + teacher.getPass() + "&type=4&soutype=3&time="+DateUtils.date2String(new Date(),DateUtils.format1); | ||
223 | + dingSms.setSchoolId(teacher.getSchoolId()); | ||
224 | + dingSms.setDingUserId(teacher.getDingUserId()); | ||
225 | + dingSms.setAgentId(appDto.getAgentId()); | ||
226 | + dingSms.setWapUrl(msgUrl); | ||
227 | + dingSms.setReceiveUserId(teacher.getUserId()); | ||
228 | + dingSms.setTdType(TypeEnums.kaoqing.getType()); | ||
229 | + smsMapper.insertDing(dingSms); | ||
230 | + } | ||
231 | + } | ||
232 | + } | ||
233 | + | ||
234 | + private void weChatSchoolPush(String templateId, KqTeacherDto teacher , String key , AppDto appDto){ | ||
235 | + String[] times = key.split("_"); | ||
236 | + String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
237 | + if (StringUtils.isNotBlank(teacher.getOpenId())) { | ||
238 | + KqDto dto = new KqDto(); | ||
239 | + dto.setEndTime(times[1]); | ||
240 | + dto.setTemplateId(templateId); | ||
241 | + dto.setType(times[2]); | ||
242 | + dto.setUserId(teacher.getUserId()); | ||
243 | + List<CensusKqDto> censusKqDtos = scFeign.getCensusKq(dto); | ||
244 | + if (censusKqDtos != null && censusKqDtos.size() > 0) { | ||
245 | + String message = ""; | ||
246 | + for (CensusKqDto censusKqDto : censusKqDtos) { | ||
247 | + int number = censusKqDto.getAllT() - censusKqDto.getKqT()-censusKqDto.getQjT() ; | ||
248 | + number = number < 0?0:number ; | ||
249 | + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人,请假"+censusKqDto.getQjT()+"人;"; | ||
250 | + } | ||
251 | + WeChatSms weChatSms = new WeChatSms(); | ||
252 | + weChatSms.setTableName("qyhSmsNew" + tableSuffix); | ||
253 | + weChatSms.setMsg("报告类型:" + KqTypeEnums.getName(Integer.valueOf(times[2])) + "出勤报告 \n - " + | ||
254 | + "签到日期:" + DateUtils.date2String(new Date(), DateUtils.format1) + "(" + DateUtils.getWeekName() + ") \n - " + | ||
255 | + "签到时间:" + times[0] + "-" + times[1] + " \n - " + | ||
256 | + "整体数据:" + message); | ||
161 | weChatSms.setSchoolId(teacher.getSchoolId()); | 257 | weChatSms.setSchoolId(teacher.getSchoolId()); |
162 | weChatSms.setName(teacher.getName()); | 258 | weChatSms.setName(teacher.getName()); |
163 | weChatSms.setQiYeHaoUserId(teacher.getWeChatUserId()); | 259 | weChatSms.setQiYeHaoUserId(teacher.getWeChatUserId()); |
@@ -165,9 +261,49 @@ public class KQJob { | @@ -165,9 +261,49 @@ public class KQJob { | ||
165 | weChatSms.setAppId(appDto.getAgentId()); | 261 | weChatSms.setAppId(appDto.getAgentId()); |
166 | weChatSms.setSecret(appDto.getAgentSecret()); | 262 | weChatSms.setSecret(appDto.getAgentSecret()); |
167 | String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | 263 | String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + |
168 | - "schoolid=" + teacher.getSchoolId() + "&userId=" + teacher.getUserId() + "&name=" + teacher.getName() + | 264 | + "schoolid=" + teacher.getSchoolId() + "&userId=" + teacher.getUserId() + "&name=" + teacher.getName() +"&TemplateId=" + templateId+ |
169 | "&data=" + teacher.getWeChatUserId() + "&type=1&stype=3&mobile=" + teacher.getMobile() + "&pass=" + teacher.getPass() + | 265 | "&data=" + teacher.getWeChatUserId() + "&type=1&stype=3&mobile=" + teacher.getMobile() + "&pass=" + teacher.getPass() + |
170 | - "&face=" + teacher.getFace() + "&sourcetype=16&soutype=2×tamp=" + DateUtils.getDate(); | 266 | + "&face=" + teacher.getFace() + "&sourcetype=16&soutype=2×tamp=" + DateUtils.getDate()+"&time="+DateUtils.date2String(new Date(),DateUtils.format1)+"&"; |
267 | + weChatSms.setMsgUrl(msgUrl); | ||
268 | + weChatSms.setTdType(TypeEnums.kaoqing.getType()); | ||
269 | + smsMapper.insertWeChat(weChatSms); | ||
270 | + } | ||
271 | + } | ||
272 | + } | ||
273 | + | ||
274 | + private void weChatChamberPush(String templateId, KqTeacherDto teacher , String key , AppDto appDto){ | ||
275 | + String[] times = key.split("_"); | ||
276 | + String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
277 | + if (StringUtils.isNotBlank(teacher.getOpenId())) { | ||
278 | + List<CensusKqDto> censusKqDtos ; | ||
279 | + KqDto dto = new KqDto(); | ||
280 | + dto.setEndTime(times[1]); | ||
281 | + dto.setTemplateId(templateId); | ||
282 | + dto.setType(times[2]); | ||
283 | + dto.setUserId(teacher.getUserId()); | ||
284 | + censusKqDtos = scFeign.selectCensusChamberKq(dto); | ||
285 | + if (censusKqDtos != null && censusKqDtos.size() > 0) { | ||
286 | + String message = ""; | ||
287 | + for (CensusKqDto censusKqDto : censusKqDtos) { | ||
288 | + int number = censusKqDto.getAllT() - censusKqDto.getKqT()-censusKqDto.getQjT() ; | ||
289 | + number = number < 0?0:number ; | ||
290 | + message += "[" + censusKqDto.getClassName() + "]未考勤" + number + "人,请假"+censusKqDto.getQjT()+"人;"; | ||
291 | + } | ||
292 | + WeChatSms weChatSms = new WeChatSms(); | ||
293 | + weChatSms.setTableName("qyhSmsNew" + tableSuffix); | ||
294 | + weChatSms.setMsg("报告类型:" + KqTypeEnums.getName(Integer.valueOf(times[2])) + "出勤报告 \n - " + | ||
295 | + "签到日期:" + DateUtils.date2String(new Date(), DateUtils.format1) + "(" + DateUtils.getWeekName() + ") \n - " + | ||
296 | + "签到时间:" + times[0] + "-" + times[1] + " \n - " + | ||
297 | + "整体数据:" + message); | ||
298 | + weChatSms.setSchoolId(teacher.getSchoolId()); | ||
299 | + weChatSms.setName(teacher.getName()); | ||
300 | + weChatSms.setQiYeHaoUserId(teacher.getWeChatUserId()); | ||
301 | + weChatSms.setReceiveUserId(teacher.getUserId()); | ||
302 | + weChatSms.setAppId(appDto.getAgentId()); | ||
303 | + weChatSms.setSecret(appDto.getAgentSecret()); | ||
304 | + String msgUrl = "http://campus.myjxt.com/studentRecord/znxwwebapp/index.html?" + | ||
305 | + "schoolid=" + teacher.getSchoolId() + "&userId=" + teacher.getUserId() + "&name=" + teacher.getName() +"&TemplateId=" + templateId+ | ||
306 | + "&pass=" + teacher.getPass() + "&type=4&soutype=2&time="+DateUtils.date2String(new Date(),DateUtils.format1)+"&"; | ||
171 | weChatSms.setMsgUrl(msgUrl); | 307 | weChatSms.setMsgUrl(msgUrl); |
172 | weChatSms.setTdType(TypeEnums.kaoqing.getType()); | 308 | weChatSms.setTdType(TypeEnums.kaoqing.getType()); |
173 | smsMapper.insertWeChat(weChatSms); | 309 | smsMapper.insertWeChat(weChatSms); |
cloud/quartz/src/main/resources/logback.xml
@@ -21,7 +21,7 @@ | @@ -21,7 +21,7 @@ | ||
21 | <!-- 过滤器,只打印ERROR级别的日志 --> | 21 | <!-- 过滤器,只打印ERROR级别的日志 --> |
22 | <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> | 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 | <MaxHistory>30</MaxHistory> | 26 | <MaxHistory>30</MaxHistory> |
27 | <!--日志文件最大的大小--> | 27 | <!--日志文件最大的大小--> |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/controller/KqController.java
1 | package com.sincere.smartSearch.controller; | 1 | package com.sincere.smartSearch.controller; |
2 | 2 | ||
3 | -import com.sincere.common.dto.smartCampus.AppDto; | ||
4 | -import com.sincere.common.dto.smartCampus.CensusKqDto; | ||
5 | -import com.sincere.common.dto.smartCampus.KqTeacherDto; | ||
6 | -import com.sincere.common.dto.smartCampus.TemplateDto; | 3 | +import com.sincere.common.dto.smartCampus.*; |
7 | import com.sincere.common.util.DateUtils; | 4 | import com.sincere.common.util.DateUtils; |
8 | import com.sincere.smartSearch.model.KqTemplate; | 5 | import com.sincere.smartSearch.model.KqTemplate; |
9 | import com.sincere.smartSearch.service.KqService; | 6 | import com.sincere.smartSearch.service.KqService; |
10 | import org.springframework.beans.factory.annotation.Autowired; | 7 | import org.springframework.beans.factory.annotation.Autowired; |
11 | -import org.springframework.web.bind.annotation.RequestMapping; | ||
12 | -import org.springframework.web.bind.annotation.RequestMethod; | ||
13 | -import org.springframework.web.bind.annotation.RequestParam; | ||
14 | -import org.springframework.web.bind.annotation.RestController; | 8 | +import org.springframework.web.bind.annotation.*; |
15 | 9 | ||
16 | import java.util.*; | 10 | import java.util.*; |
17 | 11 | ||
@@ -47,6 +41,11 @@ public class KqController { | @@ -47,6 +41,11 @@ public class KqController { | ||
47 | return kqService.selectSchoolTeacher(schoolId); | 41 | return kqService.selectSchoolTeacher(schoolId); |
48 | } | 42 | } |
49 | 43 | ||
44 | + @RequestMapping(value = "selectChamberTeacher",method = RequestMethod.GET) | ||
45 | + public List<KqTeacherDto> selectChamberTeacher(@RequestParam("schoolId")int schoolId){ | ||
46 | + return kqService.selectChamberTeacher(schoolId); | ||
47 | + } | ||
48 | + | ||
50 | @RequestMapping(value = "getApp",method = RequestMethod.GET) | 49 | @RequestMapping(value = "getApp",method = RequestMethod.GET) |
51 | public AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type){ | 50 | public AppDto getApp(@RequestParam("schoolId")int schoolId , @RequestParam("type") int type){ |
52 | Map<String ,Integer> map = new HashMap<>(); | 51 | Map<String ,Integer> map = new HashMap<>(); |
@@ -55,13 +54,13 @@ public class KqController { | @@ -55,13 +54,13 @@ public class KqController { | ||
55 | return kqService.selectApp(map); | 54 | return kqService.selectApp(map); |
56 | } | 55 | } |
57 | 56 | ||
58 | - @RequestMapping(value = "getCensusKq",method = RequestMethod.GET) | ||
59 | - public List<CensusKqDto> getCensusKq(@RequestParam("userId") String userId , @RequestParam("type") int type){ | ||
60 | - String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
61 | - Map<String,String> map = new HashMap<>(); | ||
62 | - map.put("userId",userId); | ||
63 | - map.put("tableName","SZ_AttendanceRecords"+tableSuffix); | ||
64 | - map.put("type",type+""); | ||
65 | - return kqService.selectCensusKq(map); | 57 | + @RequestMapping(value = "getCensusKq",method = RequestMethod.POST) |
58 | + public List<CensusKqDto> getCensusKq(@RequestBody KqDto kqDto){ | ||
59 | + return kqService.selectCensusKq(kqDto); | ||
60 | + } | ||
61 | + | ||
62 | + @RequestMapping(value = "selectCensusChamberKq",method = RequestMethod.POST) | ||
63 | + public List<CensusKqDto> selectCensusChamberKq(@RequestBody KqDto kqDto){ | ||
64 | + return kqService.selectCensusChamberKq(kqDto); | ||
66 | } | 65 | } |
67 | } | 66 | } |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/mapper/KqTemplateMapper.java
@@ -3,6 +3,7 @@ package com.sincere.smartSearch.mapper; | @@ -3,6 +3,7 @@ package com.sincere.smartSearch.mapper; | ||
3 | import com.sincere.common.dto.smartCampus.AppDto; | 3 | import com.sincere.common.dto.smartCampus.AppDto; |
4 | import com.sincere.common.dto.smartCampus.CensusKqDto; | 4 | import com.sincere.common.dto.smartCampus.CensusKqDto; |
5 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 5 | import com.sincere.common.dto.smartCampus.KqTeacherDto; |
6 | +import com.sincere.smartSearch.model.KqChamber; | ||
6 | import com.sincere.smartSearch.model.KqTemplate; | 7 | import com.sincere.smartSearch.model.KqTemplate; |
7 | 8 | ||
8 | import java.util.List; | 9 | import java.util.List; |
@@ -19,7 +20,29 @@ public interface KqTemplateMapper { | @@ -19,7 +20,29 @@ public interface KqTemplateMapper { | ||
19 | 20 | ||
20 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); | 21 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); |
21 | 22 | ||
23 | + List<KqTeacherDto> selectChamberTeacher(int schoolId); | ||
24 | + | ||
22 | AppDto selectApp(Map<String,Integer> map); | 25 | AppDto selectApp(Map<String,Integer> map); |
23 | 26 | ||
24 | List<CensusKqDto> selectCensusKq(Map<String ,String> map); | 27 | List<CensusKqDto> selectCensusKq(Map<String ,String> map); |
28 | + | ||
29 | + List<KqChamber> selectChamberName(String userId); | ||
30 | + | ||
31 | + int selectChamberAllKq(Map<String,String> map); | ||
32 | + | ||
33 | + int selectChamberTrueKq(Map<String,String> map); | ||
34 | + | ||
35 | + int selectClassDealDateCHUQIN(Map<String,String> map); | ||
36 | + | ||
37 | + int selectClassDealDateQINGJIA(Map<String,String> map); | ||
38 | + | ||
39 | + int selectClassLeave(Map<String,String> map); | ||
40 | + | ||
41 | + int selectChamberDealDateCHUQIN(Map<String,String> map); | ||
42 | + | ||
43 | + int selectChamberDealDateQINGJIA(Map<String,String> map); | ||
44 | + | ||
45 | + int selectChamberLeave(Map<String,String> map); | ||
46 | + | ||
47 | + int selectClassChamberNumber(int classId); | ||
25 | } | 48 | } |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/model/KqChamber.java
0 → 100644
@@ -0,0 +1,27 @@ | @@ -0,0 +1,27 @@ | ||
1 | +package com.sincere.smartSearch.model; | ||
2 | + | ||
3 | +/** | ||
4 | + * @author chen | ||
5 | + * @version 1.0 | ||
6 | + * @date 2019/12/5 0005 10:02 | ||
7 | + */ | ||
8 | +public class KqChamber { | ||
9 | + private int id ; | ||
10 | + private String name ; | ||
11 | + | ||
12 | + public int getId() { | ||
13 | + return id; | ||
14 | + } | ||
15 | + | ||
16 | + public void setId(int id) { | ||
17 | + this.id = id; | ||
18 | + } | ||
19 | + | ||
20 | + public String getName() { | ||
21 | + return name; | ||
22 | + } | ||
23 | + | ||
24 | + public void setName(String name) { | ||
25 | + this.name = name; | ||
26 | + } | ||
27 | +} |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/KqService.java
@@ -2,6 +2,7 @@ package com.sincere.smartSearch.service; | @@ -2,6 +2,7 @@ package com.sincere.smartSearch.service; | ||
2 | 2 | ||
3 | import com.sincere.common.dto.smartCampus.AppDto; | 3 | import com.sincere.common.dto.smartCampus.AppDto; |
4 | import com.sincere.common.dto.smartCampus.CensusKqDto; | 4 | import com.sincere.common.dto.smartCampus.CensusKqDto; |
5 | +import com.sincere.common.dto.smartCampus.KqDto; | ||
5 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 6 | import com.sincere.common.dto.smartCampus.KqTeacherDto; |
6 | import com.sincere.smartSearch.model.KqTemplate; | 7 | import com.sincere.smartSearch.model.KqTemplate; |
7 | 8 | ||
@@ -19,7 +20,11 @@ public interface KqService { | @@ -19,7 +20,11 @@ public interface KqService { | ||
19 | 20 | ||
20 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); | 21 | List<KqTeacherDto> selectSchoolTeacher(int schoolId); |
21 | 22 | ||
23 | + List<KqTeacherDto> selectChamberTeacher(int schoolId); | ||
24 | + | ||
22 | AppDto selectApp(Map<String,Integer> map); | 25 | AppDto selectApp(Map<String,Integer> map); |
23 | 26 | ||
24 | - List<CensusKqDto> selectCensusKq(Map<String ,String> map); | 27 | + List<CensusKqDto> selectCensusKq(KqDto kqDto); |
28 | + | ||
29 | + List<CensusKqDto> selectCensusChamberKq(KqDto kqDto); | ||
25 | } | 30 | } |
cloud/search_smartCampus/src/main/java/com/sincere/smartSearch/service/impl/KqServiceImpl.java
@@ -2,15 +2,17 @@ package com.sincere.smartSearch.service.impl; | @@ -2,15 +2,17 @@ package com.sincere.smartSearch.service.impl; | ||
2 | 2 | ||
3 | import com.sincere.common.dto.smartCampus.AppDto; | 3 | import com.sincere.common.dto.smartCampus.AppDto; |
4 | import com.sincere.common.dto.smartCampus.CensusKqDto; | 4 | import com.sincere.common.dto.smartCampus.CensusKqDto; |
5 | +import com.sincere.common.dto.smartCampus.KqDto; | ||
5 | import com.sincere.common.dto.smartCampus.KqTeacherDto; | 6 | import com.sincere.common.dto.smartCampus.KqTeacherDto; |
7 | +import com.sincere.common.util.DateUtils; | ||
6 | import com.sincere.smartSearch.mapper.KqTemplateMapper; | 8 | import com.sincere.smartSearch.mapper.KqTemplateMapper; |
9 | +import com.sincere.smartSearch.model.KqChamber; | ||
7 | import com.sincere.smartSearch.model.KqTemplate; | 10 | import com.sincere.smartSearch.model.KqTemplate; |
8 | import com.sincere.smartSearch.service.KqService; | 11 | import com.sincere.smartSearch.service.KqService; |
9 | import org.springframework.beans.factory.annotation.Autowired; | 12 | import org.springframework.beans.factory.annotation.Autowired; |
10 | import org.springframework.stereotype.Service; | 13 | import org.springframework.stereotype.Service; |
11 | 14 | ||
12 | -import java.util.List; | ||
13 | -import java.util.Map; | 15 | +import java.util.*; |
14 | 16 | ||
15 | /** | 17 | /** |
16 | * @author chen | 18 | * @author chen |
@@ -34,12 +36,72 @@ public class KqServiceImpl implements KqService { | @@ -34,12 +36,72 @@ public class KqServiceImpl implements KqService { | ||
34 | } | 36 | } |
35 | 37 | ||
36 | @Override | 38 | @Override |
39 | + public List<KqTeacherDto> selectChamberTeacher(int schoolId) { | ||
40 | + return kqTemplateMapper.selectChamberTeacher(schoolId); | ||
41 | + } | ||
42 | + | ||
43 | + @Override | ||
37 | public AppDto selectApp(Map<String, Integer> map) { | 44 | public AppDto selectApp(Map<String, Integer> map) { |
38 | return kqTemplateMapper.selectApp(map); | 45 | return kqTemplateMapper.selectApp(map); |
39 | } | 46 | } |
40 | 47 | ||
41 | @Override | 48 | @Override |
42 | - public List<CensusKqDto> selectCensusKq(Map<String, String> map) { | ||
43 | - return kqTemplateMapper.selectCensusKq(map); | 49 | + public List<CensusKqDto> selectCensusKq(KqDto kqDto) { |
50 | + String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
51 | + Map<String,String> map = new HashMap<>(); | ||
52 | + map.put("userId",kqDto.getUserId()); | ||
53 | + map.put("tableName","SZ_AttendanceRecords"+tableSuffix); | ||
54 | + map.put("type",kqDto.getType()); | ||
55 | + List<CensusKqDto> list = kqTemplateMapper.selectCensusKq(map); | ||
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 | + } | ||
62 | + Map<String,String> sqlMap = new HashMap<>(); | ||
63 | + sqlMap.put("templateId",kqDto.getTemplateId()); | ||
64 | + sqlMap.put("classId",censusKqDto.getClassId()+""); | ||
65 | + int chuqin = kqTemplateMapper.selectClassDealDateCHUQIN(sqlMap); | ||
66 | + int qingjia = kqTemplateMapper.selectClassDealDateQINGJIA(sqlMap); | ||
67 | + String date = DateUtils.date2String(new Date(),DateUtils.format1); | ||
68 | + sqlMap.put("endTime",date+" " + kqDto.getEndTime() +":00"); | ||
69 | + qingjia = qingjia + kqTemplateMapper.selectClassLeave(sqlMap); | ||
70 | + censusKqDto.setKqT(censusKqDto.getKqT()+chuqin); | ||
71 | + censusKqDto.setQjT(qingjia); | ||
72 | + } | ||
73 | + return list ; | ||
74 | + } | ||
75 | + | ||
76 | + @Override | ||
77 | + public List<CensusKqDto> selectCensusChamberKq(KqDto kqDto) { | ||
78 | + String tableSuffix = DateUtils.date2String(new Date(), DateUtils.format); | ||
79 | + Map<String,String> map = new HashMap<>(); | ||
80 | + map.put("userId",kqDto.getUserId()); | ||
81 | + map.put("tableName","SZ_AttendanceRecords"+tableSuffix); | ||
82 | + map.put("type",kqDto.getType()); | ||
83 | + List<CensusKqDto> list = new ArrayList<>(); | ||
84 | + List<KqChamber> chambers = kqTemplateMapper.selectChamberName(map.get("userId")); | ||
85 | + for(KqChamber chamber :chambers){ | ||
86 | + CensusKqDto censusKqDto = new CensusKqDto(); | ||
87 | + map.put("id",chamber.getId()+""); | ||
88 | + int allKq = kqTemplateMapper.selectChamberAllKq(map); | ||
89 | + int trueKq = kqTemplateMapper.selectChamberTrueKq(map); | ||
90 | + censusKqDto.setClassName(chamber.getName()); | ||
91 | + censusKqDto.setAllT(allKq); | ||
92 | + Map<String,String> sqlMap = new HashMap<>(); | ||
93 | + sqlMap.put("templateId",kqDto.getTemplateId()); | ||
94 | + sqlMap.put("userId",kqDto.getUserId()); | ||
95 | + sqlMap.put("id",chamber.getId()+""); | ||
96 | + int chuqin = kqTemplateMapper.selectChamberDealDateCHUQIN(sqlMap); | ||
97 | + int qingjia = kqTemplateMapper.selectChamberDealDateQINGJIA(sqlMap); | ||
98 | + String date = DateUtils.date2String(new Date(),DateUtils.format1); | ||
99 | + sqlMap.put("endTime",date+" " + kqDto.getEndTime() +":00"); | ||
100 | + qingjia = qingjia + kqTemplateMapper.selectChamberLeave(sqlMap); | ||
101 | + censusKqDto.setKqT(trueKq+chuqin); | ||
102 | + censusKqDto.setKqT(qingjia); | ||
103 | + list.add(censusKqDto); | ||
104 | + } | ||
105 | + return list; | ||
44 | } | 106 | } |
45 | } | 107 | } |
cloud/search_smartCampus/src/main/resources/application.yml
@@ -22,6 +22,6 @@ eureka: | @@ -22,6 +22,6 @@ eureka: | ||
22 | client: | 22 | client: |
23 | service-url: | 23 | service-url: |
24 | # defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ | 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,7 +11,7 @@ | ||
11 | <select id="selectKqTemplate" resultMap="TemplateMap"> | 11 | <select id="selectKqTemplate" resultMap="TemplateMap"> |
12 | select XA_KqTemplate.config , XA_KqTemplate.SchoolId ,SZ_School.MsgTypes as type from XA_KqTemplate | 12 | select XA_KqTemplate.config , XA_KqTemplate.SchoolId ,SZ_School.MsgTypes as type from XA_KqTemplate |
13 | join SZ_School on XA_KqTemplate.SchoolId = SZ_School.school_id | 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 | and (SZ_School.MsgTypes like '%4%' or SZ_School.MsgTypes like '%5%') | 15 | and (SZ_School.MsgTypes like '%4%' or SZ_School.MsgTypes like '%5%') |
16 | and SZ_School.IsPush =1 | 16 | and SZ_School.IsPush =1 |
17 | </select> | 17 | </select> |
@@ -36,6 +36,13 @@ | @@ -36,6 +36,13 @@ | ||
36 | where a.role_state=1 and SZ_UserRole.userType = 0 | 36 | where a.role_state=1 and SZ_UserRole.userType = 0 |
37 | </select> | 37 | </select> |
38 | 38 | ||
39 | + <select id="selectChamberTeacher" parameterType="java.lang.Integer" resultMap="TeacherMap"> | ||
40 | + select distinct a.user_id,a.school_id,a.name,a.mobile,a.face,a.pass, a.OpenId,a.QiYeHaoUserId,a.DingUserId | ||
41 | + from SS_Room join SS_RoomManager on SS_Room.Id = SS_RoomManager.RoomId | ||
42 | + join SZ_V_School_Teacher a on a.user_id = SS_RoomManager.ManagerId | ||
43 | + where SS_Room.SchoolId = #{schoolId} and SS_Room.Status = 1 | ||
44 | + </select> | ||
45 | + | ||
39 | <resultMap id="AppMap" type="com.sincere.common.dto.smartCampus.AppDto"> | 46 | <resultMap id="AppMap" type="com.sincere.common.dto.smartCampus.AppDto"> |
40 | <result column="AgentId" property="agentId"/> | 47 | <result column="AgentId" property="agentId"/> |
41 | <result column="AgentSecret" property="agentSecret"/> | 48 | <result column="AgentSecret" property="agentSecret"/> |
@@ -45,13 +52,18 @@ | @@ -45,13 +52,18 @@ | ||
45 | and ApplyName = '智能校卫' | 52 | and ApplyName = '智能校卫' |
46 | </select> | 53 | </select> |
47 | 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 | + | ||
48 | <resultMap id="KqMap" type="com.sincere.common.dto.smartCampus.CensusKqDto"> | 59 | <resultMap id="KqMap" type="com.sincere.common.dto.smartCampus.CensusKqDto"> |
60 | + <result column="class_id" property="classId"/> | ||
49 | <result column="class_name" property="className"/> | 61 | <result column="class_name" property="className"/> |
50 | <result column="allT" property="allT"/> | 62 | <result column="allT" property="allT"/> |
51 | <result column="kqT" property="kqT"/> | 63 | <result column="kqT" property="kqT"/> |
52 | </resultMap> | 64 | </resultMap> |
53 | <select id="selectCensusKq" parameterType="java.util.Map" resultMap="KqMap"> | 65 | <select id="selectCensusKq" parameterType="java.util.Map" resultMap="KqMap"> |
54 | - select distinct b.class_name, | 66 | + select distinct b.class_id , b.class_name, |
55 | (select count(distinct user_id) from SZ_V_School_Student x where c.class_id=x.class_id) as allT, | 67 | (select count(distinct user_id) from SZ_V_School_Student x where c.class_id=x.class_id) as allT, |
56 | (select count(distinct customerid) from dblan27.xiaoanhxy.dbo.${tableName} y | 68 | (select count(distinct customerid) from dblan27.xiaoanhxy.dbo.${tableName} y |
57 | where convert(varchar(10),y.intime,120)=convert(varchar(10),getdate(),120) and y.class_id=c.class_id and y.card_type=#{type}) as kqT | 69 | where convert(varchar(10),y.intime,120)=convert(varchar(10),getdate(),120) and y.class_id=c.class_id and y.card_type=#{type}) as kqT |
@@ -60,4 +72,96 @@ | @@ -60,4 +72,96 @@ | ||
60 | inner join SZ_V_School_Teacher a on a.user_id=c.user_id and c.usertype=0 | 72 | inner join SZ_V_School_Teacher a on a.user_id=c.user_id and c.usertype=0 |
61 | where a.role_state=1 and a.user_id=#{userId} | 73 | where a.role_state=1 and a.user_id=#{userId} |
62 | </select> | 74 | </select> |
75 | + | ||
76 | + <select id="selectClassDealDateCHUQIN" parameterType="java.util.Map" resultType="java.lang.Integer"> | ||
77 | + select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id | ||
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 = '请假' | ||
86 | + and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 ) | ||
87 | + and SZ_V_School_Student.class_id = #{classId} | ||
88 | + </select> | ||
89 | + | ||
90 | + <select id="selectClassLeave" parameterType="java.util.Map" resultType="java.lang.Integer"> | ||
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} | ||
93 | + and SZ_V_School_Student.class_id = #{classId} | ||
94 | + </select> | ||
95 | + | ||
96 | + <resultMap id="ChamberMap" type="com.sincere.smartSearch.model.KqChamber"> | ||
97 | + <result column="Id" property="id"/> | ||
98 | + <result column="name" property="name"/> | ||
99 | + </resultMap> | ||
100 | + <select id="selectChamberName" parameterType="java.lang.String" resultMap="ChamberMap"> | ||
101 | + select SS_Room.Id , SS_Room.name as name from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId | ||
102 | + where SS_RoomManager.ManagerId = #{userId} | ||
103 | + </select> | ||
104 | + | ||
105 | + <select id="selectChamberAllKq" parameterType="java.util.Map" resultType="java.lang.Integer"> | ||
106 | + select count(0) as allT from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid | ||
107 | + where SS_Room.Pid in ( | ||
108 | + select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId | ||
109 | + where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id} | ||
110 | + ) and SS_RoomNumber.StudentId != 0 | ||
111 | + </select> | ||
112 | + | ||
113 | + <select id="selectChamberTrueKq" parameterType="java.util.Map" resultType="java.lang.Integer"> | ||
114 | + SELECT COUNT ( DISTINCT customerid ) AS kqT FROM dblan27.xiaoanhxy.dbo.${tableName} y | ||
115 | + WHERE CONVERT ( VARCHAR ( 10 ), y.intime, 120 ) = CONVERT ( VARCHAR ( 10 ), getdate(), 120 ) | ||
116 | + AND y.card_type= #{type} | ||
117 | + AND y.customerId IN ( | ||
118 | + SELECT SS_RoomNumber.StudentId AS customerId | ||
119 | + FROM SS_RoomNumber JOIN SS_Room ON SS_Room.Id = SS_RoomNumber.Pid | ||
120 | + WHERE SS_Room.Pid IN ( | ||
121 | + SELECT SS_Room.ID FROM SS_RoomManager JOIN SS_Room ON SS_Room.Id = SS_RoomManager.RoomId | ||
122 | + WHERE SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id} | ||
123 | + ) | ||
124 | + AND SS_RoomNumber.StudentId != 0 | ||
125 | + ) | ||
126 | + </select> | ||
127 | + | ||
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"> | ||
142 | + select count(0) from EQ_DealData join SZ_V_School_Student on EQ_DealData.UserId = SZ_V_School_Student.user_id | ||
143 | + where EQ_DealData.DealState ='请假' | ||
144 | + and EQ_DealData.TemplateId = #{templateId} and DealDate = CONVERT ( VARCHAR ( 10 ), getdate(), 120 ) | ||
145 | + and SZ_V_School_Student.student_id in ( | ||
146 | + select SS_RoomNumber.StudentId from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid | ||
147 | + where SS_Room.Pid in ( | ||
148 | + select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId | ||
149 | + where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id} | ||
150 | + ) and SS_RoomNumber.StudentId != 0 | ||
151 | + ) | ||
152 | + </select> | ||
153 | + | ||
154 | + <select id="selectChamberLeave" parameterType="java.util.Map" resultType="java.lang.Integer"> | ||
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} | ||
157 | + and SZ_V_School_Student.student_id in ( | ||
158 | + select SS_RoomNumber.StudentId from SS_Room join SS_RoomNumber on SS_Room.Id = SS_RoomNumber.Pid | ||
159 | + where SS_Room.Pid in ( | ||
160 | + select SS_Room.ID from SS_RoomManager join SS_Room on SS_Room.Id = SS_RoomManager.RoomId | ||
161 | + where SS_RoomManager.ManagerId = #{userId} and SS_Room.Id = ${id} | ||
162 | + ) and SS_RoomNumber.StudentId != 0 | ||
163 | + ) | ||
164 | + </select> | ||
165 | + | ||
166 | + | ||
63 | </mapper> | 167 | </mapper> |