Commit 4565ee74 authored by chenyuefang's avatar chenyuefang

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

# Conflicts:
#	dsk-common/src/main/java/com/dsk/common/core/page/TableDataInfo.java
parents bc529851 2abecd33
......@@ -24,6 +24,11 @@ public class TableDataInfo<T> implements Serializable {
*/
private long total;
/**
* 当前页
*/
private long currentPage;
/**
* 列表数据
*/
......@@ -40,9 +45,9 @@ public class TableDataInfo<T> implements Serializable {
private String msg;
/**
* 当前页
* object
*/
private long currentPage;
private Object object;
/**
* 分页
......@@ -57,6 +62,20 @@ public class TableDataInfo<T> implements Serializable {
this.msg = "查询成功";
}
/**
* 分页
*
* @param list 列表数据
* @param total 总记录数
*/
public TableDataInfo(List<T> list, long total, Object object) {
this.rows = list;
this.object = object;
this.total = total;
this.code = HttpStatus.HTTP_OK;
this.msg = "查询成功";
}
public static <T> TableDataInfo<T> build(IPage<T> page) {
TableDataInfo<T> rspData = new TableDataInfo<>();
rspData.setCode(HttpStatus.HTTP_OK);
......
......@@ -5,14 +5,12 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.service.AdvisoryBodyProjectService;
import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.cscec.service.IDProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -33,11 +31,12 @@ import javax.validation.constraints.NotNull;
@RestController
@RequestMapping("advisory/body")
public class AdvisoryBodyManageController extends BaseController {
/**
* 服务对象
*/
@Resource
private IDProjectService baseService;
@Resource
private AdvisoryBodyService advisoryBodyService;
@Resource
private AdvisoryBodyProjectService advisoryBodyProjectService;
/**
* 获取所有项目列表数据
......@@ -52,7 +51,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/
@GetMapping("/getAdvisoryBodyList")
public TableDataInfo<AdvisoryBodySearchVo> getAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery) {
return baseService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery);
return advisoryBodyService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery);
}
/**
......@@ -75,8 +74,8 @@ public class AdvisoryBodyManageController extends BaseController {
* 根据咨询机构ID查询咨询机构详情
*/
@GetMapping("/getAdvisoryBodyDetail/{advisoryBodyId}")
public R<AdvisoryBody> getAdvisoryBodyDetail(@NotNull(message = "咨询机构ID不能为空") @PathVariable Long advisoryBodyId) {
return R.ok(baseService.queryAdvisoryBodyDetail(advisoryBodyId));
public R<AdvisoryBodyDetailVo> getAdvisoryBodyDetail(@NotNull(message = "咨询机构ID不能为空") @PathVariable Long advisoryBodyId) {
return R.ok(advisoryBodyService.queryAdvisoryBodyDetail(advisoryBodyId));
}
}
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.AdvisoryBodyProjectService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表控制层
*
* @author sxk
* @since 2023-12-15 15:57:54
*/
@RestController
@RequestMapping("advisoryBodyProject")
public class AdvisoryBodyProjectController extends BaseController {
/**
* 服务对象
*/
@Resource
private AdvisoryBodyProjectService advisoryBodyProjectService;
///**
// * 分页查询所有数据
// *
// * @param page 分页对象
// * @param advisoryBodyProject 查询实体
// * @return 所有数据
// */
//@GetMapping
//public R selectAll(Page<AdvisoryBodyProject> page, AdvisoryBodyProject advisoryBodyProject) {
// return success(this.advisoryBodyProjectService.page(page, new QueryWrapper<>(advisoryBodyProject)));
//}
//
///**
// * 通过主键查询单条数据
// *
// * @param id 主键
// * @return 单条数据
// */
//@GetMapping("{id}")
//public R selectOne(@PathVariable Serializable id) {
// return success(this.advisoryBodyProjectService.getById(id));
//}
//
///**
// * 新增数据
// *
// * @param advisoryBodyProject 实体对象
// * @return 新增结果
// */
//@PostMapping
//public R insert(@RequestBody AdvisoryBodyProject advisoryBodyProject) {
// return success(this.advisoryBodyProjectService.save(advisoryBodyProject));
//}
//
///**
// * 修改数据
// *
// * @param advisoryBodyProject 实体对象
// * @return 修改结果
// */
//@PutMapping
//public R update(@RequestBody AdvisoryBodyProject advisoryBodyProject) {
// return success(this.advisoryBodyProjectService.updateById(advisoryBodyProject));
//}
//
///**
// * 删除数据
// *
// * @param idList 主键结合
// * @return 删除结果
// */
//@DeleteMapping
//public R delete(@RequestParam("idList") List<Long> idList) {
// return success(this.advisoryBodyProjectService.removeByIds(idList));
//}
}
......@@ -5,12 +5,19 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.excel.ExcelUtils;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.DCustomerListVo;
import com.dsk.cscec.service.IDCustomerService;
import com.dsk.jsk.domain.JskCombineSearchDto;
import com.dsk.jsk.domain.vo.JskCombineWinBidProjectExportVo;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 组织维表(DCustomer)表控制层
*
......@@ -30,7 +37,7 @@ public class DCustomerController extends BaseController {
* 供应商总台账筛选
*/
@PostMapping("/all/searchList")
public TableDataInfo<DCustomer> allSearchList(@RequestBody DCustomerSearchBo bo,@RequestBody PageQuery query) {
public TableDataInfo<DCustomerListVo> allSearchList(@RequestBody DCustomerSearchBo bo,@RequestBody PageQuery query) {
return baseService.allSearchList(bo,query);
}
......@@ -42,6 +49,16 @@ public class DCustomerController extends BaseController {
return R.ok(baseService.getById(customerKey));
}
/**
* 供应商信息
*/
@PostMapping("/export")
public void export(@RequestBody DCustomerSearchBo bo, HttpServletResponse response) {
List<DCustomerListVo> list = baseService.exportList(bo);
ExcelUtils<DCustomerListVo> util = new ExcelUtils<>(DCustomerListVo.class);
util.exportExcel(response, list, "集团中标","", true);
}
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import lombok.Data;
/**
* @author sxk
* @date 2023.12.18
* @time 14:30
*/
@Data
public class AdvisoryBodyDetailVo extends AdvisoryBody {
/**
* 经营状态
*/
private String businessStatus;
/**
* 法定代表人
*/
private String corporatePerson;
/**
* 法定代表人联系电话
*/
private String corporatePersonPhone;
/**
* 注册地址
*/
private String regAddress;
}
package com.dsk.cscec.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.annotation.Excel;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Author lcl
* @Data 2023/12/18 14:14
*/
@Data
public class DCustomerListVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* jsk企业id
*/
private Integer companyId;
/**
* 客商主键
*/
private Long customerKey;
/**
* ipm供应商id
*/
private String customerId;
/**
* 税号
*/
private String taxNumber;
/**
* 供应商编号
*/
@Excel(name = "供应商编号", width = 5)
private String customerCode;
/**
* 供应商名称
*/
@Excel(name = "供应商名称", width = 10)
private String customerName;
/**
* 推荐公司
*/
@Excel(name = "推荐公司", width = 10)
private String recommendOrg;
/**
* 注册地区域
*/
@Excel(name = "注册地区域", width = 5)
private String registerRegion;
/**
* 省份
*/
@Excel(name = "省份", width = 5)
private String registerProvince;
/**
* 城市
*/
@Excel(name = "城市", width = 5)
private String registerCity;
/**
* 注册资金
*/
@Excel(name = "注册资金", width = 5)
private Double registerCapital;
/**
* 供应商类别
*/
@Excel(name = "供应商类别", width = 5)
private String customerClass;
/**
* 集团专业类别
*/
@Excel(name = "专业类别", width = 5)
private String groupSpecialty;
/**
* 纳税人身份
*/
@Excel(name = "纳税人身份", width = 5)
private String paytaxType;
/**
* 纳税人税率
*/
@Excel(name = "纳税人税率", width = 5)
private String taxRate;
/**
* 供应商状态
*/
@Excel(name = "供应商状态", width = 5)
private String customerState;
/**
* 队长名称
*/
@Excel(name = "劳务队长", width = 5)
private String leaderName;
/**
* 劳务队长身份证号
*/
@Excel(name = "劳务队长身份证号", width = 5)
private String laborCaptainIdcard;
/**
* 劳务队长联系电话
*/
@Excel(name = "劳务队长联系电话", width = 5)
private String laborCaptainPhone;
/**
* 队伍规模人数
*/
@Excel(name = "队伍规模人数", width = 5)
private Double serviceTeamPersonnum;
/**
* 专业特长
*/
@Excel(name = "专业特长", width = 5)
private String serviceTeamSpeciality;
/**
* 施工承包范围
*/
@Excel(name = "施工承包范围", width = 5)
private String constructJobScope;
/**
* 资质等级
*/
@Excel(name = "资质等级", width = 5)
private String credential;
/**
* 联系人
*/
@Excel(name = "联系人", width = 5)
private String contactPerson;
/**
* 电话
*/
@Excel(name = "电话", width = 5)
private String contactPhone;
/**
* 准入时间
*/
@Excel(name = "准入时间", width = 5 , dateFormat = "yyyy-MM-dd")
private Date approveDate2;
/**
* 考评等级
*/
@Excel(name = "考评等级", width = 5)
private String creditLevel;
/**
* 企业合作数量
*/
private Integer enterpriseCooperationCount;
/**
* 项目合作数量
*/
private Integer projectCooperationCount;
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.DProject;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -17,7 +18,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class ProjectDetailVo extends DProject {
/**
* 咨询机构名称
* 咨询机构
*/
private String advisoryBodyName;
private AdvisoryBody advisoryBody;
}
......@@ -34,11 +34,11 @@ public interface AdvisoryBodyMapper extends BaseMapper<AdvisoryBody> {
Page<AdvisoryBodyVo> queryListByBo(IPage<AdvisoryBodyBo> build, @Param("bo") AdvisoryBodyBo bo);
/**
* 根据咨询机构名称查询对应的项目IDs
* 根据咨询机构名称查询咨询机构Cids
* @param advisoryBodyName 咨询机构名称
* @return 项目IDs
*/
List<Long> selectProjectIdsByAdvisoryBodyName(@Param("advisoryBodyName") String advisoryBodyName);
List<Long> selectAdvisoryBodyCidsByName(@Param("advisoryBodyName") String advisoryBodyName);
/**
* 根据项目主键查询咨询机构
......
......@@ -2,6 +2,9 @@ package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表数据库访问层
......@@ -11,5 +14,12 @@ import com.dsk.cscec.domain.AdvisoryBodyProject;
*/
public interface AdvisoryBodyProjectMapper extends BaseMapper<AdvisoryBodyProject> {
/**
* 根据咨询机构Cids查询项目Keys
*
* @param advisoryBodyCids 咨询机构Cids
* @return 项目Keys
*/
List<Long> selectProjectKeysByAdvisoryBodyCids(@Param("advisoryBodyCids") List<Long> advisoryBodyCids);
}
......@@ -8,6 +8,7 @@ import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.domain.vo.DCustomerListVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -20,7 +21,7 @@ import java.util.List;
*/
public interface DCustomerMapper extends BaseMapper<DCustomer> {
Page<DCustomer> allSearchList(IPage<DCustomerSearchBo> build, @Param("bo") DCustomerSearchBo bo);
Page<DCustomerListVo> allSearchList(IPage<DCustomerSearchBo> build, @Param("bo") DCustomerSearchBo bo);
/**
* 分类查询供应商列表
......
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.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyDetailVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
/**
* 咨询机构(SysAdvisoryBody)表服务接口
......@@ -10,6 +15,21 @@ import com.dsk.cscec.domain.AdvisoryBody;
* @since 2023-12-12 10:12:09
*/
public interface AdvisoryBodyService extends IService<AdvisoryBody> {
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery);
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
AdvisoryBodyDetailVo queryAdvisoryBodyDetail(Long advisoryBodyId);
}
......@@ -5,6 +5,9 @@ import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.DCustomerListVo;
import java.util.List;
/**
* 组织维表(DCustomer)表服务接口
......@@ -14,7 +17,9 @@ import com.dsk.cscec.domain.bo.DCustomerSearchBo;
*/
public interface IDCustomerService extends IService<DCustomer> {
TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query);
TableDataInfo<DCustomerListVo> allSearchList(DCustomerSearchBo bo, PageQuery query);
List<DCustomerListVo> exportList(DCustomerSearchBo bo);
}
......@@ -3,12 +3,9 @@ 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.AdvisoryBody;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
......@@ -29,15 +26,6 @@ public interface IDProjectService extends IService<DProject> {
*/
TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery);
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery);
/**
* 获取合作项目明细
*
......@@ -54,13 +42,5 @@ public interface IDProjectService extends IService<DProject> {
* @return 项目详情
*/
ProjectDetailVo queryProjectDetail(Long projectKey);
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
AdvisoryBody queryAdvisoryBodyDetail(Long advisoryBodyId);
}
package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyDetailVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.jsk.domain.EnterpriseInfoHeaderBody;
import com.dsk.system.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* 咨询机构(SysAdvisoryBody)表服务实现类
*
......@@ -14,6 +35,93 @@ import org.springframework.stereotype.Service;
*/
@Service("advisoryBodyService")
public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, AdvisoryBody> implements AdvisoryBodyService {
@Resource
private AdvisoryBodyMapper baseMapper;
@Resource
private DskOpenApiUtil dskOpenApiUtil;
@Resource
private AdvisoryBodyProjectMapper advisoryBodyProjectMapper;
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery) {
//先按照分页要求从咨询机构表中查出分页数据
QueryWrapper<AdvisoryBody> wrapper = Wrappers.query();
wrapper.like(StringUtils.isNotBlank(advisoryBodySearchBo.getAdvisoryBodyName()), "advisory_body_name", advisoryBodySearchBo.getAdvisoryBodyName())
.between(ObjectUtil.isNotNull(advisoryBodySearchBo.getMinLastCooperateDate()) && ObjectUtil.isNotNull(advisoryBodySearchBo.getMaxLastCooperateDate()),
"create_time",
advisoryBodySearchBo.getMinLastCooperateDate(),
advisoryBodySearchBo.getMaxLastCooperateDate())
.like(StringUtils.isNotBlank(advisoryBodySearchBo.getBusinessScope()), "business_scope", advisoryBodySearchBo.getBusinessScope());
Page<AdvisoryBodySearchVo> page = baseMapper.selectPageAdvisoryBodyList(pageQuery.build(), wrapper);
//根据咨询机构cid查询对应的企业信息
for (AdvisoryBodySearchVo advisoryBodySearchVo : page.getRecords()) {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
//有Cid的才去建设库查数据
if (ObjectUtil.isNotNull(advisoryBodySearchVo.getAdvisoryBodyCid())) {
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodySearchVo.getAdvisoryBodyCid()));
} else {
continue;
}
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//最近一次合作时间
List<AdvisoryBodyProject> advisoryBodyProjectList = advisoryBodyProjectMapper.selectList(new LambdaQueryWrapper<AdvisoryBodyProject>()
.select(AdvisoryBodyProject::getCreateTime)
.eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid())
.orderByDesc(AdvisoryBodyProject::getCreateTime));
if (ObjectUtil.isNotNull(advisoryBodyProjectList) && !advisoryBodyProjectList.isEmpty()) {
advisoryBodySearchVo.setLastCooperateTime(advisoryBodyProjectList.get(0).getCreateTime());
}
//经营范围
advisoryBodySearchVo.setBusinessStatus(MapUtils.getString(companyData, "businessStatus", ""));
//法人
advisoryBodySearchVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册资本
advisoryBodySearchVo.setRegCapital(MapUtils.getString(companyData, "regCapital", ""));
//拼接地区
String provinceName = MapUtils.getString(companyData, "provinceName", "");
String cityName = MapUtils.getString(companyData, "cityName", "");
String districtName = MapUtils.getString(companyData, "districtName", "");
advisoryBodySearchVo.setRegArea(provinceName + "-" + cityName + "-" + districtName);
//成立日期
advisoryBodySearchVo.setRegisteredDate(MapUtils.getString(companyData, "registeredDate", ""));
//经营范围
advisoryBodySearchVo.setBusinessScope(MapUtils.getString(companyData, "businessScope", ""));
//合作项目数量
advisoryBodySearchVo.setCooperateProjectCount(advisoryBodyProjectMapper.selectCount(new LambdaQueryWrapper<AdvisoryBodyProject>()
.eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid())));
}
return TableDataInfo.build(page);
}
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
@Override
public AdvisoryBodyDetailVo queryAdvisoryBodyDetail(Long advisoryBodyId) {
AdvisoryBodyDetailVo advisoryBodyDetailVo = BeanUtil.toBean(baseMapper.selectById(advisoryBodyId), AdvisoryBodyDetailVo.class);
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodyDetailVo.getAdvisoryBodyCid()));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
advisoryBodyDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//TODO:法人电话
//advisoryBodyDetailVo.setCorporatePersonPhone(MapUtils.getString(companyData, "corporatePersonPhone", ""));
//注册地址
advisoryBodyDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
return advisoryBodyDetailVo;
}
}
......@@ -9,6 +9,7 @@ import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.DCustomerListVo;
import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.IDCustomerService;
......@@ -39,9 +40,9 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
private BusinessOpportunityRadarService opportunityRadarService;
@Override
public TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query) {
public TableDataInfo<DCustomerListVo> allSearchList(DCustomerSearchBo bo, PageQuery query) {
dealWithCustomerClass(bo);
Page<DCustomer> page = baseMapper.allSearchList(query.build(), bo);
Page<DCustomerListVo> page = baseMapper.allSearchList(query.build(), bo);
if (CollectionUtils.isNotEmpty(page.getRecords())) {
page.getRecords().parallelStream().forEach(item->{
//企业合作数量
......@@ -63,6 +64,15 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
return TableDataInfo.build(page);
}
@Override
public List<DCustomerListVo> exportList(DCustomerSearchBo bo) {
dealWithCustomerClass(bo);
PageQuery query = new PageQuery();
query.setPageNum(1);
query.setPageSize(1000);
return baseMapper.allSearchList(query.build(), bo).getRecords();
}
private void dealWithCustomerClass(DCustomerSearchBo bo) {
if (!ObjectUtils.isEmpty(bo.getCustomerClass())) {
List<String> list = new ArrayList<>();
......
package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -15,10 +17,8 @@ import com.dsk.cscec.constant.QueryConstants;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
......@@ -26,16 +26,13 @@ import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
import com.dsk.cscec.mapper.DProjectMapper;
import com.dsk.cscec.service.IDProjectService;
import com.dsk.jsk.domain.EnterpriseInfoHeaderBody;
import com.dsk.system.utils.DskOpenApiUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* 咨询机构管理
......@@ -64,34 +61,29 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
*/
@Override
public TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
//根据咨询机构名称查询对应的项目IDs
String advisoryBodyName = projectSearchBo.getAdvisoryBodyName();
List<Long> projectIds = advisoryBodyMapper.selectProjectIdsByAdvisoryBodyName(advisoryBodyName);
List<Long> projectKeys = null;
if (StringUtils.isNotBlank(advisoryBodyName)) {
//根据咨询机构名称查询咨询机构
for (AdvisoryBody advisoryBody : advisoryBodyMapper.selectList(new LambdaQueryWrapper<AdvisoryBody>()
.like(AdvisoryBody::getAdvisoryBodyName, advisoryBodyName))) {
//根据咨询机构CID查询项目主键
for (AdvisoryBodyProject advisoryBodyProject : advisoryBodyProjectMapper.selectList(new LambdaQueryWrapper<AdvisoryBodyProject>()
.eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBody.getAdvisoryBodyCid()))) {
projectIds.add(advisoryBodyProject.getProjectKey());
}
//根据咨询机构名称查询咨询机构Cids
List<Long> advisoryBodyCids = advisoryBodyMapper.selectAdvisoryBodyCidsByName(advisoryBodyName);
//根据咨询机构Cids查询项目Keys
List<Long> projectKeys1 = advisoryBodyProjectMapper.selectProjectKeysByAdvisoryBodyCids(advisoryBodyCids);
if (projectKeys1.isEmpty()) {
return TableDataInfo.build();
}
projectKeys = projectKeys1;
}
Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), this.buildProjectQueryWrapper(projectSearchBo, projectIds));
Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), this.buildProjectQueryWrapper(projectSearchBo, projectKeys));
//补充咨询机构信息
for (ProjectSearchVo projectSearchVo : page.getRecords()) {
AdvisoryBody advisoryBody = this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey());
if (ObjectUtil.isNotNull(advisoryBody)) {
projectSearchVo.setAdvisoryBody(advisoryBody);
}
projectSearchVo.setAdvisoryBody(this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey()));
}
return TableDataInfo.build(page);
}
private Wrapper<DProject> buildProjectQueryWrapper(ProjectSearchBo projectSearchBo, List<Long> projectIds) {
private Wrapper<DProject> buildProjectQueryWrapper(ProjectSearchBo projectSearchBo, List<Long> projectKeys) {
QueryWrapper<DProject> wrapper = Wrappers.query();
//咨询机构的项目数据取中建一局集团第二建筑有限公司和他的下级组织
wrapper
......@@ -102,7 +94,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
//项目名称
.like(StringUtils.isNotBlank(projectSearchBo.getProjectName()), "p.project_name", projectSearchBo.getProjectName())
//根据咨询机构名称查出来对应的项目ID
.in(!projectIds.isEmpty(), "p.project_id", projectIds)
.in(ObjectUtil.isNotNull(projectKeys) && !projectKeys.isEmpty(), "p.project_key", projectKeys)
//业主单位
.like(StringUtils.isNotBlank(projectSearchBo.getOwnerUnit()), "p.owner_name", projectSearchBo.getOwnerUnit())
//项目创建时间(字段去的合同签约日期)
......@@ -135,58 +127,6 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
return advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectKey);
}
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery) {
//先按照分页要求从咨询机构表中查出分页数据
QueryWrapper<AdvisoryBody> wrapper = Wrappers.query();
wrapper.like(StringUtils.isNotBlank(advisoryBodySearchBo.getAdvisoryBodyName()), "advisory_body_name", advisoryBodySearchBo.getAdvisoryBodyName())
.between(ObjectUtil.isNotNull(advisoryBodySearchBo.getMinLastCooperateDate()) && ObjectUtil.isNotNull(advisoryBodySearchBo.getMaxLastCooperateDate()),
"create_time",
advisoryBodySearchBo.getMinLastCooperateDate(),
advisoryBodySearchBo.getMaxLastCooperateDate())
.like(StringUtils.isNotBlank(advisoryBodySearchBo.getBusinessScope()), "business_scope", advisoryBodySearchBo.getBusinessScope());
Page<AdvisoryBodySearchVo> page = advisoryBodyMapper.selectPageAdvisoryBodyList(pageQuery.build(), wrapper);
//根据咨询机构cid查询对应的企业信息
for (AdvisoryBodySearchVo advisoryBodySearchVo : page.getRecords()) {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
//有Cid的才去建设库查数据
if (ObjectUtil.isNotNull(advisoryBodySearchVo.getAdvisoryBodyCid())) {
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodySearchVo.getAdvisoryBodyCid()));
} else {
continue;
}
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//最近一次合作时间
List<AdvisoryBodyProject> advisoryBodyProjectList = advisoryBodyProjectMapper.selectList(new LambdaQueryWrapper<AdvisoryBodyProject>()
.select(AdvisoryBodyProject::getCreateTime)
.eq(AdvisoryBodyProject::getAdvisoryBodyCid, advisoryBodySearchVo.getAdvisoryBodyCid())
.orderByDesc(AdvisoryBodyProject::getCreateBy));
advisoryBodySearchVo.setLastCooperateTime(advisoryBodyProjectList.get(0).getCreateTime());
//经营范围
advisoryBodySearchVo.setBusinessStatus(MapUtils.getString(companyData, "businessStatus", ""));
advisoryBodySearchVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
String provinceName = MapUtils.getString(companyData, "provinceName", "");
String cityName = MapUtils.getString(companyData, "cityName", "");
String districtName = MapUtils.getString(companyData, "districtName", "");
advisoryBodySearchVo.setRegCapital(provinceName + "-" + cityName + "-" + districtName);
advisoryBodySearchVo.setRegArea(MapUtils.getString(companyData, "regArea", ""));
advisoryBodySearchVo.setRegisteredDate(MapUtils.getString(companyData, "registeredDate", ""));
advisoryBodySearchVo.setBusinessScope(MapUtils.getString(companyData, "businessScope", ""));
//合作项目数量
advisoryBodySearchVo.setCooperateProjectCount(advisoryBodyMapper.selectCount(new LambdaQueryWrapper<AdvisoryBody>()
.eq(AdvisoryBody::getAdvisoryBodyId, advisoryBodySearchVo.getAdvisoryBodyId())));
}
return TableDataInfo.build(page);
}
/**
* 获取合作项目明细
*
......@@ -196,21 +136,14 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
*/
@Override
public TableDataInfo<CooperateProjectDetailSearchVo> queryCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
//先根据咨询机构CID查出所有该咨询机构下的记录
List<AdvisoryBody> advisoryBodyList = advisoryBodyMapper.selectList(new LambdaQueryWrapper<AdvisoryBody>()
.eq(AdvisoryBody::getAdvisoryBodyCid, cooperateProjectDetailSearchBo.getAdvisoryBodyCid()));
//提取所有项目主键
ArrayList<Long> projectKeyList = new ArrayList<>();
for (AdvisoryBody advisoryBody : advisoryBodyList) {
//projectKeyList.add(advisoryBody.getProjectKey());
}
//先根据咨询机构CID查出所有该咨询机构下的项目主键keys
List<Long> projectKeys = advisoryBodyProjectMapper.selectProjectKeysByAdvisoryBodyCids(Collections.singletonList(cooperateProjectDetailSearchBo.getAdvisoryBodyCid()));
//再根据记录终改的项目主键查询项目详情
QueryWrapper<DProject> wrapper = Wrappers.query();
wrapper
//项目主键
.in(!projectKeyList.isEmpty(), "project_key", projectKeyList)
.in(!projectKeys.isEmpty(), "project_key", projectKeys)
//项目名称
.like(StringUtils.isNotBlank(cooperateProjectDetailSearchBo.getProjectName()), "project_name", cooperateProjectDetailSearchBo.getProjectName())
//项目承接类型
......@@ -225,15 +158,12 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
.in(!cooperateProjectDetailSearchBo.getCityName().isEmpty(), "city_name", cooperateProjectDetailSearchBo.getCityName());
Page<CooperateProjectDetailSearchVo> page = baseMapper.selectPageCooperateProjectDetailList(pageQuery.build(), wrapper);
////填充结算天数
//for (CooperateProjectDetailSearchVo cooperateProjectDetailSearchVo : page.getRecords()) {
// for (AdvisoryBody advisoryBody : advisoryBodyList) {
// if (Objects.equals(advisoryBody.getProjectKey(), cooperateProjectDetailSearchVo.getProjectKey())) {
// long betweenDays = DateUtil.between(advisoryBody.getSettleStartTime(), advisoryBody.getSettleFinishTime(), DateUnit.DAY);
// cooperateProjectDetailSearchVo.setSettlementDays(betweenDays);
// }
// }
//}
//填充结算天数
for (CooperateProjectDetailSearchVo cooperateProjectDetailSearchVo : page.getRecords()) {
AdvisoryBodyProject advisoryBodyProject = advisoryBodyProjectMapper.selectById(cooperateProjectDetailSearchVo.getProjectKey());
long betweenDays = DateUtil.between(advisoryBodyProject.getSettleStartTime(), advisoryBodyProject.getSettleFinishTime(), DateUnit.DAY);
cooperateProjectDetailSearchVo.setSettlementDays(betweenDays);
}
return TableDataInfo.build(page);
}
......@@ -249,22 +179,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectKey, projectKey));
ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class);
//查询咨询机构信息
AdvisoryBody advisoryBody = advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectKey);
//填充咨询机构名称
projectDetailVo.setAdvisoryBodyName(advisoryBody.getAdvisoryBodyName());
//查询咨询机构信息并填充
projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectKey));
return projectDetailVo;
}
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
@Override
public AdvisoryBody queryAdvisoryBodyDetail(Long advisoryBodyId) {
return null;
}
}
......@@ -107,6 +107,18 @@ public class MonitorController {
return monitorService.companyPage(pageVo);
}
/***
*@Description: 添加企业监控列表 分页
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/12/9 9:29
*/
@PostMapping(value = "system/queryMonitorCompany")
public TableDataInfo queryMonitorCompany(@RequestBody MonitorQueryMonitorCompanyPageVo pageVo) throws Exception{
return monitorService.queryMonitorCompany(pageVo);
}
/***
*@Description: 添加监控
*@Param:
......
......@@ -42,12 +42,12 @@ public class PushMonitorRules implements Serializable {
/**
* 推送时段-起
*/
private Integer timePeriodStart;
private String timePeriodStart;
/**
* 推送时段-止
*/
private Integer timePeriodEnd;
private String timePeriodEnd;
/**
* 接收方式 手机:0 PC:1
......
......@@ -2,6 +2,8 @@ package com.dsk.monitor.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @ClassName ConditionVo
* @Description 共用条件
......@@ -18,7 +20,7 @@ public class ConditionVo {
/**
* 条件查询企业id
*/
private Integer companyOrstaffId;
private Integer companyId;
/**
* 条件查询企业名称(模糊查询)
*/
......@@ -26,15 +28,15 @@ public class ConditionVo {
/**
* 条件查询风险等级:正向,负向,中立,警示
*/
private String riskLevel;
private List<String> riskLevel;
/**
* 条件查询监控维度子级名称
* 条件查询监控维度父级名称数组
*/
private String dimensionId;
private List<String> parentDimension;
/**
* 条件查询监控维度父级名称
* 条件查询监控维度子级名称数组
*/
private String parentId;
private List<String> dimension;
/**
* 条件查询开始时间
*/
......@@ -49,4 +51,9 @@ public class ConditionVo {
*/
private Integer reportType;
/**
* 系统来源(ZJYJ)
*/
private String sysType = "ZJYJ";
}
package com.dsk.monitor.domain.vo;
import com.dsk.jsk.domain.BasePage;
import lombok.Data;
/**
* @ClassName PushMonitorRulesVo
* @Description 添加企业监控列表 分页
* @Author Dgm
* @Date 2023/12/9 11:05
* @Version
*/
@Data
public class MonitorQueryMonitorCompanyPageVo extends BasePage {
/**
* 查询条件
*/
private String companyName;
/**
* 用户id
*/
private Long userId = 7324L;
}
package com.dsk.monitor.job;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsk.common.utils.DateUtils;
import com.dsk.monitor.domain.dto.PushMonitorRules;
import com.dsk.monitor.mapper.PushMonitorInfoMapper;
import com.dsk.monitor.mapper.PushMonitorRulesMapper;
import com.dsk.monitor.util.SendMessageUtil;
import org.springframework.scheduling.annotation.Scheduled;
import javax.annotation.Resource;
/**
* @ClassName PushScheduling
* @Description 发送短信
* @Author Dgm
* @Date 2023/12/9 13:51
* @Version
*/
public class PushScheduling {
@Resource
private PushMonitorInfoMapper monitorInfoMapper;
@Resource
private PushMonitorRulesMapper rulesMapper;
@Scheduled(cron = "0 0 5 * * * ?")
public void receiveModePhone() {
// 获取当前整点时间
Integer concurrentHour = DateUtils.getHour();
QueryWrapper queryWrapper = new QueryWrapper();
PushMonitorRules detail = rulesMapper.selectOne(queryWrapper);
// 推送时段-起
Integer timePeriodStart = detail.getTimePeriodStart();
// 推送时段-止
Integer timePeriodEnd = detail.getTimePeriodEnd();
if (concurrentHour > timePeriodStart && concurrentHour < timePeriodEnd) {
QueryWrapper monitorInfoWrapper = new QueryWrapper();
// 风险类型
monitorInfoWrapper.in("risk_type", detail.getRiskType());
// 监控维度
monitorInfoWrapper.in("dimension", detail.getDimension());
Long count = monitorInfoMapper.selectCount(monitorInfoWrapper);
if (count >0 ) {
SendMessageUtil.sendMessage(detail.getPhones(), count.toString());
}
}
}
}
//package com.dsk.monitor.job;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.dsk.common.utils.DateUtils;
//import com.dsk.monitor.domain.dto.PushMonitorRules;
//import com.dsk.monitor.mapper.PushMonitorInfoMapper;
//import com.dsk.monitor.mapper.PushMonitorRulesMapper;
//import com.dsk.monitor.util.SendMessageUtil;
//import org.springframework.scheduling.annotation.Scheduled;
//
//import javax.annotation.Resource;
//
///**
// * @ClassName PushScheduling
// * @Description 发送短信
// * @Author Dgm
// * @Date 2023/12/9 13:51
// * @Version
// */
//public class PushScheduling {
//
// @Resource
// private PushMonitorInfoMapper monitorInfoMapper;
//
// @Resource
// private PushMonitorRulesMapper rulesMapper;
//
// @Scheduled(cron = "0 0 5 * * * ?")
// public void receiveModePhone() {
// // 获取当前整点时间
// Integer concurrentHour = DateUtils.getHour();
// QueryWrapper queryWrapper = new QueryWrapper();
// PushMonitorRules detail = rulesMapper.selectOne(queryWrapper);
// // 推送时段-起
// Integer timePeriodStart = detail.getTimePeriodStart();
// // 推送时段-止
// Integer timePeriodEnd = detail.getTimePeriodEnd();
// if (concurrentHour > timePeriodStart && concurrentHour < timePeriodEnd) {
// QueryWrapper monitorInfoWrapper = new QueryWrapper();
// // 风险类型
// monitorInfoWrapper.in("risk_type", detail.getRiskType());
// // 监控维度
// monitorInfoWrapper.in("dimension", detail.getDimension());
// Long count = monitorInfoMapper.selectCount(monitorInfoWrapper);
// if (count >0 ) {
// SendMessageUtil.sendMessage(detail.getPhones(), count.toString());
// }
// }
// }
//}
......@@ -79,6 +79,17 @@ public interface MonitorService {
TableDataInfo companyPage(PushMonitorCompanyPageVo pageVo) throws Exception;
/***
*@Description: 企业监控列表 分页
*@Param: pageVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
TableDataInfo queryMonitorCompany(MonitorQueryMonitorCompanyPageVo pageVo) throws Exception;
/***
*@Description: 添加监控
*@Param: addVo 信息
......
......@@ -92,13 +92,15 @@ public class MonitorServiceImpl implements MonitorService {
@Override
public TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception {
Long userId = LoginHelper.getUserId();
pageVo.setPageSize(3);
Long userId = 1733058034734989314L;
if (ObjectUtil.isNotEmpty(userId)) {
pageVo.setUserId(userId);
pageVo.getCondition().setUserId(userId);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/info/companyDynamicList", BeanUtil.beanToMap(pageVo, false, false));
return dskOpenApiUtil.responsePage(map);
log.info("companyDynamicPage=============================>"+map);
return dskOpenApiUtil.responsePageT(map);
}
@Override
......@@ -123,6 +125,16 @@ public class MonitorServiceImpl implements MonitorService {
return dskOpenApiUtil.responsePage(map);
}
@Override
public TableDataInfo queryMonitorCompany(MonitorQueryMonitorCompanyPageVo pageVo) throws Exception {
Long userId = LoginHelper.getUserId();
if (ObjectUtil.isNotEmpty(userId)) {
pageVo.setUserId(userId);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/supplier/system/queryCancelMonitorCompany", BeanUtil.beanToMap(pageVo, false, false));
return dskOpenApiUtil.responsePage(map);
}
@Override
public R systemAdd(PushMonitorCompanyAddVo addVo) {
Long userId = LoginHelper.getUserId();
......@@ -248,6 +260,13 @@ public class MonitorServiceImpl implements MonitorService {
return BeanUtil.toBean(map, R.class);
}
/***
*@Description: 参数处理
*@Param:
*@return: com.dsk.monitor.domain.vo.PushMonitorSystemDetailVo
*@Author: Dgm
*@date: 2023/12/15 15:43
*/
public PushMonitorSystemDetailVo getDetailVo(PushMonitorSystemDetailVo detailVo) {
String value1 = null;
String value2 = null;
......
......@@ -8,6 +8,7 @@ import com.dsk.search.service.BusinessOpportunityRadarService;
import com.dsk.search.service.ExportService;
import com.dsk.system.domain.vo.AptitudeVo;
import com.dsk.system.domain.vo.SysUserImportVo;
import com.dsk.system.service.ISysUserFileRecordService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -30,6 +31,18 @@ public class ExportController {
@Resource
private ExportService exportService;
@Resource
private ISysUserFileRecordService sysUserFileRecordService;
/**
* 导出回调接口
* @param object
* @return
*/
@PostMapping(value = "/backUrl")
public AjaxResult exportBack(@RequestBody JSONObject object) {
return sysUserFileRecordService.exportBack(object);
}
/**
* 获取导入模板
......@@ -37,10 +50,8 @@ public class ExportController {
@PostMapping("/aptitude/importTemplate")
public void importTemplate(HttpServletResponse response) {
List<Object> list = new ArrayList<>();
AptitudeVo aptitudeVo = new AptitudeVo();
aptitudeVo.setCompanyName("重庆市轨道交通(集团)有限公司");
list.add(aptitudeVo);
ExcelUtil.exportTemplate(list, "企业数据", "excel/userImportTemplate.xlsx", response);
list.add(new AptitudeVo("重庆市轨道交通(集团)有限公司"));
ExcelUtil.exportTemplate(list, "企业数据", "excel/aptitudeImportTemplate.xlsx", response);
}
/*
......
......@@ -5,8 +5,8 @@
<mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyMapper">
<select id="selectPageAdvisoryBodyList" resultType="com.dsk.cscec.domain.vo.AdvisoryBodySearchVo">
select
<include refid="allColumnOfAdvisoryBody"></include>
from advisory_body ${ew.getCustomSqlSegment}
<include refid="allColumn"></include>
from advisory_body ab ${ew.getCustomSqlSegment}
</select>
<select id="queryListByBo" resultType="com.dsk.cscec.domain.vo.AdvisoryBodyVo">
......@@ -62,33 +62,34 @@
order by dp.load_time desc
</select>
<select id="selectProjectIdsByAdvisoryBodyName" resultType="java.lang.Long">
<select id="selectAdvisoryBodyCidsByName" resultType="java.lang.Long">
select
<include refid="allColumnOfAdvisoryBody"></include>
from advisory_body
where
ab.advisory_body_cid
from advisory_body ab
<where>
<if test="advisoryBodyName != null">
and advisory_body_name like concat('%',#{advisoryBodyName},'%')
advisory_body_name like concat('%',#{advisoryBodyName},'%')
</if>
</where>
</select>
<select id="queryAdvisoryBodyByProjectKey" resultType="com.dsk.cscec.domain.AdvisoryBody">
select
<include refid="allColumnOfAdvisoryBody"></include>
<include refid="allColumn"></include>
from advisory_body ab
left join advisory_body_project abp
on abp.advisory_body_cid = ab.advisory_body_cid
where abp.project_key = ${projectKey};
</select>
<sql id="allColumnOfAdvisoryBody">
advisory_body_id,
advisory_body_cid,
advisory_body_name,
business_scope,
create_by,
create_time,
update_by,
update_time
<sql id="allColumn">
ab.advisory_body_id,
ab.advisory_body_cid,
ab.advisory_body_name,
ab.business_scope,
ab.create_by,
ab.create_time,
ab.update_by,
ab.update_time
</sql>
</mapper>
\ No newline at end of file
......@@ -4,4 +4,13 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyProjectMapper">
<select id="selectProjectKeysByAdvisoryBodyCids" resultType="java.lang.Long">
select abp.project_key
from advisory_body_project abp
<where>
<if test="advisoryBodyCids != null">
abp.advisory_body_cid = #{advisoryBodyCids}
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.DCustomerMapper">
<select id="allSearchList" resultType="com.dsk.cscec.domain.DCustomer">
<select id="allSearchList" resultType="com.dsk.cscec.domain.vo.DCustomerListVo">
select
customer_key, customer_id, customer_code, customer_name, recommend_org, register_region, register_province, register_city, customer_class, primary_business,
paytax_type, tax_rate, customer_state, leader_name, labor_captain_phone, labor_captain_idcard, service_team_personnum, service_team_speciality,
......@@ -61,7 +61,7 @@
</if>
<if test="bo.approveDateBegion != null and bo.approveDateBegion != '' ">and approve_date2 &gt;= #{bo.approveDateBegion}</if>
<if test="bo.approveDateEnd != null and bo.approveDateEnd != '' ">and approve_date2 &lt;= #{bo.approveDateBegion} </if>
<if test="bo.isTeam != null"> and leader_name is <if test="bo.isTeam == 0">not</if> null </if>
<if test="bo.isTeam != null"> and leader_name is <if test="bo.isTeam == 1">not</if> null </if>
order by approve_date2 desc
</select>
......
......@@ -202,7 +202,7 @@
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载央企数字化经营管理系统</div>
<div class="load_title">正在加载大数据经营管理支撑服务平台</div>
</div>
</div>
</body>
......
......@@ -15,6 +15,15 @@ export function customerAll(param) {
method: 'POSt',
});
}
//总台账导出
export function customerExport(param) {
return request({
url: '/customer/export',
method: 'post',
data:param,
responseType: 'blob'
});
}
//专业类别选项列表
export function bizDictData() {
return request({
......
......@@ -81,6 +81,7 @@
}
.total-dc{
float: right;
cursor: pointer;
img{
width: 18px;
margin-right: 6px;
......
......@@ -70,9 +70,9 @@
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
<p class="total-dc">
<p class="total-dc" @click="customerExport">
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
<span class="excel">导出EXCEL</span>
</p>
</div>
<div class="table-item-jf table-item-jf1 empty-table" v-if="total == 0 && !isSkeleton">
......@@ -174,7 +174,7 @@
</el-table-column>
<el-table-column label="队伍规模" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.legalPerson||"--"}}
{{scope.row.serviceTeamPersonnum||"--"}}
</template>
</el-table-column>
<el-table-column label="专业特长" min-width="120" :resizable="false">
......@@ -293,7 +293,7 @@
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import {customerAll,areaAll} from '@/api/supplier/supplier';
import {customerAll,areaAll,customerExport} from '@/api/supplier/supplier';
import { getDicts } from "@/api/system/dict/data";
export default {
name: 'ledger',
......@@ -367,6 +367,38 @@
this.litigationstatus = res.data
})
},
customerExport(){
let param = this.formdata
if(param.times){
param.approveDateBegion = param.times[0]
param.approveDateEnd = param.times[1]
}else{
param.approveDateBegion = ''
param.approveDateEnd = ''
}
if(param.areas){
let province = []
let city = []
param.areas.forEach(item=>{
if(item.length == 3){//到市
if(item[1].indexOf('重庆')>-1||item[1].indexOf('北京')>-1||item[1].indexOf('天津')>-1||item[1].indexOf('上海')>-1){
province.push(item[1])
}else{
city.push(item[2])
}
}
})
param.province = province
param.city = city
}else{
param.province = []
param.city = []
}
// this.download('/customer/export', param, `type_${new Date().getTime()}.xlsx`)
customerExport(param).then(blob => {
this.$download.saveAs(blob, `type_${new Date().getTime()}.xlsx`)
})
},
getSearch(){
this.formdata.pageNum = 1
this.customerAll()
......
......@@ -74,4 +74,8 @@ public class AptitudeVo implements Serializable {
@Excel(name = "经营范围")
private String businessScope;
public AptitudeVo(String deptName) {
this.companyName = deptName.replace(" ", "");
}
}
......@@ -125,6 +125,25 @@ public class DskOpenApiUtil {
return new TableDataInfo((List<?>) list, count);
}
/***
*@Description: 特殊返回
*@Param:
*@return: com.dsk.common.core.page.TableDataInfo
*@Author: Dgm
*@date: 2023/12/15 15:04
*/
public TableDataInfo responsePageT(Map<String, Object> resMap) throws Exception {
Integer code = MapUtils.getInteger(resMap, "code", 300);
Map data = MapUtils.getMap(resMap, "data", null);
if (200 != code) {
throw new RuntimeException();
}
Integer count = MapUtils.getInteger(data, "totalCount", 0);
Object list = MapUtils.getObject(data, "list", "");
Object object = MapUtils.getObject(data, "obj", "");
return new TableDataInfo((List<?>) list, count, object);
}
private void initApiConfig() {
TenantHelper.ignore(() -> {
SysConfig accessKeyId = sysConfigMapper.selectOne(Wrappers.<SysConfig>lambdaQuery().eq(SysConfig::getTenantId, TenantConstants.DEFAULT_TENANT_ID).eq(SysConfig::getConfigKey, "dsk-Appkey"));
......
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