Merge remote-tracking branch 'origin/guoshengxiong' into guoshengxiong
This commit is contained in:
commit
783232ca11
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
|
||||
import com.zhgd.xmgl.modules.video.entity.AiAnalyseHardWareRecord;
|
||||
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.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -124,4 +125,12 @@ public class QualityRegion implements Serializable {
|
||||
@ApiModelProperty(value = "区域设备")
|
||||
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="hardwareId" column="hardware_id"/>
|
||||
</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>
|
||||
|
||||
<select id="selectQualityRegionList" resultMap="selectQualityRegionListRm">
|
||||
SELECT qr.*,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
|
||||
SELECT qr.*
|
||||
,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
|
||||
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
|
||||
@ -48,6 +63,8 @@
|
||||
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 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 enterprise_type et on et.id = pe.enterprise_type_id
|
||||
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> {
|
||||
|
||||
}
|
||||
@ -20,11 +20,14 @@ 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.IQualityRegionToUfaceDevService;
|
||||
import com.zhgd.xmgl.modules.quality.service.IRegionDevService;
|
||||
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.video.entity.AiAnalyseHardWareRecord;
|
||||
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
|
||||
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
|
||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||
import com.zhgd.xmgl.util.ListUtils;
|
||||
@ -33,6 +36,7 @@ import com.zhgd.xmgl.util.RegionUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -66,6 +70,9 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
||||
|
||||
@Autowired
|
||||
private SafetyHatDataMapper safetyHatDataMapper;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IQualityRegionToUfaceDevService qualityRegionToUfaceDevService;
|
||||
|
||||
@Override
|
||||
public List<QualityRegion> selectQualityRegionList(Map<String, Object> map) {
|
||||
@ -92,6 +99,11 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
||||
if (CollUtil.isNotEmpty(aiAnalyseHardWareRecords)) {
|
||||
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;
|
||||
}
|
||||
@ -185,10 +197,12 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
||||
.eq(QualityRegionToUser::getQualityRegionId, qualityRegion.getId()));
|
||||
toAiAnalyseHardMapper.delete(new LambdaQueryWrapper<QualityRegionToAiAnalyseHard>()
|
||||
.eq(QualityRegionToAiAnalyseHard::getQualityRegionId, qualityRegion.getId()));
|
||||
|
||||
qualityRegionToUfaceDevService.remove(new LambdaQueryWrapper<QualityRegionToUfaceDev>()
|
||||
.eq(QualityRegionToUfaceDev::getQualityRegionId, qualityRegion.getId()));
|
||||
List<SystemUser> systemUsers = qualityRegion.getSystemUsers();
|
||||
List<EnterpriseInfo> enterpriseInfos = qualityRegion.getEnterpriseInfos();
|
||||
List<AiAnalyseHardWareRecord> aiAnalyseHardWareRecords = qualityRegion.getAiAnalyseHardWareRecords();
|
||||
List<UfaceDev> ufaceDevs = qualityRegion.getUfaceDevList();
|
||||
if (CollUtil.isNotEmpty(enterpriseInfos)) {
|
||||
for (EnterpriseInfo systemUser : enterpriseInfos) {
|
||||
Long userId = systemUser.getId();
|
||||
@ -237,8 +251,20 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
|
||||
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()));
|
||||
if(qualityRegion.getRegionDevList() != null) {
|
||||
if (qualityRegion.getRegionDevList() != null) {
|
||||
List<RegionDev> regionDevList = qualityRegion.getRegionDevList();
|
||||
for (RegionDev regionDev : regionDevList) {
|
||||
regionDev.setQualityRegionId(qualityRegion.getId());
|
||||
|
||||
@ -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.dto.WorkerAttendanceDto;
|
||||
import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo;
|
||||
import com.zhgd.xmgl.modules.worker.service.IMockWorkerAttendanceConfigService;
|
||||
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.modules.worker.service.*;
|
||||
import com.zhgd.xmgl.security.util.SecurityUtils;
|
||||
import com.zhgd.xmgl.util.ExcelUtils;
|
||||
import com.zhgd.xmgl.util.MapBuilder;
|
||||
@ -76,6 +73,9 @@ public class WorkerAttendanceController {
|
||||
@Lazy
|
||||
@Autowired
|
||||
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 = "workerName", value = "人员姓名", dataType = "String", 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")
|
||||
public Result<IPage<EntityMap>> queryPageList(@RequestBody Map<String, Object> map) {
|
||||
@ -456,4 +458,13 @@ public class WorkerAttendanceController {
|
||||
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 = "letter", value = "首字母", 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")
|
||||
public Result<IPage<WorkerInfo>> selectWorkerInfoList(@RequestBody Map<String, Object> map) {
|
||||
|
||||
@ -101,4 +101,6 @@ public interface UfaceDevMapper extends BaseMapper<UfaceDev> {
|
||||
* @return
|
||||
*/
|
||||
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.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 考勤当前在场的人
|
||||
* @author: pds
|
||||
@ -31,4 +34,13 @@ public interface WorkerAttendancePresenceMapper extends BaseMapper<WorkerAttenda
|
||||
* @param 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>
|
||||
and ud.project_sn =#{projectSn}
|
||||
</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>
|
||||
|
||||
@ -91,6 +91,12 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
</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 != ''">
|
||||
and FIND_IN_SET(b.enterprise_id, #{param.userEnterpriseId})
|
||||
</if>
|
||||
|
||||
@ -23,13 +23,55 @@
|
||||
delete from worker_attendance_presence
|
||||
where
|
||||
<!--create_time <CONCAT(DATE_FORMAT(now(),"%Y-%m-%d"),' 00:00:00')-->
|
||||
<![CDATA[
|
||||
<![CDATA[
|
||||
create_time < DATE_ADD(NOW(),INTERVAL -24 HOUR)
|
||||
]]>
|
||||
|
||||
</delete>
|
||||
<delete id="deleteAllNowWorkerAttendancePresenceData">
|
||||
delete from worker_attendance_presence
|
||||
where project_sn=#{projectSn}
|
||||
</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>
|
||||
|
||||
@ -108,4 +108,12 @@ public interface IUfaceDevService extends IService<UfaceDev> {
|
||||
* @return
|
||||
*/
|
||||
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 java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description: 考勤当前在场的人
|
||||
@ -33,4 +35,8 @@ public interface IWorkerAttendancePresenceService extends IService<WorkerAttenda
|
||||
* @param 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);
|
||||
|
||||
Map<String, Object> buildAttendanceMap(WorkerAttendance workerAttendance);
|
||||
|
||||
}
|
||||
|
||||
@ -275,4 +275,8 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
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.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @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
|
||||
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 pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
|
||||
Page<EntityMap> page = new Page<>(pageNo, pageSize);
|
||||
|
||||
@ -290,6 +290,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
*/
|
||||
@Override
|
||||
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");
|
||||
if (StringUtils.isNotEmpty(qualityRegionId)) {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
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.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
||||
server.port=23912
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#http.port=30250
|
||||
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.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
|
||||
spring.datasource.db1.password=ENC(LsKaVL2ycDu+uUNoPndYLA==)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user