Commit 69af3f3a authored by huangjie's avatar huangjie

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents da08aa18 4309c841
...@@ -166,7 +166,7 @@ tenant: ...@@ -166,7 +166,7 @@ tenant:
- d_customer - d_customer
- d_project - d_project
- d_subcontract - d_subcontract
- sys_advisory_body - advisory_body
- dim_area - dim_area
- biz_dict_data - biz_dict_data
......
...@@ -3,17 +3,24 @@ package com.dsk.cscec.controller; ...@@ -3,17 +3,24 @@ package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery; 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.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; 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.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; 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.ProjectSearchVo;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.IDProjectService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
/** /**
* 咨询机构管理控制层 * 咨询机构管理控制层
...@@ -46,50 +53,28 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -46,50 +53,28 @@ public class AdvisoryBodyManageController extends BaseController {
return baseService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery); return baseService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery);
} }
/**
* 获取合作项目明细
*/
@GetMapping("/getCooperateProjectDetailList")
public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
return baseService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery);
}
/**
* 根据项目主键查询项目详情
*/
@GetMapping("/getProjectDetail/{projectKey}")
public R<ProjectDetailVo> getProjectDetail(@NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) {
return R.ok(baseService.queryProjectDetail(projectKey));
}
// /**
///** * 根据咨询机构ID查询咨询机构详情
// * 通过主键查询单条数据 */
// * @GetMapping("/getAdvisoryBodyDetail/{advisoryBodyId}")
// * @param id 主键 public R<AdvisoryBody> getAdvisoryBodyDetail(@NotNull(message = "咨询机构ID不能为空") @PathVariable Long advisoryBodyId) {
// * @return 单条数据 return R.ok(baseService.queryAdvisoryBodyDetail(advisoryBodyId));
// */ }
//@GetMapping("{id}")
//public R selectOne(@PathVariable Serializable id) {
// return success(this.dProjectService.getById(id));
//}
//
///**
// * 新增数据
// *
// * @param dProject 实体对象
// * @return 新增结果
// */
//@PostMapping
//public R insert(@RequestBody DProject dProject) {
// return success(this.dProjectService.save(dProject));
//}
//
///**
// * 修改数据
// *
// * @param dProject 实体对象
// * @return 修改结果
// */
//@PutMapping
//public R update(@RequestBody DProject dProject) {
// return success(this.dProjectService.updateById(dProject));
//}
//
///**
// * 删除数据
// *
// * @param idList 主键结合
// * @return 删除结果
// */
//@DeleteMapping
//public R delete(@RequestParam("idList") List<Long> idList) {
// return success(this.dProjectService.removeByIds(idList));
//}
} }
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 makejava
* @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,15 +5,19 @@ import com.dsk.common.core.controller.BaseController; ...@@ -5,15 +5,19 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer; import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo; import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo; import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.service.ICustomerInfoService; import com.dsk.cscec.service.ICustomerInfoService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty; import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* 供应商相关 * 供应商相关
...@@ -35,16 +39,33 @@ public class CustomerInfoController extends BaseController { ...@@ -35,16 +39,33 @@ public class CustomerInfoController extends BaseController {
* 供应商分类列表 * 供应商分类列表
*/ */
@PostMapping("/list") @PostMapping("/list")
public TableDataInfo<CustomerInfoVo> list(@Validated @RequestBody CustomerInfoBo bo,@RequestBody PageQuery query) { public TableDataInfo<CustomerInfoVo> list(@Validated @RequestBody CustomerInfoBo bo, @RequestBody PageQuery query) {
return iCustomerInfoService.queryPageList(bo, query); return iCustomerInfoService.queryPageList(bo, query);
} }
/**
* 内部合作-咨询机构合作记录
*/
@GetMapping("/advisoryList")
public TableDataInfo<AdvisoryBodyVo> advisoryList(@Validated AdvisoryBodyBo bo, PageQuery query) {
return iCustomerInfoService.queryAdvisoryList(bo, query);
}
/**
* 内部合作-咨询机构合作记录导出
*/
@GetMapping("/advisoryExport")
public void advisoryExport(@Validated AdvisoryBodyBo bo, PageQuery query, HttpServletResponse response) {
List<AdvisoryBodyVo> listVo = iCustomerInfoService.queryAdvisoryList(bo, query).getRows();
ExcelUtil.exportExcel(listVo, "咨询机构合作记录", AdvisoryBodyVo.class, response);
}
/** /**
* 合作记录-供应商准入情况 * 合作记录-供应商准入情况
*/ */
@GetMapping("/getByName/{name}") @GetMapping("/getApproveInfo")
public R<DCustomer> list(@NotEmpty(message = "企业名称不能为空") @PathVariable String name) { public R<CustomerApproveVo> getApproveInfo(CustomerInfoBo bo) {
return R.ok(iCustomerInfoService.queryByName(name)); return R.ok(iCustomerInfoService.queryApproveByBo(bo));
} }
} }
......
...@@ -4,6 +4,7 @@ package com.dsk.cscec.controller; ...@@ -4,6 +4,7 @@ package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.vo.RegionVo; import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import com.dsk.cscec.service.IDimAreaService; import com.dsk.cscec.service.IDimAreaService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -34,5 +35,13 @@ public class DimAreaController extends BaseController { ...@@ -34,5 +35,13 @@ public class DimAreaController extends BaseController {
public R<List<RegionVo>> allArea(){ public R<List<RegionVo>> allArea(){
return R.ok(baseService.allArea()); return R.ok(baseService.allArea());
} }
/**
* 获取地区树(不含区域)
*/
@GetMapping("/all/withoutRegion")
public R<List<RegionWithLevelVo>> allAreaWithoutRegion(){
return R.ok(baseService.allAreaWithoutRegion());
}
} }
...@@ -6,6 +6,7 @@ import lombok.Data; ...@@ -6,6 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -17,7 +18,7 @@ import java.util.Date; ...@@ -17,7 +18,7 @@ import java.util.Date;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class SysAdvisoryBody implements Serializable { public class AdvisoryBody implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -62,10 +63,14 @@ public class SysAdvisoryBody implements Serializable { ...@@ -62,10 +63,14 @@ public class SysAdvisoryBody implements Serializable {
* 项目负责人联系电话 * 项目负责人联系电话
*/ */
private String projectLeaderPhone; private String projectLeaderPhone;
/**
* 结算金额(万元)
*/
private BigDecimal settleAmount;
/** /**
* 结算开始时间 * 结算开始时间
*/ */
private Date settleStarTime; private Date settleStartTime;
/** /**
* 结算完成时间 * 结算完成时间
*/ */
......
package com.dsk.cscec.domain;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.15
* @time 15:58
*/
@Data
public class AdvisoryBodyProject implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 项目主键
*/
private Long projectKey;
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 合作时间
*/
private Date cooperateTime;
/**
* 项目负责人
*/
private String projectLeader;
/**
* 项目负责人专业
*/
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
private String projectLeaderPhone;
/**
* 结算金额(万元)
*/
private Double settleAmount;
/**
* 结算开始时间
*/
private Date settleStartTime;
/**
* 结算完成时间
*/
private Date settleFinishTime;
/**
* 是否为终审单位(0代表是 1代表否)
*/
private String isFinalJudgeUnit;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
}
...@@ -3,7 +3,6 @@ package com.dsk.cscec.domain; ...@@ -3,7 +3,6 @@ package com.dsk.cscec.domain;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -14,398 +13,988 @@ import java.util.Date; ...@@ -14,398 +13,988 @@ import java.util.Date;
*/ */
@Data @Data
public class DProject implements Serializable { public class DProject implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = -39953154592938442L;
//项目主键
/**
* 项目主键
*/
private Long projectKey; private Long projectKey;
//项目ID
/**
* 项目ID
*/
private String projectId; private String projectId;
//项目编码
/**
* 项目编码
*/
private String projectCode; private String projectCode;
//IPM项目名称
/**
* IPM项目名称
*/
private String projectName; private String projectName;
//财务项目编码
/**
* 财务项目编码
*/
private String finProjectCode; private String finProjectCode;
//财务项目名称
/**
* 财务项目名称
*/
private String finProjectName; private String finProjectName;
//项目简称
/**
* 项目简称
*/
private String projectShortName; private String projectShortName;
//项目标准名称
/**
* 项目标准名称
*/
private String projectStandardName; private String projectStandardName;
//云筑网项目编码(预留)
/**
* 云筑网项目编码(预留)
*/
private String projectCodePurchase; private String projectCodePurchase;
//云筑网项目名称(预留)
/**
* 云筑网项目名称(预留)
*/
private String projectNamePurchase; private String projectNamePurchase;
//项目部ID
/**
* 项目部ID
*/
private String projectdeptId; private String projectdeptId;
//项目部主键
/**
* 项目部主键
*/
private Long projectdeptKey; private Long projectdeptKey;
//项目部名称
/**
* 项目部名称
*/
private String projectdeptName; private String projectdeptName;
//大项目部ID
/**
* 大项目部ID
*/
private String bigprojectdeptId; private String bigprojectdeptId;
//大项目部名称
/**
* 大项目部名称
*/
private String bigprojectdeptName; private String bigprojectdeptName;
//评比用的大项目部ID
/**
* 评比用的大项目部ID
*/
private String bigprojdeptAnaId; private String bigprojdeptAnaId;
//评比用的大项目部编码
/**
* 评比用的大项目部编码
*/
private String bigprojdeptAnaCode; private String bigprojdeptAnaCode;
//评比用的大项目部名称
/**
* 评比用的大项目部名称
*/
private String bigprojdeptAnaName; private String bigprojdeptAnaName;
//评比用的大项目部经理
/**
* 评比用的大项目部经理
*/
private String bigprojdeptAnaManager; private String bigprojdeptAnaManager;
//评比用的大项目部手机号
/**
* 评比用的大项目部手机号
*/
private String bigprojdeptAnaMobile; private String bigprojdeptAnaMobile;
//分公司ID
/**
* 分公司ID
*/
private String orgLevelId3; private String orgLevelId3;
//分公司名称
/**
* 分公司名称
*/
private String orgLevelName3; private String orgLevelName3;
//子企业ID
/**
* 子企业ID
*/
private String orgLevelId2; private String orgLevelId2;
//子企业名称
/**
* 子企业名称
*/
private String orgLevelName2; private String orgLevelName2;
//子企业排序
/**
* 子企业排序
*/
private Long dispIndexLevel2; private Long dispIndexLevel2;
//分公司排序
/**
* 分公司排序
*/
private Long dispIndexLevel3; private Long dispIndexLevel3;
//大项目排序
/**
* 大项目排序
*/
private Long dispIndexLevel4; private Long dispIndexLevel4;
//组织机构主键
/**
* 组织机构主键
*/
private Long orgKey; private Long orgKey;
//合同主键
/**
* 合同主键
*/
private Long contractKey; private Long contractKey;
//施工单位属性
/**
* 施工单位属性
*/
private String jobunitAttribute; private String jobunitAttribute;
//承包单位ID
/**
* 承包单位ID
*/
private String contractOrgId; private String contractOrgId;
//承包单位主键
/**
* 承包单位主键
*/
private String contractOrgName; private String contractOrgName;
//签约单位属性
/**
* 签约单位属性
*/
private String contractunitAttribute; private String contractunitAttribute;
//监理单位
/**
* 监理单位
*/
private String supervisorOrgName; private String supervisorOrgName;
//设计单位
/**
* 设计单位
*/
private String designOrgName; private String designOrgName;
//流程状态
/**
* 流程状态
*/
private String flowStateName; private String flowStateName;
//流程状态
/**
* 流程状态
*/
private String projectState; private String projectState;
//业主结算状态
/**
* 业主结算状态
*/
private String ownerbalanceState; private String ownerbalanceState;
//分包结算状态
/**
* 分包结算状态
*/
private String subbalanceState; private String subbalanceState;
//财务清算状态
/**
* 财务清算状态
*/
private String financeState; private String financeState;
//商务状态
/**
* 商务状态
*/
private String businessState; private String businessState;
//中标信息主键
/**
* 中标信息主键
*/
private String bidKey; private String bidKey;
//业主主键
/**
* 业主主键
*/
private Long ownerKey; private Long ownerKey;
//业主名称
/**
* 业主名称
*/
private String ownerName; private String ownerName;
//业主性质
/**
* 业主性质
*/
private String ownerNature; private String ownerNature;
//客户线-业主层级
/**
* 客户线-业主层级
*/
private String ownerOrgLevel; private String ownerOrgLevel;
//客户线-业主类型
/**
* 客户线-业主类型
*/
private String ownerTypeLevel; private String ownerTypeLevel;
//竞标方式主键
/**
* 竞标方式主键
*/
private Long competbidTypeKey; private Long competbidTypeKey;
//竞标方式名称
/**
* 竞标方式名称
*/
private String competbidType; private String competbidType;
//所属集团
/**
* 所属集团
*/
private String keyaccountName; private String keyaccountName;
//是否关键客户
/**
* 是否关键客户
*/
private Long isgroupkeyaccount; private Long isgroupkeyaccount;
//关键客户类别
/**
* 关键客户类别
*/
private String groupkeyaccountClass; private String groupkeyaccountClass;
//关键客户等级
/**
* 关键客户等级
*/
private String groupkeyaccountGrade; private String groupkeyaccountGrade;
//是否军方
/**
* 是否军方
*/
private Long ismilitary; private Long ismilitary;
//是否市场
/**
* 是否市场
*/
private Long ismarket; private Long ismarket;
//工程类型主键
/**
* 工程类型主键
*/
private Long projectTypeKey; private Long projectTypeKey;
//工程类型上级名称
/**
* 工程类型上级名称
*/
private String projectType1; private String projectType1;
//工程类型名称
/**
* 工程类型名称
*/
private String projectType2; private String projectType2;
//产品线主键
/**
* 产品线主键
*/
private Long productlineKey; private Long productlineKey;
//产品线名称
/**
* 产品线名称
*/
private String productlineName2; private String productlineName2;
//产品线上级名称
/**
* 产品线上级名称
*/
private String productlineName1; private String productlineName1;
//市场模式主键
/**
* 市场模式主键
*/
private Long marketjobTypeKey; private Long marketjobTypeKey;
//市场模式名称
/**
* 市场模式名称
*/
private String markJobType; private String markJobType;
//市场模型上级名称
/**
* 市场模型上级名称
*/
private String marketjobTypeName1; private String marketjobTypeName1;
//承包模式主键
/**
* 承包模式主键
*/
private Long jobTypeKey; private Long jobTypeKey;
//承包模式名称
/**
* 承包模式名称
*/
private String jobType; private String jobType;
//承包模式上级名称
/**
* 承包模式上级名称
*/
private String jobTypeName1; private String jobTypeName1;
//资金来源主键
/**
* 资金来源主键
*/
private Long moneySourceKey; private Long moneySourceKey;
//资金来源名称
/**
* 资金来源名称
*/
private String moneySource; private String moneySource;
//资金来源上级名称
/**
* 资金来源上级名称
*/
private String moneySourceName1; private String moneySourceName1;
//重点项目级别
/**
* 重点项目级别
*/
private String projectLevel; private String projectLevel;
//工程用途(中标交底)
/**
* 工程用途(中标交底)
*/
private String projectPurpose; private String projectPurpose;
//是否重点项目
/**
* 是否重点项目
*/
private Long projectGrade; private Long projectGrade;
//f_tax_sale_invoice_detail
/**
* f_tax_sale_invoice_detail
*/
private Long ishomesupport; private Long ishomesupport;
//是否内部项目
/**
* 是否内部项目
*/
private String isinternalproject; private String isinternalproject;
//是否房地产项目
/**
* 是否房地产项目
*/
private String isestateproject; private String isestateproject;
//是否投资项目
/**
* 是否投资项目
*/
private String isinvestproject; private String isinvestproject;
//进度款支付方式
/**
* 进度款支付方式
*/
private String steppayType; private String steppayType;
//进度款支付比例
/**
* 进度款支付比例
*/
private Double steppayScale; private Double steppayScale;
//项目所处阶段
/**
* 项目所处阶段
*/
private String projectPhase; private String projectPhase;
//项目类型
/**
* 项目类型
*/
private String projectType; private String projectType;
//结构形式
/**
* 结构形式
*/
private String structureType; private String structureType;
//基础形式
/**
* 基础形式
*/
private String projectBaseFormat; private String projectBaseFormat;
//市场所属区域主键
/**
* 市场所属区域主键
*/
private Long marketAreaKey; private Long marketAreaKey;
//市场所属区域名称
/**
* 市场所属区域名称
*/
private String marketAreaName; private String marketAreaName;
//省份名称
/**
* 省份名称
*/
private String provinceName; private String provinceName;
//省份缩写
/**
* 省份缩写
*/
private String provinceAbbrName; private String provinceAbbrName;
//物理区域主键
/**
* 物理区域主键
*/
private Long areaKey; private Long areaKey;
//物理区域名称
/**
* 物理区域名称
*/
private String areaName; private String areaName;
//城市名称
/**
* 城市名称
*/
private String cityName; private String cityName;
//县市
/**
* 县市
*/
private String districtName; private String districtName;
//项目地址
/**
* 项目地址
*/
private String projectAddress; private String projectAddress;
//合同生效(盖章)日期
/**
* 合同生效(盖章)日期
*/
private Date contractSignDate; private Date contractSignDate;
//合同开工日期
/**
* 合同开工日期
*/
private Date contractStartDate; private Date contractStartDate;
//合同竣工日期
/**
* 合同竣工日期
*/
private Date contractEndDate; private Date contractEndDate;
//实际开工日期
/**
* 实际开工日期
*/
private Date actualStartDate; private Date actualStartDate;
//实际完工时间
/**
* 实际完工时间
*/
private Date actualEndDate; private Date actualEndDate;
//计划开工日期
/**
* 计划开工日期
*/
private Date planStartDate; private Date planStartDate;
//计划竣工日期
/**
* 计划竣工日期
*/
private Date planEndDate; private Date planEndDate;
//中标日期
/**
* 中标日期
*/
private Date bidwinDate; private Date bidwinDate;
//预计签约日期
/**
* 预计签约日期
*/
private Date planSignDate; private Date planSignDate;
//签约日期
/**
* 签约日期
*/
private Date signDate; private Date signDate;
//合同签订月份
/**
* 合同签订月份
*/
private String contractSignMonth; private String contractSignMonth;
//项目经理主键
/**
* 项目经理主键
*/
private String projectManagerKey; private String projectManagerKey;
//项目经理名称
/**
* 项目经理名称
*/
private String projectManagerName; private String projectManagerName;
//项目经理电话
/**
* 项目经理电话
*/
private String projectManagerPhone; private String projectManagerPhone;
//执行经理主键
/**
* 执行经理主键
*/
private String executeManagerKey; private String executeManagerKey;
//执行经理名称
/**
* 执行经理名称
*/
private String executeManagerName; private String executeManagerName;
//执行经理电话
/**
* 执行经理电话
*/
private String executeManagerPhone; private String executeManagerPhone;
//商务经理主键
/**
* 商务经理主键
*/
private String busiManagerKey; private String busiManagerKey;
//商务经理名称
/**
* 商务经理名称
*/
private String busiManagerName; private String busiManagerName;
//商务经理电话
/**
* 商务经理电话
*/
private String busiManagerPhone; private String busiManagerPhone;
//总工程师主键
/**
* 总工程师主键
*/
private String chiefEngineerKey; private String chiefEngineerKey;
//总工程师名称
/**
* 总工程师名称
*/
private String chiefEngineerName; private String chiefEngineerName;
//总工程师电话
/**
* 总工程师电话
*/
private String chiefEngineerPhone; private String chiefEngineerPhone;
//生产经理主键
/**
* 生产经理主键
*/
private String produceManagerKey; private String produceManagerKey;
//生产经理名称
/**
* 生产经理名称
*/
private String produceManagerName; private String produceManagerName;
//生产经理电话
/**
* 生产经理电话
*/
private String produceManagerPhone; private String produceManagerPhone;
//党支部书记主键
/**
* 党支部书记主键
*/
private String cpcManagerKey; private String cpcManagerKey;
//党支部书记名称
/**
* 党支部书记名称
*/
private String cpcManagerName; private String cpcManagerName;
//党支部书记电话
/**
* 党支部书记电话
*/
private String cpcManagerPhone; private String cpcManagerPhone;
//党支部副书记主键
/**
* 党支部副书记主键
*/
private String cpcViceManagerKey; private String cpcViceManagerKey;
//党支部副书记名称
/**
* 党支部副书记名称
*/
private String cpcViceManagerName; private String cpcViceManagerName;
//党支部副书记电话
/**
* 党支部副书记电话
*/
private String cpcViceManagerPhone; private String cpcViceManagerPhone;
//机电经理主键
/**
* 机电经理主键
*/
private String machineManagerKey; private String machineManagerKey;
//机电经理名称
/**
* 机电经理名称
*/
private String machineManagerName; private String machineManagerName;
//机电经理电话
/**
* 机电经理电话
*/
private String machineManagerPhone; private String machineManagerPhone;
//安全总监主键
/**
* 安全总监主键
*/
private String safeManagerKey; private String safeManagerKey;
//安全总监名称
/**
* 安全总监名称
*/
private String safeManagerName; private String safeManagerName;
//安全总监电话
/**
* 安全总监电话
*/
private String safeManagerPhone; private String safeManagerPhone;
//财务总监主键
/**
* 财务总监主键
*/
private String financeManagerKey; private String financeManagerKey;
//财务总监名称
/**
* 财务总监名称
*/
private String financeManagerName; private String financeManagerName;
//财务总监电话
/**
* 财务总监电话
*/
private String financeManagerPhone; private String financeManagerPhone;
//质量总监主键
/**
* 质量总监主键
*/
private String qualifyManagerKey; private String qualifyManagerKey;
//质量总监名称
/**
* 质量总监名称
*/
private String qualifyManagerName; private String qualifyManagerName;
//质量总监电话
/**
* 质量总监电话
*/
private String qualifyManagerPhone; private String qualifyManagerPhone;
//项目相关指标
/**
* 项目相关指标
*/
private Double projectScaleKpi; private Double projectScaleKpi;
//项目相关指标单位
/**
* 项目相关指标单位
*/
private String projectScaleKpiUnit; private String projectScaleKpiUnit;
//合同总金额(项目表)
/**
* 合同总金额(项目表)
*/
private Double contractValue; private Double contractValue;
//合同税额(合同分解表)
/**
* 合同税额(合同分解表)
*/
private Double contractTaxValue; private Double contractTaxValue;
//不含税合同额(合同分解表)
/**
* 不含税合同额(合同分解表)
*/
private Double contractValueExcl; private Double contractValueExcl;
//合同自施金额(项目表)
/**
* 合同自施金额(项目表)
*/
private Double ttlContractSelfValue; private Double ttlContractSelfValue;
//合同自施税额(合同分解表)
/**
* 合同自施税额(合同分解表)
*/
private Double contractSelfTaxValue; private Double contractSelfTaxValue;
//不含税合同自施额(合同分解表)
/**
* 不含税合同自施额(合同分解表)
*/
private Double contractSelfValueExcl; private Double contractSelfValueExcl;
//承包主合同金额(合同表)
/**
* 承包主合同金额(合同表)
*/
private Double contractOrigValue; private Double contractOrigValue;
//承包主合同自施金额(合同表)
/**
* 承包主合同自施金额(合同表)
*/
private Double contractOrigSelfvalue; private Double contractOrigSelfvalue;
//补充协议金额(合同表)
/**
* 补充协议金额(合同表)
*/
private Double contractModifyValue; private Double contractModifyValue;
//补充协议自施金额(合同表)
/**
* 补充协议自施金额(合同表)
*/
private Double contractModifySelfvalue; private Double contractModifySelfvalue;
//商务自施额
/**
* 商务自施额
*/
private Double businessSelfValue; private Double businessSelfValue;
//合同变更索赔额
/**
* 合同变更索赔额
*/
private Long contractClaimValue; private Long contractClaimValue;
//预计收入
/**
* 预计收入
*/
private Double estiTtlIncome; private Double estiTtlIncome;
//预计成本
/**
* 预计成本
*/
private Double estiTtlCost; private Double estiTtlCost;
//预计收益
/**
* 预计收益
*/
private Double estiTtlProfit; private Double estiTtlProfit;
//预收益率
/**
* 预收益率
*/
private Double estiProfitRate; private Double estiProfitRate;
//目标收益率
/**
* 目标收益率
*/
private Double targetProfitRate; private Double targetProfitRate;
//合同总工期
/**
* 合同总工期
*/
private String contractWorkDays; private String contractWorkDays;
//计划工期(天)
/**
* 计划工期(天)
*/
private String planWorkDays; private String planWorkDays;
//建筑面积
/**
* 建筑面积
*/
private Double buildingArea; private Double buildingArea;
//地上层数
/**
* 地上层数
*/
private String noOfOverfloor; private String noOfOverfloor;
//地下层数
/**
* 地下层数
*/
private String noOfUnderfloor; private String noOfUnderfloor;
//建筑高度(m)
/**
* 建筑高度(m)
*/
private String constructHeight; private String constructHeight;
//长(跨)度
/**
* 长(跨)度
*/
private String constructLongspan; private String constructLongspan;
//单体工程数量(座)
/**
* 单体工程数量(座)
*/
private String constructQty; private String constructQty;
//目标工期
/**
* 目标工期
*/
private String targetWorkDays; private String targetWorkDays;
//项目管理人员数
private BigDecimal noOfProjectMaster; /**
//工程概况 * 项目管理人员数
*/
private Double noOfProjectMaster;
/**
* 工程概况
*/
private String projectOverview; private String projectOverview;
//工程概况
/**
* 工程概况
*/
private String projectQualitygoals; private String projectQualitygoals;
//产值批复模式
/**
* 产值批复模式
*/
private String outputStatMode; private String outputStatMode;
//项目规模
/**
* 项目规模
*/
private String projectScale; private String projectScale;
//计税方式
/**
* 计税方式
*/
private String vatType; private String vatType;
//税率
/**
* 税率
*/
private Double taxRate; private Double taxRate;
//保修完成日期
/**
* 保修完成日期
*/
private Date guaranteeOverDate; private Date guaranteeOverDate;
//停工日期
/**
* 停工日期
*/
private Date suspensionDate; private Date suspensionDate;
//退场日期
/**
* 退场日期
*/
private Date exitDate; private Date exitDate;
//清理日期
/**
* 清理日期
*/
private Date checkupDate; private Date checkupDate;
//清算日期
/**
* 清算日期
*/
private Date liquidationDate; private Date liquidationDate;
//是否完成成本锁定
/**
* 是否完成成本锁定
*/
private String iscostlock; private String iscostlock;
//员工主键
/**
* 员工主键
*/
private Long staffKey; private Long staffKey;
//项目人数
/**
* 项目人数
*/
private Long personnumProject; private Long personnumProject;
//是否计算收入线
/**
* 是否计算收入线
*/
private String iscalincome; private String iscalincome;
//是否计算成本线
/**
* 是否计算成本线
*/
private String iscalcost; private String iscalcost;
//项目封账类型
/**
* 项目封账类型
*/
private String costinventoryType; private String costinventoryType;
//实际完工时间
/**
* 实际完工时间
*/
private Date actualFinishDate; private Date actualFinishDate;
//分包结算完毕日期
/**
* 分包结算完毕日期
*/
private Date subSettleDate; private Date subSettleDate;
//业主结算完毕日期
/**
* 业主结算完毕日期
*/
private Date ownerSettleDate; private Date ownerSettleDate;
//是否需目标责任书
/**
* 是否需目标责任书
*/
private String isresponse; private String isresponse;
//财务手工导入的财务清算状态
/**
* 财务手工导入的财务清算状态
*/
private String ffipstate; private String ffipstate;
//担保比例
/**
* 担保比例
*/
private Double guaranteeRatio; private Double guaranteeRatio;
//目标责任书上报日期
/**
* 目标责任书上报日期
*/
private Date reportDate; private Date reportDate;
//应上报目标责任书日期
/**
* 应上报目标责任书日期
*/
private Date mustReportDate; private Date mustReportDate;
//是否公示二维码
/**
* 是否公示二维码
*/
private String isqrcodeSupervision; private String isqrcodeSupervision;
//是否启用环保监督
/**
* 是否启用环保监督
*/
private String isenableSupervision; private String isenableSupervision;
//经度
/**
* 经度
*/
private Double longitude; private Double longitude;
//纬度
/**
* 纬度
*/
private Double latitude; private Double latitude;
//人员规模
/**
* 人员规模
*/
private String projectHrScale; private String projectHrScale;
//数据更新时间
/**
* 数据更新时间
*/
private Date loadTime; private Date loadTime;
} }
...@@ -13,29 +13,29 @@ import lombok.Data; ...@@ -13,29 +13,29 @@ import lombok.Data;
public class DimArea implements Serializable { public class DimArea implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private Integer areaKey; private Integer areaKey;
private String areaCode; private String areaCode;
private String areaName; private String areaName;
/** /**
* 地区 * 地区
*/ */
private String areaName1; private String areaName1;
/** /**
* 省 * 省
*/ */
private String areaName2; private String areaName2;
/** /**
* 省简写 * 省简写
*/ */
private String areaAbbrName2; private String areaAbbrName2;
private String areaName3; private String areaName3;
private Integer levelNo; private Integer levelNo;
private String isleaf; private String isleaf;
private String isvalid; private String isvalid;
private String remark; private String remark;
private String areaId; private String areaId;
private String parentId; private String parentId;
private String loadTime; private String loadTime;
} }
package com.dsk.cscec.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.List;
/**
* 咨询机构合作记录查询
*
* @author
* @since 2023-12-14
*/
@Data
public class AdvisoryBodyBo extends BaseEntity {
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 项目主键(用作关联d_project)
*/
private Long projectKey;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 项目承接单位id
*/
private String contractOrgId;
/**
* 项目承接单位
*/
private String contractOrgName;
/**
* 省份
*/
private List<String> province;
/**
* 城市
*/
private List<String> city;
/**
* 项目承接类型
*/
/**
* 工程类别明细
*/
}
package com.dsk.cscec.domain.bo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author sxk
* @date 2023.12.14
* @time 14:17
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CooperateProjectDetailSearchBo {
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 项目名称
*/
private String projectName;
/**
* 省
*/
private List<String> provinceName;
/**
* 市
*/
private List<String> cityName;
/**
* 项目承接类型
*/
private List<String> isinvestproject;
/**
* 工程基础大类
*/
private List<String> projectType1;
/**
* 工程类别明细
*/
private List<String> projectType;
}
package com.dsk.cscec.domain.bo; package com.dsk.cscec.domain.bo;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
...@@ -16,6 +17,14 @@ import java.util.List; ...@@ -16,6 +17,14 @@ import java.util.List;
*/ */
@Data @Data
public class CustomerInfoBo extends BaseEntity { public class CustomerInfoBo extends BaseEntity {
/**
* 客商主键
*/
private Long customerKey;
/**
* 统一社会信用代码
*/
private String unifySocialCode;
/** /**
* 供应商类别(分供,劳务分包,专业分包,租赁,劳务分包队伍) * 供应商类别(分供,劳务分包,专业分包,租赁,劳务分包队伍)
*/ */
...@@ -72,12 +81,12 @@ public class CustomerInfoBo extends BaseEntity { ...@@ -72,12 +81,12 @@ public class CustomerInfoBo extends BaseEntity {
/** /**
* 准入时间开始 * 准入时间开始
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date approveDate2Start; private Date approveDate2Start;
/** /**
* 准入时间结束 * 准入时间结束
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date approveDate2End; private Date approveDate2End;
/** /**
* 队长名称 * 队长名称
......
package com.dsk.cscec.domain.bo; package com.dsk.cscec.domain.bo;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
...@@ -34,11 +35,13 @@ public class ProjectSearchBo { ...@@ -34,11 +35,13 @@ public class ProjectSearchBo {
/** /**
* 项目创建开始时间 * 项目创建开始时间
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date projectStartTime; private Date projectStartTime;
/** /**
* 项目创建结束时间 * 项目创建结束时间
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date projectEndTime; private Date projectEndTime;
/** /**
......
package com.dsk.cscec.domain.vo; package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.SysAdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -15,7 +15,7 @@ import java.util.Date; ...@@ -15,7 +15,7 @@ import java.util.Date;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class AdvisoryBodySearchVo extends SysAdvisoryBody { public class AdvisoryBodySearchVo extends AdvisoryBody {
/** /**
* 最近一次合作时间 * 最近一次合作时间
*/ */
......
package com.dsk.cscec.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 咨询机构合作记录
*
* @author
* @since 2023-12-14
*/
@Data
@ExcelIgnoreUnannotated
public class AdvisoryBodyVo {
/**
* 项目主键
*/
private Long projectKey;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称", index = 0)
private String projectName;
/**
* 项目编码
*/
@ExcelProperty(value = "项目编码", index = 1)
private String projectCode;
/**
* 省
*/
@ExcelProperty(value = "省", index = 2)
private String provinceName;
/**
* 市
*/
@ExcelProperty(value = "市", index = 3)
private String cityName;
/**
* 项目承接类型
*/
@ExcelProperty(value = "项目承接类型", index = 4)
private String isinvestproject;
/**
* 工程基础大类
*/
@ExcelProperty(value = "工程基础大类", index = 5)
private String projectType1;
/**
* 工程类别明细
*/
@ExcelProperty(value = "工程类别明细", index = 6)
private String projectType;
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 项目负责人
*/
@ExcelProperty(value = "项目负责人姓名", index = 7)
private String projectLeader;
/**
* 项目负责人专业
*/
@ExcelProperty(value = "项目负责人专业", index = 8)
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
@ExcelProperty(value = "项目负责人联系电话", index = 9)
private String projectLeaderPhone;
/**
* 合同金额
*/
@ExcelProperty(value = "合同金额", index = 10)
private BigDecimal contractOrigValue;
/**
* 业主单位
*/
@ExcelProperty(value = "业主单位", index = 11)
private String ownerName;
/**
* 项目承接单位
*/
@ExcelProperty(value = "项目承接单位", index = 12)
private String contractOrgName;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间", index = 13)
private Date loadTime;
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.14
* @time 13:45
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CooperateProjectDetailSearchVo {
/**
* 项目主键
*/
private Long projectKey;
/**
* 项目ID
*/
private String projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 项目编码
*/
private String projectCode;
/**
* 省市
*/
private String provinceName;
/**
* 市区
*/
private String cityName;
/**
* 项目承接类型
*/
private String isinvestproject;
/**
* 工程基础大类
*/
private String projectType1;
/**
* 工程类别明细
*/
private String projectType;
/**
* 合同金额
*/
private BigDecimal contractOrigValue;
/**
* 结算天数(天)
*/
private Long settlementDays;
/**
* 业主单位
*/
private String ownerName;
/**
* 项目承接单位
*/
private String contractOrgName;
/**
* 咨询机构(咨询机构表)
*/
private AdvisoryBody advisoryBody;
/**
* 创建时间(合同生效日期)
*/
private Date contractSignDate;
}
package com.dsk.cscec.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.util.Date;
/**
* 供应商准入情况
*
* @author
* @since 2023-12-15
*/
@Data
@ExcelIgnoreUnannotated
public class CustomerApproveVo {
/**
* 客商主键
*/
private Long customerKey;
/**
* 供应商编号
*/
private String customerCode;
/**
* 供应商名称
*/
private String customerName;
/**
* 注册资金
*/
private Double registerCapital;
/**
* 统一社会信用代码
*/
private String unifySocialCode;
/**
* 工商注册号
*/
private String registerNo;
/**
* 组织机构代码号
*/
private String orgnizationCode;
/**
* 税务登记号
*/
private String businessLicense;
/**
* 身份信息选择
*/
private String cardType;
/**
* 身份证号
*/
private String idCard;
/**
* 纳税人身份
*/
private String paytaxType;
/**
* 纳税人税率
*/
private String taxRate;
/**
* 法人代表
*/
private String representative;
/**
* 联系人
*/
private String contactPerson;
/**
* 联系电话
*/
private String contactPhone;
/**
* 业主性质
*/
private String ownerKind;
/**
* 资质等级
*/
private String credential;
/**
* 施工承包范围
*/
private String constructJobScope;
/**
* 专业类别id
*/
private String groupSpecialtyId;
/**
* 集团专业类别
*/
private String groupSpecialty;
/**
* 城市id
*/
private String registerCityId;
/**
* 注册地区域
*/
private String registerRegion;
/**
* 省份
*/
private String registerProvince;
/**
* 城市
*/
private String registerCity;
/**
* 企业注册地
*/
private String registerAddress;
/**
* 开户行
*/
private String openBank;
/**
* 银行账号
*/
private String bankAccount;
/**
* 主营业务
*/
private String primaryBusiness;
/**
* 税号
*/
private String taxNumber;
/**
* 企业性质
*/
private String customerProperty;
//证书信息
/**
* 营业执照到期时间1
*/
private Date expireDate1;
/**
* 组织机构代码证到期时间2
*/
private Date expireDate2;
/**
* 税务登记证到期时间3
*/
private Date expireDate3;
/**
* 资质证书到期时间4
*/
private Date expireDate4;
/**
* 安全生产许可证到期时间5
*/
private Date expireDate5;
/**
* 施工队长资格证到期时间6
*/
private String expireDate6;
/**
* 授权委托书到期时间7
*/
private String expireDate7;
//审批意见
/**
* 经办人
*/
private String responsiblePerson;
/**
* 经办人签字时间
*/
private Date approveDate1;
/**
* 商务经理
*/
private String businessManager;
/**
* 商务经理签字时间
*/
private Date approveDate3;
/**
* 项目经理
*/
private String projectManager;
/**
* 项目经理签字时间
*/
private Date approveDate4;
/**
* 采购部门负责人/公司意见
*/
private String purchasePrincipal;
/**
* 准入时间
*/
private Date approveDate2;
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.DProject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* @author sxk
* @date 2023.12.14
* @time 16:18
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProjectDetailVo extends DProject {
/**
* 咨询机构名称
*/
private String advisoryBodyName;
}
package com.dsk.cscec.domain.vo; package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.SysAdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -75,10 +75,10 @@ public class ProjectSearchVo { ...@@ -75,10 +75,10 @@ public class ProjectSearchVo {
/** /**
* 咨询机构(咨询机构表) * 咨询机构(咨询机构表)
*/ */
private SysAdvisoryBody advisoryBody; private AdvisoryBody advisoryBody;
/** /**
* 创建时间 * 创建时间(合同生效日期)
*/ */
private Date loadTime; private Date contractSignDate;
} }
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @Author sxk
* @Data 2023/12/13 14:14
*/
@Data
public class RegionWithLevelVo {
String level;
String value;
List<RegionWithLevelVo> children;
}
...@@ -2,10 +2,13 @@ package com.dsk.cscec.mapper; ...@@ -2,10 +2,13 @@ package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.SysAdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date; import java.util.Date;
...@@ -16,7 +19,7 @@ import java.util.Date; ...@@ -16,7 +19,7 @@ import java.util.Date;
* @author sxk * @author sxk
* @since 2023-12-12 10:12:04 * @since 2023-12-12 10:12:04
*/ */
public interface SysAdvisoryBodyMapper extends BaseMapper<SysAdvisoryBody> { public interface AdvisoryBodyMapper extends BaseMapper<AdvisoryBody> {
/** /**
* 查询最近一次合作时间 * 查询最近一次合作时间
*/ */
...@@ -25,6 +28,14 @@ public interface SysAdvisoryBodyMapper extends BaseMapper<SysAdvisoryBody> { ...@@ -25,6 +28,14 @@ public interface SysAdvisoryBodyMapper extends BaseMapper<SysAdvisoryBody> {
/** /**
* 获取所有企业列表(咨询机构)数据 * 获取所有企业列表(咨询机构)数据
*/ */
Page<AdvisoryBodySearchVo> selectPageAdvisoryBodyList(@Param("page") Page<AdvisoryBodySearchVo> page, @Param(Constants.WRAPPER) Wrapper<SysAdvisoryBody> queryWrapper); Page<AdvisoryBodySearchVo> selectPageAdvisoryBodyList(@Param("page") Page<AdvisoryBodySearchVo> page, @Param(Constants.WRAPPER) Wrapper<AdvisoryBody> queryWrapper);
/**
* 咨询机构合作记录
* @param build
* @param bo
* @return
*/
Page<AdvisoryBodyVo> queryListByBo(IPage<AdvisoryBodyBo> build, @Param("bo") AdvisoryBodyBo bo);
} }
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.AdvisoryBodyProject;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表数据库访问层
*
* @author makejava
* @since 2023-12-15 15:57:54
*/
public interface AdvisoryBodyProjectMapper extends BaseMapper<AdvisoryBodyProject> {
}
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -19,5 +20,10 @@ public interface DProjectMapper extends BaseMapper<DProject> { ...@@ -19,5 +20,10 @@ public interface DProjectMapper extends BaseMapper<DProject> {
* 获取所有项目列表数据 * 获取所有项目列表数据
*/ */
Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper); Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper);
/**
* 获取合作项目明细
*/
Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper);
} }
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBodyProject;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表服务接口
*
* @author makejava
* @since 2023-12-15 15:57:57
*/
public interface AdvisoryBodyProjectService extends IService<AdvisoryBodyProject> {
}
package com.dsk.cscec.service; package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.SysAdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
/** /**
* 咨询机构(SysAdvisoryBody)表服务接口 * 咨询机构(SysAdvisoryBody)表服务接口
...@@ -9,7 +9,7 @@ import com.dsk.cscec.domain.SysAdvisoryBody; ...@@ -9,7 +9,7 @@ import com.dsk.cscec.domain.SysAdvisoryBody;
* @author sxk * @author sxk
* @since 2023-12-12 10:12:09 * @since 2023-12-12 10:12:09
*/ */
public interface SysAdvisoryBodyService extends IService<SysAdvisoryBody> { public interface AdvisoryBodyService extends IService<AdvisoryBody> {
} }
...@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo; import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo; import com.dsk.cscec.domain.vo.CustomerInfoVo;
/** /**
...@@ -17,5 +20,7 @@ public interface ICustomerInfoService extends IService<DCustomer> { ...@@ -17,5 +20,7 @@ public interface ICustomerInfoService extends IService<DCustomer> {
TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query); TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query);
DCustomer queryByName(String name); CustomerApproveVo queryApproveByBo(CustomerInfoBo bo);
TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query);
} }
...@@ -3,10 +3,14 @@ package com.dsk.cscec.service; ...@@ -3,10 +3,14 @@ package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; 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.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; 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.ProjectSearchVo;
/** /**
...@@ -33,5 +37,30 @@ public interface IDProjectService extends IService<DProject> { ...@@ -33,5 +37,30 @@ public interface IDProjectService extends IService<DProject> {
* @return 所有数据 * @return 所有数据
*/ */
TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery); TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery);
/**
* 获取合作项目明细
*
* @param cooperateProjectDetailSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<CooperateProjectDetailSearchVo> queryCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery);
/**
* 根据项目主键查询项目详情
*
* @param projectKey 项目主键
* @return 项目详情
*/
ProjectDetailVo queryProjectDetail(Long projectKey);
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
AdvisoryBody queryAdvisoryBodyDetail(Long advisoryBodyId);
} }
...@@ -3,6 +3,7 @@ package com.dsk.cscec.service; ...@@ -3,6 +3,7 @@ package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DimArea; import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.domain.vo.RegionVo; import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import java.util.List; import java.util.List;
...@@ -17,5 +18,7 @@ public interface IDimAreaService extends IService<DimArea> { ...@@ -17,5 +18,7 @@ public interface IDimAreaService extends IService<DimArea> {
List<RegionVo> allArea(); List<RegionVo> allArea();
List<RegionWithLevelVo> allAreaWithoutRegion();
} }
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.service.AdvisoryBodyProjectService;
import org.springframework.stereotype.Service;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表服务实现类
*
* @author makejava
* @since 2023-12-15 15:57:57
*/
@Service("advisoryBodyProjectService")
public class AdvisoryBodyProjectServiceImpl extends ServiceImpl<AdvisoryBodyProjectMapper, AdvisoryBodyProject> implements AdvisoryBodyProjectService {
}
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.mapper.SysAdvisoryBodyMapper; import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.domain.SysAdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.service.SysAdvisoryBodyService; import com.dsk.cscec.service.AdvisoryBodyService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
...@@ -13,7 +13,7 @@ import org.springframework.stereotype.Service; ...@@ -13,7 +13,7 @@ import org.springframework.stereotype.Service;
* @since 2023-12-12 10:12:09 * @since 2023-12-12 10:12:09
*/ */
@Service("sysAdvisoryBodyService") @Service("sysAdvisoryBodyService")
public class SysAdvisoryBodyServiceImpl extends ServiceImpl<SysAdvisoryBodyMapper, SysAdvisoryBody> implements SysAdvisoryBodyService { public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, AdvisoryBody> implements AdvisoryBodyService {
} }
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -9,13 +11,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -9,13 +11,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.constant.QueryConstants;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo; import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo; import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.DCustomerMapper; import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DSubcontractMapper; import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.ICustomerInfoService; import com.dsk.cscec.service.ICustomerInfoService;
import com.dsk.search.service.BusinessOpportunityRadarService; import com.dsk.search.service.BusinessOpportunityRadarService;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -37,6 +45,9 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -37,6 +45,9 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
@Autowired @Autowired
private BusinessOpportunityRadarService opportunityRadarService; private BusinessOpportunityRadarService opportunityRadarService;
@Autowired
private AdvisoryBodyMapper advisoryBodyMapper;
@Override @Override
public TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query) { public TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query) {
if("劳务分包".equals(bo.getCustomerClass())){ if("劳务分包".equals(bo.getCustomerClass())){
...@@ -69,11 +80,25 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -69,11 +80,25 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
} }
@Override @Override
public DCustomer queryByName(String name) { public CustomerApproveVo queryApproveByBo(CustomerInfoBo bo) {
if(ObjectUtil.isNull(bo.getCustomerKey()) && StringUtil.isBlank(bo.getCustomerName()) && StringUtil.isBlank(bo.getUnifySocialCode())){
Assert.isTrue(false,"参数不能为空");
}
LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery();
lqw.eq(DCustomer::getCustomerName,name); lqw.eq(ObjectUtil.isNotNull(bo.getCustomerKey()),DCustomer::getCustomerKey,bo.getCustomerKey());
lqw.eq(StringUtil.isNotBlank(bo.getUnifySocialCode()),DCustomer::getUnifySocialCode,bo.getUnifySocialCode());
lqw.eq(StringUtil.isNotBlank(bo.getCustomerName()),DCustomer::getCustomerName,bo.getCustomerName());
lqw.orderByDesc(DCustomer::getApproveDate2); lqw.orderByDesc(DCustomer::getApproveDate2);
lqw.last("limit 1"); lqw.last("limit 1");
return baseMapper.selectOne(lqw); DCustomer dCustomer = baseMapper.selectOne(lqw);
CustomerApproveVo vo = BeanUtil.toBean(dCustomer, CustomerApproveVo.class);
return vo;
}
@Override
public TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query) {
bo.setContractOrgId(QueryConstants.LEVEL1_COMPANY_ID);
Page<AdvisoryBodyVo> page = advisoryBodyMapper.queryListByBo(query.build(),bo);
return TableDataInfo.build(page);
} }
} }
...@@ -3,17 +3,14 @@ package com.dsk.cscec.service.impl; ...@@ -3,17 +3,14 @@ package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.constant.CacheNames;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.entity.SysDictData; import com.dsk.common.core.domain.entity.SysDictData;
import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.domain.vo.RegionVo; import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import com.dsk.cscec.mapper.DimAreaMapper; import com.dsk.cscec.mapper.DimAreaMapper;
import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.service.IDimAreaService; import com.dsk.cscec.service.IDimAreaService;
import com.dsk.system.service.ISysDictDataService;
import com.dsk.system.service.ISysDictTypeService; import com.dsk.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -79,5 +76,48 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl ...@@ -79,5 +76,48 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl
} }
return vos; return vos;
} }
@Override
public List<RegionWithLevelVo> allAreaWithoutRegion() {
List<RegionWithLevelVo> vos = new ArrayList<>();
//区域
List<SysDictData> sysDictData = sysDictTypeService.selectDictDataByType(AREA_TYPE);
if(CollectionUtils.isNotEmpty(sysDictData)){
for (SysDictData data : sysDictData) {
//省
List<Object> provinces = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName2)
.eq(DimArea::getAreaName1, data.getDictValue())
.ne(DimArea::getAreaName2, data.getDictValue())
.groupBy(DimArea::getAreaName2));
if(CollectionUtils.isNotEmpty(provinces)){
for (Object province : provinces) {
RegionWithLevelVo provinceVo = new RegionWithLevelVo();
provinceVo.setValue(String.valueOf(province));
provinceVo.setLevel("1");
List<RegionWithLevelVo> cityVos = new ArrayList<>();
//市
List<Object> citys = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName3)
.eq(DimArea::getAreaName2, provinceVo.getValue())
.ne(DimArea::getAreaName3, provinceVo.getValue())
.groupBy(DimArea::getAreaName3));
if(CollectionUtils.isNotEmpty(citys)){
for (Object city : citys) {
RegionWithLevelVo cityVo = new RegionWithLevelVo();
cityVo.setValue(String.valueOf(city));
cityVo.setLevel("2");
cityVos.add(cityVo);
}
}
provinceVo.setChildren(cityVos);
vos.add(provinceVo);
}
}
}
}
return vos;
}
} }
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil; 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 cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...@@ -13,13 +15,16 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -13,13 +15,16 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.QueryConstants; import com.dsk.cscec.constant.QueryConstants;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.SysAdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; 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.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; 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.ProjectSearchVo;
import com.dsk.cscec.mapper.DProjectMapper; import com.dsk.cscec.mapper.DProjectMapper;
import com.dsk.cscec.mapper.SysAdvisoryBodyMapper; import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.IDProjectService;
import com.dsk.jsk.domain.EnterpriseInfoHeaderBody; import com.dsk.jsk.domain.EnterpriseInfoHeaderBody;
import com.dsk.system.utils.DskOpenApiUtil; import com.dsk.system.utils.DskOpenApiUtil;
...@@ -31,6 +36,7 @@ import javax.annotation.Resource; ...@@ -31,6 +36,7 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
/** /**
* 咨询机构管理 * 咨询机构管理
...@@ -44,7 +50,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -44,7 +50,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
@Resource @Resource
private DProjectMapper baseMapper; private DProjectMapper baseMapper;
@Resource @Resource
private SysAdvisoryBodyMapper advisoryBodyMapper; private AdvisoryBodyMapper advisoryBodyMapper;
@Resource @Resource
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
...@@ -61,10 +67,10 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -61,10 +67,10 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
String advisoryBodyName = projectSearchBo.getAdvisoryBodyName(); String advisoryBodyName = projectSearchBo.getAdvisoryBodyName();
List<Long> projectIds = new ArrayList<>(); List<Long> projectIds = new ArrayList<>();
if (StringUtils.isNotBlank(advisoryBodyName)) { if (StringUtils.isNotBlank(advisoryBodyName)) {
for (SysAdvisoryBody sysAdvisoryBody : advisoryBodyMapper.selectList(new LambdaQueryWrapper<SysAdvisoryBody>() for (AdvisoryBody advisoryBody : advisoryBodyMapper.selectList(new LambdaQueryWrapper<AdvisoryBody>()
.like(SysAdvisoryBody::getAdvisoryBodyName, advisoryBodyName))) { .like(AdvisoryBody::getAdvisoryBodyName, advisoryBodyName))) {
if (ObjectUtil.isNotNull(sysAdvisoryBody.getProjectKey())) { if (ObjectUtil.isNotNull(advisoryBody.getProjectKey())) {
projectIds.add(sysAdvisoryBody.getProjectKey()); projectIds.add(advisoryBody.getProjectKey());
} }
} }
} }
...@@ -73,7 +79,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -73,7 +79,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
//补充咨询机构信息 //补充咨询机构信息
for (ProjectSearchVo projectSearchVo : page.getRecords()) { for (ProjectSearchVo projectSearchVo : page.getRecords()) {
SysAdvisoryBody advisoryBody = this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey()); AdvisoryBody advisoryBody = this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey());
if (ObjectUtil.isNotNull(advisoryBody)) { if (ObjectUtil.isNotNull(advisoryBody)) {
projectSearchVo.setAdvisoryBody(advisoryBody); projectSearchVo.setAdvisoryBody(advisoryBody);
} }
...@@ -111,7 +117,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -111,7 +117,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
"p.contract_orig_value", "p.contract_orig_value",
projectSearchBo.getMinContractAmount(), projectSearchBo.getMinContractAmount(),
projectSearchBo.getMaxContractAmount()) projectSearchBo.getMaxContractAmount())
.orderByDesc("p.load_time"); .orderByDesc("p.contract_sign_date");
return wrapper; return wrapper;
} }
...@@ -121,9 +127,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -121,9 +127,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
* @param projectKey 项目主键 * @param projectKey 项目主键
* @return 咨询机构 * @return 咨询机构
*/ */
private SysAdvisoryBody getAdvisoryBodyByProjectKey(Long projectKey) { private AdvisoryBody getAdvisoryBodyByProjectKey(Long projectKey) {
return advisoryBodyMapper.selectOne(new LambdaQueryWrapper<SysAdvisoryBody>() return advisoryBodyMapper.selectOne(new LambdaQueryWrapper<AdvisoryBody>()
.eq(SysAdvisoryBody::getProjectKey, projectKey)); .eq(AdvisoryBody::getProjectKey, projectKey));
} }
/** /**
...@@ -136,12 +142,23 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -136,12 +142,23 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
@Override @Override
public TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery) { public TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery) {
//先按照分页要求从咨询机构表中查出分页数据 //先按照分页要求从咨询机构表中查出分页数据
QueryWrapper<SysAdvisoryBody> wrapper = Wrappers.query(); 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); Page<AdvisoryBodySearchVo> page = advisoryBodyMapper.selectPageAdvisoryBodyList(pageQuery.build(), wrapper);
//根据咨询机构cid查询对应的企业信息 //根据咨询机构cid查询对应的企业信息
for (AdvisoryBodySearchVo advisoryBodySearchVo : page.getRecords()) { for (AdvisoryBodySearchVo advisoryBodySearchVo : page.getRecords()) {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody(); EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodySearchVo.getAdvisoryBodyCid())); //有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<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null); Map companyData = MapUtils.getMap(companyMap, "data", null);
//最近一次合作时间 //最近一次合作时间
...@@ -151,15 +168,89 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -151,15 +168,89 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
String provinceName = MapUtils.getString(companyData, "provinceName", ""); String provinceName = MapUtils.getString(companyData, "provinceName", "");
String cityName = MapUtils.getString(companyData, "cityName", ""); String cityName = MapUtils.getString(companyData, "cityName", "");
String districtName = MapUtils.getString(companyData, "districtName", ""); String districtName = MapUtils.getString(companyData, "districtName", "");
advisoryBodySearchVo.setRegCapital(provinceName + cityName + districtName); advisoryBodySearchVo.setRegCapital(provinceName + "-" + cityName + "-" + districtName);
advisoryBodySearchVo.setRegArea(MapUtils.getString(companyData, "regArea", "")); advisoryBodySearchVo.setRegArea(MapUtils.getString(companyData, "regArea", ""));
advisoryBodySearchVo.setRegisteredDate(MapUtils.getString(companyData, "registeredDate", "")); advisoryBodySearchVo.setRegisteredDate(MapUtils.getString(companyData, "registeredDate", ""));
advisoryBodySearchVo.setBusinessScope(MapUtils.getString(companyData, "businessScope", "")); advisoryBodySearchVo.setBusinessScope(MapUtils.getString(companyData, "businessScope", ""));
//合作项目数量 //合作项目数量
advisoryBodySearchVo.setCooperateProjectCount(advisoryBodyMapper.selectCount(new LambdaQueryWrapper<SysAdvisoryBody>() advisoryBodySearchVo.setCooperateProjectCount(advisoryBodyMapper.selectCount(new LambdaQueryWrapper<AdvisoryBody>()
.eq(SysAdvisoryBody::getAdvisoryBodyId, advisoryBodySearchVo.getAdvisoryBodyId()))); .eq(AdvisoryBody::getAdvisoryBodyId, advisoryBodySearchVo.getAdvisoryBodyId())));
}
return TableDataInfo.build(page);
}
/**
* 获取合作项目明细
*
* @param cooperateProjectDetailSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<CooperateProjectDetailSearchVo> queryCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
//先根据咨询机构ID查出所有该咨询机构下的记录
List<AdvisoryBody> advisoryBodyList = advisoryBodyMapper.selectList(new LambdaQueryWrapper<AdvisoryBody>()
.eq(AdvisoryBody::getAdvisoryBodyId, cooperateProjectDetailSearchBo.getAdvisoryBodyId()));
//提取所有项目主键
ArrayList<Long> projectKeyList = new ArrayList<>();
for (AdvisoryBody advisoryBody : advisoryBodyList) {
projectKeyList.add(advisoryBody.getProjectKey());
}
//再根据记录终改的项目主键查询项目详情
QueryWrapper<DProject> wrapper = Wrappers.query();
wrapper
//项目主键
.in(!projectKeyList.isEmpty(), "project_key", projectKeyList)
//项目名称
.like(StringUtils.isNotBlank(cooperateProjectDetailSearchBo.getProjectName()), "project_name", cooperateProjectDetailSearchBo.getProjectName())
//项目承接类型
.in(!cooperateProjectDetailSearchBo.getIsinvestproject().isEmpty(), "isinvestproject", cooperateProjectDetailSearchBo.getIsinvestproject())
//工程基础大类
.in(!cooperateProjectDetailSearchBo.getProjectType1().isEmpty(), "project_type1", cooperateProjectDetailSearchBo.getProjectType1())
//工程类别明细
.in(!cooperateProjectDetailSearchBo.getProjectType().isEmpty(), "project_type", cooperateProjectDetailSearchBo.getProjectType())
//项目地区
.in(!cooperateProjectDetailSearchBo.getProvinceName().isEmpty(), "province_name", cooperateProjectDetailSearchBo.getProvinceName())
.or()
.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);
}
}
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
/**
* 根据项目主键查询项目详情
*
* @param projectKey 项目主键
* @return 项目详情
*/
@Override
public ProjectDetailVo queryProjectDetail(Long projectKey) {
//查询项目明细
DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectKey, projectKey));
ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class);
//查询咨询机构信息
AdvisoryBody advisoryBody = advisoryBodyMapper.selectOne(new LambdaQueryWrapper<AdvisoryBody>().eq(AdvisoryBody::getProjectKey, projectKey));
//填充咨询机构名称
projectDetailVo.setAdvisoryBodyName(advisoryBody.getAdvisoryBodyName());
return projectDetailVo;
}
@Override
public AdvisoryBody queryAdvisoryBodyDetail(Long advisoryBodyId) {
return null;
}
} }
package com.dsk.jsk.service;
import org.springframework.stereotype.Service;
/**
* @ClassName JskCompanyRelationTableV1Service
* @Description 1
* @Author Dgm
* @Date 2023/12/13 10:48
* @Version
*/
@Service
public class JskCompanyRelationTableV1Service {
}
...@@ -43,8 +43,8 @@ public class MonitorController { ...@@ -43,8 +43,8 @@ public class MonitorController {
*@date: 2023/12/9 9:29 *@date: 2023/12/9 9:29
*/ */
@GetMapping(value = "push/rulesSelect") @GetMapping(value = "push/rulesSelect")
public R rulesSelect(PushMonitorCompanyAddVo addVo) { public R rulesSelect(PushMonitorRulesSelectVo selectVo) {
return monitorService.rulesSelect(addVo); return monitorService.rulesSelect(selectVo);
} }
/*** /***
...@@ -83,18 +83,6 @@ public class MonitorController { ...@@ -83,18 +83,6 @@ public class MonitorController {
return monitorService.companyDynamicPage(pageVo); return monitorService.companyDynamicPage(pageVo);
} }
/***
*@Description: 监控动态详情
*@Param:
*@return: com.dsk.common.core.domain.R
*@Author: Dgm
*@date: 2023/12/9 9:29
*/
@PostMapping(value = "company/dynamicDetail")
public R companyDynamicDetail(@RequestBody PushMonitorDynamicDetailVo detailVo) {
return monitorService.companyDynamicDetail(detailVo);
}
/*** /***
*@Description: 监控报告 分页 *@Description: 监控报告 分页
*@Param: *@Param:
...@@ -155,4 +143,16 @@ public class MonitorController { ...@@ -155,4 +143,16 @@ public class MonitorController {
return monitorService.systemImport(file, importAddVo); return monitorService.systemImport(file, importAddVo);
} }
/***
*@Description: 详情
*@Param:
*@return: java.lang.String
*@Author: Dgm
*@date: 2022/6/14 10:45
*/
@RequestMapping("/system/detail")
public R systemDetail(@RequestBody PushMonitorSystemDetailVo detailVo){
return monitorService.systemDetail(detailVo);
}
} }
...@@ -25,7 +25,7 @@ public class PushMonitorRules implements Serializable { ...@@ -25,7 +25,7 @@ public class PushMonitorRules implements Serializable {
/** /**
* 创建人Id * 创建人Id
*/ */
private Long userId = 98L; private Long userId = 7324L;
/** /**
* 风险类型,多个逗号隔开 * 风险类型,多个逗号隔开
......
...@@ -14,7 +14,7 @@ public class ConditionVo { ...@@ -14,7 +14,7 @@ public class ConditionVo {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
/** /**
* 条件查询企业id * 条件查询企业id
*/ */
......
...@@ -18,7 +18,7 @@ public class PushMonitorCompanyAddVo { ...@@ -18,7 +18,7 @@ public class PushMonitorCompanyAddVo {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
/** /**
* 多个企业id数组 * 多个企业id数组
*/ */
......
...@@ -17,7 +17,7 @@ public class PushMonitorCompanyCancelVo { ...@@ -17,7 +17,7 @@ public class PushMonitorCompanyCancelVo {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
/** /**
* 多个企业id数组 * 多个企业id数组
*/ */
......
...@@ -17,7 +17,7 @@ public class PushMonitorCompanyImportAddVo { ...@@ -17,7 +17,7 @@ public class PushMonitorCompanyImportAddVo {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
/** /**
* 多个企业id数组 * 多个企业id数组
*/ */
......
...@@ -20,5 +20,5 @@ public class PushMonitorCompanyPageVo extends BasePage { ...@@ -20,5 +20,5 @@ public class PushMonitorCompanyPageVo extends BasePage {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
} }
...@@ -16,7 +16,7 @@ public class PushMonitorDynamicPageVo extends BasePage { ...@@ -16,7 +16,7 @@ public class PushMonitorDynamicPageVo extends BasePage {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
private ConditionVo condition; private ConditionVo condition;
} }
...@@ -20,5 +20,5 @@ public class PushMonitorReportPageVo extends BasePage { ...@@ -20,5 +20,5 @@ public class PushMonitorReportPageVo extends BasePage {
/** /**
* 用户id * 用户id
*/ */
private Long userId = 98L; private Long userId = 7324L;
} }
...@@ -14,5 +14,5 @@ public class PushMonitorRulesDetailVo { ...@@ -14,5 +14,5 @@ public class PushMonitorRulesDetailVo {
/** /**
* 创建人Id * 创建人Id
*/ */
private Long userId = 98L; private Long userId = 7324L;
} }
package com.dsk.monitor.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @ClassName PushMonitorRulesSelectVo
* @Description 监控 下拉
* @Author Dgm
* @Date 2023/12/9 11:05
* @Version
*/
@Data
public class PushMonitorRulesSelectVo {
/**
* 用户id
*/
private Long userId = 7324L;
/**
* 系统来源
*/
private String sysType = "ZJYJ";
}
package com.dsk.monitor.domain.vo;
import lombok.Data;
/**
* @ClassName PushMonitorSystemDetail
* @Description 详情
* @Author Dgm
* @Date 2023/5/23 14:05
* @Version
*/
public class PushMonitorSystemDetailVo {
/**
* 监控维度名称
*/
private String dimensionName;
/**
* 来源Id
*/
private String sourceId;
/**
* eid
*/
private String eid;
/**
* uid
*/
private String uId;
/**
* md5Id
*/
private String md5Id;
/**
* objId
*/
private String objId;
public String getDimensionName() {
return dimensionName;
}
public void setDimensionName(String dimensionName) {
this.dimensionName = dimensionName;
}
public String getSourceId() {
return sourceId;
}
public void setSourceId(String sourceId) {
this.sourceId = sourceId;
}
public String getEid() {
return eid;
}
public void setEid(String eid) {
this.eid = eid;
}
public String getuId() {
return uId;
}
public void setuId(String uId) {
this.uId = uId;
}
public String getMd5Id() {
return md5Id;
}
public void setMd5Id(String md5Id) {
this.md5Id = md5Id;
}
public String getObjId() {
return objId;
}
public void setObjId(String objId) {
this.objId = objId;
}
public PushMonitorSystemDetailVo() {
}
public PushMonitorSystemDetailVo(String eid, String uId, String md5Id, String objId) {
this.eid = eid;
this.uId = uId;
this.md5Id = md5Id;
this.objId = objId;
}
@Override
public String toString() {
return "PushMonitorSystemDetailVo{" +
"dimensionName='" + dimensionName + '\'' +
", sourceId='" + sourceId + '\'' +
", eid='" + eid + '\'' +
", uId='" + uId + '\'' +
", md5Id='" + md5Id + '\'' +
", objId='" + objId + '\'' +
'}';
}
}
...@@ -30,7 +30,7 @@ public interface MonitorService { ...@@ -30,7 +30,7 @@ public interface MonitorService {
*@Author: Dgm *@Author: Dgm
*@date: 2023/12/9 10:03 *@date: 2023/12/9 10:03
*/ */
R rulesSelect(PushMonitorCompanyAddVo addVo); R rulesSelect(PushMonitorRulesSelectVo addVo);
/*** /***
*@Description: 保存监控规则信息 *@Description: 保存监控规则信息
...@@ -60,15 +60,6 @@ public interface MonitorService { ...@@ -60,15 +60,6 @@ public interface MonitorService {
*/ */
TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception; TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception;
/***
*@Description: 监控动态详情
*@Param: detailVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
R companyDynamicDetail(PushMonitorDynamicDetailVo detailVo);
/*** /***
*@Description: 监控报告 *@Description: 监控报告
*@Param: pageVo 信息 *@Param: pageVo 信息
...@@ -114,4 +105,13 @@ public interface MonitorService { ...@@ -114,4 +105,13 @@ public interface MonitorService {
*@date: 2023/12/9 10:03 *@date: 2023/12/9 10:03
*/ */
R systemImport(MultipartFile file, PushMonitorCompanyImportAddVo importAddVo) throws Exception; R systemImport(MultipartFile file, PushMonitorCompanyImportAddVo importAddVo) throws Exception;
/***
*@Description: 动态详情
*@Param: cancelVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
R systemDetail(PushMonitorSystemDetailVo importAddVo);
} }
...@@ -7,7 +7,6 @@ import com.dsk.common.core.domain.R; ...@@ -7,7 +7,6 @@ import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.redis.RedisUtils; import com.dsk.common.utils.redis.RedisUtils;
import com.dsk.monitor.domain.dto.PushMonitorInfo;
import com.dsk.monitor.domain.dto.PushMonitorRules; import com.dsk.monitor.domain.dto.PushMonitorRules;
import com.dsk.monitor.domain.vo.*; import com.dsk.monitor.domain.vo.*;
import com.dsk.monitor.mapper.PushMonitorInfoMapper; import com.dsk.monitor.mapper.PushMonitorInfoMapper;
...@@ -52,14 +51,17 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -52,14 +51,17 @@ public class MonitorServiceImpl implements MonitorService {
} }
@Override @Override
public R rulesSelect(PushMonitorCompanyAddVo addVo) { public R rulesSelect(PushMonitorRulesSelectVo addVo) {
Long userId = LoginHelper.getUserId();
if (ObjectUtil.isNotEmpty(userId)) {
addVo.setUserId(userId);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/supplier/system/queryDimensionEnum", BeanUtil.beanToMap(addVo, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/supplier/system/queryDimensionEnum", BeanUtil.beanToMap(addVo, false, false));
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
@Override @Override
public R insertRules(PushMonitorRulesVo monitorRulesDto) { public R insertRules(PushMonitorRulesVo monitorRulesDto) {
// todo 20231211 规则是否与使用登录人强关联
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
if (ObjectUtil.isNotEmpty(userId)) { if (ObjectUtil.isNotEmpty(userId)) {
monitorRulesDto.setUserId(userId); monitorRulesDto.setUserId(userId);
...@@ -99,14 +101,6 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -99,14 +101,6 @@ public class MonitorServiceImpl implements MonitorService {
return dskOpenApiUtil.responsePage(map); return dskOpenApiUtil.responsePage(map);
} }
@Override
public R companyDynamicDetail(PushMonitorDynamicDetailVo detailVo) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("source_id", detailVo.getSourceId());
PushMonitorInfo detail = monitorInfoMapper.selectOne(queryWrapper);
return R.ok(detail);
}
@Override @Override
public TableDataInfo reportPage(PushMonitorReportPageVo pageVo) throws Exception { public TableDataInfo reportPage(PushMonitorReportPageVo pageVo) throws Exception {
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
...@@ -219,4 +213,79 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -219,4 +213,79 @@ public class MonitorServiceImpl implements MonitorService {
return BeanUtil.toBean(map, R.class); return BeanUtil.toBean(map, R.class);
} }
@Override
public R systemDetail(PushMonitorSystemDetailVo cancelVo) {
String dimensionName = cancelVo.getDimensionName();
cancelVo = getDetailVo(cancelVo);
Map<String, Object> map = new HashMap<>();
switch (dimensionName) {
case "新增经营异常":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/abnormalDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
case "新增股权冻结":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/judicialFreezesDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
case "新增被执行人":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedPersonsDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
case "新增失信被执行人":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/executedDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
case "新增法院公告":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/noticesDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
case "新增裁判文书":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/lawsuitsDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
case "新增开庭公告":
map = dskOpenApiUtil.requestBody("/operate/enterpriseCredit/kaiTingDetail", BeanUtil.beanToMap(cancelVo, false, false));
break;
default:
break;
}
return BeanUtil.toBean(map, R.class);
}
public PushMonitorSystemDetailVo getDetailVo(PushMonitorSystemDetailVo detailVo) {
String value1 = null;
String value2 = null;
String sourceId = detailVo.getSourceId();
String[] arr = sourceId.split("_");
if (arr.length > 1) {
value1 = (arr[0]);
value2 = (arr[1]);
}
if (arr.length > 0) {
value1 = (arr[0]);
}
String dimensionName = detailVo.getDimensionName();
switch (dimensionName) {
case "新增经营异常":
detailVo = new PushMonitorSystemDetailVo(value1, null, null,value2);
break;
case "新增股权冻结":
detailVo = new PushMonitorSystemDetailVo(value1, value2, null,null);
break;
case "新增被执行人":
detailVo = new PushMonitorSystemDetailVo(value1, null, null,null);
break;
case "新增失信被执行人":
detailVo = new PushMonitorSystemDetailVo(value1, null, null,null);
break;
case "新增法院公告":
detailVo = new PushMonitorSystemDetailVo(value1, null, null,value2);
break;
case "新增裁判文书":
detailVo = new PushMonitorSystemDetailVo(value1, null, null,value2);
break;
case "新增开庭公告":
detailVo = new PushMonitorSystemDetailVo(value1, null, value2,null);
break;
default:
break;
}
return detailVo;
}
} }
...@@ -21,10 +21,8 @@ import org.springframework.stereotype.Service; ...@@ -21,10 +21,8 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* @Author lc * @Author lc
...@@ -66,8 +64,10 @@ public class ExportService { ...@@ -66,8 +64,10 @@ public class ExportService {
composeQueryDto.setExportUniqueCode(fileId.toString()); composeQueryDto.setExportUniqueCode(fileId.toString());
//回调函数 //回调函数
composeQueryDto.setExportBackUrl(EXPORT_BACK_URL); composeQueryDto.setExportBackUrl(EXPORT_BACK_URL);
composeQueryDto.setExportExeclName("资质批量导出.xlsx"); SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMdd");
dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", BeanUtil.beanToMap(composeQueryDto,false,false)); String dayformat = sdf.format(new Date());
composeQueryDto.setExportExeclName("供应商资质批量查询"+dayformat+".xlsx");
dskOpenApiUtil.requestBody("/operate/export/zjyj/aptitude", BeanUtil.beanToMap(composeQueryDto,false,false));
return AjaxResult.success(); return AjaxResult.success();
} }
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyMapper">
<select id="selectLastCooperateTime" resultType="java.util.Date">
select ab.create_time
from advisory_body ab
where ab.advisory_body_id = ${advisoryBodyId};
</select>
<select id="selectPageAdvisoryBodyList" resultType="com.dsk.cscec.domain.vo.AdvisoryBodySearchVo">
select advisory_body_id,
project_key,
advisory_body_name,
legal_person,
legal_person_phone,
reg_address,
project_leader,
project_leader_major,
project_leader_phone,
settle_start_time,
settle_finish_time,
is_final_judge_unit
from advisory_body ${ew.getCustomSqlSegment}
</select>
<select id="queryListByBo" resultType="com.dsk.cscec.domain.vo.AdvisoryBodyVo">
select ab.advisory_body_id,ab.advisory_body_cid,ab.project_key,ab.advisory_body_name,ab.legal_person,
ab.legal_person_phone,ab.reg_address,ab.project_leader,ab.project_leader_major,ab.project_leader_phone,
ab.settle_start_time,ab.settle_finish_time,ab.is_final_judge_unit,
dp.project_name,dp.project_code,dp.province_name,dp.city_name,dp.isinvestproject,dp.project_type1,
dp.project_type,dp.contract_orig_value,dp.owner_name,dp.contract_org_name,dp.load_time
from advisory_body ab
left join d_project dp on dp.project_key = ab.project_key
<where>
<if test="bo.advisoryBodyId != null and bo.advisoryBodyId != ''">
and ab.advisory_body_id = #{bo.advisoryBodyId}
</if>
<if test="bo.advisoryBodyCid != null and bo.advisoryBodyCid != ''">
and ab.advisory_body_cid = #{bo.advisoryBodyCid}
</if>
<if test="bo.advisoryBodyName != null and bo.advisoryBodyName != ''">
and ab.advisory_body_name = #{bo.advisoryBodyName}
</if>
<if test="bo.contractOrgId != null and bo.contractOrgId != ''">
and dp.contract_org_id = #{bo.contractOrgId}
</if>
<if test="bo.contractOrgName != null and bo.contractOrgName != ''">
and dp.contract_org_name = #{bo.contractOrgName}
</if>
<if test="bo.province != null and bo.city == null">
and province_name in
<foreach collection="bo.province" item="province" separator="," open="(" close=")">
#{province}
</foreach>
</if>
<if test="bo.province == null and bo.city != null ">
and city_name in
<foreach collection="bo.city" item="city" separator="," open="(" close=")">
#{city}
</foreach>
</if>
<if test="bo.province != null and bo.city != null ">
and (
province_name in
<foreach collection="bo.province" item="province" separator="," open="(" close=")">
#{province}
</foreach>
or city_name in
<foreach collection="bo.city" item="city" separator="," open="(" close=")">
#{city}
</foreach>
)
</if>
</where>
order by dp.load_time desc
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyProjectMapper">
</mapper>
\ No newline at end of file
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.DProjectMapper"> <mapper namespace="com.dsk.cscec.mapper.DProjectMapper">
<select id="selectPageProjectList" resultType="com.dsk.cscec.domain.vo.ProjectSearchVo"> <select id="selectPageProjectList" resultType="com.dsk.cscec.domain.vo.ProjectSearchVo">
select p.project_key, select p.project_key,
p.project_id, p.project_id,
...@@ -17,7 +16,26 @@ ...@@ -17,7 +16,26 @@
p.contract_orig_value, p.contract_orig_value,
p.owner_name, p.owner_name,
p.contract_org_name, p.contract_org_name,
p.load_time p.contract_sign_date
from d_project p
${ew.getCustomSqlSegment}
</select>
<select id="selectPageCooperateProjectDetailList"
resultType="com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo">
select p.project_key,
p.project_id,
p.project_name,
p.project_code,
p.province_name,
p.city_name,
p.isinvestproject,
p.project_type1,
p.project_type,
p.contract_orig_value,
p.owner_name,
p.contract_org_name,
p.contract_sign_date
from d_project p from d_project p
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
</select> </select>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.SysAdvisoryBodyMapper">
<select id="selectLastCooperateTime" resultType="java.util.Date">
select ab.create_time
from sys_advisory_body ab
where ab.advisory_body_id = ${advisoryBodyId};
</select>
<select id="selectPageAdvisoryBodyList" resultType="com.dsk.cscec.domain.vo.AdvisoryBodySearchVo">
select advisory_body_id,
project_id,
advisory_body_name,
legal_person,
legal_person_phone,
reg_address,
project_leader,
project_leader_major,
project_leader_phone,
settle_star_time,
settle_finish_time,
is_final_judge_unit
from sys_advisory_body ${ew.getCustomSqlSegment}
</select>
</mapper>
\ No newline at end of file
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
.el-input__icon { .el-input__icon {
line-height: 32px; line-height: 32px;
color: #C0C4CC;
} }
} }
...@@ -87,5 +88,11 @@ ...@@ -87,5 +88,11 @@
text-align: left; text-align: left;
} }
} }
// 三级联动
.el-cascader {
line-height: 32px;
}
} }
} }
...@@ -611,7 +611,7 @@ export function queryConditionFiltering(params) { ...@@ -611,7 +611,7 @@ export function queryConditionFiltering(params) {
result[key] = queryConditionFiltering(_temp[key]); result[key] = queryConditionFiltering(_temp[key]);
continue; continue;
} }
// 过滤无效值 0为有效数据 // 过滤无效值 0为有效数据 object在此处作为无效值
if (typeof _temp[key] != "object" && (_temp[key] || _temp[key] == "0")) { if (typeof _temp[key] != "object" && (_temp[key] || _temp[key] == "0")) {
result[key] = _temp[key]; result[key] = _temp[key];
continue; continue;
...@@ -624,6 +624,98 @@ export function queryConditionFiltering(params) { ...@@ -624,6 +624,98 @@ export function queryConditionFiltering(params) {
} }
} }
/**
* 三级联动选择 过滤省市区 兼容父子互不关联情况
* @param {Array<object>} selectList
* @returns
*/
export function getTreeSelectAreaList(node, tree) {
try {
if (Object.prototype.toString.call(node) != "[object Object]") throw new Error("传入参数不是一个对象");
const _result = [];
const _tempTree = JSON.parse(JSON.stringify(tree));
// 多树形结构
if (Object.prototype.toString.call(_tempTree) == "[object Array]") {
if (_tempTree.length) {
for (const iterator of _tempTree) {
const nodeAncestors = findNodeAndAncestors(iterator, node.value, "value");
// 查找到
if (nodeAncestors) {
console.log(nodeAncestors);
}
}
}
}
// 单树形结构
} catch (error) {
console.log(error);
}
}
/**
* 根据节点信息 找到当前节点到祖先辈组成的树形结构
* @param {*} tree
* @param {*} targetId
* @returns
*/
export function findNodeAndAncestors(tree, targetId, idKey = "id", directAncestorsOnly = true) {
if (tree[idKey] === targetId) {
// 找到目标节点,directAncestorsOnly 只找直系节点的情况下 如果是根节点(没有parent父级),返回节点本身不带子节点,否则返回节点的树形结构
return directAncestorsOnly && !tree.parent ? { ...tree, children: [] } : tree;
}
if (tree?.children?.length) {
for (const child of tree.children) {
const result = findNodeAndAncestors(child, targetId, idKey, directAncestorsOnly);
if (result) {
// 如果找到目标节点,将该节点加入祖先辈的树形结构中
if (directAncestorsOnly) {
return {
...tree,
children: [result]
};
} else {
return {
...tree,
children: tree?.children?.map(c => (c[idKey] === result[idKey] ? result : c))
};
}
}
}
}
// 如果未找到目标节点,返回null
return null;
}
/**
* 根据节点唯一标识查找节点信息
* @param {*} tree
* @param {*} targetId
* @param {*} idKes
*/
export function findNodeFromTree(tree, targetId, idKes = "id") {
if (tree[idKes] == targetId) {
return tree;
}
if (tree?.children?.length) {
for (const child of tree.children) {
// 递归到孙子集查找
const result = findNodeFromTree(child, targetId);
if (result) {
// 如果找到目标节点,返回目标节点
return result;
}
}
}
return null;
}
// 甲方详情左侧菜单映射 // 甲方详情左侧菜单映射
export const detailSideBar = new Map([ export const detailSideBar = new Map([
// 企业速览 // 企业速览
......
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
<el-form :model="form" ref="form" :rules="rules" label-width="84px" class="el-search-form-public"> <el-form :model="form" ref="form" :rules="rules" label-width="84px" class="el-search-form-public">
<div class="each-line"> <div class="each-line">
<el-form-item label="项目地区"> <el-form-item label="项目地区">
<el-input v-model="form.provinceName" placeholder="请输入咨询机构名称" clearable></el-input> <el-cascader ref="areaTree" v-model="form.provinceName" @change="handleChange" :options="areaDataList" placeholder="请选择" clearable
:props="cascaderOptions"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="项目承接类型"> <el-form-item label="项目承接类型">
<el-select v-model="form.isinvestproject" placeholder="请选择" clearable> <el-select v-model="form.isinvestproject" placeholder="请选择" clearable>
...@@ -68,7 +69,7 @@ ...@@ -68,7 +69,7 @@
import TableListCom from "@/components/TableListCom"; import TableListCom from "@/components/TableListCom";
import Skeleton from "@/components/Skeleton"; import Skeleton from "@/components/Skeleton";
import { getConsultingOrgEenterpriseDetailWithSearchApi } from "@/api/consultingOrgManagement"; import { getConsultingOrgEenterpriseDetailWithSearchApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils"; import { queryConditionFiltering, getTreeSelectAreaList } from "@/utils";
import { v4 } from 'uuid'; import { v4 } from 'uuid';
export default { export default {
name: "detailsOfCooperation", name: "detailsOfCooperation",
...@@ -136,7 +137,14 @@ export default { ...@@ -136,7 +137,14 @@ export default {
value: "2", value: "2",
label: "测试2" label: "测试2"
} }
] ],
// 三级联动配置项
cascaderOptions: {
label: "value",
value: "value",
multiple: true,
checkStrictly: true
}
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -148,7 +156,9 @@ export default { ...@@ -148,7 +156,9 @@ export default {
}, },
//计算集 //计算集
computed: { computed: {
areaDataList() {
return JSON.parse(JSON.stringify(this.$store.state.user.areaArrayList));
}
}, },
//方法集 //方法集
methods: { methods: {
...@@ -246,6 +256,15 @@ export default { ...@@ -246,6 +256,15 @@ export default {
const flag = target.scrollLeft > 0 ? true : false; const flag = target.scrollLeft > 0 ? true : false;
this.formColum.forEach(item => this.fixedPropsKey.includes(item.prop) ? item.fixed = flag : null); this.formColum.forEach(item => this.fixedPropsKey.includes(item.prop) ? item.fixed = flag : null);
} }
},
handleChange(params) {
const selectNode = this.$refs?.areaTree?.getCheckedNodes();
if (selectNode?.length) {
const result = selectNode.map(item => {
return getTreeSelectAreaList(item, this.areaDataList);
});
console.log(result);
}
} }
}, },
} }
......
...@@ -411,9 +411,6 @@ export default { ...@@ -411,9 +411,6 @@ export default {
.details-of-party { .details-of-party {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute;
top: 0;
left: 0;
margin: 0px; margin: 0px;
padding: 16px 24px; padding: 16px 24px;
box-sizing: border-box; box-sizing: border-box;
...@@ -425,18 +422,29 @@ export default { ...@@ -425,18 +422,29 @@ export default {
} }
::v-deep .part-main { ::v-deep .part-main {
height: calc(100% - 56px - 12px); height: calc(100% - 68px);
overflow-y: hidden;
overflow-x: hidden;
.part-right { .part-right {
margin-left: 160px; margin-left: 160px;
width: calc(100% - 160px); width: calc(100% - 160px);
overflow: auto; overflow: hidden;
}
}
.part-common-container-style { .part-common-container-style {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto;
.app-container {
position: relative;
width: auto;
height: auto;
overflow: initial;
box-sizing: border-box;
}
}
}
} }
} }
</style> </style>
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