Commit fae78afc authored by tianhongyang's avatar tianhongyang

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 c03929ee d3983935
package com.dsk.cscec.controller; package com.dsk.web.controller.system;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...@@ -6,14 +6,11 @@ import com.dsk.common.core.controller.BaseController; ...@@ -6,14 +6,11 @@ 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.SysPush; import com.dsk.system.domain.SysPush;
import com.dsk.cscec.service.ISysPushService; import com.dsk.system.service.ISysPushService;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/** /**
* 系统推送(SysPush)表控制层 * 系统推送(SysPush)表控制层
* *
......
...@@ -82,5 +82,7 @@ public interface Constants { ...@@ -82,5 +82,7 @@ public interface Constants {
String CONTENT_TYPE_XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; String CONTENT_TYPE_XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
String STATUTORY_HOLIDAY_ADDR = "https://timor.tech/api/holiday/year/";
} }
...@@ -3,17 +3,23 @@ package com.dsk.cscec.controller; ...@@ -3,17 +3,23 @@ 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.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 +52,20 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -46,50 +52,20 @@ 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}")
// * @param id 主键 public R<ProjectDetailVo> getProjectDetail(@NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) {
// * @return 单条数据 return R.ok(baseService.queryProjectDetail(projectKey));
// */ }
//@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));
//}
} }
...@@ -34,5 +34,13 @@ public class DimAreaController extends BaseController { ...@@ -34,5 +34,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<RegionVo>> 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;
/** /**
* 结算完成时间 * 结算完成时间
*/ */
......
...@@ -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;
} }
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 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.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.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;
} }
...@@ -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);
} }
...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; ...@@ -4,7 +4,7 @@ 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.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.vo.AdvisoryBodySearchVo; import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -16,7 +16,7 @@ import java.util.Date; ...@@ -16,7 +16,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 SysAdvisoryBodyMapper extends BaseMapper<AdvisoryBody> {
/** /**
* 查询最近一次合作时间 * 查询最近一次合作时间
*/ */
...@@ -25,6 +25,6 @@ public interface SysAdvisoryBodyMapper extends BaseMapper<SysAdvisoryBody> { ...@@ -25,6 +25,6 @@ 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);
} }
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> {
} }
...@@ -5,8 +5,11 @@ import com.dsk.common.core.domain.PageQuery; ...@@ -5,8 +5,11 @@ 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.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 +36,22 @@ public interface IDProjectService extends IService<DProject> { ...@@ -33,5 +36,22 @@ 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);
} }
...@@ -17,5 +17,7 @@ public interface IDimAreaService extends IService<DimArea> { ...@@ -17,5 +17,7 @@ public interface IDimAreaService extends IService<DimArea> {
List<RegionVo> allArea(); List<RegionVo> allArea();
List<RegionVo> allAreaWithoutRegion();
} }
...@@ -2,8 +2,8 @@ package com.dsk.cscec.service.impl; ...@@ -2,8 +2,8 @@ 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.SysAdvisoryBodyMapper;
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<SysAdvisoryBodyMapper, AdvisoryBody> implements AdvisoryBodyService {
} }
...@@ -3,17 +3,13 @@ package com.dsk.cscec.service.impl; ...@@ -3,17 +3,13 @@ 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.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 +75,46 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl ...@@ -79,5 +75,46 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl
} }
return vos; return vos;
} }
@Override
public List<RegionVo> allAreaWithoutRegion() {
List<RegionVo> 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) {
RegionVo provinceVo = new RegionVo();
provinceVo.setValue(String.valueOf(province));
List<RegionVo> 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) {
RegionVo cityVo = new RegionVo();
cityVo.setValue(String.valueOf(city));
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,10 +15,13 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -13,10 +15,13 @@ 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.SysAdvisoryBodyMapper;
...@@ -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;
/** /**
* 咨询机构管理 * 咨询机构管理
...@@ -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,84 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -151,15 +168,84 @@ 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); 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);
}
/**
* 根据项目主键查询项目详情
*
* @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;
}
} }
...@@ -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();
} }
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<select id="selectPageAdvisoryBodyList" resultType="com.dsk.cscec.domain.vo.AdvisoryBodySearchVo"> <select id="selectPageAdvisoryBodyList" resultType="com.dsk.cscec.domain.vo.AdvisoryBodySearchVo">
select advisory_body_id, select advisory_body_id,
project_id, project_key,
advisory_body_name, advisory_body_name,
legal_person, legal_person,
legal_person_phone, legal_person_phone,
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
project_leader, project_leader,
project_leader_major, project_leader_major,
project_leader_phone, project_leader_phone,
settle_star_time, settle_start_time,
settle_finish_time, settle_finish_time,
is_final_judge_unit is_final_judge_unit
from sys_advisory_body ${ew.getCustomSqlSegment} from sys_advisory_body ${ew.getCustomSqlSegment}
......
...@@ -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>
......
package com.dsk.cscec.domain; package com.dsk.system.domain;
import java.util.Date; import java.util.Date;
import java.io.Serializable; import java.io.Serializable;
...@@ -42,6 +42,6 @@ public class SysPush implements Serializable { ...@@ -42,6 +42,6 @@ public class SysPush implements Serializable {
private Date createTime; private Date createTime;
private String tanentId; private String tenantId;
} }
package com.dsk.system.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @Author lcl
* @Data 2023/12/14 15:23
*/
@Data
@TableName("sys_statutory_holiday")
public class SysStatutoryHoliday {
@TableId("id")
private Long id;
/**
* 是否假日 0:否 1:是
*/
private Integer isHoliday;
/**
* 名称
*/
private String name;
/**
* 日期
*/
private String date;
}
package com.dsk.cscec.mapper; package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.SysPush; import com.dsk.system.domain.SysPush;
/** /**
* 系统推送(SysPush)表数据库访问层 * 系统推送(SysPush)表数据库访问层
......
package com.dsk.cscec.service; package com.dsk.system.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.SysPush; import com.dsk.system.domain.SysPush;
/** /**
* 系统推送(SysPush)表服务接口 * 系统推送(SysPush)表服务接口
......
package com.dsk.cscec.service.impl; package com.dsk.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.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.common.exception.ServiceException; import com.dsk.system.mapper.SysPushMapper;
import com.dsk.cscec.mapper.SysPushMapper; import com.dsk.system.domain.SysPush;
import com.dsk.cscec.domain.SysPush; import com.dsk.system.service.ISysPushService;
import com.dsk.cscec.service.ISysPushService;
import jodd.bean.BeanException; import jodd.bean.BeanException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
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