diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java index 685a9e051..b6abea6b7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegion.java @@ -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 regionDevList; + @TableField(exist = false) + @ApiModelProperty(value = "人脸设备") + private List ufaceDevList; + + @TableField(exist = false) + @ApiModelProperty(value = "人脸设备(逗号分割)") + private java.lang.String ufaceDevName; + } diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegionToUfaceDev.java b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegionToUfaceDev.java new file mode 100644 index 000000000..3b3c82222 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/quality/entity/QualityRegionToUfaceDev.java @@ -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; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityRegionToUfaceDevMapper.java b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityRegionToUfaceDevMapper.java new file mode 100644 index 000000000..25d3c0fe7 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityRegionToUfaceDevMapper.java @@ -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 { +} diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityRegionMapper.xml b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityRegionMapper.xml index 98741be75..5c915f95c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityRegionMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityRegionMapper.xml @@ -35,11 +35,26 @@ + + + + + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java b/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java index 2743979b1..b985433af 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/service/IRiskListSourceService.java @@ -2,8 +2,10 @@ package com.zhgd.xmgl.modules.risk.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.zhgd.xmgl.base.entity.vo.SectorOneVo; +import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.modules.risk.entity.RiskListSource; -import com.zhgd.xmgl.modules.risk.entity.vo.RegionV2Vo; +import com.zhgd.xmgl.modules.risk.entity.vo.CountRisksByLevelVo; import com.zhgd.xmgl.modules.risk.entity.vo.RiskListSourceVo; import com.zhgd.xmgl.modules.risk.entity.vo.RiskUndoneVo; @@ -68,4 +70,10 @@ public interface IRiskListSourceService extends IService { List getUndoneList(HashMap param); void addUsersNotice(List sourceVos); + + CountRisksByLevelVo countRisksByLevel(HashMap param); + + List getRiskTrendChart(HashMap param); + + SectorVo countRisksByLibrary(HashMap map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListPointServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListPointServiceImpl.java index e14dc1339..fcfe0a4e2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListPointServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListPointServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -20,6 +21,7 @@ import com.zhgd.xmgl.modules.risk.service.IRiskListSourceService; import com.zhgd.xmgl.util.MapBuilder; import com.zhgd.xmgl.util.PageUtil; import com.zhgd.xmgl.util.RefUtil; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; @@ -48,6 +50,14 @@ public class RiskListPointServiceImpl extends ServiceImpl queryPageList(HashMap param) { + String containLibraryIds = MapUtils.getString(param, "containLibraryIds"); + if (StrUtil.isNotBlank(containLibraryIds)) { + param.put("containLibraryIdList", StrUtil.split(containLibraryIds, ",")); + } + String regionIds = MapUtils.getString(param, "regionIds"); + if (StrUtil.isNotBlank(regionIds)) { + param.put("regionIdList", StrUtil.split(regionIds, ",")); + } QueryWrapper queryWrapper = this.getQueryWrapper(param); Page page = PageUtil.getPage(param); IPage pageList = baseMapper.queryList(page, queryWrapper, param); @@ -99,6 +109,12 @@ public class RiskListPointServiceImpl extends ServiceImpl() + .set(RiskListPoint::getActivityFrequency, point.getActivityFrequency()) + .set(RiskListPoint::getEffectiveTimeBegin, point.getEffectiveTimeBegin()) + .set(RiskListPoint::getEffectiveTimeEnd, point.getEffectiveTimeEnd()) + .eq(RiskListPoint::getId, point.getId()) + ); } @Override @@ -107,6 +123,11 @@ public class RiskListPointServiceImpl extends ServiceImpl() + .eq(RiskListSource::getPointId, id)); + if (count > 0) { + throw new OpenAlertException("请先删除辨识的危险源"); + } baseMapper.deleteById(id); } diff --git a/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java index 3a3f47d8f..39c31229e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/risk/service/impl/RiskListSourceServiceImpl.java @@ -2,15 +2,20 @@ package com.zhgd.xmgl.modules.risk.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.xmgl.base.entity.vo.SectorOneVo; +import com.zhgd.xmgl.base.entity.vo.SectorVo; import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService; @@ -18,10 +23,7 @@ import com.zhgd.xmgl.modules.risk.entity.RiskListPoint; import com.zhgd.xmgl.modules.risk.entity.RiskListSource; import com.zhgd.xmgl.modules.risk.entity.RiskListSourceUnbuilt; import com.zhgd.xmgl.modules.risk.entity.RiskListWorkable; -import com.zhgd.xmgl.modules.risk.entity.vo.RegionV2Vo; -import com.zhgd.xmgl.modules.risk.entity.vo.RiskListLibraryVo; -import com.zhgd.xmgl.modules.risk.entity.vo.RiskListSourceVo; -import com.zhgd.xmgl.modules.risk.entity.vo.RiskUndoneVo; +import com.zhgd.xmgl.modules.risk.entity.vo.*; import com.zhgd.xmgl.modules.risk.mapper.RiskListSourceMapper; import com.zhgd.xmgl.modules.risk.service.*; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; @@ -34,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -179,6 +182,12 @@ public class RiskListSourceServiceImpl extends ServiceImpl() + .set(RiskListSource::getActivityFrequency, source.getActivityFrequency()) + .set(RiskListSource::getEffectiveTimeBegin, source.getEffectiveTimeBegin()) + .set(RiskListSource::getEffectiveTimeEnd, source.getEffectiveTimeEnd()) + .eq(RiskListSource::getId, source.getId()) + ); } @Override @@ -270,4 +279,43 @@ public class RiskListSourceServiceImpl extends ServiceImpl param) { + return baseMapper.countRisksByLevel(param); + } + + @Override + public List getRiskTrendChart(HashMap param) { + List sources = this.list(new LambdaQueryWrapper() + .select(RiskListSource::getId, RiskListSource::getEffectiveTimeBegin, RiskListSource::getEffectiveTimeEnd) + .eq(RiskListSource::getProjectSn, MapUtils.getString(param, "projectSn")) + .le(RiskListSource::getEffectiveTimeBegin, MapUtils.getString(param, "endTime") + "-31 23:59:59") + .ge(RiskListSource::getEffectiveTimeEnd, MapUtils.getString(param, "startTime") + "-01 00:00:00") + ).stream().sorted(Comparator.comparing(RiskListSource::getEffectiveTimeBegin)).collect(Collectors.toList()); + List months = DateUtil.rangeToList(DateUtil.parse(MapUtils.getString(param, "startTime")), DateUtil.parse(MapUtils.getString(param, "endTime")), DateField.MONTH); + ArrayList vos = new ArrayList<>(); + Integer lastTotal = null; + for (DateTime month : months) { + CountRisksByLevelVo vo = new CountRisksByLevelVo(); + vo.setZdNum((int) sources.stream().filter(s -> Objects.equals(s.getRiskLevel(), 1) && DateUtil.compare(s.getEffectiveTimeBegin(), month) <= 0 && DateUtil.compare(s.getEffectiveTimeEnd(), month) >= 0).count()); + vo.setJdNum((int) sources.stream().filter(s -> Objects.equals(s.getRiskLevel(), 2) && DateUtil.compare(s.getEffectiveTimeBegin(), month) <= 0 && DateUtil.compare(s.getEffectiveTimeEnd(), month) >= 0).count()); + vo.setYbNum((int) sources.stream().filter(s -> Objects.equals(s.getRiskLevel(), 3) && DateUtil.compare(s.getEffectiveTimeBegin(), month) <= 0 && DateUtil.compare(s.getEffectiveTimeEnd(), month) >= 0).count()); + vo.setDNum((int) sources.stream().filter(s -> Objects.equals(s.getRiskLevel(), 4) && DateUtil.compare(s.getEffectiveTimeBegin(), month) <= 0 && DateUtil.compare(s.getEffectiveTimeEnd(), month) >= 0).count()); + vo.setTotal((int) sources.stream().filter(s -> DateUtil.compare(s.getEffectiveTimeBegin(), month) <= 0 && DateUtil.compare(s.getEffectiveTimeEnd(), month) >= 0).count()); + vo.setYearMonth(DateUtil.format(month, "yyyy-MM")); + if (lastTotal != null) { + vo.setMoMChange(lastTotal != 0 ? new BigDecimal((vo.getTotal() * 1.0 / lastTotal - 1) * 100).setScale(2, BigDecimal.ROUND_HALF_UP) : null); + } + lastTotal = vo.getTotal(); + vos.add(vo); + } + return vos; + } + + @Override + public SectorVo countRisksByLibrary(HashMap map) { + List list = baseMapper.countRisksByLibrary(map); + return SectorVo.getSectorVo(list); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java index 002303e24..fa26bdbac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendanceController.java @@ -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> queryPageList(@RequestBody Map 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>> getPresentByRegion(@ApiIgnore @RequestBody Map paramMap) { + return Result.success(workerAttendancePresenceService.getPresentByRegion(paramMap)); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java index 8ed3e4293..d14fc54e8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerInfoController.java @@ -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> selectWorkerInfoList(@RequestBody Map map) { diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/UfaceDevMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/UfaceDevMapper.java index 092992b13..28e2aa38c 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/UfaceDevMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/UfaceDevMapper.java @@ -101,4 +101,6 @@ public interface UfaceDevMapper extends BaseMapper { * @return */ List getUfaceDevListForIscNotExist(@Param("list") List groupIdList, @Param("projectSn") String projectSn); + + List getDevSnListByGroupId(@Param("groupId") String groupId); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendancePresenceMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendancePresenceMapper.java index 6446167af..295b323db 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendancePresenceMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendancePresenceMapper.java @@ -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> getPresentByRegion(Map paramMap); + + /** + * 查询区域在场人员id列表 + * + * @return + */ + List getPresentWorkerIdListByRegion(@Param("regionId") Long regionId); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml index 1db294203..70655e28a 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/UfaceDevMapper.xml @@ -151,4 +151,11 @@ and ud.project_sn =#{projectSn} + + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml index 5ce91bf6d..9494abc62 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendanceMapper.xml @@ -91,6 +91,12 @@ #{item} + + and a.dev_sn in + + #{item} + + and FIND_IN_SET(b.enterprise_id, #{param.userEnterpriseId}) diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml index 9d43de622..cd00519ac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerAttendancePresenceMapper.xml @@ -23,13 +23,55 @@ delete from worker_attendance_presence where - - delete from worker_attendance_presence where project_sn=#{projectSn} + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java index 0da81af4a..e40cb0e34 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IUfaceDevService.java @@ -108,4 +108,12 @@ public interface IUfaceDevService extends IService { * @return */ List getAllDevsByProjectSn(String projectSn); + + /** + * 查询设备列表通过门禁设备分组id + * + * @param groupId + * @return + */ + List getDevSnListByGroupId(String groupId); } 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 962c9e1ae..25cd5eb08 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 @@ -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 paramMap); + + List> getPresentByRegion(Map paramMap); + + List getPresentWorkerIdListByRegion(Long regionId); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendanceService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendanceService.java index 961a3160b..289fb3bea 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendanceService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendanceService.java @@ -279,4 +279,5 @@ public interface IWorkerAttendanceService extends IService { void edit(WorkerAttendance attendance); Map buildAttendanceMap(WorkerAttendance workerAttendance); + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java index 4dfe391d4..61476adbb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/UfaceDevServiceImpl.java @@ -275,4 +275,8 @@ public class UfaceDevServiceImpl extends ServiceImpl i return ufaceDevMapper.selectList(qw); } + @Override + public List getDevSnListByGroupId(String groupId) { + return ufaceDevMapper.getDevSnListByGroupId(groupId); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java index 19fb70d7f..cf630b8ae 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java @@ -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> getPresentByRegion(Map paramMap) { + return workerAttendancePresenceMapper.getPresentByRegion(paramMap); + } + + @Override + public List getPresentWorkerIdListByRegion(Long regionId) { + return workerAttendancePresenceMapper.getPresentWorkerIdListByRegion(regionId); + } } 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 6124b5450..7c2e30347 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 @@ -249,6 +249,14 @@ public class WorkerAttendanceServiceImpl extends ServiceImpl selectWorkerAttendancePage(Map map) { + String groupId = MapUtils.getString(map, "groupId"); + if (StrUtil.isNotBlank(groupId)) { + List 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 page = new Page<>(pageNo, pageSize); diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java index 8bcc9b2c0..66ca4e4ac 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerInfoServiceImpl.java @@ -290,6 +290,14 @@ public class WorkerInfoServiceImpl extends ServiceImpl selectWorkerInfoList(Map map) { + String regionIdForUface = MapUtils.getString(map, "regionIdForUface"); + if (StrUtil.isNotBlank(regionIdForUface)) { + List 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)) { diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index dd520ff27..e8312b04f 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -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 diff --git a/src/main/resources/application-gsx-other-env-show.properties b/src/main/resources/application-gsx-other-env-show.properties index 65008523b..2fd30db95 100644 --- a/src/main/resources/application-gsx-other-env-show.properties +++ b/src/main/resources/application-gsx-other-env-show.properties @@ -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==) diff --git a/src/main/resources/excel/辨识清单导出模板.xlsx b/src/main/resources/excel/辨识清单导出模板.xlsx index 2d6156960..484ca5dd4 100644 Binary files a/src/main/resources/excel/辨识清单导出模板.xlsx and b/src/main/resources/excel/辨识清单导出模板.xlsx differ