Commit 0e183e91 authored by 施翔轲's avatar 施翔轲

涉诉限用禁用管理相关列表

parent ebdc674d
package com.dsk.cscec.constant;
/**
* 涉诉限用禁用管理搜索常量信息
*
* @author sxk
* @date 2023.12.11
* @time 14:22
*/
public interface SupplierLimitedManageQueryConstants {
/**
* 涉诉限用禁用数据区分字段
*/
String LIMITED_DATA_TYPE = "限用禁用";
/**
* 解除限用禁用数据区分字段
*/
String UNLIMITED_DATA_TYPE = "解除限禁";
}
package com.dsk.cscec.controller;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.bo.SupplierLimitedSearchBo;
import com.dsk.cscec.domain.bo.SupplierUnlimitedSearchBo;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
import com.dsk.cscec.service.FSupplierLimitedService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -21,5 +28,20 @@ public class FSupplierLimitedController {
@Resource
private FSupplierLimitedService fSupplierLimitedService;
/**
* 获取涉诉限用禁用名单
*/
@GetMapping("/getSupplierLimitedList")
public TableDataInfo<SupplierLimitedSearchVo> getSupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) {
return fSupplierLimitedService.querySupplierLimitedList(searchBo, pageQuery);
}
/**
* 获取解除限用禁用名单
*/
@GetMapping("/getSupplierUnlimitedList")
public TableDataInfo<SupplierUnlimitedSearchVo> getSupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) {
return fSupplierLimitedService.querySupplierUnlimitedList(searchBo, pageQuery);
}
}
package com.dsk.cscec.domain.bo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.05
* @time 13:51
*/
@Data
public class SupplierLimitedSearchBo {
/**
* 供应商名称
*/
private String supplierName;
/**
* 是否为局名义被诉案件(是/否)
*/
private String isGroupCase;
/**
* 限用/禁用开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date limitedStartTime;
/**
* 限用/禁用结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date limitedEndTime;
}
package com.dsk.cscec.domain.bo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.08
* @time 09:07
*/
@Data
public class SupplierUnlimitedSearchBo {
/**
* 解除限用开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date unlimitedStartTime;
/**
* 解除限用结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date unlimitedEndTime;
/**
* 申请单位
*/
private String applyUnit;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.05
* @time 14:14
*/
@Data
public class SupplierLimitedSearchVo {
/**
* 主键id
*/
private String fid;
/**
* 单据编号
*/
private String frecordno;
/**
* 供应商Cid
*/
private Integer supplierCid;
/**
* 供应商名称(分供方名称)
*/
private String fsuppliername;
/**
* 供应商统一社会信用代码
*/
private String funifiedsocialcreditcode;
/**
* 限用情形
*/
private String flimitsituation;
/**
* 禁用情形
*/
private String fdisablesituation;
/**
* 子企业(限用推送单位)
*/
private String fjobunitname;
/**
* 限用/禁用状态
*/
private String fstate;
/**
* 时间戳(限用/禁用开始日期)
*/
private Date fts;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* @author sxk
* @date 2024.01.05
* @time 17:47
*/
@Data
public class SupplierUnlimitedSearchVo {
/**
* 主键id
*/
private String fid;
/**
* 单据编号
*/
private String frecordno;
/**
* 供应商Cid
*/
private Integer supplierCid;
/**
* 供应商名称(分供方名称)
*/
private String fsuppliername;
/**
* 供应商统一社会信用代码
*/
private String funifiedsocialcreditcode;
/**
* 解除限用理由
*/
private String frelievereason;
/**
* 子企业(申请单位)
*/
private String fjobunitname;
/**
* 解除前状态(原限用/禁用)
*/
private String fbeforestate;
/**
* 限用日期
*/
private Date flimitdate;
/**
* 时间戳(解除限用/禁用开始日期)
*/
private Date fts;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.FSupplierLimited;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
import org.apache.ibatis.annotations.Param;
/**
* 供应商限制信息表(FSupplierLimited)表数据库访问层
......@@ -10,7 +17,14 @@ import com.dsk.cscec.domain.FSupplierLimited;
* @since 2024-01-05 11:34:19
*/
public interface FSupplierLimitedMapper extends BaseMapper<FSupplierLimited> {
/**
* 获取涉诉限用禁用名单
*/
Page<SupplierLimitedSearchVo> selectPageSupplierLimitedList(@Param("page") Page<Object> build, @Param(Constants.WRAPPER) Wrapper<FSupplierLimited> wrapper);
/**
* 获取解除限用禁用名单
*/
Page<SupplierUnlimitedSearchVo> selectPageSupplierUnlimitedList(@Param("page") Page<Object> build, @Param(Constants.WRAPPER) QueryWrapper<FSupplierLimited> wrapper);
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.FSupplierLimited;
import com.dsk.cscec.domain.bo.SupplierLimitedSearchBo;
import com.dsk.cscec.domain.bo.SupplierUnlimitedSearchBo;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
/**
* 供应商限制信息表(FSupplierLimited)表服务接口
......@@ -10,5 +16,21 @@ import com.dsk.cscec.domain.FSupplierLimited;
* @since 2024-01-05 11:34:23
*/
public interface FSupplierLimitedService extends IService<FSupplierLimited> {
/**
* 获取涉诉限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<SupplierLimitedSearchVo> querySupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery);
/**
* 获取解除限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<SupplierUnlimitedSearchVo> querySupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery);
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.SupplierLimitedManageQueryConstants;
import com.dsk.cscec.domain.FSupplierLimited;
import com.dsk.cscec.domain.bo.SupplierLimitedSearchBo;
import com.dsk.cscec.domain.bo.SupplierUnlimitedSearchBo;
import com.dsk.cscec.domain.vo.SupplierLimitedSearchVo;
import com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo;
import com.dsk.cscec.mapper.FSupplierLimitedMapper;
import com.dsk.cscec.service.FSupplierLimitedService;
import com.dsk.system.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 供应商限制信息表(FSupplierLimited)表服务实现类
......@@ -18,5 +35,102 @@ import javax.annotation.Resource;
public class FSupplierLimitedServiceImpl extends ServiceImpl<FSupplierLimitedMapper, FSupplierLimited> implements FSupplierLimitedService {
@Resource
private FSupplierLimitedMapper baseMapper;
@Resource
private DskOpenApiUtil dskOpenApiUtil;
/**
* 获取涉诉限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<SupplierLimitedSearchVo> querySupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) {
QueryWrapper<FSupplierLimited> wrapper = Wrappers.query();
wrapper
//供应商名称
.like(StringUtils.isNotBlank(searchBo.getSupplierName()), "fsl.fsuppliername", searchBo.getSupplierName())
//是否为局名义被诉案件
.eq(StringUtils.isNotBlank(searchBo.getIsGroupCase()), "fsl.fisgroupcase", searchBo.getIsGroupCase())
//限用/禁用时间
.between(ObjectUtils.isNotNull(searchBo.getLimitedStartTime()) && ObjectUtils.isNotNull(searchBo.getLimitedEndTime()),
"fsl.fts",
searchBo.getLimitedStartTime(),
searchBo.getLimitedEndTime())
//筛选涉诉限用禁用名单数据
.eq("fsl.fdatatype", SupplierLimitedManageQueryConstants.LIMITED_DATA_TYPE)
//根据限用/禁用时间倒序排序
.orderByDesc("fsl.fts");
Page<SupplierLimitedSearchVo> page = baseMapper.selectPageSupplierLimitedList(pageQuery.build(), wrapper);
for (SupplierLimitedSearchVo searchVo : page.getRecords()) {
Map<String, Object> params = new HashMap<>();
String supplierName = searchVo.getFsuppliername();
params.put("keyword", supplierName);
Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
//防止没有数据而导致强转错误,所以先判断下total
if (MapUtils.getInteger(jskData, "total", 0) > 0) {
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (supplierName.equals(companyName)) {
searchVo.setSupplierCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
}
}
//查不到则抛异常
//throw new ServiceException("未查询到该供应商Cid");
}
}
return TableDataInfo.build(page);
}
/**
* 获取解除限用禁用名单
*
* @param searchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<SupplierUnlimitedSearchVo> querySupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) {
QueryWrapper<FSupplierLimited> wrapper = Wrappers.query();
wrapper
//申请单位
.like(StringUtils.isNotBlank(searchBo.getApplyUnit()), "fsl.fjobunitname", searchBo.getApplyUnit())
//解除限用/禁用时间
.between(ObjectUtils.isNotNull(searchBo.getUnlimitedStartTime()) && ObjectUtils.isNotNull(searchBo.getUnlimitedEndTime()),
"fsl.fts",
searchBo.getUnlimitedStartTime(),
searchBo.getUnlimitedEndTime())
//筛选解除限用禁用名单数据
.eq("fsl.fdatatype", SupplierLimitedManageQueryConstants.UNLIMITED_DATA_TYPE)
//根据解除限用/禁用时间倒序排序
.orderByDesc("fsl.fts");
Page<SupplierUnlimitedSearchVo> page = baseMapper.selectPageSupplierUnlimitedList(pageQuery.build(), wrapper);
for (SupplierUnlimitedSearchVo searchVo : page.getRecords()) {
Map<String, Object> params = new HashMap<>();
String supplierName = searchVo.getFsuppliername();
params.put("keyword", supplierName);
Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
//防止没有数据而导致强转错误,所以先判断下total
if (MapUtils.getInteger(jskData, "total", 0) > 0) {
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (supplierName.equals(companyName)) {
searchVo.setSupplierCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
}
}
//查不到则抛异常
//throw new ServiceException("未查询到该供应商Cid");
}
}
return TableDataInfo.build(page);
}
}
......@@ -2,6 +2,32 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.FSupplierLimitedMapper">
<select id="selectPageSupplierLimitedList" resultType="com.dsk.cscec.domain.vo.SupplierLimitedSearchVo">
select fsl.fid,
fsl.frecordno,
fsl.fsuppliername,
fsl.funifiedsocialcreditcode,
fsl.flimitsituation,
fsl.fdisablesituation,
fsl.fjobunitname,
fsl.fstate,
fsl.fts
from f_supplier_limited fsl
${ew.getCustomSqlSegment}
</select>
<select id="selectPageSupplierUnlimitedList" resultType="com.dsk.cscec.domain.vo.SupplierUnlimitedSearchVo">
select fsl.fid,
fsl.frecordno,
fsl.fsuppliername,
fsl.funifiedsocialcreditcode,
fsl.frelievereason,
fsl.fjobunitname,
fsl.fbeforestate,
fsl.flimitdate,
fsl.fts
from f_supplier_limited fsl
${ew.getCustomSqlSegment}
</select>
</mapper>
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