Browse Source

执法端-查询企业和二维码,企业画像,执法预告

dev-V1.0.1
niujiyi 6 months ago
parent
commit
031d76146b
  1. 59
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEnterpriseInformationController.java
  2. 81
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEnterpriseLawEnforcementController.java
  3. 4
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnterpriseInformationBo.java
  4. 30
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnterpriseLawEnforcementBo.java
  5. 12
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseInformationMapper.java
  6. 40
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/enterprise/AppEnterpriseComplaintMapper.java
  7. 18
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseInformationService.java
  8. 6
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseLawEnforcementService.java
  9. 24
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java
  10. 60
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseInformationServiceImpl.java
  11. 12
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseLawEnforcementServiceImpl.java
  12. 86
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/AppEnterpriseComplaintMapper.xml
  13. 34
      zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseInformationMapper.xml

59
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEnterpriseInformationController.java

@ -18,6 +18,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -151,4 +152,62 @@ public class AppEnfEnterpriseInformationController {
}
return R.fail("操作失败");
}
/**
* 执法端-查询企业信息以及二维码地址
*/
@PostMapping("/queryListAndQrInfo")
@ResponseBody
public TableDataInfo<EnterpriseInformationVo> queryListAndQrInfo(@RequestBody EnterpriseInformationBo bo, PageQuery pageQuery)
{
log.info("执法端查询企业信息及二维码,查询条件: {},分页参数: pageNum={}, pageSize={}",
bo, pageQuery.getPageNum(), pageQuery.getPageSize());
// 1. 使用系统标准分页方式查询
TableDataInfo<EnterpriseInformationVo> result = enterpriseInformationService.selectEnterpriseInformationAndQrInfoPage(bo, pageQuery);
// 2. 如果当前页没有数据,尝试通过执法证件号去市监同步表获取
if (result.getTotal() == 0) {
log.info("本地环境未搜索到相关企业,尝试通过执法证件号去市监同步表获取: {}", bo.getSearchValue());
EnterpriseInformation res = enterpriseInformationService.searchEnterpriseByNumber(bo.getSearchValue());
if (res != null) {
log.info("从市监同步表获取到企业信息: {},开始插入本地数据库", res.getEnterpriseName());
int addResult = enterpriseInformationService.insertEnterpriseInformation(res);
if (addResult > 0) {
log.info("企业信息插入成功,重新查询分页数据");
result = enterpriseInformationService.selectEnterpriseInformationAndQrInfoPage(bo, pageQuery);
}
}
}
log.info("执法端查询企业信息及二维码完成,返回数据: {} 条,总数: {}",
result.getRows() != null ? result.getRows().size() : 0, result.getTotal());
return result;
}
/**
* 执法端-查询企业信息详情(企业画像)
*
* @param enterpriseNumber 企业统一社会信用代码(或盐加密后的企业信用代码)
* @return 企业详细信息
*/
@GetMapping("/getEnterpriseInformation")
public R<EnterpriseInformationVo> getEnterpriseInformation(@RequestParam("enterpriseNumber") String enterpriseNumber) {
log.info("执法端查询企业信息详情,企业信用代码: {}", enterpriseNumber);
if (StrUtil.isBlank(enterpriseNumber)) {
return R.fail("企业信用代码不能为空");
}
// 查询企业信息
EnterpriseInformationVo enterprise = enterpriseInformationService.queryByEnterpriseNumber(enterpriseNumber);
if (enterprise == null) {
log.warn("未查询到企业信息,企业信用代码: {}", enterpriseNumber);
return R.fail("未查询到企业信息");
}
log.info("执法端查询企业信息详情成功,企业: {}", enterprise.getEnterpriseName());
return R.ok(enterprise);
}
}

81
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/controller/app/enforcement/AppEnfEnterpriseLawEnforcementController.java

