Commit a245418e authored by 刘林's avatar 刘林

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

parent 009379b1
......@@ -334,4 +334,27 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
// 许可信息是否可编辑
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;
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.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.vo.SortVo;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.apache.ibatis.annotations.Param;
......@@ -49,7 +50,7 @@ public interface TzBaseEnterpriseInfoMapper extends BaseMapper<TzBaseEnterpriseI
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
*/
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);
IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, String companyName);
......
......@@ -83,67 +83,72 @@
</where>
</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(street,'/',address) AS full_address
FROM
tz_base_enterprise_info
FROM tz_base_enterprise_info
<where>
<if
test="tzBaseEnterpriseInfoDto.unitType!=null and tzBaseEnterpriseInfoDto.unitType!='' ">
<if test="tzBaseEnterpriseInfoDto.unitType!=null and tzBaseEnterpriseInfoDto.unitType!='' ">
AND unit_type = #{tzBaseEnterpriseInfoDto.unitType}
</if>
<if
test="tzBaseEnterpriseInfoDto.useUnit!=null and tzBaseEnterpriseInfoDto.useUnit!='' ">
<if test="tzBaseEnterpriseInfoDto.unitTypeList != null and !tzBaseEnterpriseInfoDto.unitTypeList.isEmpty() and tzBaseEnterpriseInfoDto.unitTypeList.size() > 0">
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},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.useUnitCertificate!=null and tzBaseEnterpriseInfoDto.useUnitCertificate!='' ">
<if test="tzBaseEnterpriseInfoDto.useUnitCertificate!=null and tzBaseEnterpriseInfoDto.useUnitCertificate!='' ">
AND use_unit_certificate = #{tzBaseEnterpriseInfoDto.useUnitCertificate}
</if>
<if
test="tzBaseEnterpriseInfoDto.useCode!=null and tzBaseEnterpriseInfoDto.useCode!='' ">
<if test="tzBaseEnterpriseInfoDto.useCode!=null and tzBaseEnterpriseInfoDto.useCode!='' ">
AND use_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useCode},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.region!=null and tzBaseEnterpriseInfoDto.region!='' ">
<if test="tzBaseEnterpriseInfoDto.region!=null and tzBaseEnterpriseInfoDto.region!='' ">
AND CONCAT(province,'/',city,'/',district) LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.region},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.legalPerson!=null and tzBaseEnterpriseInfoDto.legalPerson!='' ">
<if test="tzBaseEnterpriseInfoDto.legalPerson!=null and tzBaseEnterpriseInfoDto.legalPerson!='' ">
AND legal_person LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.legalPerson},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.legalPhone!=null and tzBaseEnterpriseInfoDto.legalPhone!='' ">
<if test="tzBaseEnterpriseInfoDto.legalPhone!=null and tzBaseEnterpriseInfoDto.legalPhone!='' ">
AND legal_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.legalPhone},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.useContact!=null and tzBaseEnterpriseInfoDto.useContact!='' ">
<if test="tzBaseEnterpriseInfoDto.useContact!=null and tzBaseEnterpriseInfoDto.useContact!='' ">
AND use_contact LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.useContact},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.contactPhone!=null and tzBaseEnterpriseInfoDto.contactPhone!='' ">
<if test="tzBaseEnterpriseInfoDto.contactPhone!=null and tzBaseEnterpriseInfoDto.contactPhone!='' ">
AND contact_phone LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.contactPhone},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.superviseOrgCode!=null and tzBaseEnterpriseInfoDto.superviseOrgCode!='' ">
<if test="tzBaseEnterpriseInfoDto.superviseOrgCode!=null and tzBaseEnterpriseInfoDto.superviseOrgCode!='' ">
AND supervise_org_code LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.superviseOrgCode},'%')
</if>
<if
test="tzBaseEnterpriseInfoDto.address!=null and tzBaseEnterpriseInfoDto.address!='' ">
<if test="tzBaseEnterpriseInfoDto.address!=null and tzBaseEnterpriseInfoDto.address!='' ">
AND address LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.address},'%')
</if>
<if test="tzBaseEnterpriseInfoDto.regulatoryLabels!=null and tzBaseEnterpriseInfoDto.regulatoryLabels!='' ">
AND regulatory_labels LIKE CONCAT('%',#{tzBaseEnterpriseInfoDto.regulatoryLabels},'%')
</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" >
<if test="index==0">
AND
......@@ -151,12 +156,16 @@
<if test="index!= 0">
OR
</if>
supervise_org_code LIKE CONCAT('%',#{item})
supervise_org_code LIKE CONCAT('%', #{item}, '%')
</foreach>
</if>
AND is_delete = 0
</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 id="selectByUseUnit" resultType="com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo">
......
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.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -30,12 +31,13 @@ import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
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.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.*;
/**
......@@ -172,15 +174,71 @@ public class TzBaseEnterpriseInfoController extends BaseController {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.getInfoByUseUnit(useUnit));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@RequestMapping(value = "/page", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam,
TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto));
public ResponseModel<IPage<TzBaseEnterpriseInfoDto>> page(PageParam pageParam, @RequestParam(value = "sort", required = false) String sort, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
return ResponseHelper.buildResponse(iTzBaseEnterpriseInfoService.page(pageParam, tzBaseEnterpriseInfoDto, sort));
}
/**
* 分页查询企业信息 从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)
@GetMapping(value = "/info")
......
......@@ -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.TzsUserInfoMapper;
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.flc.api.dto.RegUnitIcDto;
import com.yeejoin.amos.boot.module.tcm.flc.api.dto.RegUnitInfoDto;
......@@ -190,7 +191,7 @@ public class TzBaseEnterpriseInfoServiceImpl
}
@Override
public IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto) {
public IPage<TzBaseEnterpriseInfoDto> page(PageParam pageParam, TzBaseEnterpriseInfoDto tzBaseEnterpriseInfoDto, String sort) {
List<String> orgCodeList = new ArrayList<>();
if (tzBaseEnterpriseInfoDto.getSuperviseKey() != null) {
FeignClientResult<CompanyModel> result = Privilege.companyClient
......@@ -209,8 +210,8 @@ public class TzBaseEnterpriseInfoServiceImpl
}
}
}
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto,orgCodeList);
SortVo sortMap = userInfoService.sortFieldConversion(sort);
return this.baseMapper.pageList(page, tzBaseEnterpriseInfoDto, orgCodeList, sortMap);
}
@Override
......
package com.yeejoin.amos.boot.module.tcm.biz.utils;
import java.util.Map;
import java.util.StringJoiner;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
* @Author: xl
......@@ -31,4 +31,17 @@ public class StringUtils {
}
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