From 9f2ea46f0336b9a6c91231d44d6fb754144f8f20 Mon Sep 17 00:00:00 2001 From: guo Date: Wed, 10 Apr 2024 19:05:46 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/call/HikvisionCall.java | 8 ++++- .../WorkerAttendancePresenceController.java | 30 +++++++++++++++---- .../IWorkerAttendancePresenceService.java | 9 ++++-- .../impl/EnterpriseInfoServiceImpl.java | 9 ++++++ .../impl/WorkerAttendanceServiceImpl.java | 11 ++----- 5 files changed, 51 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 46fcbd96f..f299ab155 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -28,6 +28,7 @@ import com.zhgd.xmgl.modules.worker.entity.*; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; +import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService; import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService; import com.zhgd.xmgl.modules.worker.service.impl.WorkerAttendanceServiceImpl; import com.zhgd.xmgl.security.util.SecurityUtils; @@ -72,6 +73,9 @@ public class HikvisionCall { private IWorkerAttendanceService workerAttendanceService; @Autowired @Lazy + private IWorkerAttendancePresenceService workerAttendancePresenceService; + @Autowired + @Lazy private WorkerInfoMapper workerInfoMapper; @Autowired @Lazy @@ -336,7 +340,9 @@ public class HikvisionCall { } } while (total > 0); } + workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn); } + log.info("服务挂了主动获取门禁点事件的人员通行记录执行完成,startTime:{},endTime:{}", startTime, endTime); return Result.ok(); } @@ -1615,7 +1621,7 @@ public class HikvisionCall { String host = "https://" + project.getArtemisConfigHost(); JSONObject jo = new JSONObject(); jo.put("pageNo", param.getIntValue("pageNo")); - jo.put("pageSize", 500); + jo.put("pageSize", 1000); //ISO8601时间格式 jo.put("startTime", param.getString("startTime")); jo.put("endTime", param.getString("endTime")); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java index 48d1ee366..8107ca7ba 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java @@ -1,18 +1,28 @@ package com.zhgd.xmgl.modules.worker.controller; +import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.HashMap; - /** +/** * @Title: Controller * @Description: 考勤当前在场的人 * @author: pds - * @date: 2020-09-25 + * @date: 2020-09-25 * @version: V1.0 */ @RestController @@ -20,8 +30,18 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j @Api(tags = "考勤当前在场的人相关Api") public class WorkerAttendancePresenceController { - @Autowired - private IWorkerAttendancePresenceService workerAttendancePresenceService; + @Autowired + private IWorkerAttendancePresenceService workerAttendancePresenceService; + @ApiOperation(value = "更新今日在场人员列表", notes = "更新今日在场人员列表", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/addNowAllWorkerAttendancePresence") + public Result addNowAllWorkerAttendancePresence(@ApiIgnore @RequestBody HashMap paramMap) { + String projectSn = MapUtils.getString(paramMap, "projectSn"); + workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn); + return Result.ok(); + } - } +} diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java index ffbc33758..d53207f37 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java @@ -1,18 +1,23 @@ package com.zhgd.xmgl.modules.worker.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendancePresence; -import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 考勤当前在场的人 * @author: pds - * @date: 2020-09-25 + * @date: 2020-09-25 * @version: V1.0 */ public interface IWorkerAttendancePresenceService extends IService { void addWorkerAttendancePresence(WorkerAttendance workerAttendance); + /** + * 更新今日在场人员列表 + * + * @param projectSn + */ void addNowAllWorkerAttendancePresence(String projectSn); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java index 63e2ec7cf..55431ddc9 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/EnterpriseInfoServiceImpl.java @@ -18,9 +18,11 @@ import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.ProjectEnterprise; import com.zhgd.xmgl.modules.project.mapper.ProjectEnterpriseMapper; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; +import com.zhgd.xmgl.modules.worker.entity.DepartmentInfo; import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.SjEnterpriseInfo; import com.zhgd.xmgl.modules.worker.entity.TeamInfo; +import com.zhgd.xmgl.modules.worker.mapper.DepartmentInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper; import com.zhgd.xmgl.modules.worker.mapper.TeamInfoMapper; import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService; @@ -64,6 +66,8 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl getEnterpriseInfoList(Map map) { @@ -137,6 +141,11 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl 0) { throw new OpenAlertException(MessageUtil.get("notDeleteEnterpriseErr")); } + Integer dCount = departmentInfoMapper.selectCount(new LambdaQueryWrapper() + .eq(DepartmentInfo::getEnterpriseId, enterpriseId)); + if (dCount > 0) { + throw new OpenAlertException("企业下存在部门,不允许删除"); + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ProjectEnterprise::getEnterpriseId, enterpriseId) .eq(ProjectEnterprise::getProjectSn, projectSn); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceServiceImpl.java index 429df7f37..a428cd250 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendanceServiceImpl.java @@ -1018,7 +1018,6 @@ status 状态码 String 1表示成功;其余表示失败 ArrayList rtList = new ArrayList<>(); List allHourInDay = DateUtils.getDateTimeStrList(100, "HH:mm"); Set inSet = new HashSet<>(); - Set outSet = new HashSet<>(); for (String hour : allHourInDay) { List workerAttendances = timeDateListMap.get(hour); NumberTimeTableVo vo = new NumberTimeTableVo(); @@ -1031,20 +1030,16 @@ status 状态码 String 1表示成功;其余表示失败 }); for (WorkerAttendance workerAttendance : workerAttendances) { if (Objects.equals(workerAttendance.getPassType(), 1)) { - if (!outSet.remove(workerAttendance.getPersonSn())) { - inSet.add(workerAttendance.getPersonSn()); - } + inSet.add(workerAttendance.getPersonSn()); } else if (Objects.equals(workerAttendance.getPassType(), 2)) { - if (!inSet.remove(workerAttendance.getPersonSn())) { - outSet.add(workerAttendance.getPersonSn()); - } + inSet.remove(workerAttendance.getPersonSn()); } } } if (DateUtil.parse(nowHour).compareTo(DateUtil.parse(hour)) < 0) { vo.setNum(null); } else { - vo.setNum(Math.max(inSet.size() - outSet.size(), 0)); + vo.setNum(Math.max(inSet.size(), 0)); } vo.setTime(hour); rtList.add(vo);