瀏覽代碼

1.移动daunt查询未测量人员接口修改。
2.未测量提醒根据上下班区分提醒内容。

tomatozq 5 年之前
父節點
當前提交
c6c477e28d

+ 1 - 1
common/src/main/java/com/jpsoft/smart/modules/base/service/PersonDeviceLogService.java

@@ -35,6 +35,6 @@ public interface PersonDeviceLogService {
     PersonDeviceLog get(String id);
     PersonDeviceLog get(String id);
 
 
 
 
-    List<PersonInfo> queryUnAttendanceList(String companyId, Date startTime, Date endTime);
+    List<PersonInfo> queryUnAttendanceList(String companyCode, Date startTime, Date endTime);
     List<PersonInfo> queryAttendanceList(String companyCode, Date toDate, Date toDate1);
     List<PersonInfo> queryAttendanceList(String companyCode, Date toDate, Date toDate1);
 }
 }

+ 26 - 10
web/src/main/java/com/jpsoft/smart/modules/mobile/controller/PersonDeviceFilterLogController.java

@@ -38,6 +38,9 @@ public class PersonDeviceFilterLogController {
     @Autowired
     @Autowired
     private PersonInfoService personInfoService;
     private PersonInfoService personInfoService;
 
 
+    @Autowired
+    private CompanyInfoService companyInfoService;
+
     @Autowired
     @Autowired
     private AlarmConfigService alarmConfigService;
     private AlarmConfigService alarmConfigService;
 
 
@@ -173,26 +176,39 @@ public class PersonDeviceFilterLogController {
 
 
         try{
         try{
             PersonInfo personInfo = personInfoService.get(Long.valueOf(subject));
             PersonInfo personInfo = personInfoService.get(Long.valueOf(subject));
+            CompanyInfo companyInfo = companyInfoService.get(personInfo.getCompanyId());
+
+            String[] arr = companyInfo.getCode().split(",");
+
+            List<AlarmConfig> configList = null;
 
 
-            List<AlarmConfig> configList = alarmConfigService.findByCompanyId(personInfo.getCompanyId());
+            for (int i=arr.length-1;i>=0;i--) {
+                configList = alarmConfigService.findByCompanyId(personInfo.getCompanyId());
+
+                if (configList!=null && configList.size()>0){
+                    break;
+                }
+            }
 
 
             String dateStr = new DateTime(queryDate).toString("yyyy-MM-dd");
             String dateStr = new DateTime(queryDate).toString("yyyy-MM-dd");
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
 
 
             List<Map> mapList = new ArrayList<>();
             List<Map> mapList = new ArrayList<>();
 
 
-            for (AlarmConfig alarmConfig: configList) {
-                Map<String,Object> map = new HashMap<>();
-                DateTime startTime = new DateTime(sdf.parse(dateStr + " " + alarmConfig.getStartTime()));
-                DateTime endTime = new DateTime(sdf.parse(dateStr + " " + alarmConfig.getEndTime()));
+            if(configList!=null) {
+                for (AlarmConfig alarmConfig : configList) {
+                    Map<String, Object> map = new HashMap<>();
+                    DateTime startTime = new DateTime(sdf.parse(dateStr + " " + alarmConfig.getStartTime()));
+                    DateTime endTime = new DateTime(sdf.parse(dateStr + " " + alarmConfig.getEndTime()));
 
 
-                List<PersonInfo> unmeasuredList = personDeviceLogService.queryUnAttendanceList(personInfo.getCompanyId(),startTime.toDate(),endTime.toDate());
+                    List<PersonInfo> unmeasuredList = personDeviceLogService.queryUnAttendanceList(companyInfo.getCode() + "%", startTime.toDate(), endTime.toDate());
 
 
-                map.put("startTime",alarmConfig.getStartTime());
-                map.put("endTime",alarmConfig.getEndTime());
-                map.put("list",unmeasuredList);
+                    map.put("startTime", alarmConfig.getStartTime());
+                    map.put("endTime", alarmConfig.getEndTime());
+                    map.put("list", unmeasuredList);
 
 
-                mapList.add(map);
+                    mapList.add(map);
+                }
             }
             }
 
 
             msgResult.setData(mapList);
             msgResult.setData(mapList);

+ 10 - 4
web/src/main/java/com/jpsoft/smart/schduled/UnmeasureTemperatureAlarmTask.java

@@ -134,7 +134,7 @@ public class UnmeasureTemperatureAlarmTask {
                     //todo 考勤时间提前10分钟通知人员
                     //todo 考勤时间提前10分钟通知人员
                     if (now.compareTo(alarmTime)>=0 && now.compareTo(alarmTime.plusMinutes(intervalMinute))<0) {
                     if (now.compareTo(alarmTime)>=0 && now.compareTo(alarmTime.plusMinutes(intervalMinute))<0) {
                             //todo 通知个人
                             //todo 通知个人
-                            noticePerson(alarmConfig,startTime,attendanceTime);
+                            noticePerson(alarmConfig,startTime,attendanceTime,endTime);
                     }
                     }
 
 
                     //todo 考勤时间已到
                     //todo 考勤时间已到
@@ -272,7 +272,7 @@ public class UnmeasureTemperatureAlarmTask {
     }
     }
 
 
     @Async
     @Async
-    public void noticePerson(AlarmConfig alarmConfig, DateTime startTime, DateTime endTime) {
+    public void noticePerson(AlarmConfig alarmConfig, DateTime startTime, DateTime attendanceTime,DateTime endTime) {
         CompanyInfo companyInfo = companyInfoService.get(alarmConfig.getCompanyId());
         CompanyInfo companyInfo = companyInfoService.get(alarmConfig.getCompanyId());
 
 
         String companyCode = companyInfo.getCode();
         String companyCode = companyInfo.getCode();
@@ -293,8 +293,14 @@ public class UnmeasureTemperatureAlarmTask {
             if (personInfo.getWechatNoticeEnabled()!=null
             if (personInfo.getWechatNoticeEnabled()!=null
             && personInfo.getWechatNoticeEnabled()
             && personInfo.getWechatNoticeEnabled()
             && StringUtils.isNotEmpty(personInfo.getOpenId())) {
             && StringUtils.isNotEmpty(personInfo.getOpenId())) {
-                String message = "尊敬的用户:" + personInfo.getName()
-                        + ",请在" + startTime.toString("HH:mm") + "至" + endTime.toString("HH:mm") + "时间内测量体温!";
+                String message = "尊敬的用户:" + personInfo.getName();
+
+                if (alarmConfig.getClassifier()!=null && alarmConfig.getClassifier().equals(1)){
+                    message += ",请在" + startTime.toString("HH:mm") + "至" + attendanceTime.toString("HH:mm") + "时间内测量体温!";
+                }
+                else{
+                    message += ",请在" + attendanceTime.toString("HH:mm") + "至" + endTime.toString("HH:mm") + "时间内测量体温!";
+                }
 
 
                 WechatMessageUtil.sendUnmeasureAlarmInfo(personInfo.getOpenId(), companyInfo.getName(), message, wxConfig.getAppId(), wxConfig.getAppSecret());
                 WechatMessageUtil.sendUnmeasureAlarmInfo(personInfo.getOpenId(), companyInfo.getName(), message, wxConfig.getAppId(), wxConfig.getAppSecret());
             }
             }