|
|
@@ -1,6 +1,7 @@
|
|
|
package com.template.controller;
|
|
|
|
|
|
|
|
|
+import com.alibaba.druid.sql.visitor.functions.If;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
@@ -15,10 +16,7 @@ import com.template.config.ControlConfig;
|
|
|
import com.template.model.pojo.*;
|
|
|
import com.template.model.result.CommonResult;
|
|
|
import com.template.model.result.PageUtils;
|
|
|
-import com.template.model.vo.AskForLeaveScreenVo;
|
|
|
-import com.template.model.vo.FaceManagementVo;
|
|
|
-import com.template.model.vo.LastSevenDaysTrackVo;
|
|
|
-import com.template.model.vo.SmartAccessVo;
|
|
|
+import com.template.model.vo.*;
|
|
|
import com.template.services.*;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
|
@@ -95,6 +93,9 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
@Autowired
|
|
|
SmartPushConfigService smartPushConfigService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ SmartCoordService smartCoordService;
|
|
|
+
|
|
|
@Override
|
|
|
@DESRespondSecret(validated = true)
|
|
|
public CommonResult track(Integer id, int dateTime) {
|
|
|
@@ -106,10 +107,15 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
List<SmartFaceDiscern> smartFaceDiscerns = smartFaceDiscernService.track(stateTime, endTime, id);
|
|
|
ArrayList<LastSevenDaysTrackVo> vos = new ArrayList<>();
|
|
|
for (SmartFaceDiscern faceDiscern : smartFaceDiscerns) {
|
|
|
+ // 人脸通过type查询对应的坐标
|
|
|
+ SmartCoord smartCoord=smartCoordService.getBytype(faceDiscern.getLocation());
|
|
|
LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
+ if (ObjectUtils.isNotEmpty(smartCoord)) {
|
|
|
+ lastSevenDaysTrackVo.setLocation(smartCoord.getType());
|
|
|
+ }
|
|
|
lastSevenDaysTrackVo.setName(faceDiscern.getName());
|
|
|
lastSevenDaysTrackVo.setType(faceDiscern.getType());
|
|
|
- lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
|
|
|
+// lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
|
|
|
lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
|
|
|
lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
|
|
|
vos.add(lastSevenDaysTrackVo);
|
|
|
@@ -120,12 +126,29 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
SmartUser smartUser = smartUserService.getSmartById(id);
|
|
|
SmartClass smartClass = smartClassService.getSmartClassById(smartUser.getSchoolClass());
|
|
|
String className = smartClass.getName();
|
|
|
+ // 通过班级找到对应的坐标
|
|
|
+ SmartCoord coord=smartCoordService.getBytype(className);
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
for (SmartAttendance attendance : attendances) {
|
|
|
LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
+ if (ObjectUtils.isNotEmpty(coord)) {
|
|
|
+ lastSevenDaysTrackVo.setLocation(coord.getType());
|
|
|
+ }
|
|
|
+
|
|
|
lastSevenDaysTrackVo.setName(attendance.getXwUserName());
|
|
|
- lastSevenDaysTrackVo.setType("打卡");
|
|
|
- lastSevenDaysTrackVo.setLocation(className);
|
|
|
+ Integer status = attendance.getStatus();
|
|
|
+ if (status==0) {
|
|
|
+ lastSevenDaysTrackVo.setType("准时打卡");
|
|
|
+ }else if (1==status){
|
|
|
+ lastSevenDaysTrackVo.setType("迟到打卡");
|
|
|
+ }else if (7==status){
|
|
|
+ lastSevenDaysTrackVo.setType("超时打卡");
|
|
|
+ }else if (6==status){
|
|
|
+ lastSevenDaysTrackVo.setType("请假");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// lastSevenDaysTrackVo.setLocation(className);
|
|
|
Date attendTime = attendance.getAttendTime();
|
|
|
lastSevenDaysTrackVo.setDateTime(sdf.format(attendTime));
|
|
|
vos.add(lastSevenDaysTrackVo);
|
|
|
@@ -134,10 +157,18 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
// 门禁信息
|
|
|
List<SmartAccess> smartAccesses = smartAccessService.track(stateTime, endTime, id);
|
|
|
for (SmartAccess faceDiscern : smartAccesses) {
|
|
|
+ // 门禁的通过type找到对应的坐标
|
|
|
+ SmartCoord smartCoord=smartCoordService.getBytype(faceDiscern.getType());
|
|
|
+
|
|
|
LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
+
|
|
|
+ if (ObjectUtils.isNotEmpty(smartCoord)) {
|
|
|
+ lastSevenDaysTrackVo.setLocation(smartCoord.getType());
|
|
|
+ }
|
|
|
+
|
|
|
lastSevenDaysTrackVo.setName(faceDiscern.getName());
|
|
|
lastSevenDaysTrackVo.setType(faceDiscern.getType());
|
|
|
- lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
|
|
|
+// lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
|
|
|
lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
|
|
|
lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
|
|
|
vos.add(lastSevenDaysTrackVo);
|
|
|
@@ -217,10 +248,20 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
SmartClass smartClass = smartClassService.getSmartClassById(smartUser.getSchoolClass());
|
|
|
String className = smartClass.getName();
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
for (SmartAttendance attendance : attendances) {
|
|
|
LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
lastSevenDaysTrackVo.setName(attendance.getXwUserName());
|
|
|
- lastSevenDaysTrackVo.setType("打卡");
|
|
|
+ Integer status = attendance.getStatus();
|
|
|
+ if (status==0) {
|
|
|
+ lastSevenDaysTrackVo.setType("准时打卡");
|
|
|
+ }else if (1==status){
|
|
|
+ lastSevenDaysTrackVo.setType("迟到打卡");
|
|
|
+ }else if (7==status){
|
|
|
+ lastSevenDaysTrackVo.setType("超时打卡");
|
|
|
+ }else if (6==status){
|
|
|
+ lastSevenDaysTrackVo.setType("请假");
|
|
|
+ }
|
|
|
lastSevenDaysTrackVo.setLocation(className);
|
|
|
Date attendTime = attendance.getAttendTime();
|
|
|
lastSevenDaysTrackVo.setDateTime(sdf.format(attendTime));
|
|
|
@@ -493,17 +534,23 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
@Override
|
|
|
@DESRespondSecret(validated = true)
|
|
|
public CommonResult selectTrack(Integer userId, String startTime, String endTime) {
|
|
|
- ArrayList<LastSevenDaysTrackVo> vos = new ArrayList<>();
|
|
|
+ ArrayList<SelectTrackVo> vos = new ArrayList<>();
|
|
|
// 人脸抓拍
|
|
|
List<SmartFaceDiscern> faceDiscerns = smartFaceDiscernService.track(startTime, endTime, userId);
|
|
|
for (SmartFaceDiscern faceDiscern : faceDiscerns) {
|
|
|
- LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
- lastSevenDaysTrackVo.setName(faceDiscern.getName());
|
|
|
- lastSevenDaysTrackVo.setType(faceDiscern.getType());
|
|
|
- lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
|
|
|
- lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
|
|
|
- lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
|
|
|
- vos.add(lastSevenDaysTrackVo);
|
|
|
+// 人脸通过type查询对应的坐标
|
|
|
+ SmartCoord smartCoord=smartCoordService.getBytype(faceDiscern.getLocation());
|
|
|
+ SelectTrackVo vo = new SelectTrackVo();
|
|
|
+ if (ObjectUtils.isNotEmpty(smartCoord)) {
|
|
|
+ vo.setX(smartCoord.getX());
|
|
|
+ vo.setY(smartCoord.getY());
|
|
|
+ vo.setLocation(smartCoord.getType());
|
|
|
+ }
|
|
|
+ vo.setName(faceDiscern.getName());
|
|
|
+ vo.setType(faceDiscern.getType());
|
|
|
+ vo.setImage(faceDiscern.getImage());
|
|
|
+ vo.setDateTime(faceDiscern.getDateTime());
|
|
|
+ vos.add(vo);
|
|
|
}
|
|
|
|
|
|
// 打卡
|
|
|
@@ -513,26 +560,48 @@ public class SmartFaceDiscernController implements SmartFaceDiscernControllerAPI
|
|
|
SmartClass smartClass = smartClassService.getSmartClassById(smartUser.getSchoolClass());
|
|
|
String className = smartClass.getName();
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ // 通过班级找到对应的坐标
|
|
|
+ SmartCoord coord=smartCoordService.getBytype(className);
|
|
|
for (SmartAttendance attendance : attendances) {
|
|
|
- LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
- lastSevenDaysTrackVo.setName(attendance.getXwUserName());
|
|
|
- lastSevenDaysTrackVo.setType("打卡");
|
|
|
- lastSevenDaysTrackVo.setLocation(className);
|
|
|
+ SelectTrackVo vo = new SelectTrackVo();
|
|
|
+ if (ObjectUtils.isNotEmpty(coord)) {
|
|
|
+ vo.setX(coord.getX());
|
|
|
+ vo.setY(coord.getY());
|
|
|
+ vo.setLocation(coord.getType());
|
|
|
+ }
|
|
|
+ vo.setName(attendance.getXwUserName());
|
|
|
+ Integer status = attendance.getStatus();
|
|
|
+ if (status==0) {
|
|
|
+ vo.setType("准时打卡");
|
|
|
+ }else if (1==status){
|
|
|
+ vo.setType("迟到打卡");
|
|
|
+ }else if (7==status){
|
|
|
+ vo.setType("超时打卡");
|
|
|
+ }else if (6==status){
|
|
|
+ vo.setType("请假");
|
|
|
+ }
|
|
|
Date attendTime = attendance.getAttendTime();
|
|
|
- lastSevenDaysTrackVo.setDateTime(sdf.format(attendTime));
|
|
|
- vos.add(lastSevenDaysTrackVo);
|
|
|
+ vo.setDateTime(sdf.format(attendTime));
|
|
|
+ vos.add(vo);
|
|
|
}
|
|
|
|
|
|
// 门禁信息
|
|
|
List<SmartAccess> smartAccesses = smartAccessService.track(startTime, endTime, userId);
|
|
|
- for (SmartAccess faceDiscern : smartAccesses) {
|
|
|
- LastSevenDaysTrackVo lastSevenDaysTrackVo = new LastSevenDaysTrackVo();
|
|
|
- lastSevenDaysTrackVo.setName(faceDiscern.getName());
|
|
|
- lastSevenDaysTrackVo.setType(faceDiscern.getType());
|
|
|
- lastSevenDaysTrackVo.setLocation(faceDiscern.getLocation());
|
|
|
- lastSevenDaysTrackVo.setImage(faceDiscern.getImage());
|
|
|
- lastSevenDaysTrackVo.setDateTime(faceDiscern.getDateTime());
|
|
|
- vos.add(lastSevenDaysTrackVo);
|
|
|
+ for (SmartAccess smartAccesse : smartAccesses) {
|
|
|
+ // 门禁的通过type找到对应的坐标
|
|
|
+ SmartCoord smartCoord=smartCoordService.getBytype(smartAccesse.getType());
|
|
|
+ SelectTrackVo vo = new SelectTrackVo();
|
|
|
+ if (ObjectUtils.isNotEmpty(smartCoord)) {
|
|
|
+ vo.setX(smartCoord.getX());
|
|
|
+ vo.setY(smartCoord.getY());
|
|
|
+ vo.setLocation(smartCoord.getType());
|
|
|
+ }
|
|
|
+ vo.setName(smartAccesse.getName());
|
|
|
+ vo.setType(smartAccesse.getType());
|
|
|
+ vo.setImage(smartAccesse.getImage());
|
|
|
+ vo.setDateTime(smartAccesse.getDateTime());
|
|
|
+
|
|
|
+ vos.add(vo);
|
|
|
}
|
|
|
|
|
|
// 排序
|