From dec4de7dd4296e60e3a2dc2ebd5c853d8f638766 Mon Sep 17 00:00:00 2001 From: Administrator <1923636941@qq.com> Date: Tue, 27 Jun 2023 09:11:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WorkerInfoController.java | 17 +- .../entity/vo/SpecialWorkerStaticsVo.java | 13 + .../worker/mapper/WorkerInfoMapper.java | 3 + .../worker/mapper/xml/WorkerInfoMapper.xml | 468 +++++++++--------- .../worker/service/IWorkerInfoService.java | 3 + .../service/impl/WorkerInfoServiceImpl.java | 6 + 6 files changed, 279 insertions(+), 231 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SpecialWorkerStaticsVo.java 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 88a46d77c..33ec51627 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 @@ -21,10 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; /** @@ -589,4 +586,16 @@ public class WorkerInfoController { public Result queryThePresenceAndTotalNumberOfEngineeringPersonnel() { return Result.success(workerInfoService.queryThePresenceAndTotalNumberOfEngineeringPersonnel()); } + + /** + * 统计特殊工种人员 + * + * @return + */ + @GetMapping("/getSpecialWorkerStatics") + @ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String") + public Result getSpecialWorkerStatics(@RequestParam HashMap map) { + return Result.success(workerInfoService.getSpecialWorkerStatics(map)); + } + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SpecialWorkerStaticsVo.java b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SpecialWorkerStaticsVo.java new file mode 100644 index 000000000..d1eb531fb --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/worker/entity/vo/SpecialWorkerStaticsVo.java @@ -0,0 +1,13 @@ +package com.zhgd.xmgl.modules.worker.entity.vo; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class SpecialWorkerStaticsVo { + @ApiModelProperty(value = "总人数") + private Integer totalNum; + @ApiModelProperty(value = "在场人数") + private Integer inService; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java index 3813251cc..6293473f2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/WorkerInfoMapper.java @@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -227,4 +228,6 @@ public interface WorkerInfoMapper extends BaseMapper { List queryTotalNum(); List countWorkerNumGroupByWorkerType(Map map); + + SpecialWorkerStaticsVo getSpecialWorkerStatics(HashMap map); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml index 865f16a43..a856af166 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml @@ -37,16 +37,16 @@ LEFT JOIN enterprise_info en ON en.id = a.enterprise_id WHERE 1 = 1 - and c.charge_person_name like CONCAT(CONCAT('%',#{param.chargePersonName}),'%') + and c.charge_person_name like CONCAT(CONCAT('%', #{param.chargePersonName}), '%') - and b.leader_name like CONCAT(CONCAT('%',#{param.leaderName}),'%') + and b.leader_name like CONCAT(CONCAT('%', #{param.leaderName}), '%') - and c.belonging_section like CONCAT(CONCAT('%',#{param.belongingSection}),'%') + and c.belonging_section like CONCAT(CONCAT('%', #{param.belongingSection}), '%') - and c.belonging_section like CONCAT(CONCAT('%',#{param.belongingSection}),'%') + and c.belonging_section like CONCAT(CONCAT('%', #{param.belongingSection}), '%') and a.project_sn = #{param.projectSn} @@ -172,26 +172,30 @@ SELECT e.team_name, - IFNULL(tp2.total_person_num, 0) total_person_num, - IFNULL(tp.person_num, 0) attendance_person_num + IFNULL(tp2.total_person_num, 0) total_person_num, + IFNULL(tp.person_num, 0) attendance_person_num FROM team_info e - LEFT JOIN (SELECT w1.team_id, COUNT(DISTINCT w1.person_sn) person_num - from worker_info w1 - INNER JOIN worker_attendance p ON w1.person_sn = p.person_sn - WHERE p.create_time >= CONCAT(DATE_FORMAT(now(), "%Y-%m-%d"), ' 00:00:00') - and w1.inService_type = 1 - AND w1.person_type = 1 - and w1.project_sn = #{projectSn} - group by w1.team_id + LEFT JOIN (SELECT w1.team_id, COUNT(DISTINCT w1.person_sn) person_num + from worker_info w1 + INNER JOIN worker_attendance p ON w1.person_sn = p.person_sn + WHERE p.create_time >= CONCAT(DATE_FORMAT(now(), "%Y-%m-%d"), ' 00:00:00') + and w1.inService_type = 1 + AND w1.person_type = 1 + and w1.project_sn = #{projectSn} + group by w1.team_id ) tp ON e.id = tp.team_id LEFT JOIN (SELECT w1.team_id, COUNT(DISTINCT w1.person_sn) total_person_num FROM worker_info w1 @@ -873,32 +877,32 @@