企业人员占比

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
</select>
<select id="selectEnterpriseWorkerGroupTotal" resultType="java.util.Map" parameterType="java.util.Map">
SELECT p.enterprise_name
, COUNT(1) num
SELECT p.enterprise_name,
p.id as enterpriseId,
COUNT(1) num
<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 = 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 = getCompanyParam(map);
map.put("enterpriseType", "1");
List<Map<String, Object>> enterpriseList = workerInfoMapper.selectEnterpriseWorkerGroupTotal(map);
List<Map<String, Object>> enterpriseList = this.selectEnterpriseWorkerGroupTotal(map);
map.put("enterpriseType", "2");
List<Map<String, Object>> enterpriseManageList = workerInfoMapper.selectEnterpriseWorkerGroupTotal(map);
data.put("enterpriseList", enterpriseList);
@ -864,7 +864,15 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
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) {
Map<String, Object> data = new HashMap<>();
map = getCompanyParam(map);