@ -0,0 +1,81 @@
package com.zdxt.enforcementcode.controller.app.enforcement;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.convert.Convert;
import com.zdxt.enforcementcode.common.util.CommonUtil;
import com.zdxt.enforcementcode.domain.EnterpriseLawEnforcement;
import com.zdxt.enforcementcode.domain.bo.EnterpriseLawEnforcementBo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo;
import com.zdxt.enforcementcode.service.IEnterpriseLawEnforcementService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysUserService;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
/**
* 执法端-执法预报
*/
@Slf4j
@RequiredArgsConstructor
@RestController
@RequestMapping("/app-enf/enforcement")
public class AppEnfEnterpriseLawEnforcementController {
private final IEnterpriseLawEnforcementService enterpriseLawEnforcementService;
private final ISysUserService sysUserService;
/**
* 执法端-执法预告列表
*/
@SaIgnore
@PostMapping("/queryList")
@ResponseBody
public TableDataInfo<EnterpriseLawEnforcementVo> queryList(@RequestBody EnterpriseLawEnforcementBo bo, PageQuery pageQuery) {
TableDataInfo<EnterpriseLawEnforcementVo> rspData = enterpriseLawEnforcementService.selectEnterpriseLawEnforcementVoPageByBo(bo, pageQuery);
List<EnterpriseLawEnforcementVo> list = rspData.getRows();
for (EnterpriseLawEnforcementVo vo : list) {
List<SysUserVo> userBeans = new ArrayList<>();
if (StringUtils.isNotEmpty(vo.getLawEnforcerTwoId())) {
Long[] userIds = Convert.toLongArray(vo.getLawEnforcerTwoId());
List<Long> userIdList = java.util.Arrays.asList(userIds);
userBeans = sysUserService.selectUserByIds(userIdList, null);
}
String tmpUserShow = "";
for (SysUserVo ub : userBeans) {
String temp = ub.getLawCertificateNum();
if(StringUtils.isEmpty(temp)) {
temp = CommonUtil.encryptPhone(ub.getPhonenumber());
}
tmpUserShow += ub.getUserName() +" "+ temp + ",";
}
if (tmpUserShow.length() > 0) {
tmpUserShow = tmpUserShow.substring(0, tmpUserShow.length()-1);
}
vo.setLawEnforcer2Show(tmpUserShow);
if(vo.getCheckTime() != null) {
LocalDate checkTime = vo.getCheckTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
long daysBetween = ChronoUnit.DAYS.between(LocalDate.now(), checkTime);
if(vo.getStatus() != null && !vo.getStatus().equals(1L)) {
if (daysBetween < 0) {
vo.setStatus(3L);
}
}
}
}
rspData.setRows(list);
return rspData;
}
}

4
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnterpriseInformationBo.java

@ -128,5 +128,9 @@ public class EnterpriseInformationBo extends BaseEntity {
*/
private String operatingTermEnd;
/**
* 综合搜索字段
*/
private String searchValue;
}

30
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/bo/EnterpriseLawEnforcementBo.java

