Commit a921cd8d authored by danfuman's avatar danfuman

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 486eea5f 90f13903
...@@ -187,6 +187,7 @@ tenant: ...@@ -187,6 +187,7 @@ tenant:
- d_customer_qualification_certificate - d_customer_qualification_certificate
- d_customer_safety_certificate - d_customer_safety_certificate
- d_customer_tax_certificate - d_customer_tax_certificate
- d_everydaydispose
- f_supplier_limited - f_supplier_limited
- f_ads_bsi_kpi_proj_two - f_ads_bsi_kpi_proj_two
- cb_summary - cb_summary
......
...@@ -9,10 +9,7 @@ import com.dsk.cscec.domain.AdvisoryBodyCustomFormData; ...@@ -9,10 +9,7 @@ import com.dsk.cscec.domain.AdvisoryBodyCustomFormData;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate; import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate;
import com.dsk.cscec.domain.bo.*; import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.*; import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.service.AdvisoryBodyCustomFormDataService; import com.dsk.cscec.service.*;
import com.dsk.cscec.service.AdvisoryBodyCustomFormTemplateService;
import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.cscec.service.IDProjectService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -37,13 +34,16 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -37,13 +34,16 @@ public class AdvisoryBodyManageController extends BaseController {
private AdvisoryBodyCustomFormDataService customFormDataService; private AdvisoryBodyCustomFormDataService customFormDataService;
@Resource @Resource
private AdvisoryBodyCustomFormTemplateService templateService; private AdvisoryBodyCustomFormTemplateService templateService;
@Resource
private DContractService contractService;
/** /**
* 获取项目列表 * 获取项目列表
*/ */
@GetMapping("/getProjectList") @GetMapping("/getProjectList")
public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) { public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
return projectService.queryProjectList(projectSearchBo, pageQuery); //return projectService.queryProjectList(projectSearchBo, pageQuery);
return contractService.queryProjectList(projectSearchBo, pageQuery);
} }
/** /**
......
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.DContractService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 合同维表(DContract)表控制层
*
* @author sxk
* @since 2024-06-21 13:38:28
*/
@RestController
@RequestMapping("dContract")
public class DContractController extends BaseController {
/**
* 服务对象
*/
@Resource
private DContractService baseService;
}
...@@ -65,4 +65,32 @@ public class AdvisoryBodyProject extends BaseEntity implements Serializable { ...@@ -65,4 +65,32 @@ public class AdvisoryBodyProject extends BaseEntity implements Serializable {
* 是否为终审单位(0代表是 1代表否) * 是否为终审单位(0代表是 1代表否)
*/ */
private String isFinalJudgeUnit; private String isFinalJudgeUnit;
/**
* 业主名称
*/
private String ownerName;
/**
* 项目经理及联系方式
*/
private String projectManagerAndPhone;
/**
* 商务经理及联系方式
*/
private String businessManagerAndPhone;
/**
* 招标代理单位
*/
private String bidAgencyUnit;
/**
* 一审单位
*/
private String firstAuditUnit;
/**
* 二审单位
*/
private String secondAuditUnit;
/**
* 三审单位
*/
private String thirdAuditUnit;
} }
package com.dsk.cscec.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.io.Serializable;
/**
* 合同维表(DContract)实体类
*
* @author sxk
* @since 2024-06-21 13:38:29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DContract implements Serializable {
private static final long serialVersionUID = 374272443452482335L;
/**
* 合同主键
*/
private Long contractKey;
/**
* 合同编号
*/
private String contractCode;
/**
* 一体化合同编号
*/
private String finContractCode;
/**
* 合同名称
*/
private String contractName;
/**
* 提交状态
*/
private String submitState;
/**
* 是否生效
*/
private String isenablecontract;
/**
* 合同归属月份
*/
private String monthCode;
/**
* 合同签订日期
*/
private Date contractSignDate;
/**
* 合同盖章日期
*/
private Date contractStampDate;
/**
* 合同总金额(含补充协议)
*/
private Double contractTtlMoney;
/**
* 合同自施额(含补充协议)
*/
private Double contractSelfMoney;
/**
* 合同金额(不含补充协议)
*/
private Double contractOrigMoney;
/**
* 合同自施额(不含补充协议)
*/
private Double contractOrigSelfmoney;
/**
* 合同金额(补充协议)
*/
private Double contractModifyMoney;
/**
* 合同自施额(补充协议)
*/
private Double contractModifySelfmoney;
/**
* 合同规模等级排名
*/
private Long contractScale;
/**
* 合同规模等级名称
*/
private String contractScaleName;
/**
* 自施合同规模等级排名
*/
private Long selfContractScale;
/**
* 自施合同规模等级名称
*/
private String selfContractScaleName;
/**
* 合同类型
*/
private String contractType;
/**
* 合同分类
*/
private String contractClass;
/**
* 合同文本类型
*/
private String contractTextType;
/**
* 项目承接类型
*/
private String contractMoneychange;
/**
* 核算项目名称
*/
private String projectName;
/**
* 中标交底项目名称
*/
private String bidName;
/**
* 工程承包单位名称
*/
private String contractunitName;
/**
* 工程承包单位属性
*/
private String contractunitAttribute;
/**
* 工程施工单位名称
*/
private String jobunitName;
/**
* 工程施工单位属性
*/
private String jobunitAttribute;
/**
* 发包单位名称
*/
private String ownerName;
/**
* 发包单位性质
*/
private String ownerNature;
/**
* 发包单位2名称
*/
private String ownerName2;
/**
* 发包单位2性质
*/
private String onwerNature2;
/**
* 是否中建一局内部交易
*/
private String isinternalofcscec1b;
/**
* 是否中建集团内部交易
*/
private String isinternalofcscec;
/**
* 外部联合签约主体
*/
private String unionContractUnit;
/**
* 工程类别大类
*/
private String projectMaintype;
/**
* 工程类别
*/
private String projectType2;
/**
* 国家
*/
private String country;
/**
* 省份
*/
private String province;
/**
* 省份简称
*/
private String provinceAbbrName;
/**
* 市区
*/
private String district;
/**
* 建筑面积
*/
private Double constructArea;
/**
* 合同开工日期
*/
private Date contractStartDate;
/**
* 合同竣工日期
*/
private Date contractEndDate;
/**
* 项目工期
*/
private Double projectDays;
/**
* 项目工期2(竣工日期-开工日期)
*/
private Double projectDays2;
/**
* 合同价款类型
*/
private String contractMoneyType;
/**
* 计价依据
*/
private String contractValuationMode;
/**
* 主材价格是否可以调整
*/
private String ismaterialpricemodify;
/**
* 计价币种
*/
private String currencyType;
/**
* 施工完成量审核周期天
*/
private Double approveDays;
/**
* 竣工结算审核期限
*/
private String endpayCheck;
/**
* 竣工结算是否第三方审计
*/
private String isthirdpartyaudit;
/**
* 预付款支付比例100
*/
private Double prepayRate;
/**
* 竣工时累计支付比例
*/
private Double endpayRate;
/**
* 结算后累计支付比例
*/
private Double lastpayRate;
/**
* 是否存在非现金支付
*/
private String isnocashpay;
/**
* 非现金支付形式
*/
private String nocashPayMethod;
/**
* 非现金支付比例100
*/
private Double nocashPayRate;
/**
* 工程进度款支付方式
*/
private String steppayTypeNew;
/**
* 工程进度款按月支付比例
*/
private Double steppayScaleNew;
/**
* 混合支付节点比例
*/
private Double steppayGrouppayScale;
/**
* 节点支付时间间隔天
*/
private Double steppayPayInterval;
/**
* 资金来源
*/
private String moneySource;
/**
* 是否有预付款
*/
private String isincludeprepay;
/**
* 预付款金额
*/
private Double prepayMoney;
/**
* 工程预付款支付比例
*/
private Double projPrepayScale;
/**
* 工程进度款审核期限
*/
private String steppayCheckDays;
/**
* 工程进度款支付期限
*/
private String steppayPayDays;
/**
* 保修金预留方式
*/
private String repairCostType;
/**
* 保修金预留比例
*/
private Double repairCostRate;
/**
* 保修金全部返还时间年
*/
private Double warrantyReturnYear;
/**
* 工期拖期违约金比例
*/
private String projBrokencontractRange;
/**
* 工期拖期违约金比例10000
*/
private String projBrokencontractRate;
/**
* 工期拖期违约金有无上限
*/
private String ishaveupper;
/**
* 上限比例范围
*/
private String upperValue;
/**
* 上限比例100
*/
private String upperValueRate;
/**
* 预付款担保形式
*/
private String prepaySuretyType;
/**
* 预付款担保额度
*/
private String prepaySuretyMargin;
/**
* 履约担保形式
*/
private String suretyType;
/**
* 履约担保额度
*/
private Double suretyMargins;
/**
* 是否分别签订执行和备案合同
*/
private String iscontractdb;
/**
* 评审级别
*/
private String auditLevel;
/**
* 合同签订方式分类
*/
private String contractSignType;
/**
* 是否需要向集团借款
*/
private String isneedbphelp;
/**
* 高峰借款金额元
*/
private Double helpMoney;
/**
* 红线预收益率
*/
private String isyieldratered;
/**
* 红线履约保证金
*/
private String isperfsuretytype;
/**
* 红线进度款
*/
private String ismonthpay;
/**
* 是否承诺放弃受偿 红线优先受偿权
*/
private String isgiveuppay1;
/**
* 施工完成量业主/监理审核周期是否大于一个月
*/
private String isapproveover1month;
/**
* 橙线竣工后支付85
*/
private String isendpayper;
/**
* 橙线无条件退场
*/
private String isnopayquit;
/**
* 橙线工期延误处罚
*/
private String isoverduepunish;
/**
* 橙线发包人是否出现两个
*/
private String istwoowner;
/**
* 是否有处罚上限
*/
private String ishavepunishupper;
/**
* 橙线项目未取得规划许可证
*/
private String otherProjTimeDefer;
/**
* 是否事实放弃受偿权 橙线优先受偿权
*/
private String isgiveuppay2;
/**
* 是否红线合同
*/
private String isredcontract;
/**
* 是否橙线合同
*/
private String isyellowcontract;
/**
* 含税合同金额外币
*/
private Double contractForigMoney;
/**
* 自施含税合同金额外币
*/
private Double contractForigSelfmoney;
/**
* 合同税额人民币元
*/
private Double contractOrigTax;
/**
* 合同税额外币
*/
private Double contractForigTax;
/**
* 自施合同税额人民币元
*/
private Double contractOrigSelftax;
/**
* 合同自施税额外币
*/
private Double contractForigSelftax;
/**
* 合同单据状态
*/
private String flowState;
/**
* 一体化合同状态
*/
private String finContractState;
/**
* 一体化单据状态
*/
private String finInvoiceState;
/**
* 一体化合同名称
*/
private String finContractName;
/**
* 一体化中合同签订日期
*/
private Date finContractSignDate;
/**
* 一体化合同金额
*/
private Double finContractValue;
/**
* 核算项目主键
*/
private Long projectKey;
/**
* 中标交底主键
*/
private Long bidKey;
/**
* 业主主键
*/
private Long ownerKey;
/**
* 工程类型主键
*/
private Long projectTypeKey;
/**
* 资金来源主键
*/
private Long moneySourceKey;
/**
* 合同id
*/
private String contractId;
/**
* 主合同id
*/
private String mainContractId;
/**
* 核算项目id
*/
private String projectId;
/**
* 中标交底id
*/
private String bidId;
/**
* 业主id
*/
private String ownerId;
/**
* 承包单位id
*/
private String contractunitId;
/**
* 施工单位id
*/
private String jobunitId;
/**
* 合同版本
*/
private Double contractVersion;
/**
* 数据加载时间
*/
private Date loadTime;
}
package com.dsk.cscec.domain.vo; package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -19,75 +16,91 @@ import java.util.Date; ...@@ -19,75 +16,91 @@ import java.util.Date;
@AllArgsConstructor @AllArgsConstructor
public class ProjectSearchVo { public class ProjectSearchVo {
/** /**
* 项目主键 * 合同主键
*/ */
private Long projectKey; private String contractKey;
///**
/** // * 项目主键
* 项目ID // */
*/ //private Long projectKey;
private String projectId; ///**
// * 项目ID
// */
//private String projectId;
/** /**
* 项目名称 * 项目名称
*/ */
private String projectName; private String projectName;
///**
/** // * 项目编码
* 项目编码 // */
*/ //private String projectCode;
private String projectCode; ///**
// * 省市
/** // */
* 省市 //private String provinceName;
*/ ///**
private String provinceName; // * 项目承接类型
// */
//private String isinvestproject;
///**
// * 工程基础大类
// */
//private String projectType1;
///**
// * 工程类别明细
// */
//private String projectType2;
///**
// * 项目与咨询机构关系
// */
//private AdvisoryBodyProject advisoryBodyProject;
///**
// * 合同金额
// */
//private BigDecimal contractOrigValue;
///**
// * 业主单位Cid
// */
//private Long ownerUnitCid;
/** /**
* 项目承接类型 * 业主单位
*/
private String isinvestproject;
/**
* 工程基础大类
*/
private String projectType1;
/**
* 工程类别明细
*/ */
private String projectType2; private String ownerName;
///**
// * 项目承接单位
// */
//private String contractOrgName;
///**
// * 咨询机构(咨询机构表)
// */
//private AdvisoryBody advisoryBody;
/** /**
* 项目与咨询机构关系 * 创建时间(合同生效日期)
*/ */
private AdvisoryBodyProject advisoryBodyProject; private Date contractSignDate;
/** /**
* 合同金额 * 项目经理及联系方式
*/ */
private BigDecimal contractOrigValue; private String projectManagerAndPhone;
/** /**
* 业主单位Cid * 商务经理及联系方式
*/ */
private Long ownerUnitCid; private String businessManagerAndPhone;
/** /**
* 业主单位 * 招标代理单位
*/ */
private String ownerName; private String bidAgencyUnit;
/** /**
* 项目承接单位 * 一审单位
*/ */
private String contractOrgName; private String firstAuditUnit;
/** /**
* 咨询机构(咨询机构表) * 二审单位
*/ */
private AdvisoryBody advisoryBody; private String secondAuditUnit;
/** /**
* 创建时间(合同生效日期) * 三审单位
*/ */
private Date contractSignDate; private String thirdAuditUnit;
} }
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.DContract;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
import org.apache.ibatis.annotations.Param;
/**
* 合同维表(DContract)表数据库访问层
*
* @author makejava
* @since 2024-06-21 13:38:28
*/
public interface DContractMapper extends BaseMapper<DContract> {
/**
* 获取所有项目列表数据
*/
Page<ProjectSearchVo> selectPageProjectList(IPage<ProjectSearchVo> page, @Param("bo") ProjectSearchBo bo);
}
package com.dsk.cscec.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/**
* @author flx
* @date 2024/06/21
*/
@Mapper
public interface DEverydaydisposeMapper {
Map<String, Object> getLevelByName(@Param("name") String name);
}
...@@ -32,4 +32,9 @@ public interface DProjectMapper extends BaseMapper<DProject> { ...@@ -32,4 +32,9 @@ public interface DProjectMapper extends BaseMapper<DProject> {
* 获取合作项目明细 * 获取合作项目明细
*/ */
Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper); Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper);
/**
* 获取业主单位列表
*/
List<String> getOwnerNameList(@Param("contractOrgId") String contractOrgId);
} }
\ No newline at end of file
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DContract;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
/**
* 合同维表(DContract)表服务接口
*
* @author makejava
* @since 2024-06-21 13:38:29
*/
public interface DContractService extends IService<DContract> {
/**
* 获取所有项目列表数据
*
* @param projectSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery);
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DContract;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormDataMapper;
import com.dsk.cscec.mapper.DContractMapper;
import com.dsk.cscec.service.DContractService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 合同维表(DContract)表服务实现类
*
* @author sxk
* @since 2024-06-21 13:38:29
*/
@Service("dContractService")
public class DContractServiceImpl extends ServiceImpl<DContractMapper, DContract> implements DContractService {
@Resource
private DContractMapper baseMapper;
@Resource
private AdvisoryBodyCustomFormDataMapper formDataMapper;
/**
* 获取所有项目列表数据
*
* @param projectSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
@Override
public TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), projectSearchBo);
return TableDataInfo.build(page);
}
}
...@@ -19,6 +19,7 @@ import com.dsk.cscec.domain.bo.DCustomerDynamicRiskTypeVo; ...@@ -19,6 +19,7 @@ import com.dsk.cscec.domain.bo.DCustomerDynamicRiskTypeVo;
import com.dsk.cscec.domain.bo.DCustomerSearchBo; import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.DCustomerListVo; import com.dsk.cscec.domain.vo.DCustomerListVo;
import com.dsk.cscec.mapper.DCustomerMapper; import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DEverydaydisposeMapper;
import com.dsk.cscec.mapper.DSubcontractMapper; import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.IDCustomerService; import com.dsk.cscec.service.IDCustomerService;
import com.dsk.monitor.domain.vo.PushMonitorCompanyAddVo; import com.dsk.monitor.domain.vo.PushMonitorCompanyAddVo;
...@@ -49,6 +50,8 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer ...@@ -49,6 +50,8 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
private DSubcontractMapper subcontractMapper; private DSubcontractMapper subcontractMapper;
@Autowired @Autowired
private BusinessOpportunityRadarService opportunityRadarService; private BusinessOpportunityRadarService opportunityRadarService;
@Resource
private DEverydaydisposeMapper dEverydaydisposeMapper;
@Resource @Resource
...@@ -61,6 +64,11 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer ...@@ -61,6 +64,11 @@ public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer
Page<DCustomerListVo> page = baseMapper.allSearchList(query.build(), bo); Page<DCustomerListVo> page = baseMapper.allSearchList(query.build(), bo);
if (CollectionUtils.isNotEmpty(page.getRecords())) { if (CollectionUtils.isNotEmpty(page.getRecords())) {
page.getRecords().parallelStream().forEach(item -> { page.getRecords().parallelStream().forEach(item -> {
//根据customerName查询出creditLevel 设置进来 表d_everydaydispose fsuppliername --》fcreditlevel
Map<String, Object> levelMap = dEverydaydisposeMapper.getLevelByName(item.getCustomerName());
if(MapUtil.isNotEmpty(levelMap)){
item.setCreditLevel(MapUtil.getStr(levelMap,"fcreditlevel"));
}
DCustomerListVo vo = subcontractMapper.selectStatisticByCustomerId(item.getCustomerId()); DCustomerListVo vo = subcontractMapper.selectStatisticByCustomerId(item.getCustomerId());
//企业合作数量 //企业合作数量
item.setEnterpriseCooperationCount(vo.getEnterpriseCooperationCount()); item.setEnterpriseCooperationCount(vo.getEnterpriseCooperationCount());
......
...@@ -14,7 +14,6 @@ import com.dsk.common.core.domain.PageQuery; ...@@ -14,7 +14,6 @@ import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.constant.AdvisoryBodyManageQueryConstants;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject; import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.CbProjectRecord; import com.dsk.cscec.domain.CbProjectRecord;
...@@ -39,7 +38,10 @@ import org.apache.commons.collections4.MapUtils; ...@@ -39,7 +38,10 @@ import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -71,90 +73,91 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -71,90 +73,91 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
*/ */
@Override @Override
public TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) { public TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
String advisoryBodyName = projectSearchBo.getAdvisoryBodyName(); //String advisoryBodyName = projectSearchBo.getAdvisoryBodyName();
List<Long> projectKeys = null; //List<Long> projectKeys = null;
if (StringUtils.isNotBlank(advisoryBodyName)) { //if (StringUtils.isNotBlank(advisoryBodyName)) {
//根据咨询机构名称查询咨询机构Cids // //根据咨询机构名称查询咨询机构Cids
List<Long> advisoryBodyCids = advisoryBodyMapper.selectAdvisoryBodyCidsByName(advisoryBodyName); // List<Long> advisoryBodyCids = advisoryBodyMapper.selectAdvisoryBodyCidsByName(advisoryBodyName);
if (advisoryBodyCids.isEmpty()) { // if (advisoryBodyCids.isEmpty()) {
return TableDataInfo.build(); // return TableDataInfo.build();
} // }
//根据咨询机构Cids查询项目Keys // //根据咨询机构Cids查询项目Keys
List<Long> projectKeys1 = advisoryBodyProjectMapper.selectProjectKeysByAdvisoryBodyCids(advisoryBodyCids); // List<Long> projectKeys1 = advisoryBodyProjectMapper.selectProjectKeysByAdvisoryBodyCids(advisoryBodyCids);
if (projectKeys1.isEmpty()) { // if (projectKeys1.isEmpty()) {
return TableDataInfo.build(); // return TableDataInfo.build();
} // }
projectKeys = projectKeys1; // projectKeys = projectKeys1;
}
QueryWrapper<DProject> wrapper = Wrappers.query();
//咨询机构的项目数据取中建一局集团第二建筑有限公司和他的下级组织
wrapper
//承包单位ID
.eq("p.contract_org_id", AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID)
//承包单位主键(字段叫主键,但并不是主键)
.eq("p.contract_org_name", AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_NAME)
//项目名称
.like(StringUtils.isNotBlank(projectSearchBo.getProjectName()), "p.project_name", projectSearchBo.getProjectName())
//根据咨询机构名称查出来对应的项目ID
.in(ObjectUtil.isNotNull(projectKeys) && !projectKeys.isEmpty(), "p.project_key", projectKeys)
//业主单位
.like(StringUtils.isNotBlank(projectSearchBo.getOwnerUnit()), "p.owner_name", projectSearchBo.getOwnerUnit())
//项目创建时间(字段去的合同签约日期)
.between(ObjectUtil.isNotNull(projectSearchBo.getProjectStartTime()) && ObjectUtil.isNotNull(projectSearchBo.getProjectEndTime()),
"p.contract_sign_date",
projectSearchBo.getProjectStartTime(),
projectSearchBo.getProjectEndTime())
//项目承接类型下拉选项
.eq(StringUtils.isNotBlank(projectSearchBo.getProjectUndertakeType()), "p.isinvestproject", projectSearchBo.getProjectUndertakeType())
//工程基础大类下拉选项
.eq(StringUtils.isNotBlank(projectSearchBo.getEngineeringFoundationCategory()), "p.project_type1", projectSearchBo.getEngineeringFoundationCategory())
//工程类别明细
.eq(StringUtils.isNotBlank(projectSearchBo.getEngineeringCategoryDetail()), "p.project_type", projectSearchBo.getEngineeringCategoryDetail())
//合同金额
.between(ObjectUtil.isNotNull(projectSearchBo.getMinContractAmount()) && ObjectUtil.isNotNull(projectSearchBo.getMaxContractAmount()),
"p.contract_orig_value",
projectSearchBo.getMinContractAmount(),
projectSearchBo.getMaxContractAmount())
.orderByDesc("p.contract_sign_date");
Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), wrapper);
for (ProjectSearchVo projectSearchVo : page.getRecords()) {
//补充咨询机构信息
projectSearchVo.setAdvisoryBody(this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey()));
//补充项目与咨询机构关联信息
projectSearchVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectSearchVo.getProjectKey()));
//关键字标红
if (StringUtils.isNotBlank(projectSearchBo.getProjectName())) {
projectSearchVo.setProjectName(StringUtils.markInRed(projectSearchVo.getProjectName(), projectSearchBo.getProjectName()));
}
//if (StringUtils.isNotBlank(projectSearchBo.getOwnerUnit())) {
// projectSearchVo.setOwnerName(StringUtils.markInRed(projectSearchVo.getOwnerName(), projectSearchBo.getOwnerUnit()));
//} //}
//if (StringUtils.isNotBlank(projectSearchBo.getAdvisoryBodyName())) { //
// projectSearchVo.getAdvisoryBody().setAdvisoryBodyName(StringUtils.markInRed(projectSearchVo.getAdvisoryBody().getAdvisoryBodyName(), projectSearchBo.getAdvisoryBodyName())); //QueryWrapper<DProject> wrapper = Wrappers.query();
////咨询机构的项目数据取中建一局集团第二建筑有限公司和他的下级组织
//wrapper
// //承包单位ID
// .eq("p.contract_org_id", AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID)
// //承包单位主键(字段叫主键,但并不是主键)
// .eq("p.contract_org_name", AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_NAME)
// //项目名称
// .like(StringUtils.isNotBlank(projectSearchBo.getProjectName()), "p.project_name", projectSearchBo.getProjectName())
// //根据咨询机构名称查出来对应的项目ID
// .in(ObjectUtil.isNotNull(projectKeys) && !projectKeys.isEmpty(), "p.project_key", projectKeys)
// //业主单位
// .like(StringUtils.isNotBlank(projectSearchBo.getOwnerUnit()), "p.owner_name", projectSearchBo.getOwnerUnit())
// //项目创建时间(字段去的合同签约日期)
// .between(ObjectUtil.isNotNull(projectSearchBo.getProjectStartTime()) && ObjectUtil.isNotNull(projectSearchBo.getProjectEndTime()),
// "p.contract_sign_date",
// projectSearchBo.getProjectStartTime(),
// projectSearchBo.getProjectEndTime())
// //项目承接类型下拉选项
// .eq(StringUtils.isNotBlank(projectSearchBo.getProjectUndertakeType()), "p.isinvestproject", projectSearchBo.getProjectUndertakeType())
// //工程基础大类下拉选项
// .eq(StringUtils.isNotBlank(projectSearchBo.getEngineeringFoundationCategory()), "p.project_type1", projectSearchBo.getEngineeringFoundationCategory())
// //工程类别明细
// .eq(StringUtils.isNotBlank(projectSearchBo.getEngineeringCategoryDetail()), "p.project_type", projectSearchBo.getEngineeringCategoryDetail())
// //合同金额
// .between(ObjectUtil.isNotNull(projectSearchBo.getMinContractAmount()) && ObjectUtil.isNotNull(projectSearchBo.getMaxContractAmount()),
// "p.contract_orig_value",
// projectSearchBo.getMinContractAmount(),
// projectSearchBo.getMaxContractAmount())
// .orderByDesc("p.contract_sign_date");
//Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), wrapper);
//
//for (ProjectSearchVo projectSearchVo : page.getRecords()) {
// //补充咨询机构信息
// projectSearchVo.setAdvisoryBody(this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey()));
//
// //补充项目与咨询机构关联信息
// projectSearchVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectSearchVo.getProjectKey()));
//
// //关键字标红
// if (StringUtils.isNotBlank(projectSearchBo.getProjectName())) {
// projectSearchVo.setProjectName(StringUtils.markInRed(projectSearchVo.getProjectName(), projectSearchBo.getProjectName()));
// }
// //if (StringUtils.isNotBlank(projectSearchBo.getOwnerUnit())) {
// // projectSearchVo.setOwnerName(StringUtils.markInRed(projectSearchVo.getOwnerName(), projectSearchBo.getOwnerUnit()));
// //}
// //if (StringUtils.isNotBlank(projectSearchBo.getAdvisoryBodyName())) {
// // projectSearchVo.getAdvisoryBody().setAdvisoryBodyName(StringUtils.markInRed(projectSearchVo.getAdvisoryBody().getAdvisoryBodyName(), projectSearchBo.getAdvisoryBodyName()));
// //}
//
// //查询业主单位Cid
// String ownerName = projectSearchVo.getOwnerName();
// Map<String, Object> params = new HashMap<>();
// params.put("keyword", ownerName);
// Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
// //防止没有数据而导致强转错误,所以先判断下total
// if (MapUtils.getInteger(jskData, "total", 0) > 0) {
// List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
// for (Map<String, Object> companyData : data) {
// //企业名称完全匹配上,则直接返回给前端
// if (ownerName.equals(StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist")))) {
// //jskEid就是cid
// projectSearchVo.setOwnerUnitCid(MapUtils.getLong(companyData, "jskEid"));
// }
// }
// }
//} //}
//return TableDataInfo.build(page);
//查询业主单位Cid return TableDataInfo.build();
String ownerName = projectSearchVo.getOwnerName();
Map<String, Object> params = new HashMap<>();
params.put("keyword", ownerName);
Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
//防止没有数据而导致强转错误,所以先判断下total
if (MapUtils.getInteger(jskData, "total", 0) > 0) {
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端
if (ownerName.equals(StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist")))) {
//jskEid就是cid
projectSearchVo.setOwnerUnitCid(MapUtils.getLong(companyData, "jskEid"));
}
}
}
}
return TableDataInfo.build(page);
} }
/** /**
......
...@@ -167,15 +167,15 @@ public class MonitorUserController { ...@@ -167,15 +167,15 @@ public class MonitorUserController {
public R systemDetail(@RequestBody PushMonitorSystemDetailVo detailVo){ public R systemDetail(@RequestBody PushMonitorSystemDetailVo detailVo){
return monitorService.systemDetail(detailVo); return monitorService.systemDetail(detailVo);
} }
//
// /** /**
// * 监控列表添加默认业主单位 * 监控列表添加默认业主单位
// * @Author: lc * @Author: lc
// * @return * @return
// */ */
// @PostMapping(value = "/add/default") @PostMapping(value = "/add/default")
// public R addDefaultCompany() { public R addDefaultCompany() {
// return monitorService.addDefaultCompany(); return monitorService.addDefaultCompany();
// } }
} }
...@@ -8,7 +8,9 @@ import com.dsk.common.core.domain.R; ...@@ -8,7 +8,9 @@ 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.cscec.constant.AdvisoryBodyManageQueryConstants;
import com.dsk.cscec.mapper.DCustomerMapper; import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DProjectMapper;
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;
...@@ -51,6 +53,9 @@ public class MonitorUserServiceImpl implements MonitorUserService { ...@@ -51,6 +53,9 @@ public class MonitorUserServiceImpl implements MonitorUserService {
@Resource @Resource
private DCustomerMapper customerMapper; private DCustomerMapper customerMapper;
@Resource
private DProjectMapper projectMapper;
@Autowired @Autowired
private BusinessOpportunityRadarService opportunityRadarService; private BusinessOpportunityRadarService opportunityRadarService;
...@@ -317,11 +322,12 @@ public class MonitorUserServiceImpl implements MonitorUserService { ...@@ -317,11 +322,12 @@ public class MonitorUserServiceImpl implements MonitorUserService {
List<Integer> idList = new ArrayList<>(); List<Integer> idList = new ArrayList<>();
//如果没有上一次的企业id数据则直接返回 //如果没有上一次的企业id数据则直接返回
if (RedisUtils.hasKey("monitorCompanyList")) { if (RedisUtils.hasKey("monitorUserCompanyList")) {
log.info("添加默认企业监控:企业id从缓存中取"); log.info("添加默认业主单位企业监控:企业id从缓存中取");
idList = RedisUtils.getCacheList("monitorCompanyList"); idList = RedisUtils.getCacheList("monitorUserCompanyList");
} else { } else {
List<String> list = customerMapper.allSearchCompanyNameList(); //获取业主公司名称
List<String> list = projectMapper.getOwnerNameList(AdvisoryBodyManageQueryConstants.LEVEL1_COMPANY_ID);
for (String companyName : list) { for (String companyName : list) {
//循环匹配 得到能关联上的企业id //循环匹配 得到能关联上的企业id
Map<String, Object> map = opportunityRadarService.enterpriseByName(companyName); Map<String, Object> map = opportunityRadarService.enterpriseByName(companyName);
...@@ -331,24 +337,22 @@ public class MonitorUserServiceImpl implements MonitorUserService { ...@@ -331,24 +337,22 @@ public class MonitorUserServiceImpl implements MonitorUserService {
idList.add(companyId); idList.add(companyId);
} }
} }
RedisUtils.setCacheList("monitorCompanyList", idList); RedisUtils.setCacheList("monitorUserCompanyList", idList);
//设置过期时间两天 //设置过期时间两天
RedisUtils.expire("monitorCompanyList", 172800); RedisUtils.expire("monitorUserCompanyList", 172800);
} }
//去除重复企业id //去除重复企业id
idList = idList.stream().distinct().collect(Collectors.toList()); idList = idList.stream().distinct().collect(Collectors.toList());
log.info("获取供应商企业id数量:" + idList.size()); log.info("获取供应商企业id数量:" + idList.size());
PushMonitorCompanyAddVo addVo = new PushMonitorCompanyAddVo(); PushMonitorCompanyAddVo addVo = new PushMonitorCompanyAddVo();
Long userId = LoginHelper.getUserId(); Long userId = 123456789L;
if (ObjectUtil.isNotEmpty(userId)) {
addVo.setUserId(userId); addVo.setUserId(userId);
}
addVo.setSystemCode("ZJYJ"); addVo.setSystemCode("ZJYJ");
int size = idList.size(); int size = idList.size();
if (size <= 200) { if (size <= 200) {
addVo.setCid(idList); addVo.setCid(idList);
log.info("中建一局用户添加默认监控企业!"); log.info("中建一局用户添加默认业主单位监控企业!");
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/addDefaultCompany", BeanUtil.beanToMap(addVo, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/addDefaultCompany", BeanUtil.beanToMap(addVo, false, false));
} else { } else {
//循环次数 //循环次数
...@@ -362,10 +366,10 @@ public class MonitorUserServiceImpl implements MonitorUserService { ...@@ -362,10 +366,10 @@ public class MonitorUserServiceImpl implements MonitorUserService {
newList = idList.subList(i * 200, (i + 1) * 200); newList = idList.subList(i * 200, (i + 1) * 200);
} }
addVo.setCid(newList); addVo.setCid(newList);
log.info("中建一局用户添加默认监控企业------->循环添加:" + i * 200 + "----" + (i + 1) * 200); log.info("中建一局用户添加默认业主监控企业------->循环添加:" + i * 200 + "----" + (i + 1) * 200);
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/addDefaultCompany", BeanUtil.beanToMap(addVo, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/addDefaultCompany", BeanUtil.beanToMap(addVo, false, false));
} }
} }
return R.ok("默认企业添加中,请稍候"); return R.ok("默认业主监控企业添加中,请稍候");
} }
} }
<?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.DContractMapper">
<select id="selectPageProjectList" resultType="com.dsk.cscec.domain.vo.ProjectSearchVo">
select c.contract_key,
c.project_name,
c.owner_name,
c.contract_sign_date,
abp.project_manager_and_phone,
abp.business_manager_and_phone,
abp.bid_agency_unit,
abp.first_audit_unit,
abp.second_audit_unit,
abp.third_audit_unit
from d_contract c
left join advisory_body_project abp on c.contract_key = abp.project_key
<where>
<if test="bo.projectName != null and bo.projectName != ''">
c.project_name = #{bo.projectName}
</if>
<if test="bo.ownerUnit != null and bo.ownerUnit != ''">
and c.owner_name = #{bo.ownerUnit}
</if>
</where>
order by c.contract_sign_date 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.DEverydaydisposeMapper">
<select id="getLevelByName" resultType="map">
SELECT
fcreditlevel
FROM
d_everydaydispose
WHERE
fsuppliername = #{name}
ORDER BY fyear desc
limit 1
</select>
</mapper>
...@@ -45,4 +45,12 @@ ...@@ -45,4 +45,12 @@
from d_project p from d_project p
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
</select> </select>
<select id="getOwnerNameList" resultType="java.lang.String">
SELECT owner_name
FROM d_project dp
WHERE contract_org_id =#{contractOrgId}
group BY owner_name
</select>
</mapper> </mapper>
\ No newline at end of file
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