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 f2def26be..34ffaafcb 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 @@ -7,6 +7,7 @@ import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.entity.vo.AttendanceOfEachCompanyVo; import com.zhgd.xmgl.entity.vo.NumberTimeTableVo; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; +import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo; import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService; import com.zhgd.xmgl.util.ExcelUtils; import io.swagger.annotations.Api; @@ -266,4 +267,13 @@ public class WorkerAttendanceController { return Result.success(workerAttendanceService.queryAttendanceOfEachCompany(map)); } + + @ApiOperation(value = "安全履职分析", notes = "安全履职分析", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/safetyPerformanceAnalysis") + public Result safetyPerformanceAnalysis(@ApiIgnore @RequestBody Map paramMap) { + return Result.success(workerAttendanceService.safetyPerformanceAnalysis(paramMap)); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerMonthAttendanceStatisticsController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerMonthAttendanceStatisticsController.java index aa75bac26..be44c8fe4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerMonthAttendanceStatisticsController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerMonthAttendanceStatisticsController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.async.AsyncAttendance; +import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo; import com.zhgd.xmgl.modules.worker.service.IWorkerMonthAttendanceStatisticsService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; import java.util.Map; @@ -92,4 +94,6 @@ public class WorkerMonthAttendanceStatisticsController { public Result> selectWorkerMonthAttendanceType(@RequestBody Map map) { return Result.success(workerMonthAttendanceStatisticsService.selectWorkerMonthAttendanceType(map)); } + + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SafetyPerformanceAnalysisVo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SafetyPerformanceAnalysisVo.java new file mode 100644 index 000000000..27420ba90 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SafetyPerformanceAnalysisVo.java @@ -0,0 +1,32 @@ +package com.zhgd.xmgl.modules.worker.entity.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class SafetyPerformanceAnalysisVo { + @ApiModelProperty("未履职人员总数") + private Integer notPerformNum; + @ApiModelProperty("在职总数") + private Integer inServiceNum; + @ApiModelProperty("项目经理未履职人员总数") + private Integer xmjlNotPerformNum; + @ApiModelProperty("项目经理在职总数") + private Integer xmjlInServiceNum; + @ApiModelProperty("安全员未履职人员总数") + private Integer aqyNotPerformNum; + @ApiModelProperty("安全员在职总数") + private Integer aqyInServiceNum; + @ApiModelProperty("质量员未履职人员总数") + private Integer zlyNotPerformNum; + @ApiModelProperty("质量员在职总数") + private Integer zlyInServiceNum; + @ApiModelProperty("监理未履职人员总数") + private Integer jlNotPerformNum; + @ApiModelProperty("监理在职总数") + private Integer jlInServiceNum; + + private List list; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendanceMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendanceMapper.java index 36a83ca94..ef07c96b8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendanceMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerAttendanceMapper.java @@ -1,20 +1,21 @@ package com.zhgd.xmgl.modules.worker.mapper; -import java.util.List; -import java.util.Map; - +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.base.entity.vo.TrendOneVo; import com.zhgd.xmgl.entity.vo.NumberTimeTableVo; +import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; import com.zhgd.xmgl.modules.worker.entity.bo.WorkerAttendanceBo; import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto; +import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.springframework.stereotype.Repository; +import java.util.List; +import java.util.Map; + /** * @Description: 人员考勤 * @author: pds @@ -88,4 +89,7 @@ public interface WorkerAttendanceMapper extends BaseMapper { List queryPresenceList(Map map); List queryTodayAttendanceTrend(Map map); + + List safetyPerformanceAnalysis(@Param("param") Map paramMap); + } 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 43f3c0d02..1e656bf0f 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 @@ -823,4 +823,26 @@ WHERE project_sn = #{projectSn} group by DATE_FORMAT(a.create_time, '%Y-%m-%d %H:00') + + 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 16bb9eaee..cd3c3f416 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 @@ -2,14 +2,14 @@ package com.zhgd.xmgl.modules.worker.service; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.xmgl.entity.vo.AttendanceOfEachCompanyVo; import com.zhgd.xmgl.entity.vo.NumberTimeTableVo; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; -import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto; -import com.zhgd.xmgl.modules.worker.entity.vo.GetWorkerInfoByDevVo; +import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo; import com.zhgd.xmgl.modules.worker.entity.vo.UploadAttendanceByDevDto; import javax.servlet.http.HttpServletResponse; @@ -79,4 +79,6 @@ public interface IWorkerAttendanceService extends IService { AttendanceOfEachCompanyVo queryAttendanceOfEachCompany(Map map); String uploadAttendanceByDev(UploadAttendanceByDevDto dto); + + SafetyPerformanceAnalysisVo safetyPerformanceAnalysis(Map paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerMonthAttendanceStatisticsService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerMonthAttendanceStatisticsService.java index 16fb6dd5e..09e2a95d2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerMonthAttendanceStatisticsService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerMonthAttendanceStatisticsService.java @@ -36,4 +36,4 @@ public interface IWorkerMonthAttendanceStatisticsService extends IService selectProjectMonthAttendanceList(HashMap param); List getListByProjectSn(String projectSn); -} + } 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 b0c06e6ab..94dafc0f5 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 @@ -32,6 +32,7 @@ import com.zhgd.xmgl.modules.worker.entity.bo.WorkerAttendanceBo; import com.zhgd.xmgl.modules.worker.entity.dto.GetPassRecordDto; import com.zhgd.xmgl.modules.worker.entity.vo.GetWorkerInfoByDevVo; import com.zhgd.xmgl.modules.worker.entity.vo.ProjectCompanyWorkTotal; +import com.zhgd.xmgl.modules.worker.entity.vo.SafetyPerformanceAnalysisVo; import com.zhgd.xmgl.modules.worker.entity.vo.UploadAttendanceByDevDto; import com.zhgd.xmgl.modules.worker.mapper.*; import com.zhgd.xmgl.modules.worker.service.IWorkerAttendanceService; @@ -1122,6 +1123,56 @@ status 状态码 String 1表示成功;其余表示失败 return JSON.toJSONString(vo); } + @Override + public SafetyPerformanceAnalysisVo safetyPerformanceAnalysis(Map paramMap) { + List vos = baseMapper.safetyPerformanceAnalysis(paramMap); + SafetyPerformanceAnalysisVo vo = new SafetyPerformanceAnalysisVo(); + vo.setList(vos); + Integer notPerformNum = 0; + Integer inServiceNum = 0; + Integer xmjlNotPerformNum = 0; + Integer xmjlInServiceNum = 0; + Integer aqyNotPerformNum = 0; + Integer aqyInServiceNum = 0; + Integer zlyNotPerformNum = 0; + Integer zlyInServiceNum = 0; + Integer jlNotPerformNum = 0; + Integer jlInServiceNum = 0; + for (SafetyPerformanceAnalysisVo one : vos) { + Integer notPerformNum1 = one.getNotPerformNum(); + Integer inServiceNum1 = one.getInServiceNum(); + Integer xmjlNotPerformNum1 = one.getXmjlNotPerformNum(); + Integer xmjlInServiceNum1 = one.getXmjlInServiceNum(); + Integer aqyNotPerformNum1 = one.getAqyNotPerformNum(); + Integer aqyInServiceNum1 = one.getAqyInServiceNum(); + Integer zlyNotPerformNum1 = one.getZlyNotPerformNum(); + Integer zlyInServiceNum1 = one.getZlyInServiceNum(); + Integer jlNotPerformNum1 = one.getJlNotPerformNum(); + Integer jlInServiceNum1 = one.getJlInServiceNum(); + notPerformNum += notPerformNum1; + inServiceNum += notPerformNum1; + xmjlNotPerformNum += notPerformNum1; + xmjlInServiceNum += notPerformNum1; + aqyNotPerformNum += notPerformNum1; + aqyInServiceNum += notPerformNum1; + zlyNotPerformNum += notPerformNum1; + zlyInServiceNum += notPerformNum1; + jlNotPerformNum += notPerformNum1; + jlInServiceNum += notPerformNum1; + } + vo.setNotPerformNum(notPerformNum); + vo.setInServiceNum(inServiceNum); + vo.setXmjlNotPerformNum(xmjlNotPerformNum); + vo.setXmjlInServiceNum(xmjlInServiceNum); + vo.setAqyNotPerformNum(aqyNotPerformNum); + vo.setAqyInServiceNum(aqyInServiceNum); + vo.setZlyNotPerformNum(zlyNotPerformNum); + vo.setZlyInServiceNum(zlyInServiceNum); + vo.setJlNotPerformNum(jlNotPerformNum); + vo.setJlInServiceNum(jlInServiceNum); + return vo; + } + private Integer getCardType(String type) { if (StringUtils.isBlank(type)) { return null; diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerMonthAttendanceStatisticsServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerMonthAttendanceStatisticsServiceImpl.java index 278b0dc8b..f1a408723 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerMonthAttendanceStatisticsServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerMonthAttendanceStatisticsServiceImpl.java @@ -115,6 +115,7 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl