企业人员占比

This commit is contained in:
guoshengxiong 2024-05-27 11:34:25 +08:00
parent 456ffe1b70
commit f8c29798f9
2 changed files with 13 additions and 4 deletions

View File

@ -632,8 +632,9 @@
ORDER BY personNum DESC ORDER BY personNum DESC
</select> </select>
<select id="selectEnterpriseWorkerGroupTotal" resultType="java.util.Map" parameterType="java.util.Map"> <select id="selectEnterpriseWorkerGroupTotal" resultType="java.util.Map" parameterType="java.util.Map">
SELECT p.enterprise_name SELECT p.enterprise_name,
, COUNT(1) num p.id as enterpriseId,
COUNT(1) num
<if test="enterpriseType == '2'.toString()"> <if test="enterpriseType == '2'.toString()">
, IFNULL(sum((CASE WHEN w1.person_type = 1 then 1 ELSE 0 END)), 0) lwPersonTotal , IFNULL(sum((CASE WHEN w1.person_type = 1 then 1 ELSE 0 END)), 0) lwPersonTotal
, IFNULL(sum((CASE WHEN w1.person_type = 2 then 1 ELSE 0 END)), 0) glPersonTotal , IFNULL(sum((CASE WHEN w1.person_type = 2 then 1 ELSE 0 END)), 0) glPersonTotal

View File

@ -856,7 +856,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
map = getCompanyParam(map); map = getCompanyParam(map);
map.put("enterpriseType", "1"); map.put("enterpriseType", "1");
List<Map<String, Object>> enterpriseList = workerInfoMapper.selectEnterpriseWorkerGroupTotal(map); List<Map<String, Object>> enterpriseList = this.selectEnterpriseWorkerGroupTotal(map);
map.put("enterpriseType", "2"); map.put("enterpriseType", "2");
List<Map<String, Object>> enterpriseManageList = workerInfoMapper.selectEnterpriseWorkerGroupTotal(map); List<Map<String, Object>> enterpriseManageList = workerInfoMapper.selectEnterpriseWorkerGroupTotal(map);
data.put("enterpriseList", enterpriseList); data.put("enterpriseList", enterpriseList);
@ -864,7 +864,15 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
return data; return data;
} }
@Override private List<Map<String, Object>> selectEnterpriseWorkerGroupTotal(Map<String, Object> map) {
List<Map<String, Object>> mapList = workerInfoMapper.selectEnterpriseWorkerGroupTotal(map);
int total = mapList.stream().mapToInt(m -> MapUtils.getInteger(m, "num")).sum();
for (Map<String, Object> m : mapList) {
m.put("ratio", NumberUtils.div(MapUtils.getInteger(m, "num") * 100.0, total * 1.0, 2));
}
return mapList;
}
public Map<String, Object> selectWorkerManagePresenceStatistics(Map<String, Object> map) { public Map<String, Object> selectWorkerManagePresenceStatistics(Map<String, Object> map) {
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
map = getCompanyParam(map); map = getCompanyParam(map);