Commit a245418e authored by 刘林's avatar 刘林

fix(jg):监管企业查询功能开发

parent 009379b1
...@@ -334,4 +334,27 @@ public class TzBaseEnterpriseInfoDto extends BaseDto { ...@@ -334,4 +334,27 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
// 许可信息是否可编辑 // 许可信息是否可编辑
private String licenseCanEdit; private String licenseCanEdit;
/**
* 过滤使用-创建时间-开始
*/
@ApiModelProperty(value = "创建时间")
protected Date createDateStart;
/**
* 过滤使用-创建时间-结束
*/
@ApiModelProperty(value = "创建时间")
protected Date createDateEnd;
/**
* 单位类型集合
*/
private List<String> unitTypeList;
/**
* 企业标签信息-顶部
*/
@ApiModelProperty(value = "企业标签信息")
private List<String> regulatoryLabelList;
} }
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tcm.api.dto.EquEnterDto; import com.yeejoin.amos.boot.module.tcm.api.dto.EquEnterDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto; import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo; import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -49,7 +50,7 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI ...@@ -49,7 +50,7 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI
IPage<TzBaseEnterpriseInfoDto> page(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto); IPage<TzBaseEnterpriseInfoDto> page(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto);
IPage<TzBaseEnterpriseInfoDto> pageList(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, List orgCodeList); IPage<TzBaseEnterpriseInfoDto> pageList(Page<TzBaseEnterpriseInfoDto> page, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, List orgCodeList, @Param("sort") SortVo sortMap);
/** /**
* 查询未生成二维码的企业 * 查询未生成二维码的企业
......
...@@ -30,7 +30,7 @@ public interface ITzBaseEnterpriseInfoService extends IService<TzBaseEnterpriseI ...@@ -30,7 +30,7 @@ public interface ITzBaseEnterpriseInfoService extends IService<TzBaseEnterpriseI
*/ */
List<EquEnterDto> getInfo(String sequenceNbr); List<EquEnterDto> getInfo(String sequenceNbr);
IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto); IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, String sort);
TzBaseEnterpriseInfoDto detail(Long id); TzBaseEnterpriseInfoDto detail(Long id);
IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, String companyName); IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, String companyName);
......
...@@ -83,67 +83,72 @@ ...@@ -83,67 +83,72 @@
</where> </where>
</select> </select>
<select id="pageList" resultType="com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto">
SELECT *,
<select id="pageList"
resultType="com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto">
SELECT
*,
CONCAT(province,'/',city,'/',district) AS region, CONCAT(province,'/',city,'/',district) AS region,
CONCAT(street,'/',address) AS full_address CONCAT(street,'/',address) AS full_address
FROM FROM tz_base_enterprise_info
tz_base_enterprise_info
<where> <where>
<if <if test="tzBaseEnterpriseInfoDto.unitType!=null and tzBaseEnterpriseInfoDto.unitType!='' ">
test="tzBaseEnterpriseInfoDto.unitType!=null and tzBaseEnterpriseInfoDto.unitType!='' ">
AND unit_type = #{tzBaseEnterpriseInfoDto.unitType} AND unit_type = #{tzBaseEnterpriseInfoDto.unitType}
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.unitTypeList != null and !tzBaseEnterpriseInfoDto.unitTypeList.isEmpty() and tzBaseEnterpriseInfoDto.unitTypeList.size() > 0">
test="tzBaseEnterpriseInfoDto.useUnit!=null and tzBaseEnterpriseInfoDto.useUnit!='' "> AND unit_type IN
<foreach collection="tzBaseEnterpriseInfoDto.unitTypeList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="tzBaseEnterpriseInfoDto.useUnit!=null and tzBaseEnterpriseInfoDto.useUnit!='' ">
AND use_unit LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useUnit},'%') AND use_unit LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useUnit},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.useUnitCertificate!=null and tzBaseEnterpriseInfoDto.useUnitCertificate!='' ">
test="tzBaseEnterpriseInfoDto.useUnitCertificate!=null and tzBaseEnterpriseInfoDto.useUnitCertificate!='' ">
AND use_unit_certificate = #{tzBaseEnterpriseInfoDto.useUnitCertificate} AND use_unit_certificate = #{tzBaseEnterpriseInfoDto.useUnitCertificate}
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.useCode!=null and tzBaseEnterpriseInfoDto.useCode!='' ">
test="tzBaseEnterpriseInfoDto.useCode!=null and tzBaseEnterpriseInfoDto.useCode!='' ">
AND use_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useCode},'%') AND use_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useCode},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.region!=null and tzBaseEnterpriseInfoDto.region!='' ">
test="tzBaseEnterpriseInfoDto.region!=null and tzBaseEnterpriseInfoDto.region!='' ">
AND CONCAT(province,'/',city,'/',district) LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.region},'%') AND CONCAT(province,'/',city,'/',district) LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.region},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.legalPerson!=null and tzBaseEnterpriseInfoDto.legalPerson!='' ">
test="tzBaseEnterpriseInfoDto.legalPerson!=null and tzBaseEnterpriseInfoDto.legalPerson!='' ">
AND legal_person LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.legalPerson},'%') AND legal_person LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.legalPerson},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.legalPhone!=null and tzBaseEnterpriseInfoDto.legalPhone!='' ">
test="tzBaseEnterpriseInfoDto.legalPhone!=null and tzBaseEnterpriseInfoDto.legalPhone!='' ">
AND legal_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.legalPhone},'%') AND legal_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.legalPhone},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.useContact!=null and tzBaseEnterpriseInfoDto.useContact!='' ">
test="tzBaseEnterpriseInfoDto.useContact!=null and tzBaseEnterpriseInfoDto.useContact!='' ">
AND use_contact LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useContact},'%') AND use_contact LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useContact},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.contactPhone!=null and tzBaseEnterpriseInfoDto.contactPhone!='' ">
test="tzBaseEnterpriseInfoDto.contactPhone!=null and tzBaseEnterpriseInfoDto.contactPhone!='' ">
AND contact_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.contactPhone},'%') AND contact_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.contactPhone},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.superviseOrgCode!=null and tzBaseEnterpriseInfoDto.superviseOrgCode!='' ">
test="tzBaseEnterpriseInfoDto.superviseOrgCode!=null and tzBaseEnterpriseInfoDto.superviseOrgCode!='' ">
AND supervise_org_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.superviseOrgCode},'%') AND supervise_org_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.superviseOrgCode},'%')
</if> </if>
<if <if test="tzBaseEnterpriseInfoDto.address!=null and tzBaseEnterpriseInfoDto.address!='' ">
test="tzBaseEnterpriseInfoDto.address!=null and tzBaseEnterpriseInfoDto.address!='' ">
AND address LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.address},'%') AND address LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.address},'%')
</if> </if>
<if test="tzBaseEnterpriseInfoDto.regulatoryLabels!=null and tzBaseEnterpriseInfoDto.regulatoryLabels!='' "> <if test="tzBaseEnterpriseInfoDto.regulatoryLabels!=null and tzBaseEnterpriseInfoDto.regulatoryLabels!='' ">
AND regulatory_labels LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.regulatoryLabels},'%') AND regulatory_labels LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.regulatoryLabels},'%')
</if> </if>
<if test="orgCodeList != null and ! orgCodeList.isEmpty() and orgCodeList.size() > 0"> <if test="tzBaseEnterpriseInfoDto.regulatoryLabelList != null and tzBaseEnterpriseInfoDto.regulatoryLabelList.size() > 0">
AND (
<if test="tzBaseEnterpriseInfoDto.regulatoryLabelList.contains('无标签')">
regulatory_labels IS NULL OR regulatory_labels = ''
<if test="tzBaseEnterpriseInfoDto.regulatoryLabelList.size() &gt; 1">
OR
</if>
</if>
<foreach collection="tzBaseEnterpriseInfoDto.regulatoryLabelList" item="label" separator=" OR " index="index">
<if test="label != '无标签'">
regulatory_labels LIKE CONCAT('%', #{label}, '%')
</if>
</foreach>
)
</if>
<if test="orgCodeList != null and ! orgCodeList.isEmpty() and orgCodeList.size() > 0">
<foreach collection="orgCodeList" item="item" index="index" > <foreach collection="orgCodeList" item="item" index="index" >
<if test="index==0"> <if test="index==0">
AND AND
...@@ -151,12 +156,16 @@ ...@@ -151,12 +156,16 @@
<if test="index!= 0"> <if test="index!= 0">
OR OR
</if> </if>
supervise_org_code LIKE CONCAT('%',#{item}) supervise_org_code LIKE CONCAT('%', #{item}, '%')
</foreach> </foreach>
</if> </if>
AND is_delete = 0 AND is_delete = 0
</where> </where>
order by rec_date desc order by
<if test="sort != null">
${sort.field} ${sort.sortType},
</if>
create_date DESC,sequence_nbr DESC
</select> </select>
<select id="selectByUseUnit" resultType="com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo"> <select id="selectByUseUnit" resultType="com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo">
......
package com.yeejoin.amos.boot.module.tcm.biz.controller; package com.yeejoin.amos.boot.module.tcm.biz.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -30,12 +31,13 @@ import org.springframework.http.MediaType; ...@@ -30,12 +31,13 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
/** /**
...@@ -172,15 +174,71 @@ public class TzBaseEnterpriseInfoController extends BaseController { ...@@ -172,15 +174,71 @@ public class TzBaseEnterpriseInfoController extends BaseController {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseUnit(useUnit)); return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseUnit(useUnit));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/page", method = RequestMethod.GET) @RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询") @ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam, public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam, @RequestParam(value = "sort", required = false) String sort, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) { return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto, sort));
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto));
} }
/**
* 分页查询企业信息 从jczs迁移过来
* @param pageParam
* @param sort
* @param map
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getPageList", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "分页查询企业信息", notes = "分页查询企业信息")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> getPageList(PageParam pageParam, @RequestParam(value = "sort", required = false) String sort, @RequestParam Map<String, Object> map) {
TzBaseEnterpriseInfoDto dto = JSON.parseObject(JSON.toJSONString(map), TzBaseEnterpriseInfoDto.class);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!ValidationUtil.isEmpty(map.get("createDateRange"))){
String createDateRangeObj = Objects.toString(map.get("createDateRange"));
String[] split = createDateRangeObj.replace("[", "").replace("]", "").split(",");
String startDateStr = split[0];
String endDateStr = split[1];
try {
Date startDate = sdf.parse(startDateStr);
Date endDate = sdf.parse(endDateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(endDate);
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
endDate = calendar.getTime();
dto.setCreateDateStart(startDate);
dto.setCreateDateEnd(endDate);
} catch (Exception e) {
}
}
// 处理监管标签列表
Optional.ofNullable(map.get("regulatoryLabelList"))
.map(Object::toString)
.map(String::trim)
.filter(s -> !s.isEmpty())
.map(com.yeejoin.amos.boot.module.tcm.biz.utils.StringUtils::splitAndClean)
.filter(list -> !list.isEmpty())
.ifPresent(dto::setRegulatoryLabelList);
// 处理单位类型列表:优先使用 JgUnitTypeList,没有则使用 unitTypeList
List<String> unitTypeList = Optional.ofNullable(map.get("JgUnitTypeList"))
.map(Object::toString)
.map(String::trim)
.filter(s -> !s.isEmpty())
.map(com.yeejoin.amos.boot.module.tcm.biz.utils.StringUtils::splitAndClean)
.orElseGet(() -> Optional.ofNullable(map.get("unitTypeList"))
.map(Object::toString)
.map(String::trim)
.filter(s -> !s.isEmpty())
.map(com.yeejoin.amos.boot.module.tcm.biz.utils.StringUtils::splitAndClean)
.orElse(Collections.emptyList())
);
dto.setUnitTypeList(unitTypeList);
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, dto, sort));
}
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/info") @GetMapping(value = "/info")
......
...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.tcm.api.enums.*; ...@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.tcm.api.enums.*;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.service.ITzBaseEnterpriseInfoService; import com.yeejoin.amos.boot.module.tcm.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.boot.module.tcm.biz.utils.RedisUtil; import com.yeejoin.amos.boot.module.tcm.biz.utils.RedisUtil;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitIcDto; import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitIcDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto; import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto;
...@@ -190,7 +191,7 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -190,7 +191,7 @@ public class TzBaseEnterpriseInfoServiceImpl
} }
@Override @Override
public IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) { public IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, String sort) {
List<String> orgCodeList = new ArrayList<>(); List<String> orgCodeList = new ArrayList<>();
if (tzBaseEnterpriseInfoDto.getSuperviseKey() != null) { if (tzBaseEnterpriseInfoDto.getSuperviseKey() != null) {
FeignClientResult<CompanyModel> result = Privilege.companyClient FeignClientResult<CompanyModel> result = Privilege.companyClient
...@@ -209,8 +210,8 @@ public class TzBaseEnterpriseInfoServiceImpl ...@@ -209,8 +210,8 @@ public class TzBaseEnterpriseInfoServiceImpl
} }
} }
} }
SortVo sortMap = userInfoService.sortFieldConversion(sort);
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto,orgCodeList); return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCodeList, sortMap);
} }
@Override @Override
......
package com.yeejoin.amos.boot.module.tcm.biz.utils; package com.yeejoin.amos.boot.module.tcm.biz.utils;
import java.util.Map; import java.util.*;
import java.util.StringJoiner;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors;
/** /**
* @Author: xl * @Author: xl
...@@ -31,4 +31,17 @@ public class StringUtils { ...@@ -31,4 +31,17 @@ public class StringUtils {
} }
return ""; return "";
} }
/**
* 去掉前后中括号,按逗号分割,去掉空格和空字符串
*/
public static List<String> splitAndClean(String str) {
if (str == null || str.trim().isEmpty()) {
return Collections.emptyList();
}
str = str.replaceAll("^\\[|\\]$", "").trim();
return Arrays.stream(str.split(","))
.map(String::trim)
.filter(s -> !s.isEmpty())
.collect(Collectors.toList());
}
} }
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