Commit 920d53f8 authored by dengguangman's avatar dengguangman Committed by Administrator

-经济大全

Signed-off-by: Administrator's avatarAdministrator <admin@example.com>
parents aef2fa12 6da1283b
...@@ -173,6 +173,14 @@ tenant: ...@@ -173,6 +173,14 @@ tenant:
- biz_dict_data - biz_dict_data
- push_monitor_rules - push_monitor_rules
- push_monitor_info - push_monitor_info
- d_customer_business_license
- d_customer_inspection_certificate
- d_customer_org_certificate
- d_customer_other_certificate
- d_customer_performance_certificate
- d_customer_qualification_certificate
- d_customer_safety_certificate
- d_customer_tax_certificate
# MyBatisPlus配置 # MyBatisPlus配置
......
...@@ -46,7 +46,7 @@ public class DCustomerController extends BaseController { ...@@ -46,7 +46,7 @@ public class DCustomerController extends BaseController {
*/ */
@GetMapping("/info/{customerKey}") @GetMapping("/info/{customerKey}")
public R<DCustomer> info(@PathVariable String customerKey) { public R<DCustomer> info(@PathVariable String customerKey) {
return R.ok(baseService.getById(customerKey)); return R.ok(baseService.info(customerKey));
} }
/** /**
......
...@@ -2,9 +2,11 @@ package com.dsk.cscec.domain; ...@@ -2,9 +2,11 @@ package com.dsk.cscec.domain;
import java.util.Date; import java.util.Date;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.cscec.domain.vo.CertificateVo;
import lombok.Data; import lombok.Data;
/** /**
...@@ -532,19 +534,49 @@ public class DCustomer implements Serializable { ...@@ -532,19 +534,49 @@ public class DCustomer implements Serializable {
*/ */
private Date loadTime; private Date loadTime;
/** /**
* 企业合作数量 *营业执照url
*/ */
@TableField(exist = false) @TableField(exist = false)
private Integer enterpriseCooperationCount; private List<CertificateVo> businessLicenseList;
/** /**
* 项目合作数量 * 组织机构代码证url
*/ */
@TableField(exist = false) @TableField(exist = false)
private Integer projectCooperationCount; private List<CertificateVo> orgCertificateList;
/** /**
* jsk企业id * 税务登记证url
*/ */
@TableField(exist = false) @TableField(exist = false)
private Integer companyId; private List<CertificateVo> taxCertificateList;
/**
* 资质证书url
*/
@TableField(exist = false)
private List<CertificateVo> qualificationCertificateList;
/**
* 安全生产url
*/
@TableField(exist = false)
private List<CertificateVo> safetyCertificateList;
/**
* 增值税一般纳税人资格证明url
*/
@TableField(exist = false)
private List<CertificateVo> ratepayerCertificateList;
/**
* 业绩报告url
*/
@TableField(exist = false)
private List<CertificateVo> performanceCertificateList;
/**
* 考察报告url
*/
@TableField(exist = false)
private List<CertificateVo> inspectionCertificateList;
/**
* 其他url
*/
@TableField(exist = false)
private List<CertificateVo> otherCertificateList;
} }
package com.dsk.cscec.domain.vo;
import lombok.Data;
/**
* @Author lcl
* @Data 2023/12/28 14:13
*/
@Data
public class CertificateVo {
/**
* 文件链接
*/
private String docLink;
/**
* 文件名称
*/
private String docName;
/**
* 记录时间
*/
private String loadTime;
}
...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.CustomerInfoBo; import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.bo.DCustomerSearchBo; import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.CertificateVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo; import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.domain.vo.DCustomerListVo; import com.dsk.cscec.domain.vo.DCustomerListVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -31,5 +32,23 @@ public interface DCustomerMapper extends BaseMapper<DCustomer> { ...@@ -31,5 +32,23 @@ public interface DCustomerMapper extends BaseMapper<DCustomer> {
*/ */
Page<CustomerInfoVo> queryListByType(IPage<CustomerInfoBo> build, @Param("bo") CustomerInfoBo bo); Page<CustomerInfoVo> queryListByType(IPage<CustomerInfoBo> build, @Param("bo") CustomerInfoBo bo);
List<CertificateVo> selectBusinessLicense(String customerId);
List<CertificateVo> selectOrgCertificate(String customerId);
List<CertificateVo> selectTaxCertificate(String customerId);
List<CertificateVo> selectQualificationCertificate(String customerId);
List<CertificateVo> selectSafetyCertificate(String customerId);
List<CertificateVo> selectRatepayerCertificate(String customerId);
List<CertificateVo> selectPerformanceCertificate(String customerId);
List<CertificateVo> selectInspectionCertificate(String customerId);
List<CertificateVo> selectOtherCertificate(String customerId);
} }
...@@ -21,5 +21,7 @@ public interface IDCustomerService extends IService<DCustomer> { ...@@ -21,5 +21,7 @@ public interface IDCustomerService extends IService<DCustomer> {
List<DCustomerListVo> exportList(DCustomerSearchBo bo); List<DCustomerListVo> exportList(DCustomerSearchBo bo);
DCustomer info(String customerKey);
} }
...@@ -89,6 +89,35 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer ...@@ -89,6 +89,35 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
return records; return records;
} }
@Override
public DCustomer info(String customerKey) {
DCustomer customer = baseMapper.selectById(customerKey);
setCertificate(customer);
return customer;
}
private void setCertificate(DCustomer customer) {
if (ObjectUtils.isEmpty(customer)) return;
//营业执照url
customer.setBusinessLicenseList(baseMapper.selectBusinessLicense(customer.getCustomerId()));
//组织机构代码证url
customer.setOrgCertificateList(baseMapper.selectOrgCertificate(customer.getCustomerId()));
//税务登记证url
customer.setTaxCertificateList(baseMapper.selectTaxCertificate(customer.getCustomerId()));
//资质证书url
customer.setQualificationCertificateList(baseMapper.selectQualificationCertificate(customer.getCustomerId()));
//安全生产url
customer.setSafetyCertificateList(baseMapper.selectSafetyCertificate(customer.getCustomerId()));
//增值税一般纳税人资格证明url
// customer.setRatepayerCertificateList(baseMapper.selectRatepayerCertificate(customer.getCustomerId()));
//业绩报告url
customer.setPerformanceCertificateList(baseMapper.selectPerformanceCertificate(customer.getCustomerId()));
//考察报告url
customer.setInspectionCertificateList(baseMapper.selectInspectionCertificate(customer.getCustomerId()));
//其他url
customer.setOtherCertificateList(baseMapper.selectOtherCertificate(customer.getCustomerId()));
}
private void dealWithCustomerClass(DCustomerSearchBo bo) { private void dealWithCustomerClass(DCustomerSearchBo bo) {
if (!ObjectUtils.isEmpty(bo.getCustomerClass())) { if (!ObjectUtils.isEmpty(bo.getCustomerClass())) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
......
package com.dsk.jsk.controller;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.jsk.domain.*;
import com.dsk.jsk.domain.bo.*;
import com.dsk.jsk.service.service.EconomicService;
import com.dsk.jsk.util.IpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
/**
* @ClassName RegionalEconomicDataController
* @Description 区域经济大全
* @Author Dgm
* @Date 2023/5/18 10:09
* @Version 1.0.0
*/
@Slf4j
@RestController
@RequestMapping(value ="/economic")
public class RegionalEconomicDataController {
@Autowired
private EconomicService economicService;
/***
*@Description: 全国经济大全分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/national/nationalPage")
public AjaxResult nationalPage(@RequestBody @Valid OpRegionalEconomicDataV1PageDto dto) {
return economicService.nationalPage(dto);
}
/***
*@Description: 获取年份
*@Param:
*@return: com.dsk.acc.security.common.msg.RestResponse
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/years/list")
public AjaxResult yearsList(@RequestBody OpRegionalEconomicDataYearsListDto dto) {
return economicService.yearsList(dto);
}
/***
*@Description: 全国经济大全详情
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/details")
public AjaxResult details(@RequestBody @Valid OpRegionalEconomicDataDetailsDto detailsDto) {
return economicService.details(detailsDto);
}
/***
*@Description: 获取当前地区
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping(value = "location")
public AjaxResult location(@RequestBody OpRegionalLocalDto vo, HttpServletRequest request){
String ip = IpUtil.getIpAddr(request);
vo.setIp(ip);
return economicService.location(vo);
}
/***
*@Description: 地区经济-统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/statistics/regional")
public AjaxResult statisticsRegional(@RequestBody OpRegionalEconomicDataStatisticsRegionalDto dto) {
return economicService.statisticsRegional(dto);
}
/***
*@Description: 地区经济-主要指标列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/regional/list")
public AjaxResult regionalList(@RequestBody OpRegionalEconomicDataRegionalListDto dto) {
return economicService.regionalList(dto);
}
/***
*@Description: 地区经济
*@Param:
*@return: com.dsk.acc.security.common.msg.RestResponse
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/regional/compare")
public AjaxResult regionalCompare(@RequestBody OpRegionalEconomicDataStatisticsRegionalDto dto) {
return economicService.regionalCompare(dto);
}
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.acc.security.common.msg.RestResponse
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/regional/multipleCompare")
public AjaxResult regionalMultipleCompare(@RequestBody OpRegionalEconomicRegionalCompareDto compareDto) {
return economicService.regionalMultipleCompare(compareDto);
}
}
package com.dsk.jsk.domain;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 区域经济大全-详情
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataDetailsDto {
/**
* id
*/
@NotNull(message = "id 不能为空")
private Integer id;
}
package com.dsk.jsk.domain;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataRegionalListDto {
/**
* id
*/
@NotNull(message = "id 不能为空")
private Integer id;
/**
* 省Id
*/
@NotNull(message = "provinceId 不能为空")
private Integer provinceId;
/**
* 市Id
*/
private Integer cityId;
/**
* 区Id
*/
private Integer areaId;
}
package com.dsk.jsk.domain;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 地区经济
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataStatisticsRegionalDto {
/**
* id
*/
@NotNull(message = "id 不能为空")
private Integer id;
/**
* 年份
*/
private Integer year;
/**
* 省Id
*/
private Integer provinceId;
/**
* 市Id
*/
private Integer cityId;
/**
* 区Id
*/
private Integer areaId;
}
package com.dsk.jsk.domain;
import lombok.Data;
/**
* @ClassName OpRegionalEconomicDataV1Dto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataV1Dto {
/**
* id
*/
private Integer id;
/**
* 年份
*/
private Integer year;
/**
* 省Id
*/
private Integer provinceId;
/**
* 市Id
*/
private Integer cityId;
/**
* 区Id
*/
private Integer areaId;
/**
* 城市类型 1:直辖市
*/
private Integer cityType;
/**
* 城市类型 1:直辖市
*/
private Integer provinceType;
}
package com.dsk.jsk.domain;
import lombok.Data;
import java.util.List;
/**
* @ClassName OpRegionalEconomicDataV1PageDto
* @Description 专项债-项目类别统计
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataV1PageDto extends BasePage {
/**
* 年份
*/
private Integer year;
/**
* 省
*/
private List<Integer> provinceIds;
/**
* 市
*/
private List<Integer> cityIds;
/**
* 区
*/
private List<Integer> areaIds;
/**
* 全国宏观经济:1 / 辖区经济:2 / 地区对比:3
*/
private Integer type;
/**
* 排序字段 默认gdp
*/
private String field = "gdp";
/**
* 排序 (降序desc 升序asc)
*/
private String order = "desc";
}
package com.dsk.jsk.domain;
import lombok.Data;
/**
* @ClassName OpRegionalEconomicDataYearsListDto
* @Description 获取年份
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
@Data
public class OpRegionalEconomicDataYearsListDto {
private Integer year;
}
package com.dsk.jsk.domain;
import cn.hutool.core.util.ObjectUtil;
import java.util.List;
/**
* @ClassName OpRegionalEconomicRegionalCompareDto
* @Description 地区经济-对比
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
public class OpRegionalEconomicRegionalCompareDto {
/**
* 年份
*/
private Integer year;
private List<OpRegionalEconomicDataStatisticsRegionalDto> compareList;
public Integer getYear() {
return year;
}
public void setYear(Integer year) {
this.year = year;
}
public List<OpRegionalEconomicDataStatisticsRegionalDto> getCompareList() {
if (ObjectUtil.isNotEmpty(compareList)) {
for (OpRegionalEconomicDataStatisticsRegionalDto dataStatisticsRegionalDto : compareList) {
dataStatisticsRegionalDto.setYear(year);
}
}
return compareList;
}
public void setCompareList(List<OpRegionalEconomicDataStatisticsRegionalDto> compareList) {
this.compareList = compareList;
}
@Override
public String toString() {
return "OpRegionalEconomicRegionalCompareDto{" +
"year=" + year +
", compareList=" + compareList +
'}';
}
}
package com.dsk.jsk.service.service;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.jsk.domain.*;
import com.dsk.jsk.domain.bo.*;
/**
* @ClassName EconomicService
* @Description 经济大全业务层
* @Author Dgm
* @Date 2023/5/18 10:17
* @Version 1.00
*/
public interface EconomicService {
/***
*@Description: 全国经济大全分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult nationalPage(OpRegionalEconomicDataV1PageDto dto);
/***
*@Description: 全国经济大全分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult yearsList(OpRegionalEconomicDataYearsListDto dataYearsListDto);
/***
*@Description: 全国经济大全详情
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult details(OpRegionalEconomicDataDetailsDto detailsDto);
/***
*@Description: 获取当前地区
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult location(OpRegionalLocalDto detailsDto);
/***
*@Description: 地区经济统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult statisticsRegional(OpRegionalEconomicDataStatisticsRegionalDto dto);
/***
*@Description: 地区经济-分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult regionalList(OpRegionalEconomicDataRegionalListDto dto);
/***
*@Description: 对比经济
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult regionalCompare(OpRegionalEconomicDataStatisticsRegionalDto dto);
/***
*@Description: 地区经济-对比
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:25
*/
AjaxResult regionalMultipleCompare (OpRegionalEconomicRegionalCompareDto dto);
}
package com.dsk.jsk.service.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.common.constant.CacheConstants;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.DateUtils;
import com.dsk.jsk.domain.*;
import com.dsk.system.utils.DskOpenApiUtil;
import com.dsk.common.utils.JsonUtils;
import com.dsk.jsk.domain.bo.*;
import com.dsk.jsk.service.service.EconomicService;
import com.dsk.jsk.util.RedisCache;
import org.apache.commons.collections4.MapUtils;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
/**
* @ClassName EconomicServiceImpl
* @Description 经济大全实现
* @Author Dgm
* @Date 2023/5/18 10:23
* @Version
*/
@Service
public class EconomicServiceImpl implements EconomicService {
@Resource
private DskOpenApiUtil dskOpenApiUtil;
@Resource
private RedisCache redisCache;
/**
* 全国宏观经济:1 / 辖区经济:2 / 地区对比:3
*/
private static final Integer TYPE = 1;
/**
* 默认排序
*/
private static final String FIELD = "gdp";
private static final String ORDER = "desc";
@Override
public AjaxResult nationalPage(OpRegionalEconomicDataV1PageDto dto) {
if (ObjectUtil.isEmpty(dto.getYear())) {
dto.setYear(DateUtils.getYear() - 1);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/national/nationalPage", BeanUtil.beanToMap(dto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException();
}
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult yearsList(OpRegionalEconomicDataYearsListDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/years/list", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult details(OpRegionalEconomicDataDetailsDto detailsDto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/details", BeanUtil.beanToMap(detailsDto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult location(OpRegionalLocalDto detailsDto) {
Long userId = LoginHelper.getUserId();
String redisKey = CacheConstants.PERSONAL_LOCATION + userId;
if (ObjectUtil.isEmpty(detailsDto.getProvinceId()) && ObjectUtil.isEmpty(detailsDto.getCityId()) && ObjectUtil.isEmpty(detailsDto.getAreaId())) {
if (ObjectUtil.isNotEmpty(redisKey)) {
Map<Object, Object> cacheMap = JsonUtils.parseObject(redisCache.getCacheObject(redisKey), Map.class);
if (MapUtils.isNotEmpty(cacheMap)) {
return AjaxResult.success(cacheMap);
}
}
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/location", BeanUtil.beanToMap(detailsDto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException();
}
Map data = MapUtils.getMap(map, "data", null);
if (ObjectUtil.isNotEmpty(detailsDto.getProvinceId()) || ObjectUtil.isNotEmpty(detailsDto.getCityId()) || ObjectUtil.isNotEmpty(detailsDto.getAreaId())) {
redisCache.setCacheObject(redisKey, JsonUtils.toJsonString(data));
}
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult statisticsRegional(OpRegionalEconomicDataStatisticsRegionalDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/statistics/regional", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult regionalList(OpRegionalEconomicDataRegionalListDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/regional/list", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult regionalCompare(OpRegionalEconomicDataStatisticsRegionalDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/regional/compare", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
@Override
public AjaxResult regionalMultipleCompare(OpRegionalEconomicRegionalCompareDto dto) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/regional/multipleCompare", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, AjaxResult.class);
}
}
...@@ -8,6 +8,7 @@ import com.dsk.common.constant.Constants; ...@@ -8,6 +8,7 @@ import com.dsk.common.constant.Constants;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.excel.ExcelUtils; import com.dsk.common.excel.ExcelUtils;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.redis.RedisUtils;
import com.dsk.jsk.domain.JskCombineSearchDto; import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.bo.ComposeQueryDto; import com.dsk.jsk.domain.bo.ComposeQueryDto;
import com.dsk.jsk.service.EnterpriseService; import com.dsk.jsk.service.EnterpriseService;
...@@ -24,6 +25,7 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -24,6 +25,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Duration;
import java.util.*; import java.util.*;
/** /**
...@@ -42,19 +44,26 @@ public class ExportService { ...@@ -42,19 +44,26 @@ public class ExportService {
private String EXPORT_BACK_URL; private String EXPORT_BACK_URL;
public AjaxResult aptitudeFile(MultipartFile file) throws Exception { public AjaxResult aptitudeFile(MultipartFile file) throws Exception {
int exportCount = 1;
if (RedisUtils.hasKey("aptitudeFileExportCount")){
exportCount = RedisUtils.getCacheObject("aptitudeFileExportCount");
if (exportCount>=3){
return AjaxResult.error("每天最多导出3次");
}
}
ComposeQueryDto composeQueryDto = new ComposeQueryDto(); ComposeQueryDto composeQueryDto = new ComposeQueryDto();
//识别Excel内容 //识别Excel内容
List<AptitudeVo> companyNameList = new ExcelUtils<>(AptitudeVo.class).importExcel(file.getInputStream(), 2); List<AptitudeVo> companyNameList = new ExcelUtils<>(AptitudeVo.class).importExcel(file.getInputStream(), 2);
if (companyNameList.isEmpty()) { if (companyNameList.isEmpty()) {
throw new ServiceException("表格中不存在待导入数据!"); throw new ServiceException("表格中不存在待查询数据!");
} }
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (int i = 0; i < companyNameList.size(); i++) { for (int i = 0; i < companyNameList.size(); i++) {
if (i>499){ if (i<500){
break;
}
list.add(companyNameList.get(i).getCompanyName()); list.add(companyNameList.get(i).getCompanyName());
} }
}
composeQueryDto.setKeyword(String.join(",",list)); composeQueryDto.setKeyword(String.join(",",list));
SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMdd");
String dayformat = sdf.format(new Date()); String dayformat = sdf.format(new Date());
...@@ -72,6 +81,8 @@ public class ExportService { ...@@ -72,6 +81,8 @@ public class ExportService {
composeQueryDto.setExportBackUrl(EXPORT_BACK_URL); composeQueryDto.setExportBackUrl(EXPORT_BACK_URL);
composeQueryDto.setExportExeclName(fileName); composeQueryDto.setExportExeclName(fileName);
dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false)); dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false));
RedisUtils.setCacheObject("aptitudeFileExportCount",exportCount);
RedisUtils.expire("aptitudeFileExportCount", Duration.ofHours(24));
return AjaxResult.success(); return AjaxResult.success();
} }
......
...@@ -180,4 +180,31 @@ ...@@ -180,4 +180,31 @@
</if> </if>
order by approve_date2 desc order by approve_date2 desc
</select> </select>
<select id="selectBusinessLicense" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_business_license where customer_id =#{customerId}
</select>
<select id="selectOrgCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_org_certificate where customer_id =#{customerId}
</select>
<select id="selectTaxCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_tax_certificate where customer_id =#{customerId}
</select>
<select id="selectQualificationCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_qualification_certificate where customer_id =#{customerId}
</select>
<select id="selectSafetyCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_safety_certificate where customer_id =#{customerId}
</select>
<select id="selectRatepayerCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_business_license where customer_id =#{customerId}
</select>
<select id="selectPerformanceCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_performance_certificate where customer_id =#{customerId}
</select>
<select id="selectInspectionCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_inspection_certificate where customer_id =#{customerId}
</select>
<select id="selectOtherCertificate" resultType="com.dsk.cscec.domain.vo.CertificateVo">
select * from d_customer_other_certificate where customer_id =#{customerId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<div class="design-header fields-header">字段组件</div> <div class="design-header fields-header">字段组件</div>
<div class="design-main fields-main"> <div class="design-main fields-main">
<vuedraggable :list="defaultComOptions" :group="{name: 'customComGroup', pull: 'clone', put: false}" class="design-draggable-fields" <vuedraggable :list="defaultComOptions" :group="{name: 'customComGroup', pull: 'clone', put: false}" class="design-draggable-fields"
draggable=".draggable-fields-item" ghostClass="dragClass" :clone="targetComClone" :sort="false" :disabled="!subfieldModuleList.length" draggable=".draggable-fields-item" ghostClass="subfield-origin-dragClass" :clone="targetComClone" :sort="false"
@end="fieldsOnEnd"> :disabled="!subfieldModuleList.length" @end="fieldsOnEnd">
<transition-group name="fade" tag="div" class="draggable-fields-list"> <transition-group name="fade" tag="div" class="draggable-fields-list">
<div class="draggable-fields-item" :class="{'has-no-subfield-module' : !subfieldModuleList.length}" <div class="draggable-fields-item" :class="{'has-no-subfield-module' : !subfieldModuleList.length}"
v-for="(item,index) of defaultComOptions" :key="index" @click="fieldsItemClick"> v-for="(item,index) of defaultComOptions" :key="index" @click="fieldsItemClick">
...@@ -22,19 +22,21 @@ ...@@ -22,19 +22,21 @@
<div class="custom-form-design-options"> <div class="custom-form-design-options">
<div class="design-header options-header">表单配置</div> <div class="design-header options-header">表单配置</div>
<div class="design-main options-main"> <div class="design-main options-main">
<el-form class="custom-design-el-form" ref="customDesignFormRef" :rules="{}" @submit.native.prevent> <el-form class="custom-design-el-form" ref="customDesignFormRef" :model="" :rules="{}" @submit.native.prevent>
<!-- 最外层dragg容器 拖动模块module .subfield-module-dragg-target-icon --> <!-- 最外层dragg容器 拖动模块module .subfield-module-dragg-target-icon -->
<vuedraggable :list="subfieldModuleList" group="customSubfieldmodule" class="subfield-module-container" <vuedraggable :list="subfieldModuleList" group="customSubfieldmodule" class="subfield-module-container"
draggable=".subfield-module-item-container" handle=".subfield-module-dragg-target-icon" :animation="340"> draggable=".subfield-module-item-container" handle=".subfield-module-dragg-target-icon" :animation="340">
<!-- 添加的分栏模块以及chidren模块 --> <!-- 添加的分栏模块以及chidren模块 -->
<transition-group name="fade" tag="div" class="subfield-module-list"> <transition-group name="fade" tag="div" class="subfield-module-list">
<vuedraggable v-for="(item,index) of subfieldModuleList" draggable=".subfield-item-container" <div class="subfield-module-draggable-list" v-for="(item,index) of subfieldModuleList" :key="item.uid">
handle=".subfield-module-item-dragg-target-icon" tag="subfield-module" :list="item.children" group="customComGroup" <vuedraggable draggable=".subfield-item-container" handle=".subfield-module-item-dragg-target-icon" tag="subfield-module"
:component-data="createComponentData(item)" :key="item.uid" :animation="340"> :list="item.children" group="customComGroup" :component-data="createComponentData(item)" :animation="340"
ghostClass="subfield-item-dragClass" :sort="true">
<subfield-item v-for="(child,index) of item.children" :key="child.uid" :parentUid="item.uid" :childModuleInfo="child" <subfield-item v-for="(child,index) of item.children" :key="child.uid" :parentUid="item.uid" :childModuleInfo="child"
@removeModuleItem="removeModuleItem"></subfield-item> @removeModuleItem="removeModuleItem"></subfield-item>
</vuedraggable> </vuedraggable>
</div>
</transition-group> </transition-group>
</vuedraggable> </vuedraggable>
...@@ -107,7 +109,6 @@ export default { ...@@ -107,7 +109,6 @@ export default {
targetComClone(v) { targetComClone(v) {
const cloneTarget = JSON.parse(JSON.stringify(v)); const cloneTarget = JSON.parse(JSON.stringify(v));
cloneTarget.uid = v4(); cloneTarget.uid = v4();
console.log(cloneTarget);
return cloneTarget; return cloneTarget;
}, },
// 字段组件结束拖动 // 字段组件结束拖动
...@@ -161,7 +162,7 @@ export default { ...@@ -161,7 +162,7 @@ export default {
} }
}, },
removeDialogClose() { removeDialogClose() {
this.removeSubfieldModuleUid = ""; this.removeSubfieldModule = {};
}, },
removeOk() { removeOk() {
const index = this.subfieldModuleList.findIndex(item => item.uid == this.removeSubfieldModule.uid); const index = this.subfieldModuleList.findIndex(item => item.uid == this.removeSubfieldModule.uid);
...@@ -184,8 +185,27 @@ export default { ...@@ -184,8 +185,27 @@ export default {
display: flex; display: flex;
min-width: 1140px; min-width: 1140px;
.dragClass { .subfield-origin-dragClass,
border: 1px solid #0081ff; .subfield-item-dragClass {
display: flex;
align-items: center;
background: rgba(0, 129, 255, 0.3);
height: 56px;
padding: 0px 16px;
box-sizing: border-box;
color: rgba(35, 35, 35, 0.8);
font-size: 14px;
font-weight: 400;
& > img {
width: 16px;
height: 16px;
margin-right: 16px;
}
}
.subfield-origin-dragClass {
height: auto;
} }
.design-header { .design-header {
...@@ -254,7 +274,7 @@ export default { ...@@ -254,7 +274,7 @@ export default {
padding: 0px 16px; padding: 0px 16px;
box-sizing: border-box; box-sizing: border-box;
margin-top: 12px; margin-top: 12px;
cursor: pointer; cursor: move;
user-select: none; user-select: none;
&:hover { &:hover {
......
...@@ -57,7 +57,7 @@ export default { ...@@ -57,7 +57,7 @@ export default {
.subfield-module-item-dragg-target-icon { .subfield-module-item-dragg-target-icon {
width: 14px; width: 14px;
height: 14px; height: 14px;
cursor: pointer; cursor: move;
} }
::v-deep .subfield-module-form-item { ::v-deep .subfield-module-form-item {
......
...@@ -97,7 +97,7 @@ export default { ...@@ -97,7 +97,7 @@ export default {
& > img { & > img {
width: 14px; width: 14px;
height: 14px; height: 14px;
cursor: pointer; cursor: move;
} }
& > span { & > span {
font-size: 14px; font-size: 14px;
......
...@@ -153,8 +153,8 @@ export default { ...@@ -153,8 +153,8 @@ export default {
const _form = queryConditionFiltering(this.form); const _form = queryConditionFiltering(this.form);
// 处理时间 // 处理时间
if (_form?.cooperationTime?.length) { if (_form?.cooperationTime?.length) {
_form.projectStartTime = _form?.cooperationTime[0]; _form.minLastCooperateDate = _form?.cooperationTime[0];
_form.projectEndTime = _form?.cooperationTime[1]; _form.maxLastCooperateDate = _form?.cooperationTime[1];
} }
delete _form.cooperationTime; delete _form.cooperationTime;
......
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