bug修复

This commit is contained in:
guo 2024-04-10 19:05:46 +08:00
parent fe62c751cb
commit 9f2ea46f03
5 changed files with 51 additions and 16 deletions

View File

@ -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"));

View File

@ -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<String, Object> paramMap) {
String projectSn = MapUtils.getString(paramMap, "projectSn");
workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn);
return Result.ok();
}
}
}

View File

@ -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<WorkerAttendancePresence> {
void addWorkerAttendancePresence(WorkerAttendance workerAttendance);
/**
* 更新今日在场人员列表
*
* @param projectSn
*/
void addNowAllWorkerAttendancePresence(String projectSn);
}

View File

@ -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<EnterpriseInfoMapper,
private AsyncJiLianDa asyncJiLianDa;
@Autowired
private AsyncHikvision asyncHikvision;
@Autowired
private DepartmentInfoMapper departmentInfoMapper;
@Override
public List<EntityMap> getEnterpriseInfoList(Map<String, Object> map) {
@ -137,6 +141,11 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
if (count > 0) {
throw new OpenAlertException(MessageUtil.get("notDeleteEnterpriseErr"));
}
Integer dCount = departmentInfoMapper.selectCount(new LambdaQueryWrapper<DepartmentInfo>()
.eq(DepartmentInfo::getEnterpriseId, enterpriseId));
if (dCount > 0) {
throw new OpenAlertException("企业下存在部门,不允许删除");
}
QueryWrapper<ProjectEnterprise> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProjectEnterprise::getEnterpriseId, enterpriseId)
.eq(ProjectEnterprise::getProjectSn, projectSn);

View File

@ -1018,7 +1018,6 @@ status 状态码 String 1表示成功其余表示失败
ArrayList<NumberTimeTableVo> rtList = new ArrayList<>();
List<String> allHourInDay = DateUtils.getDateTimeStrList(100, "HH:mm");
Set<String> inSet = new HashSet<>();
Set<String> outSet = new HashSet<>();
for (String hour : allHourInDay) {
List<WorkerAttendance> 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);