Commit 064cd637 authored by tianyiming's avatar tianyiming

两员配备-企业排查情况查询

parent 409f25ad
package com.yeejoin.amos.boot.module.tcm.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
*
*
* @author system_generator
* @date 2023-10-31
*/
@Data
@ApiModel(value="TzsTwoStaffingCompanyCheckDto", description="")
public class TzsTwoStaffingCompanyCheckDto {
@ApiModelProperty(value = "监管单位ID")
@ExcelIgnore
private String sequenceNbr;
@ApiModelProperty(value = "企业名称")
@ExcelProperty(value = "企业名称", index = 0)
private String useUnit;
@ApiModelProperty(value = "企业编码")
@ExcelProperty(value = "企业编码", index = 1)
private String useCode;
@ApiModelProperty(value = "所属监管单位")
@ExcelProperty(value = "所属监管单位", index = 2)
private String superviseOrgName;
@ApiModelProperty(value = "监管单位orgCode")
@ExcelIgnore
private String superviseOrgCode;
@ApiModelProperty(value = "排查状态")
@ExcelProperty(value = "排查状态", index = 3)
private String checkStatus;
@ApiModelProperty(value = "企业法人")
@ExcelProperty(value = "企业法人", index = 4)
private String legalPerson;
@ApiModelProperty(value = "企业法人电话")
@ExcelProperty(value = "企业法人电话", index = 5)
private String legalPhone;
@ApiModelProperty(value = "单位联系人电话")
@ExcelProperty(value = "单位联系人电话", index = 6)
private String contactPhone;
@ApiModelProperty(value = "周期")
@ExcelIgnore
private String planType;
@ApiModelProperty(value = "排查开始时间")
@ExcelIgnore
private String checkStartTime;
@ApiModelProperty(value = "排查结束时间")
@ExcelIgnore
private String checkEndTime;
@ExcelIgnore
List<String> ids;
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyCheckDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsTwoStaffing;
import org.apache.ibatis.annotations.Param;
......@@ -25,4 +26,6 @@ public interface TzsTwoStaffingMapper extends BaseMapper<TzsTwoStaffing> {
void truncateTwoStaffingStatistics();
List<TzsTwoStaffing> getListByOrgCode(@Param("orgCode")String orgCode, @Param("type")String type, @Param("level")String level);
Page<TzsTwoStaffingCompanyCheckDto> getCompanyCheckList(@Param("page")Page<TzsTwoStaffingCompanyCheckDto> page, @Param("orgCode") String orgCode, @Param("companyDto")TzsTwoStaffingCompanyCheckDto companyDto);
}
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tcm.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyCheckDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsTwoStaffing;
......@@ -21,4 +22,9 @@ public interface ITzsTwoStaffingService {
Page<TzsTwoStaffingCompanyDto> getCompanyList(String orgCode, TzsTwoStaffingCompanyDto companyDto,Page<TzsTwoStaffingCompanyDto> page);
public void generateTwoStaffingStatistics();
Page<TzsTwoStaffingCompanyCheckDto> getCompanyCheckList(String orgCode, TzsTwoStaffingCompanyCheckDto companyDto, Page<TzsTwoStaffingCompanyCheckDto> page);
void getThreeSystemsStatistics();
}
......@@ -51,4 +51,50 @@
<select id="truncateTwoStaffingStatistics">
TRUNCATE TABLE tzs_two_staffing;
</select>
<select id="getCompanyCheckList"
resultType="com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyCheckDto">
select
*
from (
SELECT
ei.use_unit,
ei.use_code,
ei.supervise_org_code,
ei.supervise_org_name,
ei.legal_phone,
ei.contact_phone,
CASE
WHEN ( SELECT COUNT ( 1 ) FROM amos_tzs_biz.p_plan_task pt WHERE pt.finish_status = '3' AND ppt.use_code = pt.use_code AND pt.plan_type = #{companyDto.planType} AND pt.check_date BETWEEN #{companyDto.checkStartTime} AND #{companyDto.checkEndTime} ) > 0 THEN
'超期未检'
WHEN ( SELECT COUNT ( 1 ) FROM amos_tzs_biz.p_plan_task pt WHERE (pt.finish_status = '0' OR pt.finish_status = '1') AND ppt.use_code = pt.use_code AND pt.plan_type = #{companyDto.planType} AND pt.check_date BETWEEN #{companyDto.checkStartTime} AND #{companyDto.checkEndTime} ) > 0 THEN
'未完成'
WHEN ( SELECT COUNT ( 1 ) FROM amos_tzs_biz.p_plan_task pt WHERE pt.finish_status = '2' AND pt.risk_status = '1' AND ppt.use_code = pt.use_code AND pt.plan_type = #{companyDto.planType} AND pt.check_date BETWEEN #{companyDto.checkStartTime} AND #{companyDto.checkEndTime} ) > 0 THEN
'已完成有风险'
WHEN ( SELECT COUNT ( 1 ) FROM amos_tzs_biz.p_plan_task pt WHERE pt.finish_status = '2' AND pt.risk_status = '2' AND ppt.use_code = pt.use_code AND pt.plan_type = #{companyDto.planType} AND pt.check_date BETWEEN #{companyDto.checkStartTime} AND #{companyDto.checkEndTime} ) > 0 THEN
'已完成无风险'
ELSE '无任务'
END AS checkStatus
FROM
amos_tzs_biz.tz_base_enterprise_info ei
LEFT JOIN amos_tzs_biz.p_plan_task ppt ON ei.use_code = ppt.use_code
WHERE
ei.supervise_org_code like concat(#{orgCode},'%')
<if test="companyDto.useUnit != '' and companyDto.useUnit != null">
and ei.use_unit like concat('%',#{companyDto.useUnit},'%')
</if>
<if test="companyDto.useCode != '' and companyDto.useCode != null">
and ei.use_code like concat('%',#{companyDto.useCode},'%')
</if>
GROUP BY
ei.use_code
) tt
<where>
<if test="companyDto.checkStatus != '' and companyDto.checkStatus != null">
and tt.checkStatus = #{companyDto.checkStatus}
</if>
</where>
</select>
</mapper>
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyCheckDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyDto;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsTwoStaffing;
......@@ -112,4 +113,29 @@ public class TzsTwoStaffingController extends BaseController {
}
ExcelUtil.createTemplate(response, "监管单位统计信息", type, exportVos, TzsTwoStaffingExportVo.class, null, false);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getCompanyCheckList")
@ApiOperation(httpMethod = "GET", value = "企业排查情况查询", notes = "企业排查情况查询")
public ResponseModel<IPage<TzsTwoStaffingCompanyCheckDto>> getCompanyCheckList(@RequestParam(value = "orgCode") String orgCode,
@RequestParam(value = "current") String current,
@RequestParam(value = "size") String size,
TzsTwoStaffingCompanyCheckDto companyDto) {
Page<TzsTwoStaffingCompanyCheckDto> page = new Page<>();
page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size));
return ResponseHelper.buildResponse(tzsTwoStaffingService.getCompanyCheckList(orgCode, companyDto,page));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/getThreeSystemsStatistics")
@ApiOperation(httpMethod = "GET", value = "生成三项制度统计", notes = "生成三项制度统计")
public ResponseModel<Object> getThreeSystemsStatistics() {
tzsTwoStaffingService.getThreeSystemsStatistics();
return ResponseHelper.buildResponse("ok");
}
}
......@@ -2,8 +2,10 @@ package com.yeejoin.amos.boot.module.tcm.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tcm.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyCheckDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingCompanyDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsTwoStaffingDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsTwoStaffing;
......@@ -24,7 +26,9 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.stream.Collectors;
......@@ -142,7 +146,26 @@ public class TzsTwoStaffingServiceImpl extends BaseService<TzsTwoStaffingDto, Tz
log.info("两员配备统计耗时{}秒/n", timeWatch.getTotalTimeSeconds());
}
private List<LinkedHashMap<String, Object>> getSupervisionList() {
@Override
public Page<TzsTwoStaffingCompanyCheckDto> getCompanyCheckList(String orgCode,
TzsTwoStaffingCompanyCheckDto companyDto,
Page<TzsTwoStaffingCompanyCheckDto> page) {
Date nowDay = new Date();
String day = DateUtils.convertDateToString(nowDay, DateUtils.DATE_PATTERN);
String startDay = day + " 00:00:00";
String endDay = day + " 23:59:59";
companyDto.setPlanType(ObjectUtils.isEmpty(companyDto.getPlanType()) ? "1" : companyDto.getPlanType());
companyDto.setCheckStartTime(ObjectUtils.isEmpty(companyDto.getCheckStartTime()) ? startDay : companyDto.getCheckStartTime());
companyDto.setCheckEndTime(ObjectUtils.isEmpty(companyDto.getCheckEndTime()) ? endDay : companyDto.getCheckEndTime());
return tzsTwoStaffingMapper.getCompanyCheckList(page, orgCode, companyDto);
}
@Override
public void getThreeSystemsStatistics() {
}
private List<LinkedHashMap<String, Object>> getSupervisionList() {
List<LinkedHashMap<String, Object>> supervisionList =
(List<LinkedHashMap<String, Object>>) redisUtils.get(BizCommonConstant.REGULATOR_UNIT_LIST);
if (ValidationUtil.isEmpty(supervisionList)) {
......
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