Commit faa398ec authored by 李秀明's avatar 李秀明

feat: 新增人员取证信息查询接口

parent c2eadf22
......@@ -12,6 +12,8 @@ public interface FireResourceSupervisionMapper extends BaseMapper<OrgUsr> {
List<Map<String, Object>> selectPersonnelStats(@Param("bizOrgCode") String bizOrgCode);
List<Map<String, Object>> selectQualificationStats(@Param("bizOrgCode") String bizOrgCode, @Param("peopleType") Integer peopleType);
Map<String, Object> getPersonStatus(@Param("bizOrgCode") String bizOrgCode, @Param("peopleType") Integer peopleType);
Long selectTodayAttendance(@Param("bizOrgCode") String bizOrgCode);
......
package com.yeejoin.amos.boot.module.jcs.api.service;
import java.util.List;
import java.util.Map;
/**
......@@ -13,5 +14,7 @@ public interface IFireResourceSupervisionService {
*/
Map<String, Map<String, Number>> getPersonnelStats(String bizOrgCode);
List<Map<String, Object>> selectQualificationStats(String bizOrgCode, Integer peopleType);
Map<String, Map<String, String>> getPersonInfo(String bizOrgCode);
}
......@@ -19,6 +19,30 @@
HAVING peopleType in (0, 1);
</select>
<select id="selectQualificationStats" resultType="java.util.HashMap">
SELECT
LEFT(u.biz_org_code, 18) AS bizOrgCode,
COUNT(DISTINCT u.sequence_nbr) AS total,
SUM(IF(ISNULL(cfp.post_qualification), 0, 1)) AS certifiedCount,
SUM(CASE WHEN cfp.post_qualification_code LIKE '%1421%' THEN 1 ELSE 0 END) AS level5,
SUM(CASE WHEN cfp.post_qualification_code LIKE '%1422%' THEN 1 ELSE 0 END) AS level4
FROM
cb_org_usr u
INNER JOIN cb_dynamic_form_instance dfi ON dfi.instance_id = u.sequence_nbr AND dfi.field_code = 'peopleType'
LEFT JOIN cb_firefighters_post cfp ON cfp.org_usr_id = u.sequence_nbr AND cfp.is_delete = false
<where>
u.is_delete = false
<if test="peopleType != null and peopleType != ''">
AND dfi.field_value = #{peopleType}
</if>
<if test="bizOrgCode != null and bizOrgCode != ''">
AND u.biz_org_code LIKE CONCAT(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
LEFT(u.biz_org_code, 18)
</select>
<select id="getPersonStatus" resultType="Map">
SELECT
IF(dfi.field_value = 1601, 1, IF(dfi.field_value = 1602, 0, -1)) AS peopleType,
......
......@@ -38,6 +38,20 @@ public class FireResourceSupervisionController extends BaseController {
return ResponseHelper.buildResponse(personnelStats);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "驻站消防员、运维人员统计信息查询", notes = "驻站消防员、运维人员统计信息查询")
@RequestMapping(value = "/person/stats", method = RequestMethod.GET)
public ResponseModel<Object> personStats(
@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode,
@RequestParam(value = "peopleType", required = false) Integer peopleType
) {
if (StringUtils.isBlank(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = !ValidationUtil.isEmpty(reginParams.getPersonIdentity()) && StringUtils.isNotEmpty(reginParams.getPersonIdentity().getBizOrgCode()) ? reginParams.getPersonIdentity().getBizOrgCode() : null;
}
return ResponseHelper.buildResponse(iFireResourceSupervisionService.selectQualificationStats(bizOrgCode, peopleType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "设备平台驻站消防员、运维人员统计信息查询", notes = "驻站消防员、运维人员统计信息查询")
@RequestMapping(value = "/person/info", method = RequestMethod.GET)
......
......@@ -15,6 +15,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@Service
......@@ -65,6 +66,11 @@ public class FireResourceSupervisionServiceImpl implements IFireResourceSupervis
}
@Override
public List<Map<String, Object>> selectQualificationStats(String bizOrgCode, Integer peopleType) {
return fireResourceSupervisionMapper.selectQualificationStats(bizOrgCode, peopleType);
}
@Override
public Map<String, Map<String, String>> getPersonInfo(String bizOrgCode) {
List<Map<String, Object>> maps = fireResourceSupervisionMapper.selectPersonnelStats(bizOrgCode);
// Long attendanceCount = fireResourceSupervisionMapper.selectTodayAttendance(bizOrgCode);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment