Commit 3da3c3df authored by litengwei's avatar litengwei

代码提交

parent f4eb2dd1
......@@ -36,6 +36,10 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
List<OrgUsr> selectCompanyDepartmentMsg();
List<Map<String, Object>> selectStaticFire(String bizOrgCode);
List<Map<String, Object>> selectStaticYw(String bizOrgCode);
List<Map<String, Object>> selectPersonAllList(Map<String, Object> map);
List<OrgUsr> queryOrgUsrListByBizOrgCode(String bizOrgCode);
......
......@@ -115,6 +115,10 @@ public interface IOrgUsrService {
void updateDynamicFormInstance(Long instanceId, List<DynamicFormInstance> fromValueList) throws Exception;
/**
* @throws Exception
*/
List<Map<String, Object>> selectStatic(String bizOrgCode, String type);
/**
* @param id
* @throws Exception
*/
......
......@@ -42,6 +42,7 @@
max(case v.field_code when 'administrativePositionCode' then IFNULL(v.field_value_label,v.field_value) end) administrativePositionCode,
max(case v.field_code when 'internalPositionCode' then IFNULL(v.field_value_label,v.field_value) end) internalPositionCode,
max(case v.field_code when 'fireManagementPostCode' then IFNULL(v.field_value_label,v.field_value) end) fireManagementPostCode,
max(case v.field_code when 'fireManagementPostCode' then v.field_value end) fireManagementPost,
max(case v.field_code when 'positionType' then IFNULL(v.field_value,v.field_value_label) end) positionType,
max(case v.field_code when 'certificateType' then IFNULL(v.field_value_label,v.field_value) end) certificateType,
max(case v.field_code when 'holdingTime' then IFNULL(v.field_value_label,v.field_value) end) holdingTime,
......@@ -84,6 +85,12 @@
<if test="map.peopleType != null and map.peopleType != ''">
AND g.peopleType = #{map.peopleType}
</if>
<if test="map.fireManagementPost != null">
AND g.fireManagementPost IN
<foreach item="item" index="index" collection="map.fireManagementPost" open="(" separator="," close=")">
#{item}
</foreach>
</if>
GROUP BY
u.sequence_nbr ,
u.biz_org_name ,
......@@ -130,7 +137,9 @@
max(case v.field_code when 'internalPositionCode' then IFNULL(v.field_value_label,v.field_value) end) internalPositionCode,
max(case v.field_code when 'fireManagementPostCode' then IFNULL(v.field_value_label,v.field_value) end) fireManagementPostCode,
max(case v.field_code when 'fireManagementPostCode' then v.field_value end) fireManagementPost,
max(case v.field_code when 'fireManagementPostCode' then IFNULL(v.field_value_label,'其他') end) fireManagementPostName,
max(case v.field_code when 'positionType' then IFNULL(v.field_value,v.field_value_label) end) positionType,
max(case v.field_code when 'positionType' then IFNULL(v.field_value_label,'其他') end) positionTypeName,
max(case v.field_code when 'certificateType' then IFNULL(v.field_value_label,v.field_value) end) certificateType,
max(case v.field_code when 'holdingTime' then IFNULL(v.field_value_label,v.field_value) end) holdingTime,
max(case v.field_code when 'auditCycle' then IFNULL(v.field_value_label,v.field_value) end) auditCycle,
......@@ -170,12 +179,9 @@
AND FIND_IN_SET(#{map.positionType},g.positionType)
</if>
<if test="map.peopleType != null and map.peopleType != ''">
AND g.peopleType IN
<foreach item="item" index="index" collection="map.peopleType" open="(" separator="," close=")">
#{item}
</foreach>
AND g.peopleType = #{map.peopleType}
</if>
<if test="map.fireManagementPost != null and map.fireManagementPost != ''">
<if test="map.fireManagementPost != null">
AND g.fireManagementPost IN
<foreach item="item" index="index" collection="map.fireManagementPost" open="(" separator="," close=")">
#{item}
......@@ -1307,5 +1313,104 @@ LEFT JOIN (
)a where a.sequenceNbr is not null
LIMIT #{map.pageNum}, #{map.pageSize}
</select>
<select id="selectStaticFire" resultType="java.util.Map">
SELECT ( count( postName )/( SELECT count(*) AS count FROM cb_org_usr a WHERE is_delete = 0 AND biz_org_type = 'PERSON'
AND biz_org_code like concat(#{bizOrgCode}, '%')
))* 100 AS percent, postName
FROM
(
SELECT
a.*,
IFNULL( b.NAME, '其他' ) AS postName
FROM
(
SELECT DISTINCT
u.sequence_nbr sequenceNbr,
g.*
FROM
cb_org_usr u
LEFT JOIN (
SELECT
v.`instance_id`,
max( CASE v.field_code WHEN 'fireManagementPostCode' THEN IFNULL( v.field_value_label, v.field_value ) END ) fireManagementPostCode,
max( CASE v.field_code WHEN 'fireManagementPostCode' THEN v.field_value END ) fireManagementPost,
max( CASE v.field_code WHEN 'fireManagementPostCode' THEN v.field_value_label END ) fireManagementPostName,
max( CASE v.field_code WHEN 'positionType' THEN IFNULL( v.field_value, v.field_value_label ) END ) positionType,
max( CASE v.field_code WHEN 'positionType' THEN v.field_value_label END ) positionTypeName,
max( CASE v.field_code WHEN 'peopleType' THEN v.field_value END ) peopleType
FROM
`cb_dynamic_form_instance` v
WHERE
v.group_code = 246
GROUP BY
v.`instance_id`
) g ON u.sequence_nbr = g.instance_id
WHERE
u.biz_org_type = 'person'
AND g.peopleType = '1601'
AND u.is_delete = 0
AND u.biz_org_code like concat(#{bizOrgCode}, '%')
GROUP BY
u.sequence_nbr,
u.biz_org_name,
u.biz_org_code
ORDER BY
u.rec_date DESC
) a
LEFT JOIN ( SELECT * FROM cb_data_dictionary WHERE type = 'XFGLGW' ) b ON LOCATE( b.CODE, a.fireManagementPost ) != 0
WHERE
a.sequenceNbr IS NOT NULL
) a
GROUP BY
postName
</select>
<select id="selectStaticYw" resultType="java.util.Map">
SELECT ( count( postName )/( SELECT count(*) AS count FROM cb_org_usr a WHERE is_delete = 0 AND biz_org_type = 'PERSON'
AND biz_org_code like concat(#{bizOrgCode}, '%')
))* 100 AS percent, postName
FROM
(
SELECT
a.*,
IFNULL( b.NAME, '其他' ) AS postName
FROM
(
SELECT DISTINCT
u.sequence_nbr sequenceNbr,
g.*
FROM
cb_org_usr u
LEFT JOIN (
SELECT
v.`instance_id`,
max( CASE v.field_code WHEN 'positionType' THEN v.field_value END ) positionType,
max( CASE v.field_code WHEN 'positionType' THEN v.field_value_label END ) positionTypeName,
max( CASE v.field_code WHEN 'peopleType' THEN v.field_value END ) peopleType
FROM
`cb_dynamic_form_instance` v
WHERE
v.group_code = 246
GROUP BY
v.`instance_id`
) g ON u.sequence_nbr = g.instance_id
WHERE
u.biz_org_type = 'PERSON'
AND g.peopleType = '1602'
AND u.biz_org_code like concat(#{bizOrgCode}, '%')
AND u.is_delete = 0
GROUP BY
u.sequence_nbr,
u.biz_org_name,
u.biz_org_code
ORDER BY
u.rec_date DESC
) a
LEFT JOIN ( SELECT * FROM cb_data_dictionary WHERE type = 'GWMC' ) b ON LOCATE( b.CODE, a.positionType ) != 0
WHERE
a.sequenceNbr IS NOT NULL
) a
GROUP BY
postName
</select>
</mapper>
......@@ -179,6 +179,20 @@ public class OrgPersonController extends BaseController {
return ResponseHelper.buildResponse(result);
}
/**
* 消防资源监管,驻站消防员,运维人员环状态图统计接口
*
* @param bizOrgCode type
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getStaticByFire", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "消防资源监管,驻站消防员,运维人员环状态图统计接口", notes = "消防资源监管,驻站消防员,运维人员环状态图统计接口")
public ResponseModel<List<Map<String, Object>>> selectStatic(String bizOrgCode, String type) throws Exception {
List<Map<String, Object>> result = iOrgUsrService.selectStatic(bizOrgCode, type);
return ResponseHelper.buildResponse(result);
}
/**
* 获取人员树
......
......@@ -600,10 +600,12 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
map.put("positionType", positionType);
}
String fireManagementPost = "";
List<String> fireManagementPost;
if(req.containsKey("fireManagementPost")) {
fireManagementPost = req.get("fireManagementPost").toString();
map.put("fireManagementPost", fireManagementPost);
if(StringUtils.isNotEmpty(req.get("fireManagementPost").toString())) {
fireManagementPost = Arrays.asList(req.get("fireManagementPost").toString().split(","));
map.put("fireManagementPost", fireManagementPost);
}
}
String peopleType = "";
......@@ -915,6 +917,17 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
@Override
public List<Map<String, Object>> selectStatic(String bizOrgCode, String type) {
List<Map<String,Object>> listMap;
if("1601".equals(type)) {
listMap = this.baseMapper.selectStaticFire(bizOrgCode);
} else {
listMap = this.baseMapper.selectStaticYw(bizOrgCode);
}
return listMap;
}
@Override
public Map<String, Object> selectForShowById(OrgUsr orgUsr, Long id) throws Exception {
QueryWrapper<DynamicFormColumn> queryWrapper = new QueryWrapper<DynamicFormColumn>();
queryWrapper.eq("group_code", OrgPersonEnum.人员.getCode());
......
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