bug修复
This commit is contained in:
parent
fe62c751cb
commit
9f2ea46f03
@ -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.EnterpriseInfoMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
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.IWorkerAttendanceService;
|
||||||
import com.zhgd.xmgl.modules.worker.service.impl.WorkerAttendanceServiceImpl;
|
import com.zhgd.xmgl.modules.worker.service.impl.WorkerAttendanceServiceImpl;
|
||||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||||
@ -72,6 +73,9 @@ public class HikvisionCall {
|
|||||||
private IWorkerAttendanceService workerAttendanceService;
|
private IWorkerAttendanceService workerAttendanceService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@Lazy
|
@Lazy
|
||||||
|
private IWorkerAttendancePresenceService workerAttendancePresenceService;
|
||||||
|
@Autowired
|
||||||
|
@Lazy
|
||||||
private WorkerInfoMapper workerInfoMapper;
|
private WorkerInfoMapper workerInfoMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
@Lazy
|
@Lazy
|
||||||
@ -336,7 +340,9 @@ public class HikvisionCall {
|
|||||||
}
|
}
|
||||||
} while (total > 0);
|
} while (total > 0);
|
||||||
}
|
}
|
||||||
|
workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn);
|
||||||
}
|
}
|
||||||
|
log.info("服务挂了主动获取门禁点事件的人员通行记录执行完成,startTime:{},endTime:{}", startTime, endTime);
|
||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1615,7 +1621,7 @@ public class HikvisionCall {
|
|||||||
String host = "https://" + project.getArtemisConfigHost();
|
String host = "https://" + project.getArtemisConfigHost();
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
jo.put("pageNo", param.getIntValue("pageNo"));
|
jo.put("pageNo", param.getIntValue("pageNo"));
|
||||||
jo.put("pageSize", 500);
|
jo.put("pageSize", 1000);
|
||||||
//ISO8601时间格式
|
//ISO8601时间格式
|
||||||
jo.put("startTime", param.getString("startTime"));
|
jo.put("startTime", param.getString("startTime"));
|
||||||
jo.put("endTime", param.getString("endTime"));
|
jo.put("endTime", param.getString("endTime"));
|
||||||
|
|||||||
@ -1,11 +1,21 @@
|
|||||||
package com.zhgd.xmgl.modules.worker.controller;
|
package com.zhgd.xmgl.modules.worker.controller;
|
||||||
|
|
||||||
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService;
|
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService;
|
||||||
import io.swagger.annotations.Api;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -23,5 +33,15 @@ public class WorkerAttendancePresenceController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IWorkerAttendancePresenceService workerAttendancePresenceService;
|
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();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
package com.zhgd.xmgl.modules.worker.service;
|
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.WorkerAttendance;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendancePresence;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendancePresence;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 考勤当前在场的人
|
* @Description: 考勤当前在场的人
|
||||||
@ -14,5 +14,10 @@ public interface IWorkerAttendancePresenceService extends IService<WorkerAttenda
|
|||||||
|
|
||||||
void addWorkerAttendancePresence(WorkerAttendance workerAttendance);
|
void addWorkerAttendancePresence(WorkerAttendance workerAttendance);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新今日在场人员列表
|
||||||
|
*
|
||||||
|
* @param projectSn
|
||||||
|
*/
|
||||||
void addNowAllWorkerAttendancePresence(String projectSn);
|
void addNowAllWorkerAttendancePresence(String projectSn);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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.entity.ProjectEnterprise;
|
||||||
import com.zhgd.xmgl.modules.project.mapper.ProjectEnterpriseMapper;
|
import com.zhgd.xmgl.modules.project.mapper.ProjectEnterpriseMapper;
|
||||||
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
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.EnterpriseInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.SjEnterpriseInfo;
|
import com.zhgd.xmgl.modules.worker.entity.SjEnterpriseInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.TeamInfo;
|
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.EnterpriseInfoMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.mapper.TeamInfoMapper;
|
import com.zhgd.xmgl.modules.worker.mapper.TeamInfoMapper;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService;
|
import com.zhgd.xmgl.modules.worker.service.IEnterpriseInfoService;
|
||||||
@ -64,6 +66,8 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
|
|||||||
private AsyncJiLianDa asyncJiLianDa;
|
private AsyncJiLianDa asyncJiLianDa;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AsyncHikvision asyncHikvision;
|
private AsyncHikvision asyncHikvision;
|
||||||
|
@Autowired
|
||||||
|
private DepartmentInfoMapper departmentInfoMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<EntityMap> getEnterpriseInfoList(Map<String, Object> map) {
|
public List<EntityMap> getEnterpriseInfoList(Map<String, Object> map) {
|
||||||
@ -137,6 +141,11 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
|
|||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
throw new OpenAlertException(MessageUtil.get("notDeleteEnterpriseErr"));
|
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<ProjectEnterprise> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.lambda().eq(ProjectEnterprise::getEnterpriseId, enterpriseId)
|
queryWrapper.lambda().eq(ProjectEnterprise::getEnterpriseId, enterpriseId)
|
||||||
.eq(ProjectEnterprise::getProjectSn, projectSn);
|
.eq(ProjectEnterprise::getProjectSn, projectSn);
|
||||||
|
|||||||
@ -1018,7 +1018,6 @@ status 状态码 String 1表示成功;其余表示失败
|
|||||||
ArrayList<NumberTimeTableVo> rtList = new ArrayList<>();
|
ArrayList<NumberTimeTableVo> rtList = new ArrayList<>();
|
||||||
List<String> allHourInDay = DateUtils.getDateTimeStrList(100, "HH:mm");
|
List<String> allHourInDay = DateUtils.getDateTimeStrList(100, "HH:mm");
|
||||||
Set<String> inSet = new HashSet<>();
|
Set<String> inSet = new HashSet<>();
|
||||||
Set<String> outSet = new HashSet<>();
|
|
||||||
for (String hour : allHourInDay) {
|
for (String hour : allHourInDay) {
|
||||||
List<WorkerAttendance> workerAttendances = timeDateListMap.get(hour);
|
List<WorkerAttendance> workerAttendances = timeDateListMap.get(hour);
|
||||||
NumberTimeTableVo vo = new NumberTimeTableVo();
|
NumberTimeTableVo vo = new NumberTimeTableVo();
|
||||||
@ -1031,20 +1030,16 @@ status 状态码 String 1表示成功;其余表示失败
|
|||||||
});
|
});
|
||||||
for (WorkerAttendance workerAttendance : workerAttendances) {
|
for (WorkerAttendance workerAttendance : workerAttendances) {
|
||||||
if (Objects.equals(workerAttendance.getPassType(), 1)) {
|
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)) {
|
} else if (Objects.equals(workerAttendance.getPassType(), 2)) {
|
||||||
if (!inSet.remove(workerAttendance.getPersonSn())) {
|
inSet.remove(workerAttendance.getPersonSn());
|
||||||
outSet.add(workerAttendance.getPersonSn());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (DateUtil.parse(nowHour).compareTo(DateUtil.parse(hour)) < 0) {
|
if (DateUtil.parse(nowHour).compareTo(DateUtil.parse(hour)) < 0) {
|
||||||
vo.setNum(null);
|
vo.setNum(null);
|
||||||
} else {
|
} else {
|
||||||
vo.setNum(Math.max(inSet.size() - outSet.size(), 0));
|
vo.setNum(Math.max(inSet.size(), 0));
|
||||||
}
|
}
|
||||||
vo.setTime(hour);
|
vo.setTime(hour);
|
||||||
rtList.add(vo);
|
rtList.add(vo);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user