中水北方功能调整
中水北方功能调整
This commit is contained in:
parent
6a2706a31c
commit
d80d6f209e
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||||
|
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -124,4 +125,12 @@ public class QualityRegion implements Serializable {
|
|||||||
@ApiModelProperty(value = "区域设备")
|
@ApiModelProperty(value = "区域设备")
|
||||||
private List<RegionDev> regionDevList;
|
private List<RegionDev> regionDevList;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "人脸设备")
|
||||||
|
private List<UfaceDev> ufaceDevList;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "人脸设备(逗号分割)")
|
||||||
|
private java.lang.String ufaceDevName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,58 @@
|
|||||||
|
package com.zhgd.xmgl.modules.quality.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 区域和人脸设备中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2025-06-12
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("quality_region_to_uface_dev")
|
||||||
|
@ApiModel(value = "QualityRegionToUfaceDev实体类", description = "QualityRegionToUfaceDev")
|
||||||
|
public class QualityRegionToUfaceDev implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 区域id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "区域id")
|
||||||
|
private Long qualityRegionId;
|
||||||
|
/**
|
||||||
|
* 人脸设备id
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "人脸设备id")
|
||||||
|
private Long ufaceDevId;
|
||||||
|
/**
|
||||||
|
* 创建时间 yyyy-MM-dd HH:mm:ss
|
||||||
|
*/
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date createTime;
|
||||||
|
/**
|
||||||
|
* 更新时间 yyyy-MM-dd HH:mm:ss
|
||||||
|
*/
|
||||||
|
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date updateTime;
|
||||||
|
}
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
package com.zhgd.xmgl.modules.quality.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.zhgd.xmgl.modules.quality.entity.QualityRegionToUfaceDev;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 区域和人脸设备中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2025-06-12
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface QualityRegionToUfaceDevMapper extends BaseMapper<QualityRegionToUfaceDev> {
|
||||||
|
}
|
||||||
@ -35,11 +35,26 @@
|
|||||||
<id property="hardwareName" column="hardware_name"/>
|
<id property="hardwareName" column="hardware_name"/>
|
||||||
<id property="hardwareId" column="hardware_id"/>
|
<id property="hardwareId" column="hardware_id"/>
|
||||||
</collection>
|
</collection>
|
||||||
|
<collection property="ufaceDevList"
|
||||||
|
ofType="com.zhgd.xmgl.modules.worker.entity.UfaceDev"
|
||||||
|
notNullColumn="uface_dev_id">
|
||||||
|
<id property="id" column="uface_dev_id"/>
|
||||||
|
<id property="devName" column="dev_name"/>
|
||||||
|
</collection>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="selectQualityRegionList" resultMap="selectQualityRegionListRm">
|
<select id="selectQualityRegionList" resultMap="selectQualityRegionListRm">
|
||||||
SELECT qr.*,ei.id as enterprise_info_id,ei.enterprise_name as
|
SELECT qr.*
|
||||||
enterpriseName,su.user_id,su.real_name,ei.enterprise_sn,qrtaah.ai_analyse_hard_ware_record_id,aahwr.hardware_name,aahwr.hardware_id
|
,ei.id as enterprise_info_id
|
||||||
|
,ei.enterprise_name as enterpriseName
|
||||||
|
,su.user_id
|
||||||
|
,su.real_name
|
||||||
|
,ei.enterprise_sn
|
||||||
|
,qrtaah.ai_analyse_hard_ware_record_id
|
||||||
|
,aahwr.hardware_name
|
||||||
|
,aahwr.hardware_id
|
||||||
|
,ud.dev_name
|
||||||
|
,qrtud.uface_dev_id
|
||||||
from quality_region qr
|
from quality_region qr
|
||||||
LEFT JOIN quality_region_to_enterprise te ON te.quality_region_id=qr.id
|
LEFT JOIN quality_region_to_enterprise te ON te.quality_region_id=qr.id
|
||||||
LEFT JOIN enterprise_info ei on ei.id=te.enterprise_id
|
LEFT JOIN enterprise_info ei on ei.id=te.enterprise_id
|
||||||
@ -48,6 +63,8 @@
|
|||||||
LEFT JOIN system_user su ON su.user_id = qrtu.user_id
|
LEFT JOIN system_user su ON su.user_id = qrtu.user_id
|
||||||
left join quality_region_to_ai_analyse_hard qrtaah on qr.id = qrtaah.quality_region_id
|
left join quality_region_to_ai_analyse_hard qrtaah on qr.id = qrtaah.quality_region_id
|
||||||
left join ai_analyse_hard_ware_record aahwr on aahwr.id=qrtaah.ai_analyse_hard_ware_record_id
|
left join ai_analyse_hard_ware_record aahwr on aahwr.id=qrtaah.ai_analyse_hard_ware_record_id
|
||||||
|
LEFT JOIN quality_region_to_uface_dev qrtud on qr.id = qrtud.quality_region_id
|
||||||
|
left join uface_dev ud on ud.id = qrtud.uface_dev_id
|
||||||
left join project_enterprise pe on pe.enterprise_id = ei.id and pe.project_sn = qr.project_sn
|
left join project_enterprise pe on pe.enterprise_id = ei.id and pe.project_sn = qr.project_sn
|
||||||
left join enterprise_type et on et.id = pe.enterprise_type_id
|
left join enterprise_type et on et.id = pe.enterprise_type_id
|
||||||
WHERE qr.project_sn = #{projectSn}
|
WHERE qr.project_sn = #{projectSn}
|
||||||
|
|||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.zhgd.xmgl.modules.quality.mapper.QualityRegionToUfaceDevMapper">
|
||||||
|
</mapper>
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
package com.zhgd.xmgl.modules.quality.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.zhgd.xmgl.modules.quality.entity.QualityRegionToUfaceDev;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 区域和人脸设备中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2025-06-12
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IQualityRegionToUfaceDevService extends IService<QualityRegionToUfaceDev> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -13,15 +13,18 @@ import com.zhgd.jeecg.common.execption.OpenAlertException;
|
|||||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||||
import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl;
|
import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl;
|
||||||
import com.zhgd.xmgl.modules.quality.entity.*;
|
import com.zhgd.xmgl.modules.quality.entity.*;
|
||||||
import com.zhgd.xmgl.modules.quality.mapper.*;
|
import com.zhgd.xmgl.modules.quality.mapper.QualityRegionMapper;
|
||||||
|
import com.zhgd.xmgl.modules.quality.mapper.QualityRegionToAiAnalyseHardMapper;
|
||||||
|
import com.zhgd.xmgl.modules.quality.mapper.QualityRegionToEnterpriseMapper;
|
||||||
|
import com.zhgd.xmgl.modules.quality.mapper.QualityRegionToUserMapper;
|
||||||
import com.zhgd.xmgl.modules.quality.service.IQualityRegionService;
|
import com.zhgd.xmgl.modules.quality.service.IQualityRegionService;
|
||||||
|
import com.zhgd.xmgl.modules.quality.service.IQualityRegionToUfaceDevService;
|
||||||
import com.zhgd.xmgl.modules.quality.service.IRegionDevService;
|
import com.zhgd.xmgl.modules.quality.service.IRegionDevService;
|
||||||
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatData;
|
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatData;
|
||||||
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatFence;
|
|
||||||
import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDataMapper;
|
import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDataMapper;
|
||||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||||
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
|
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
|
||||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||||
import com.zhgd.xmgl.util.ListUtils;
|
import com.zhgd.xmgl.util.ListUtils;
|
||||||
@ -30,6 +33,7 @@ import com.zhgd.xmgl.util.RegionUtil;
|
|||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -63,6 +67,9 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SafetyHatDataMapper safetyHatDataMapper;
|
private SafetyHatDataMapper safetyHatDataMapper;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IQualityRegionToUfaceDevService qualityRegionToUfaceDevService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QualityRegion> selectQualityRegionList(Map<String, Object> map) {
|
public List<QualityRegion> selectQualityRegionList(Map<String, Object> map) {
|
||||||
@ -89,6 +96,11 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
|||||||
if (CollUtil.isNotEmpty(aiAnalyseHardWareRecords)) {
|
if (CollUtil.isNotEmpty(aiAnalyseHardWareRecords)) {
|
||||||
qualityRegion.setAiAnalyseHardName(StrUtil.join(",", aiAnalyseHardWareRecords.stream().map(AiAnalyseHardWareRecord::getHardwareName).collect(Collectors.toList())));
|
qualityRegion.setAiAnalyseHardName(StrUtil.join(",", aiAnalyseHardWareRecords.stream().map(AiAnalyseHardWareRecord::getHardwareName).collect(Collectors.toList())));
|
||||||
}
|
}
|
||||||
|
List<UfaceDev> ufaceDevList = qualityRegion.getUfaceDevList();
|
||||||
|
if (CollUtil.isNotEmpty(ufaceDevList)) {
|
||||||
|
qualityRegion.setUfaceDevName(StrUtil.join(",", ufaceDevList.stream().map(UfaceDev::getDevName).collect(Collectors.toList())));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
@ -182,10 +194,12 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
|||||||
.eq(QualityRegionToUser::getQualityRegionId, qualityRegion.getId()));
|
.eq(QualityRegionToUser::getQualityRegionId, qualityRegion.getId()));
|
||||||
toAiAnalyseHardMapper.delete(new LambdaQueryWrapper<QualityRegionToAiAnalyseHard>()
|
toAiAnalyseHardMapper.delete(new LambdaQueryWrapper<QualityRegionToAiAnalyseHard>()
|
||||||
.eq(QualityRegionToAiAnalyseHard::getQualityRegionId, qualityRegion.getId()));
|
.eq(QualityRegionToAiAnalyseHard::getQualityRegionId, qualityRegion.getId()));
|
||||||
|
qualityRegionToUfaceDevService.remove(new LambdaQueryWrapper<QualityRegionToUfaceDev>()
|
||||||
|
.eq(QualityRegionToUfaceDev::getQualityRegionId, qualityRegion.getId()));
|
||||||
List<SystemUser> systemUsers = qualityRegion.getSystemUsers();
|
List<SystemUser> systemUsers = qualityRegion.getSystemUsers();
|
||||||
List<EnterpriseInfo> enterpriseInfos = qualityRegion.getEnterpriseInfos();
|
List<EnterpriseInfo> enterpriseInfos = qualityRegion.getEnterpriseInfos();
|
||||||
List<AiAnalyseHardWareRecord> aiAnalyseHardWareRecords = qualityRegion.getAiAnalyseHardWareRecords();
|
List<AiAnalyseHardWareRecord> aiAnalyseHardWareRecords = qualityRegion.getAiAnalyseHardWareRecords();
|
||||||
|
List<UfaceDev> ufaceDevs = qualityRegion.getUfaceDevList();
|
||||||
if (CollUtil.isNotEmpty(enterpriseInfos)) {
|
if (CollUtil.isNotEmpty(enterpriseInfos)) {
|
||||||
for (EnterpriseInfo systemUser : enterpriseInfos) {
|
for (EnterpriseInfo systemUser : enterpriseInfos) {
|
||||||
Long userId = systemUser.getId();
|
Long userId = systemUser.getId();
|
||||||
@ -234,6 +248,18 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
|||||||
toAiAnalyseHardMapper.insert(entity);
|
toAiAnalyseHardMapper.insert(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (CollUtil.isNotEmpty(ufaceDevs)) {
|
||||||
|
for (UfaceDev ufaceDev : ufaceDevs) {
|
||||||
|
Long id = ufaceDev.getId();
|
||||||
|
if (id == null) {
|
||||||
|
throw new OpenAlertException("ufaceDevs[i].id不能为空");
|
||||||
|
}
|
||||||
|
QualityRegionToUfaceDev entity = new QualityRegionToUfaceDev();
|
||||||
|
entity.setQualityRegionId(qualityRegion.getId());
|
||||||
|
entity.setUfaceDevId(id);
|
||||||
|
qualityRegionToUfaceDevService.save(entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
regionDevService.remove(Wrappers.<RegionDev>lambdaQuery().eq(RegionDev::getQualityRegionId, qualityRegion.getId()));
|
regionDevService.remove(Wrappers.<RegionDev>lambdaQuery().eq(RegionDev::getQualityRegionId, qualityRegion.getId()));
|
||||||
if (qualityRegion.getRegionDevList() != null) {
|
if (qualityRegion.getRegionDevList() != null) {
|
||||||
List<RegionDev> regionDevList = qualityRegion.getRegionDevList();
|
List<RegionDev> regionDevList = qualityRegion.getRegionDevList();
|
||||||
|
|||||||
@ -0,0 +1,18 @@
|
|||||||
|
package com.zhgd.xmgl.modules.quality.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.zhgd.xmgl.modules.quality.entity.QualityRegionToUfaceDev;
|
||||||
|
import com.zhgd.xmgl.modules.quality.mapper.QualityRegionToUfaceDevMapper;
|
||||||
|
import com.zhgd.xmgl.modules.quality.service.IQualityRegionToUfaceDevService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 区域和人脸设备中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2025-06-12
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class QualityRegionToUfaceDevServiceImpl extends ServiceImpl<QualityRegionToUfaceDevMapper, QualityRegionToUfaceDev> implements IQualityRegionToUfaceDevService {
|
||||||
|
|
||||||
|
}
|
||||||
@ -19,10 +19,7 @@ import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance;
|
|||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.dto.WorkerAttendanceDto;
|
import com.zhgd.xmgl.modules.worker.entity.dto.WorkerAttendanceDto;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo;
|
import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IMockWorkerAttendanceConfigService;
|
import com.zhgd.xmgl.modules.worker.service.*;
|
||||||
import com.zhgd.xmgl.modules.worker.service.IUfaceDevService;
|
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService;
|
|
||||||
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
|
|
||||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||||
import com.zhgd.xmgl.util.ExcelUtils;
|
import com.zhgd.xmgl.util.ExcelUtils;
|
||||||
import com.zhgd.xmgl.util.MapBuilder;
|
import com.zhgd.xmgl.util.MapBuilder;
|
||||||
@ -76,6 +73,9 @@ public class WorkerAttendanceController {
|
|||||||
@Lazy
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private INoticeService noticeService;
|
private INoticeService noticeService;
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IWorkerAttendancePresenceService workerAttendancePresenceService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑
|
* 编辑
|
||||||
@ -131,7 +131,9 @@ public class WorkerAttendanceController {
|
|||||||
@ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String", paramType = "body", required = false),
|
@ApiImplicitParam(name = "endTime", value = "结束时间", dataType = "String", paramType = "body", required = false),
|
||||||
@ApiImplicitParam(name = "workerName", value = "人员姓名", dataType = "String", paramType = "body", required = false),
|
@ApiImplicitParam(name = "workerName", value = "人员姓名", dataType = "String", paramType = "body", required = false),
|
||||||
@ApiImplicitParam(name = "passType", value = "考勤类型 1:进 2出", dataType = "Integer", paramType = "body", required = false),
|
@ApiImplicitParam(name = "passType", value = "考勤类型 1:进 2出", dataType = "Integer", paramType = "body", required = false),
|
||||||
@ApiImplicitParam(name = "devSn", value = "设备SN", dataType = "String", paramType = "body", required = false)
|
@ApiImplicitParam(name = "devSn", value = "设备SN", dataType = "String", paramType = "body", required = false),
|
||||||
|
@ApiImplicitParam(name = "groupId", value = "门禁设备分组id", paramType = "body", required = false, dataType = "String"),
|
||||||
|
@ApiImplicitParam(name = "devSnList", value = "门禁设备sn列表", paramType = "body", required = false, dataType = "String"),
|
||||||
})
|
})
|
||||||
@PostMapping(value = "/list")
|
@PostMapping(value = "/list")
|
||||||
public Result<IPage<EntityMap>> queryPageList(@RequestBody Map<String, Object> map) {
|
public Result<IPage<EntityMap>> queryPageList(@RequestBody Map<String, Object> map) {
|
||||||
@ -456,4 +458,13 @@ public class WorkerAttendanceController {
|
|||||||
return Result.ok("后台生成数据中");
|
return Result.ok("后台生成数据中");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "查询各个区域下在场人数", notes = "查询各个区域下在场人数", httpMethod = "POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/getPresentByRegion")
|
||||||
|
public Result<List<Map<String, Object>>> getPresentByRegion(@ApiIgnore @RequestBody Map<String, Object> paramMap) {
|
||||||
|
return Result.success(workerAttendancePresenceService.getPresentByRegion(paramMap));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -180,7 +180,8 @@ public class WorkerInfoController {
|
|||||||
@ApiImplicitParam(name = "isFilterQualityRegionEnterprise", value = "是否查询过滤区域管理下的企业,1是", paramType = "body", required = false, dataType = "Integer"),
|
@ApiImplicitParam(name = "isFilterQualityRegionEnterprise", value = "是否查询过滤区域管理下的企业,1是", paramType = "body", required = false, dataType = "Integer"),
|
||||||
@ApiImplicitParam(name = "letter", value = "首字母", paramType = "body", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "letter", value = "首字母", paramType = "body", required = false, dataType = "String"),
|
||||||
@ApiImplicitParam(name = "safeScoreLevel", value = "安全得分风险(1高风险2中风险3低风险)", paramType = "body", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "safeScoreLevel", value = "安全得分风险(1高风险2中风险3低风险)", paramType = "body", required = false, dataType = "String"),
|
||||||
@ApiImplicitParam(name = "qualityRegionId", value = "区域ID", paramType = "body", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "qualityRegionId", value = "区域ID(查安全帽划定区域)", paramType = "body", required = false, dataType = "String"),
|
||||||
|
@ApiImplicitParam(name = "regionIdForUface", value = "区域ID(查绑定人脸机的区域)", paramType = "body", required = false, dataType = "String"),
|
||||||
})
|
})
|
||||||
@PostMapping(value = "/selectWorkerInfoList")
|
@PostMapping(value = "/selectWorkerInfoList")
|
||||||
public Result<IPage<WorkerInfo>> selectWorkerInfoList(@RequestBody Map<String, Object> map) {
|
public Result<IPage<WorkerInfo>> selectWorkerInfoList(@RequestBody Map<String, Object> map) {
|
||||||
|
|||||||
@ -101,4 +101,6 @@ public interface UfaceDevMapper extends BaseMapper<UfaceDev> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<UfaceDev> getUfaceDevListForIscNotExist(@Param("list") List<String> groupIdList, @Param("projectSn") String projectSn);
|
List<UfaceDev> getUfaceDevListForIscNotExist(@Param("list") List<String> groupIdList, @Param("projectSn") String projectSn);
|
||||||
|
|
||||||
|
List<UfaceDev> getDevSnListByGroupId(@Param("groupId") String groupId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,9 @@ import com.zhgd.xmgl.modules.worker.entity.WorkerAttendancePresence;
|
|||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 考勤当前在场的人
|
* @Description: 考勤当前在场的人
|
||||||
* @author: pds
|
* @author: pds
|
||||||
@ -31,4 +34,13 @@ public interface WorkerAttendancePresenceMapper extends BaseMapper<WorkerAttenda
|
|||||||
* @param projectSn
|
* @param projectSn
|
||||||
*/
|
*/
|
||||||
void deleteAllNowWorkerAttendancePresenceData(@Param("projectSn") String projectSn);
|
void deleteAllNowWorkerAttendancePresenceData(@Param("projectSn") String projectSn);
|
||||||
|
|
||||||
|
List<Map<String, Object>> getPresentByRegion(Map<String, Object> paramMap);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询区域在场人员id列表
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<Long> getPresentWorkerIdListByRegion(@Param("regionId") Long regionId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -151,4 +151,11 @@
|
|||||||
</if>
|
</if>
|
||||||
and ud.project_sn =#{projectSn}
|
and ud.project_sn =#{projectSn}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getDevSnListByGroupId" resultType="com.zhgd.xmgl.modules.worker.entity.UfaceDev">
|
||||||
|
select distinct ud.* from
|
||||||
|
uface_dev ud
|
||||||
|
join uface_dev_to_group udtg on ud.id = udtg.uface_dev_id
|
||||||
|
where udtg.uface_dev_group_id=#{groupId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -91,6 +91,12 @@
|
|||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="param.devSnList != null and param.devSnList.size() != 0">
|
||||||
|
and a.dev_sn in
|
||||||
|
<foreach collection="param.devSnList" index="index" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
<if test="param.userEnterpriseId != null and param.userEnterpriseId != ''">
|
<if test="param.userEnterpriseId != null and param.userEnterpriseId != ''">
|
||||||
and FIND_IN_SET(b.enterprise_id, #{param.userEnterpriseId})
|
and FIND_IN_SET(b.enterprise_id, #{param.userEnterpriseId})
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@ -26,10 +26,52 @@
|
|||||||
<![CDATA[
|
<![CDATA[
|
||||||
create_time < DATE_ADD(NOW(),INTERVAL -24 HOUR)
|
create_time < DATE_ADD(NOW(),INTERVAL -24 HOUR)
|
||||||
]]>
|
]]>
|
||||||
|
|
||||||
</delete>
|
</delete>
|
||||||
<delete id="deleteAllNowWorkerAttendancePresenceData">
|
<delete id="deleteAllNowWorkerAttendancePresenceData">
|
||||||
delete from worker_attendance_presence
|
delete from worker_attendance_presence
|
||||||
where project_sn=#{projectSn}
|
where project_sn=#{projectSn}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<select id="getPresentByRegion" resultType="java.util.Map">
|
||||||
|
SELECT
|
||||||
|
qr.id,
|
||||||
|
qr.region_name as regionName,
|
||||||
|
qr.project_sn as projectSn,
|
||||||
|
COUNT(DISTINCT wap.person_sn) AS present
|
||||||
|
from
|
||||||
|
quality_region qr
|
||||||
|
join quality_region_to_uface_dev qrtud on qr.id = qrtud.quality_region_id
|
||||||
|
join uface_dev ud on ud.id = qrtud.uface_dev_id
|
||||||
|
left JOIN worker_attendance a ON a.dev_sn=ud.dev_sn AND a.project_sn = ud.project_sn AND a.pass_type = 1 AND
|
||||||
|
a.create_time = (
|
||||||
|
SELECT MAX(create_time)
|
||||||
|
FROM worker_attendance
|
||||||
|
WHERE person_sn = a.person_sn
|
||||||
|
AND project_sn = a.project_sn
|
||||||
|
AND pass_type = 1
|
||||||
|
)
|
||||||
|
left join worker_attendance_presence wap on wap.person_sn = a.person_sn
|
||||||
|
WHERE qr.project_sn = #{projectSn}
|
||||||
|
GROUP BY qr.id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getPresentWorkerIdListByRegion" resultType="java.lang.Long">
|
||||||
|
SELECT
|
||||||
|
distinct wi.id
|
||||||
|
from
|
||||||
|
quality_region qr
|
||||||
|
join quality_region_to_uface_dev qrtud on qr.id = qrtud.quality_region_id
|
||||||
|
join uface_dev ud on ud.id = qrtud.uface_dev_id
|
||||||
|
JOIN worker_attendance a ON a.dev_sn=ud.dev_sn AND a.project_sn = ud.project_sn AND a.pass_type = 1 AND
|
||||||
|
a.create_time = (
|
||||||
|
SELECT MAX(create_time)
|
||||||
|
FROM worker_attendance
|
||||||
|
WHERE person_sn = a.person_sn
|
||||||
|
AND project_sn = a.project_sn
|
||||||
|
AND pass_type = 1
|
||||||
|
)
|
||||||
|
join worker_attendance_presence wap on wap.person_sn = a.person_sn
|
||||||
|
join worker_info wi on wi.person_sn=a.person_sn
|
||||||
|
WHERE qr.id=#{regionId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -108,4 +108,12 @@ public interface IUfaceDevService extends IService<UfaceDev> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<UfaceDev> getAllDevsByProjectSn(String projectSn);
|
List<UfaceDev> getAllDevsByProjectSn(String projectSn);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设备列表通过门禁设备分组id
|
||||||
|
*
|
||||||
|
* @param groupId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<UfaceDev> getDevSnListByGroupId(String groupId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,8 @@ 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 java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 考勤当前在场的人
|
* @Description: 考勤当前在场的人
|
||||||
@ -33,4 +35,8 @@ public interface IWorkerAttendancePresenceService extends IService<WorkerAttenda
|
|||||||
* @param paramMap
|
* @param paramMap
|
||||||
*/
|
*/
|
||||||
void updateWorkerAttendanceZero(HashMap<String, Object> paramMap);
|
void updateWorkerAttendanceZero(HashMap<String, Object> paramMap);
|
||||||
|
|
||||||
|
List<Map<String, Object>> getPresentByRegion(Map<String, Object> paramMap);
|
||||||
|
|
||||||
|
List<Long> getPresentWorkerIdListByRegion(Long regionId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -279,4 +279,5 @@ public interface IWorkerAttendanceService extends IService<WorkerAttendance> {
|
|||||||
void edit(WorkerAttendance attendance);
|
void edit(WorkerAttendance attendance);
|
||||||
|
|
||||||
Map<String, Object> buildAttendanceMap(WorkerAttendance workerAttendance);
|
Map<String, Object> buildAttendanceMap(WorkerAttendance workerAttendance);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -275,4 +275,8 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
|||||||
return ufaceDevMapper.selectList(qw);
|
return ufaceDevMapper.selectList(qw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<UfaceDev> getDevSnListByGroupId(String groupId) {
|
||||||
|
return ufaceDevMapper.getDevSnListByGroupId(groupId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import java.text.SimpleDateFormat;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 考勤当前在场的人
|
* @Description: 考勤当前在场的人
|
||||||
@ -71,5 +72,14 @@ public class WorkerAttendancePresenceServiceImpl extends ServiceImpl<WorkerAtten
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> getPresentByRegion(Map<String, Object> paramMap) {
|
||||||
|
return workerAttendancePresenceMapper.getPresentByRegion(paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Long> getPresentWorkerIdListByRegion(Long regionId) {
|
||||||
|
return workerAttendancePresenceMapper.getPresentWorkerIdListByRegion(regionId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -249,6 +249,14 @@ public class WorkerAttendanceServiceImpl extends ServiceImpl<WorkerAttendanceMap
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<EntityMap> selectWorkerAttendancePage(Map<String, Object> map) {
|
public IPage<EntityMap> selectWorkerAttendancePage(Map<String, Object> map) {
|
||||||
|
String groupId = MapUtils.getString(map, "groupId");
|
||||||
|
if (StrUtil.isNotBlank(groupId)) {
|
||||||
|
List<String> devSnList = ufaceDevService.getDevSnListByGroupId(groupId).stream().map(UfaceDev::getDevSn).collect(Collectors.toList());
|
||||||
|
if (devSnList.size() == 0) {
|
||||||
|
devSnList.add("-114514");
|
||||||
|
}
|
||||||
|
map.put("devSnList", devSnList);
|
||||||
|
}
|
||||||
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
|
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
|
||||||
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
|
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
|
||||||
Page<EntityMap> page = new Page<>(pageNo, pageSize);
|
Page<EntityMap> page = new Page<>(pageNo, pageSize);
|
||||||
|
|||||||
@ -290,6 +290,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IPage<WorkerInfo> selectWorkerInfoList(Map<String, Object> map) {
|
public IPage<WorkerInfo> selectWorkerInfoList(Map<String, Object> map) {
|
||||||
|
String regionIdForUface = MapUtils.getString(map, "regionIdForUface");
|
||||||
|
if (StrUtil.isNotBlank(regionIdForUface)) {
|
||||||
|
List<Long> workerIds = workerAttendancePresenceService.getPresentWorkerIdListByRegion(Long.valueOf(regionIdForUface));
|
||||||
|
if (workerIds.size() == 0) {
|
||||||
|
workerIds.add(-100L);
|
||||||
|
}
|
||||||
|
map.put("workerInfos", StrUtil.join(",", workerIds));
|
||||||
|
}
|
||||||
// 区域人员
|
// 区域人员
|
||||||
String qualityRegionId = MapUtils.getString(map, "qualityRegionId");
|
String qualityRegionId = MapUtils.getString(map, "qualityRegionId");
|
||||||
if (StringUtils.isNotEmpty(qualityRegionId)) {
|
if (StringUtils.isNotEmpty(qualityRegionId)) {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
http.port=23913
|
http.port=23913
|
||||||
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wisdomsite_hl_new_init?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wisdomsite_prod?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||||
spring.datasource.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
|
spring.datasource.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
|
||||||
spring.datasource.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
spring.datasource.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
||||||
server.port=23912
|
server.port=23912
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#http.port=30250
|
#http.port=30250
|
||||||
http.port=23912
|
http.port=23912
|
||||||
spring.datasource.db1.jdbc-url=jdbc:mysql://192.168.34.221:3306/wisdomsite_other_env_show?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
spring.datasource.db1.jdbc-url=jdbc:mysql://192.168.34.221:3306/wisdomsite_prod?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||||
spring.datasource.db1.driver-class-name=com.mysql.jdbc.Driver
|
spring.datasource.db1.driver-class-name=com.mysql.jdbc.Driver
|
||||||
spring.datasource.db1.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
|
spring.datasource.db1.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
|
||||||
spring.datasource.db1.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
spring.datasource.db1.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user