考试,通知公告,派遣记录,单位,保安公司统计接口同步
10 files modified
1 files added
| | |
| | | <if test="examPayment.id!=null and examPayment.id!=''"> |
| | | and id = #{examPayment.id} |
| | | </if> |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | package org.springblade.modules.desk.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.modules.desk.entity.Notice; |
| | | import org.springblade.modules.desk.mapper.NoticeMapper; |
| | | import org.springblade.modules.desk.service.INoticeService; |
| | | import org.springblade.modules.desk.vo.NoticeVO; |
| | | import org.springblade.modules.system.entity.User; |
| | | import org.springblade.modules.system.service.IUserService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 服务实现类 |
| | |
| | | * @author Chill |
| | | */ |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> implements INoticeService { |
| | | |
| | | private final IUserService userService; |
| | | |
| | | @Override |
| | | public IPage<NoticeVO> selectNoticePage(IPage<NoticeVO> page, NoticeVO notice) { |
| | | // 若不使用mybatis-plus自带的分页方法,则不会自动带入tenantId,所以我们需要自行注入 |
| | |
| | | <!--派遣记录分页数据--> |
| | | <select id="selectDispatcherPage" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO"> |
| | | select |
| | | sd.*,bu.real_name securityName,sdu.name dispatcherCompany,bu.cardid idCardNo |
| | | sd.*, |
| | | bu.real_name securityName,sdu.name dispatcherCompany,bu.cardid idCardNo,bu.phone securityPhone, |
| | | bd.dept_name deptName, |
| | | sdu.linkman,sdu.phone |
| | | from |
| | | sys_dispatcher sd |
| | | left join |
| | |
| | | blade_user bu |
| | | on |
| | | bu.id = sd.user_ids |
| | | left join |
| | | blade_dept bd |
| | | on |
| | | bd.id = bu.dept_id |
| | | where 1=1 |
| | | <if test="dispatcher.dispatcherUnitId!=null"> |
| | | and sd.dispatcher_unit_id = #{dispatcher.dispatcherUnitId} |
| | |
| | | <!--派遣公司分页信息--> |
| | | <select id="selectDispatcherUnitPage" resultType="org.springblade.modules.dispatcher.vo.DispatcherUnitVO"> |
| | | select |
| | | sdu.*,bt.dept_name tenantName |
| | | sdu.*,bt.dept_name tenantName,bu.real_name realName |
| | | from |
| | | sys_dispatcher_unit sdu |
| | | sys_dispatcher_unit sdu |
| | | LEFT JOIN |
| | | blade_dept bt |
| | | blade_dept bt |
| | | ON |
| | | sdu.dept_id = bt.id |
| | | sdu.dept_id = bt.id |
| | | left join |
| | | sys_dispatcher sd |
| | | on |
| | | sdu.id = sd.dispatcher_unit_id |
| | | left join |
| | | blade_user bu |
| | | on |
| | | sd.user_ids = bu.id |
| | | WHERE |
| | | 1=1 |
| | | 1=1 |
| | | <if test="dispatcherUnit.tenantName!=null and dispatcherUnit.tenantName!=''"> |
| | | and bt.dept_name like concat('%', #{dispatcherUnit.tenantName},'%') |
| | | </if> |
| | |
| | | <if test="dispatcherUnit.district!=null"> |
| | | and sdu.district = #{dispatcherUnit.district} |
| | | </if> |
| | | <if test="dispatcherUnit.isExpire==1"> |
| | | and sdu.start_time <= now() |
| | | and sdu.end_time > now() |
| | | </if> |
| | | <if test="dispatcherUnit.isExpire==2"> |
| | | and sdu.end_time <= now() |
| | | </if> |
| | | </select> |
| | | |
| | | <!--自定义树--> |
| | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 保安公司名称 |
| | | * 保安公司名称 |
| | | */ |
| | | private String tenantName; |
| | | |
| | |
| | | * 派遣单位名称 |
| | | */ |
| | | private String dispatcherUnitName; |
| | | |
| | | |
| | | /** |
| | | * 合同是否到期 1:否 2:是 |
| | | */ |
| | | private Integer isExpire; |
| | | } |
| | |
| | | */ |
| | | private String dispatch; |
| | | |
| | | /** |
| | | * 联系人 |
| | | */ |
| | | private String linkman; |
| | | |
| | | /** |
| | | * 联系电话 |
| | | */ |
| | | private String phone; |
| | | |
| | | |
| | | /** |
| | | * 联系电话 |
| | | */ |
| | | private String securityPhone; |
| | | |
| | | } |
| New file |
| | |
| | | package org.springblade.modules.information.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.modules.information.service.IInformationService; |
| | | import org.springblade.modules.information.vo.InformationVO; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * 组织机构详情控制层 2 |
| | | * @author zhongrj |
| | | * @time 2021-09-14 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/information") |
| | | @AllArgsConstructor |
| | | public class InformationsController { |
| | | |
| | | private final IInformationService informationService; |
| | | |
| | | /** |
| | | * 获取保安公司信息(本市保安公司,分公司)包含经纬度 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitPositionInfo") |
| | | public R getSecurityUnitPositionInfo(){ |
| | | return R.data(informationService.getSecurityUnitPositionInfo()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据辖区查询保安公司分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitInfoPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitInfoPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitInfoPage(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitHoldInfoPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitHoldInfoPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitHoldInfoPage(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitHoldLessPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitHoldLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitHoldLess50Page(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司派遣率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitDispatcherLessPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitDispatcherLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitDispatcherLess50Page(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司社保缴纳率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitSoilLessPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitSoilLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitSoilLess50Page(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司保险缴纳率低于90%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitInsuranceLessPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitInsuranceLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitInsuranceLessPage(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitExamLessPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitExamLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitExamLess50Page(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常) |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSubstationWarnInfoPage") |
| | | public R<IPage<InformationVO>> getSubstationWarnInfoPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSubstationWarnInfoPage(Condition.getPage(query), information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息 |
| | | * @param query 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @GetMapping("/getSecurityUnitServerLessPage") |
| | | public R<IPage<InformationVO>> getSecurityUnitServerLessPage(InformationVO information, Query query){ |
| | | return R.data(informationService.getSecurityUnitServerLess2Page(Condition.getPage(query), information)); |
| | | } |
| | | } |
| | |
| | | */ |
| | | package org.springblade.modules.information.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.SqlParser; |
| | | import liquibase.pro.packaged.S; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springblade.modules.dispatcher.vo.DispatcherVO; |
| | |
| | | Map<String, String> queryYearBanan(String year,String jurisdiction,String deptid); |
| | | Map<String, String> queryYearDe(String year,String jurisdiction,String deptid); |
| | | void deleteDept(String ids); |
| | | |
| | | /** |
| | | * 获取保安公司信息(本市保安公司,分公司)包含经纬度 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitPositionInfo(); |
| | | |
| | | /** |
| | | * 根据辖区查询保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitInfoPage(IPage<InformationVO> page,@Param("information") InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitHoldInfoPage(IPage<InformationVO> page,@Param("information") InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司(1:持证率低于50%, 2:派遣率低于50% 3:缴纳社保率低于50% 4:保险缴纳 的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitLess50Page(IPage<InformationVO> page, |
| | | @Param("type") Integer type, |
| | | @Param("information") InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitExamLess50Page(IPage<InformationVO> page,@Param("information") InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @SqlParser(filter = true) |
| | | List<InformationVO> getSubstationWarnInfoPage(IPage<InformationVO> page,@Param("information") InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息 |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitServerLess2Page(IPage<InformationVO> page,@Param("information") InformationVO information); |
| | | } |
| | |
| | | IFNULL( D.wpaiqnum, 0 ) AS wpaiqnum, |
| | | IFNULL( E.sbnum, 0 ) AS sbnum, |
| | | IFNULL( F.wcaijnum, 0 ) AS wcaijnum, |
| | | IFNULL( H.ycaijzpnum, 0 ) AS ycaijzpnum, |
| | | IFNULL( I.ycaijzwnum, 0 ) AS ycaijzwnum, |
| | | IFNULL( G.yicnum, 0 ) AS yicnum, |
| | | A.dept_id, |
| | | d.enterpriseName AS deptname, |
| | |
| | | ) D ON D.dept_id = A.dept_id |
| | | LEFT JOIN ( |
| | | SELECT COUNT( * ) AS sbnum, deptid, jurisdiction FROM sys_socil GROUP BY deptid, jurisdiction |
| | | ) E ON E.deptid = A.dept_id |
| | | LEFT JOIN ( |
| | | ) E |
| | | ON E.deptid = A.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT |
| | | COUNT( * ) AS wcaijnum, |
| | | dept_id, |
| | |
| | | GROUP BY |
| | | dept_id, |
| | | jurisdiction |
| | | ) F ON F.dept_id = A.dept_id |
| | | ) F |
| | | ON F.dept_id = A.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT |
| | | COUNT( * ) AS ycaijzpnum, |
| | | dept_id, |
| | | jurisdiction |
| | | FROM |
| | | blade_user |
| | | WHERE |
| | | role_id = '1412226235153731586' and status=1 AND is_deleted=0 |
| | | AND photo=0 |
| | | GROUP BY |
| | | dept_id, |
| | | jurisdiction |
| | | ) H |
| | | ON H.dept_id = A.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT |
| | | COUNT( * ) AS ycaijzwnum, |
| | | dept_id, |
| | | jurisdiction |
| | | FROM |
| | | blade_user |
| | | WHERE |
| | | role_id = '1412226235153731586' and status=1 AND is_deleted=0 |
| | | AND fingerprint=0 |
| | | GROUP BY |
| | | dept_id, |
| | | jurisdiction |
| | | ) I |
| | | ON I.dept_id = A.dept_id |
| | | LEFT JOIN ( |
| | | SELECT |
| | | COUNT( * ) AS yicnum, |
| | |
| | | A.jurisdiction, |
| | | A.dept_name as jurname, |
| | | IFNULL( B.num, 0 ) AS fwnum, |
| | | IFNULL( C.znum, 0 ) AS znum |
| | | IFNULL( C.znum, 0 ) AS znum, |
| | | IFNULL( D.dqnum, 0 ) AS dqnum, |
| | | IFNULL( E.cznum, 0 ) AS cznum, |
| | | IFNULL( F.pqnum, 0 ) AS pqnum |
| | | FROM |
| | | ( |
| | | SELECT |
| | |
| | | WHERE |
| | | i.enterpriseName IS NOT NULL |
| | | ) A |
| | | LEFT JOIN ( SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit GROUP BY dept_id ) B ON A.departmentid = |
| | | B.dept_id |
| | | LEFT JOIN ( SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' and |
| | | status=1 GROUP BY |
| | | dept_id ) C ON A.departmentid = C.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT COUNT( * ) AS num, dept_id FROM sys_dispatcher_unit |
| | | where |
| | | start_time <= now() and end_time > now() |
| | | GROUP BY dept_id |
| | | ) B |
| | | ON A.departmentid = B.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT COUNT( * ) AS znum, dept_id FROM blade_user WHERE role_id = '1412226235153731586' |
| | | and status=1 |
| | | GROUP BY dept_id |
| | | ) C |
| | | ON A.departmentid = C.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT COUNT( * ) AS dqnum, dept_id FROM sys_dispatcher_unit where end_time < now() GROUP BY dept_id |
| | | ) D |
| | | ON A.departmentid = D.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT COUNT( * ) AS cznum, dept_id FROM blade_user where hold = 1 GROUP BY dept_id |
| | | ) E |
| | | ON A.departmentid = E.dept_id |
| | | LEFT JOIN |
| | | ( |
| | | SELECT COUNT( * ) AS pqnum, dept_id FROM blade_user where dispatch = 0 GROUP BY dept_id |
| | | ) F |
| | | ON A.departmentid = F.dept_id |
| | | where 1=1 |
| | | <if test="jurisdiction!=null and jurisdiction!=''and jurisdiction!='1372091709474910209'"> |
| | | AND A.jurisdiction in(${jurisdiction}) |
| | |
| | | ) = 1 |
| | | AND parent_id!=0 |
| | | </select> |
| | | |
| | | <!--获取保安公司信息(本市保安公司,分公司)包含经纬度--> |
| | | <select id="getSecurityUnitPositionInfo" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select |
| | | si.*,sj.dept_name jurisdictionName |
| | | from |
| | | sys_information si |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | si.jurisdiction = sj.id |
| | | where 1=1 |
| | | and (stats = 2 or stats = 4) |
| | | </select> |
| | | |
| | | <!--根据辖区查询保安公司分页信息(本市保安公司,分公司)--> |
| | | <select id="getSecurityUnitInfoPage" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select |
| | | si.*,sj.dept_name jurisdictionName |
| | | from |
| | | sys_information si |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | si.jurisdiction = sj.id |
| | | where 1=1 |
| | | and (stats = 0 or stats = 1 or stats = 2 or stats = 4) |
| | | <if test="information.jurisdiction!=null and information.jurisdiction!=''"> |
| | | and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction}) |
| | | </if> |
| | | </select> |
| | | |
| | | <sql id="getSecurity"> |
| | | select |
| | | dept_id,ifnull(count(*),0) count |
| | | from blade_user bu |
| | | left join blade_role br |
| | | on bu.role_id = br.id |
| | | where |
| | | role_alias = "安保人员" |
| | | and bu.is_deleted = 0 |
| | | and bu.`status` = 1 |
| | | </sql> |
| | | |
| | | <!--根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司)--> |
| | | <select id="getSecurityUnitHoldInfoPage" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select |
| | | si.*,sj.dept_name jurisdictionName, |
| | | ifnull(a.count,0) znum, |
| | | ifnull(b.count,0) cnum, |
| | | ifnull(c.count,0) pnum |
| | | from sys_information si |
| | | left join |
| | | ( |
| | | <include refid="getSecurity"/> |
| | | group by dept_id |
| | | ) a |
| | | on |
| | | a.dept_id = si.departmentid |
| | | left join |
| | | ( |
| | | <include refid="getSecurity"/> |
| | | and bu.hold = 1 |
| | | group by dept_id |
| | | ) b |
| | | on |
| | | b.dept_id = si.departmentid |
| | | left join |
| | | ( |
| | | <include refid="getSecurity"/> |
| | | and bu.hold = 2 |
| | | group by dept_id |
| | | ) c |
| | | on |
| | | c.dept_id = si.departmentid |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | si.jurisdiction = sj.id |
| | | where 1=1 |
| | | and (si.stats = 2 or si.stats = 4) |
| | | <if test="information.jurisdiction!=null and information.jurisdiction!=''"> |
| | | and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction}) |
| | | </if> |
| | | </select> |
| | | |
| | | <!--根据辖区查询统计保安公司(1:持证率低于50% 2:派遣率低于50% 3:缴纳社保率低于50% 的保安公司个数及保安公司分页信息(本市保安公司,分公司)--> |
| | | <select id="getSecurityUnitLess50Page" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select c.*,sj.dept_name jurisdictionName from ( |
| | | select |
| | | si.*, |
| | | ifnull(a.count,0) znum, |
| | | ifnull(b.count,0) cnum, |
| | | ifnull(FORMAT((b.count/a.count)*100,2),0) pnum |
| | | from sys_information si |
| | | left join |
| | | ( |
| | | <include refid="getSecurity"/> |
| | | group by dept_id |
| | | ) a |
| | | on |
| | | a.dept_id = si.departmentid |
| | | left join |
| | | ( |
| | | <include refid="getSecurity"/> |
| | | <if test="type==1"> |
| | | and bu.hold = 1 |
| | | </if> |
| | | <if test="type==2"> |
| | | and bu.dispatch = 0 |
| | | </if> |
| | | <if test="type==3"> |
| | | and bu.soil = 0 |
| | | </if> |
| | | <if test="type==4"> |
| | | and bu.insurance = 0 |
| | | </if> |
| | | group by dept_id |
| | | ) b |
| | | on |
| | | b.dept_id = si.departmentid |
| | | )c |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | c.jurisdiction = sj.id |
| | | where 1=1 |
| | | and (c.stats = 2 or c.stats = 4) |
| | | and pnum < #{information.proportion} |
| | | <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'"> |
| | | and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction}) |
| | | </if> |
| | | <if test="information.departmentid!=null and information.departmentid!=''"> |
| | | and c.departmentid = #{information.departmentid} |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <!--根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司)--> |
| | | <select id="getSecurityUnitExamLess50Page" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select d.*,sj.dept_name jurisdictionName from ( |
| | | select |
| | | si.*, |
| | | ifnull(a.count,0) znum, |
| | | ifnull(b.count,0) cnum, |
| | | ifnull(FORMAT((b.count/c.count)*100,2),0) pnum |
| | | from sys_information si |
| | | left join |
| | | ( |
| | | <include refid="getSecurity"/> |
| | | group by dept_id |
| | | ) a |
| | | on |
| | | a.dept_id = si.departmentid |
| | | left join |
| | | ( |
| | | select b1.dept_id,ifnull(b2.count,0) count from |
| | | ( |
| | | select |
| | | bu.dept_id,ifnull(count(*),0) count |
| | | from blade_user bu |
| | | left join blade_role br |
| | | on bu.role_id = br.id |
| | | where |
| | | role_alias = "安保人员" |
| | | and bu.is_deleted = 0 |
| | | and bu.`status` = 1 |
| | | group by dept_id |
| | | ) b1 |
| | | |
| | | left join |
| | | ( |
| | | select count(*) count,bu.dept_id from |
| | | exam_score es |
| | | left join |
| | | blade_user bu |
| | | on |
| | | bu.id = es.user_id |
| | | where qualified = 0 group by bu.dept_id |
| | | ) b2 |
| | | on |
| | | b1.dept_id = b2.dept_id |
| | | ) b |
| | | on |
| | | b.dept_id = si.departmentid |
| | | left join |
| | | ( |
| | | select c1.dept_id,ifnull(c2.count,0) count from |
| | | ( |
| | | select |
| | | bu.dept_id,ifnull(count(*),0) count |
| | | from blade_user bu |
| | | left join blade_role br |
| | | on bu.role_id = br.id |
| | | where |
| | | role_alias = "安保人员" |
| | | and bu.is_deleted = 0 |
| | | and bu.`status` = 1 |
| | | group by dept_id |
| | | ) c1 |
| | | |
| | | left join |
| | | ( |
| | | select count(*) count,bu.dept_id from |
| | | exam_score es |
| | | left join |
| | | blade_user bu |
| | | on |
| | | bu.id = es.user_id |
| | | where 1=1 group by bu.dept_id |
| | | ) c2 |
| | | on |
| | | c1.dept_id = c2.dept_id |
| | | ) c |
| | | on |
| | | c.dept_id = si.departmentid |
| | | )d |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | d.jurisdiction = sj.id |
| | | where 1=1 |
| | | and (d.stats = 2 or d.stats = 4) |
| | | and pnum < #{information.proportion} |
| | | <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'"> |
| | | and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction}) |
| | | </if> |
| | | </select> |
| | | |
| | | <sql id="getSubstationWarn"> |
| | | left join |
| | | sys_information si |
| | | on |
| | | si.departmentid = bu.dept_id |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | sj.id = si.jurisdiction |
| | | where |
| | | 1=1 |
| | | and (si.stats = 2 or si.stats =4) |
| | | and bu.is_deleted = 0 |
| | | and bu.`status` = 1 |
| | | </sql> |
| | | |
| | | <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常)--> |
| | | <select id="getSubstationWarnInfoPage" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select jurisdictionName,enterprisename,detail from ( |
| | | ( |
| | | select |
| | | si.jurisdiction id, |
| | | sj.parent_id, |
| | | sj.dept_name jurisdictionName, |
| | | si.enterprisename, |
| | | "表现差" detail |
| | | from sys_performance sp |
| | | left join |
| | | blade_user bu |
| | | on |
| | | bu.id = sp.securityId |
| | | left join |
| | | sys_information si |
| | | on |
| | | bu.dept_id = si.departmentid |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | sj.id = si.jurisdiction |
| | | where |
| | | 1=1 |
| | | and (si.stats = 2 or si.stats =4) |
| | | and bu.is_deleted = 0 |
| | | and bu.`status` = 1 |
| | | and sp.score = 3 |
| | | ) |
| | | |
| | | union |
| | | ( |
| | | select |
| | | sj.id, |
| | | sj.parent_id, |
| | | sj.dept_name jurisdictionName, |
| | | si.enterprisename, |
| | | if(bu.hold=2,"未持证","证件吊销") as detail |
| | | from |
| | | blade_user bu |
| | | <include refid="getSubstationWarn"/> |
| | | and (bu.hold = 2 or bu.hold = 3) |
| | | ) |
| | | |
| | | |
| | | union |
| | | ( |
| | | select |
| | | sj.id, |
| | | sj.parent_id, |
| | | sj.dept_name jurisdictionName, |
| | | si.enterprisename, |
| | | "未缴纳社保" as detail |
| | | from |
| | | blade_user bu |
| | | <include refid="getSubstationWarn"/> |
| | | and bu.soil = 1 |
| | | ) |
| | | |
| | | union |
| | | ( |
| | | select |
| | | sj.id, |
| | | sj.parent_id, |
| | | sj.dept_name jurisdictionName, |
| | | si.enterprisename, |
| | | "审查异常" as detail |
| | | from |
| | | blade_user bu |
| | | <include refid="getSubstationWarn"/> |
| | | and bu.examination_type = 1 |
| | | ) |
| | | ) a |
| | | where 1=1 |
| | | <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'"> |
| | | and (a.id = #{information.jurisdiction} or a.parent_id = #{information.jurisdiction}) |
| | | </if> |
| | | </select> |
| | | |
| | | <!--根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息--> |
| | | <select id="getSecurityUnitServerLess2Page" resultType="org.springblade.modules.information.vo.InformationVO"> |
| | | select * from |
| | | ( |
| | | select |
| | | DISTINCT |
| | | si.id, |
| | | si.departmentid, |
| | | si.jurisdiction, |
| | | si.enterprisename, |
| | | sj.dept_name jurisdictionName, |
| | | ifnull(a.count,0) znum, |
| | | sdu.name dispatchUnitName, |
| | | sdu.end_time |
| | | from sys_information si |
| | | left join |
| | | sys_dispatcher_unit sdu |
| | | on |
| | | si.departmentid = sdu.dept_id |
| | | left join |
| | | sys_jurisdiction sj |
| | | on |
| | | sj.id = si.jurisdiction |
| | | left join |
| | | ( |
| | | select ifnull(count(*),0) count,dept_id from sys_dispatcher_unit |
| | | where 1=1 |
| | | and start_time <= now() |
| | | and end_time > now() |
| | | GROUP BY dept_id |
| | | ) a |
| | | on |
| | | a.dept_id = si.departmentid |
| | | where 1=1 |
| | | <if test="information.jurisdiction!=null and information.jurisdiction!='' and information.jurisdiction!='1372091709474910209'"> |
| | | and (sj.id = #{information.jurisdiction} or sj.parent_id = #{information.jurisdiction}) |
| | | </if> |
| | | ) b |
| | | where b.znum < 2 |
| | | <if test="information.departmentid!=null and information.departmentid!=''"> |
| | | and b.departmentid = #{information.departmentid} |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | |
| | | </mapper> |
| | |
| | | List<Map<Object,Object>> selJur(); |
| | | String selJurchilder(String id); |
| | | List<Map<Object,Object>> seleJuList(String substring); |
| | | |
| | | /** |
| | | * 获取保安公司信息(本市保安公司,分公司)包含经纬度 |
| | | * @return |
| | | */ |
| | | List<InformationVO> getSecurityUnitPositionInfo(); |
| | | |
| | | /** |
| | | * 根据辖区查询保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitInfoPage(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitHoldInfoPage(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitHoldLess50Page(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司派遣率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitDispatcherLess50Page(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司社保缴纳率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitSoilLess50Page(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitExamLess50Page(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSubstationWarnInfoPage(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息 |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitServerLess2Page(IPage<InformationVO> page, InformationVO information); |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司保险缴纳率低于90%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | IPage<InformationVO> getSecurityUnitInsuranceLessPage(IPage<InformationVO> page, InformationVO information); |
| | | } |
| | |
| | | return baseMapper.seleJuList(substring); |
| | | } |
| | | |
| | | /** |
| | | * 获取保安公司信息(本市保安公司,分公司)包含经纬度 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<InformationVO> getSecurityUnitPositionInfo() { |
| | | return baseMapper.getSecurityUnitPositionInfo(); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitInfoPage(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitInfoPage(page, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证情况分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitHoldInfoPage(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitHoldInfoPage(page, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司持证率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitHoldLess50Page(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitLess50Page(page,1,information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司派遣率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitDispatcherLess50Page(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitLess50Page(page,2, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司社保缴纳率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitSoilLess50Page(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitLess50Page(page,3, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司考试通过率低于50%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitExamLess50Page(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitExamLess50Page(page, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司)预警信息,包含(未持证,现实表现差,未缴纳社保,资格审查异常) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSubstationWarnInfoPage(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSubstationWarnInfoPage(page, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计当前辖区下的保安公司(本市保安公司,分公司))服务对象小于2家的公司数量的分页信息 |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitServerLess2Page(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitServerLess2Page(page, information)); |
| | | } |
| | | |
| | | /** |
| | | * 根据辖区查询统计保安公司保险缴纳率低于90%的保安公司个数及保安公司分页信息(本市保安公司,分公司) |
| | | * @param page 分页条件 |
| | | * @param information 查询条件 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<InformationVO> getSecurityUnitInsuranceLessPage(IPage<InformationVO> page, InformationVO information) { |
| | | return page.setRecords(baseMapper.getSecurityUnitLess50Page(page,4, information)); |
| | | } |
| | | |
| | | |
| | | } |