@ -25,7 +25,7 @@ public class EnterpriseLawEnforcementBo extends BaseEntity {
/**
* 主键ID
*/
@NotBlank(message = "主键ID不能为空", groups = { EditGroup.class })
//@NotBlank(message = "主键ID不能为空", groups = { EditGroup.class })
private String id;
/**
@ -49,7 +49,7 @@ public class EnterpriseLawEnforcementBo extends BaseEntity {
private String enterpriseName;
/**
*
*
*/
private Date checkTime;
@ -69,12 +69,12 @@ public class EnterpriseLawEnforcementBo extends BaseEntity {
private String remark;
/**
*
*
*/
private String userId;
/**
*
*
*/
private String deptId;
@ -131,56 +131,56 @@ public class EnterpriseLawEnforcementBo extends BaseEntity {
/**
* 保存状态(0:临时保存; 1:保存)
*/
@NotNull(message = "保存状态(0:临时保存; 1:保存)不能为空", groups = { AddGroup.class, EditGroup.class })
//@NotNull(message = "保存状态(0:临时保存; 1:保存)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isSubmit;
/**
*
*
*/
private String uniteCheck;
/**
*
*
*/
private Long isUnite;
/**
*
*
*/
private Long isReg;
/**
*
*
*/
private Long mainDeputyOrder;
/**
*
*
*/
private String tmpDeptJson;
/**
*
*
*/
private String checkItemText;
/**
*
*
*/
private String checkRequireText;
/**
*
*
*/
private String bureauDeptId;
/**
*
*
*/
private String bureauDeptName;
/**
*
*
*/
private Long checkTimeOrder;

12
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/EnterpriseInformationMapper.java

@ -1,6 +1,8 @@
package com.zdxt.enforcementcode.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zdxt.enforcementcode.domain.EnterpriseInformation;
import com.zdxt.enforcementcode.domain.bo.EnterpriseInformationBo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseSearchVo;
import org.apache.ibatis.annotations.Mapper;
@ -65,4 +67,14 @@ public interface EnterpriseInformationMapper extends BaseMapperPlus<EnterpriseIn
* @return 前20条搜索结果
*/
List<EnterpriseSearchVo> searchSsztByNumber(@Param("enterpriseNumber") String enterpriseNumber);
/**
* 执法端-分页查询企业和二维码
*
* @param bo 企业信息登记
* @param page 分页对象
* @return 企业信息登记分页集合
*/
IPage<EnterpriseInformationVo> selectEnterpriseInformationAndQrInfoPage(@Param("bo") EnterpriseInformationBo bo, @Param("page") IPage<EnterpriseInformationVo> page);
}

40
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/mapper/enterprise/AppEnterpriseComplaintMapper.java

@ -1,26 +1,56 @@
package com.zdxt.enforcementcode.mapper.enterprise;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zdxt.enforcementcode.domain.EnterpriseComplaint;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnforcementRegistrationVo;
import com.zdxt.enforcementcode.domain.vo.enterprise.AppEnterpriseComplaintVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.Date;
import java.util.List;
/**
* 企业端-投诉建议Mapper接口
*/
@Mapper
public interface AppEnterpriseComplaintMapper extends BaseMapperPlus<EnterpriseComplaint, AppEnterpriseComplaintVo> {
/**
* 查询行政和非行政未被投诉的检查记录列表(UNION ALL合并两个表)
* 分页查询行政和非行政未被投诉列表
*
* @param enterpriseNumber 企业信用代码
* @param searchValue 关键字搜索
* @param checkCategoryCode 执法类别代码
* @param searchValue 搜索关键字
* @param checkCategoryCode 检查类别编码
* @param beginTime 开始时间
* @param endTime 结束时间
* @param deptList 部门ID列表
* @return 检查结果列表
* @param deptList 部门列表
* @param page 分页对象
* @return 分页结果
*/
IPage<AppEnforcementRegistrationVo> selectAllCheckListPage(
@Param("enterpriseNumber") String enterpriseNumber,
@Param("searchValue") String searchValue,
@Param("checkCategoryCode") String checkCategoryCode,
@Param("beginTime") Date beginTime,
@Param("endTime") Date endTime,
@Param("deptList") List<String> deptList,
@Param("page") IPage<AppEnforcementRegistrationVo> page
);
/**
* 查询行政和非行政未被投诉列表(不分页)
*
* @param enterpriseNumber 企业信用代码
* @param searchValue 搜索关键字
* @param checkCategoryCode 检查类别编码
* @param beginTime 开始时间
* @param endTime 结束时间
* @param deptList 部门列表
* @param page 分页对象
* @return 列表结果
*/
List<AppEnforcementRegistrationVo> selectAllCheckList(
@Param("enterpriseNumber") String enterpriseNumber,

18
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseInformationService.java

@ -167,4 +167,22 @@ public interface IEnterpriseInformationService {
* @return 是否插入成功
*/
int insertEnterpriseInformation(EnterpriseInformation enterpriseInformation);
/**
* 执法端-分页查询企业和二维码信息
*
* @param bo 企业信息登记
* @param pageQuery 分页参数
* @return 分页数据
*/
TableDataInfo<EnterpriseInformationVo> selectEnterpriseInformationAndQrInfoPage(EnterpriseInformationBo bo, PageQuery pageQuery);
/**
* 根据企业统一社会信用代码搜索企业(从市监同步表)
*
* @param enterpriseNumber 企业统一社会信用代码
* @return 企业信息
*/
EnterpriseInformation searchEnterpriseByNumber(String enterpriseNumber);
}

6
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/IEnterpriseLawEnforcementService.java

@ -1,5 +1,6 @@
package com.zdxt.enforcementcode.service;
import com.zdxt.enforcementcode.domain.EnterpriseLawEnforcement;
import com.zdxt.enforcementcode.domain.vo.EnterpriseLawEnforcementVo;
import com.zdxt.enforcementcode.domain.bo.EnterpriseLawEnforcementBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -69,8 +70,11 @@ public interface IEnterpriseLawEnforcementService {
/**
* 修改企业端-执法部门预约记录
*
* @param enterpriseLawEnforcement 企业端-执法部门预约记录
* @param bo 企业端-执法部门预约记录
* @return 结果
*/
public int updateEnterpriseLawEnforcement(EnterpriseLawEnforcementBo bo);
TableDataInfo<EnterpriseLawEnforcementVo> selectEnterpriseLawEnforcementVoPageByBo(EnterpriseLawEnforcementBo bo, PageQuery pageQuery);
}

24
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseComplaintServiceImpl.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -227,9 +228,11 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
// 3. 处理关键字搜索(匹配执法类别中文名称)
String checkCategoryCode = processSearchValue(bo.getSearchValue(), checkCategoryMap);
// 4. 调用 Mapper 查询数据库
Page<AppEnforcementRegistrationVo> page = pageQuery.build();
List<AppEnforcementRegistrationVo> list = baseMapper.selectAllCheckList(
// 4. 构建分页对象
IPage<AppEnforcementRegistrationVo> page = pageQuery.build();
// 5. 调用 Mapper 分页查询方法(MyBatis-Plus 分页拦截器会自动处理 COUNT 和 LIMIT)
IPage<AppEnforcementRegistrationVo> result = baseMapper.selectAllCheckListPage(
bo.getEnterpriseNumber(),
bo.getSearchValue(),
checkCategoryCode,
@ -239,19 +242,8 @@ public class AppEnterpriseComplaintServiceImpl implements IAppEnterpriseComplain
page
);
// 5. 设置总数
Long total = baseMapper.countAllCheckList(
bo.getEnterpriseNumber(),
bo.getSearchValue(),
checkCategoryCode,
bo.getBeginTime(),
bo.getEndTime(),
deptList
);
page.setRecords(list);
page.setTotal(total);
return TableDataInfo.build(page);
// 6. 返回分页结果
return TableDataInfo.build(result);
}
/**

60
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseInformationServiceImpl.java

@ -2,6 +2,7 @@ package com.zdxt.enforcementcode.service.impl;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zdxt.enforcementcode.common.config.RuoYiConfig;
import com.zdxt.enforcementcode.common.util.PasswordTools;
import com.zdxt.enforcementcode.common.util.QRCodeUtil;
@ -12,6 +13,7 @@ import com.zdxt.enforcementcode.domain.bo.QrCodeGenerateHistoryBo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo;
import com.zdxt.enforcementcode.domain.vo.EnterpriseSearchVo;
import com.zdxt.enforcementcode.domain.vo.QrCodeGenerateHistoryVo;
import com.zdxt.enforcementcode.domain.vo.SsztJbxx110497NewVo;
import com.zdxt.enforcementcode.mapper.EnterpriseInformationMapper;
import com.zdxt.enforcementcode.service.IEnterpriseInformationService;
import com.zdxt.enforcementcode.service.IQrCodeGenerateHistoryService;
@ -484,4 +486,62 @@ public class EnterpriseInformationServiceImpl implements IEnterpriseInformationS
log.error("企业[{}]二维码生成失败", enterpriseInformation.getEnterpriseNumber(), e);
}
}
/**
* 分页查询企业信息和二维码信息
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 分页数据
*/
@Override
public TableDataInfo<EnterpriseInformationVo> selectEnterpriseInformationAndQrInfoPage(EnterpriseInformationBo bo, PageQuery pageQuery) {
// 构建分页对象
Page<EnterpriseInformationVo> page = pageQuery.build();
// 调用 Mapper 分页查询方法
IPage<EnterpriseInformationVo> result = baseMapper.selectEnterpriseInformationAndQrInfoPage(bo, page);
// 返回分页结果
return TableDataInfo.build(result);
}
/**
* 根据企业统一社会信用代码搜索企业(从市监同步表)
*
* @param enterpriseNumber 企业统一社会信用代码
* @return 企业信息
*/
@Override
public EnterpriseInformation searchEnterpriseByNumber(String enterpriseNumber) {
if (StringUtils.isBlank(enterpriseNumber)) {
log.warn("企业统一社会信用代码不能为空");
return null;
}
// 查询市监同步表 sszt_jbxx110497_new
List<EnterpriseSearchVo> ssztList = baseMapper.searchSsztByNumber(enterpriseNumber);
if (ssztList == null || ssztList.isEmpty()) {
log.info("市监同步表中未找到企业: {}", enterpriseNumber);
return null;
}
// 取第一条数据转换为 EnterpriseInformation
EnterpriseSearchVo sszt = ssztList.get(0);
EnterpriseInformation enterprise = new EnterpriseInformation();
enterprise.setId(IdUtil.simpleUUID());
enterprise.setEnterpriseNumber(sszt.getEnterpriseNumber());
enterprise.setEnterpriseName(sszt.getEnterpriseName());
enterprise.setCreateTime(DateUtils.getNowDate());
enterprise.setCreateBy(LoginHelper.getUserId());
enterprise.setUpdateTime(DateUtils.getNowDate());
// 生成盐值
String salt = PasswordTools.encrypt(enterprise.getEnterpriseNumber());
enterprise.setSalt(salt);
log.info("从市监同步表获取到企业信息: {} - {}", enterprise.getEnterpriseNumber(), enterprise.getEnterpriseName());
return enterprise;
}
}

12
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/impl/EnterpriseLawEnforcementServiceImpl.java

@ -1,6 +1,7 @@
package com.zdxt.enforcementcode.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
@ -163,6 +164,17 @@ public class EnterpriseLawEnforcementServiceImpl implements IEnterpriseLawEnforc
return baseMapper.deleteByIds(ids) > 0;
}
@Override
public TableDataInfo<EnterpriseLawEnforcementVo> selectEnterpriseLawEnforcementVoPageByBo(EnterpriseLawEnforcementBo bo, PageQuery pageQuery) {
Page<EnterpriseLawEnforcement> page = pageQuery.build();
LambdaQueryWrapper<EnterpriseLawEnforcement> lqw = buildQueryWrapper(bo);
Page<EnterpriseLawEnforcementVo> result = baseMapper.selectVoPage(page, lqw);
return TableDataInfo.build(result);
}
/**
* 修改企业端-执法部门预约记录
* @return 结果

86
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/AppEnterpriseComplaintMapper.xml

@ -91,6 +91,92 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY enforcementTime DESC
</select>
<select id="selectAllCheckListPage" resultType="com.zdxt.enforcementcode.domain.vo.enterprise.AppEnforcementRegistrationVo">
SELECT * FROM (
<!-- 行政检查 -->
SELECT
er.id,
er.law_enforcer AS lawEnforcer,
er.law_enforcer_id AS lawEnforcerId,
er.law_enforcer_id_two AS lawEnforcerOtherId,
er.law_enforcer_two AS lawEnforcerOther,
er.law_enforcement_item_text AS title,
er.check_category AS lawEnforcementType,
0 AS dataType,
er.bureau_dept_id AS bureauDeptId,
er.bureau_dept_name AS bureauDeptName ,
er.enforcement_time as enforcementTime
FROM enforcement_registration er
WHERE er.is_submit = 1
AND er.is_complaint = 0
AND er.enterprise_number = #{enterpriseNumber}
<if test="checkCategoryCode != null and checkCategoryCode != ''">
AND er.check_category = #{checkCategoryCode}
</if>
<if test="beginTime != null">
AND er.enforcement_time &gt;= #{beginTime}
</if>
<if test="endTime != null">
AND er.enforcement_time &lt;= #{endTime}
</if>
<if test="deptList != null and deptList.size() > 0">
AND er.dept_id IN
<foreach collection="deptList" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
UNION ALL
<!-- 非行政检查 -->
SELECT
ner.id,
ner.law_enforcer AS lawEnforcer,
ner.law_enforcer_id AS lawEnforcerId,
ner.law_enforcer_id_other AS lawEnforcerOtherId,
ner.law_enforcer_other AS lawEnforcerOther,
ner.law_enforcement_item_text AS title,
ner.law_enforcement_type_text AS lawEnforcementType,
1 AS dataType,
ner.bureau_dept_id AS bureauDeptId,
ner.bureau_dept_name AS bureauDeptName,
ner.enforcement_time as enforcementTime
FROM non_enforcement_registration ner
WHERE ner.has_submit = 1
AND ner.has_complaint = 0
AND ner.enterprise_number = #{enterpriseNumber}
<if test="beginTime != null">
AND ner.enforcement_time &gt;= #{beginTime}
</if>
<if test="endTime != null">
AND ner.enforcement_time &lt;= #{endTime}
</if>
<if test="deptList != null and deptList.size() > 0">
AND ner.law_enforcer_id IN
<foreach collection="deptList" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
</if>
) combined
<!-- 关键字搜索 -->
<if test="searchValue != null and searchValue != ''">
WHERE complaintRecordItem LIKE CONCAT('%', #{searchValue}, '%')
OR complaintDepartments LIKE CONCAT('%', #{searchValue}, '%')
OR linkman LIKE CONCAT('%', #{searchValue}, '%')
OR enterpriseName LIKE CONCAT('%', #{searchValue}, '%')
</if>
ORDER BY enforcementTime DESC
</select>
<!-- 统计行政和非行政未被投诉的检查记录总数 -->
<select id="countAllCheckList" resultType="java.lang.Long">
SELECT COUNT(*) FROM (

34
zdxt-modules/zdxt-enforcement-code/src/main/resources/mapper/enforcementcode/EnterpriseInformationMapper.xml

@ -64,4 +64,38 @@
LIMIT 20
</select>
<select id="selectEnterpriseInformationAndQrInfoPage" resultType="com.zdxt.enforcementcode.domain.vo.EnterpriseInformationVo">
SELECT
ei.*,gh.qr_code_url
FROM
enterprise_information ei
LEFT JOIN (
SELECT
enterprise_number,
qr_code_url
FROM
( SELECT enterprise_number,
qr_code_url,
generate_time
FROM qr_code_generate_history
WHERE `status` = 0 ORDER BY generate_time DESC LIMIT 1000000000 ) t
GROUP BY
t.enterprise_number
ORDER BY
t.generate_time DESC
) gh ON ei.enterprise_number = gh.enterprise_number
<where>
and ei.is_delete = 0
<if test="bo.searchValue != null and bo.searchValue != ''">
AND (ei.enterprise_name like concat('%', #{bo.searchValue}, '%')
or ei.enterprise_number like concat('%', #{bo.searchValue}, '%'))
</if>
<if test="bo.enterpriseName != null and bo.enterpriseName != ''">
and ei.enterprise_name like concat('%', #{bo.enterpriseName}, '%')
</if>
</where>
ORDER BY ei.create_time DESC
</select>
</mapper>

Loading…
Cancel
Save