Commit 09dffec8 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 c217a487 3f5debd4
...@@ -71,6 +71,16 @@ public class SysConfigController extends BaseController { ...@@ -71,6 +71,16 @@ public class SysConfigController extends BaseController {
*/ */
@GetMapping(value = "/configKey/{configKey}") @GetMapping(value = "/configKey/{configKey}")
public R<Void> getConfigKey(@PathVariable String configKey) { public R<Void> getConfigKey(@PathVariable String configKey) {
return R.ok(configService.selectConfigValueByKey(configKey));
}
/**
* 根据参数键名查询参数值
*
* @param configKey 参数Key
*/
@GetMapping(value = "/key/{configKey}")
public R<SysConfig> getConfig(@PathVariable String configKey) {
return R.ok(configService.selectConfigByKey(configKey)); return R.ok(configService.selectConfigByKey(configKey));
} }
...@@ -161,4 +171,13 @@ public class SysConfigController extends BaseController { ...@@ -161,4 +171,13 @@ public class SysConfigController extends BaseController {
DskAccessTokenVO dskAccessTokenVO = configService.getDskAccessToken(); DskAccessTokenVO dskAccessTokenVO = configService.getDskAccessToken();
return R.ok(dskAccessTokenVO); return R.ok(dskAccessTokenVO);
} }
/**
* 根据键修改值
*/
@PutMapping(value = "/updateValue")
public R<Void> updateByConfigKey(@RequestBody SysConfig config) {
configService.updateByConfigKey(config);
return R.ok();
}
} }
package com.dsk.web.controller.system;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.SysPush;
import com.dsk.system.service.ISysPushService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 系统推送(SysPush)表控制层
*
* @author lcl
* @since 2023-12-14 10:09:24
*/
@RestController
@RequestMapping("sysPush")
public class SysPushController extends BaseController {
/**
* 服务对象
*/
@Autowired
private ISysPushService baseService;
/**
* 推送分页列表
*/
@GetMapping("/pageList")
public TableDataInfo<SysPush> pageList(SysPush bean, PageQuery query) {
return baseService.pageList(bean, query);
}
/**
* 添加推送人
*/
@PostMapping
public R<Void> add(@RequestBody SysPush bean) {
return toAjax(baseService.save(bean));
}
/**
* 修改推送状态
*/
@PutMapping("/updateStatus")
public R<Void> updateStatus(@RequestBody SysPush bean) {
return toAjax(baseService.update(Wrappers.<SysPush>lambdaUpdate()
.set(SysPush::getStatus, bean.getStatus()).eq(SysPush::getId, bean.getId())));
}
/**
* 删除推送人
*/
@DeleteMapping("/{id}")
public R<Void> del(@PathVariable Long id) {
return toAjax(baseService.removeById(id));
}
}
...@@ -142,6 +142,7 @@ security: ...@@ -142,6 +142,7 @@ security:
# actuator 监控配置 # actuator 监控配置
- /api/** - /api/**
- /actuator/** - /actuator/**
- /monitor/push/insert/**
# 多租户配置 # 多租户配置
...@@ -162,6 +163,13 @@ tenant: ...@@ -162,6 +163,13 @@ tenant:
- sys_user_file_record - sys_user_file_record
- sys_oss_config - sys_oss_config
- sys_region - sys_region
- d_customer
- d_project
- d_subcontract
- advisory_body
- advisory_body_project
- dim_area
- biz_dict_data
# MyBatisPlus配置 # MyBatisPlus配置
......
...@@ -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/";
} }
...@@ -178,4 +178,17 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { ...@@ -178,4 +178,17 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
int year = localDate.getYear(); int year = localDate.getYear();
return year; return year;
} }
/***
*@Description: 获取当前 小时
*@Param:
*@return: int
*@Author: Dgm
*@date: 2023/11/29 16:05
*/
public static int getHour() {
LocalTime localDate = LocalTime.now();
int year = localDate.getHour();
return year;
}
} }
...@@ -6,10 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,10 +6,7 @@ import lombok.NoArgsConstructor;
import org.redisson.api.*; import org.redisson.api.*;
import java.time.Duration; import java.time.Duration;
import java.util.Collection; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer; import java.util.function.Consumer;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -486,4 +483,17 @@ public class RedisUtils { ...@@ -486,4 +483,17 @@ public class RedisUtils {
RKeys rKeys = CLIENT.getKeys(); RKeys rKeys = CLIENT.getKeys();
return rKeys.countExists(key) > 0; return rKeys.countExists(key) > 0;
} }
/***
*@Description: 锁-释放
*@Param:
*@return: boolean
*@Author: Dgm
*@date: 2022/6/15 9:41
*/
public static void hasValueDelete (String lockKey, String value) {
if (value.contentEquals(Objects.requireNonNull(CLIENT.getBucket(lockKey).get()+""))) {
CLIENT.getBucket(lockKey).delete();
}
}
} }
package com.dsk.cscec.constant;
/**
* 搜索常量信息
*
* @author sxk
* @date 2023.12.11
* @time 14:22
*/
public interface QueryConstants {
/**
* 筛选数据一级公司名称
*/
String LEVEL1_COMPANY_NAME = "中建一局集团第二建筑有限公司";
/**
* 筛选数据一级公司ID
*/
String LEVEL1_COMPANY_ID = "F17305B4EA4444CBAB12892C7B99E475";
/**
* 筛选数据二级公司名称
* 备用,需要时请填入内容
*/
String LEVEL2_COMPANY_NAME = "";
/**
* 筛选数据二级公司ID
* 备用,需要时请填入内容
*/
String LEVEL2_COMPANY_ID = "";
}
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
import com.dsk.cscec.service.IDProjectService;
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.RestController;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
/**
* 咨询机构管理控制层
*
* @author sxk
* @since 2023-12-10 15:34:46
*/
@RestController
@RequestMapping("advisory/body")
public class AdvisoryBodyManageController extends BaseController {
/**
* 服务对象
*/
@Resource
private IDProjectService baseService;
/**
* 获取所有项目列表数据
*/
@GetMapping("/getProjectList")
public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
return baseService.queryProjectList(projectSearchBo, pageQuery);
}
/**
* 获取所有企业列表(咨询机构)数据
*/
@GetMapping("/getAdvisoryBodyList")
public TableDataInfo<AdvisoryBodySearchVo> getAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery) {
return baseService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery);
}
/**
* 获取合作项目明细
*/
@GetMapping("/getCooperateProjectDetailList")
public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
return baseService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery);
}
/**
* 根据项目主键查询项目详情
*/
@GetMapping("/getProjectDetail/{projectKey}")
public R<ProjectDetailVo> getProjectDetail(@NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) {
return R.ok(baseService.queryProjectDetail(projectKey));
}
/**
* 根据咨询机构ID查询咨询机构详情
*/
@GetMapping("/getAdvisoryBodyDetail/{advisoryBodyId}")
public R<AdvisoryBody> getAdvisoryBodyDetail(@NotNull(message = "咨询机构ID不能为空") @PathVariable Long advisoryBodyId) {
return R.ok(baseService.queryAdvisoryBodyDetail(advisoryBodyId));
}
}
package com.dsk.cscec.controller; package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.AdvisoryBodyProjectService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
/** /**
* 项目维表(DProject)表控制层 * 咨询机构和项目关联表(AdvisoryBodyProject)表控制层
* *
* @author makejava * @author makejava
* @since 2023-12-10 15:34:46 * @since 2023-12-15 15:57:54
*/ */
@RestController @RestController
@RequestMapping("dProject") @RequestMapping("advisoryBodyProject")
public class DProjectController extends BaseController { public class AdvisoryBodyProjectController extends BaseController {
/** /**
* 服务对象 * 服务对象
*/ */
@Resource @Resource
private IDProjectService IDProjectService; private AdvisoryBodyProjectService advisoryBodyProjectService;
///** ///**
// * 分页查询所有数据 // * 分页查询所有数据
// * // *
// * @param page 分页对象 // * @param page 分页对象
// * @param dProject 查询实体 // * @param advisoryBodyProject 查询实体
// * @return 所有数据 // * @return 所有数据
// */ // */
//@GetMapping //@GetMapping
//public R selectAll(Page<DProject> page, DProject dProject) { //public R selectAll(Page<AdvisoryBodyProject> page, AdvisoryBodyProject advisoryBodyProject) {
// return success(this.dProjectService.page(page, new QueryWrapper<>(dProject))); // return success(this.advisoryBodyProjectService.page(page, new QueryWrapper<>(advisoryBodyProject)));
//} //}
// //
///** ///**
...@@ -43,29 +43,29 @@ public class DProjectController extends BaseController { ...@@ -43,29 +43,29 @@ public class DProjectController extends BaseController {
// */ // */
//@GetMapping("{id}") //@GetMapping("{id}")
//public R selectOne(@PathVariable Serializable id) { //public R selectOne(@PathVariable Serializable id) {
// return success(this.dProjectService.getById(id)); // return success(this.advisoryBodyProjectService.getById(id));
//} //}
// //
///** ///**
// * 新增数据 // * 新增数据
// * // *
// * @param dProject 实体对象 // * @param advisoryBodyProject 实体对象
// * @return 新增结果 // * @return 新增结果
// */ // */
//@PostMapping //@PostMapping
//public R insert(@RequestBody DProject dProject) { //public R insert(@RequestBody AdvisoryBodyProject advisoryBodyProject) {
// return success(this.dProjectService.save(dProject)); // return success(this.advisoryBodyProjectService.save(advisoryBodyProject));
//} //}
// //
///** ///**
// * 修改数据 // * 修改数据
// * // *
// * @param dProject 实体对象 // * @param advisoryBodyProject 实体对象
// * @return 修改结果 // * @return 修改结果
// */ // */
//@PutMapping //@PutMapping
//public R update(@RequestBody DProject dProject) { //public R update(@RequestBody AdvisoryBodyProject advisoryBodyProject) {
// return success(this.dProjectService.updateById(dProject)); // return success(this.advisoryBodyProjectService.updateById(advisoryBodyProject));
//} //}
// //
///** ///**
...@@ -76,7 +76,7 @@ public class DProjectController extends BaseController { ...@@ -76,7 +76,7 @@ public class DProjectController extends BaseController {
// */ // */
//@DeleteMapping //@DeleteMapping
//public R delete(@RequestParam("idList") List<Long> idList) { //public R delete(@RequestParam("idList") List<Long> idList) {
// return success(this.dProjectService.removeByIds(idList)); // return success(this.advisoryBodyProjectService.removeByIds(idList));
//} //}
} }
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.TreeSelect;
import com.dsk.cscec.domain.bo.BizDictDataBo;
import com.dsk.cscec.service.IBizDictDataService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 字典相关
*
* @author
* @since 2023-12-10
*/
@RequiredArgsConstructor
@RestController
@RequestMapping("/bizDictData")
public class BizDictDataController extends BaseController {
/**
* 服务对象
*/
private final IBizDictDataService iBizDictDataService;
/**
* 查询业务数据字典树形列表
*
* @return
*/
@GetMapping("/tree")
public R<List<TreeSelect>> tree(@Validated BizDictDataBo bo) {
return R.ok(iBizDictDataService.buildDeptTreeSelect(bo));
}
}
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.service.ICustomerInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 供应商相关
*
* @author
* @since 2023-12-10
*/
@RequiredArgsConstructor
@RestController
@RequestMapping("/customerInfo")
public class CustomerInfoController extends BaseController {
/**
* 服务对象
*/
private final ICustomerInfoService iCustomerInfoService;
/**
* 供应商分类列表
*/
@PostMapping("/list")
public TableDataInfo<CustomerInfoVo> list(@Validated @RequestBody CustomerInfoBo bo, @RequestBody PageQuery query) {
return iCustomerInfoService.queryPageList(bo, query);
}
/**
* 内部合作-咨询机构合作记录
*/
@GetMapping("/advisoryList")
public TableDataInfo<AdvisoryBodyVo> advisoryList(@Validated AdvisoryBodyBo bo, PageQuery query) {
return iCustomerInfoService.queryAdvisoryList(bo, query);
}
/**
* 内部合作-咨询机构合作记录导出
*/
@GetMapping("/advisoryExport")
public void advisoryExport(@Validated AdvisoryBodyBo bo, PageQuery query, HttpServletResponse response) {
List<AdvisoryBodyVo> listVo = iCustomerInfoService.queryAdvisoryList(bo, query).getRows();
ExcelUtil.exportExcel(listVo, "咨询机构合作记录", AdvisoryBodyVo.class, response);
}
/**
* 合作记录-供应商准入情况
*/
@GetMapping("/getApproveInfo")
public R<CustomerApproveVo> getApproveInfo(CustomerInfoBo bo) {
return R.ok(iCustomerInfoService.queryApproveByBo(bo));
}
}
package com.dsk.cscec.controller; package com.dsk.cscec.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
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.domain.R;
...@@ -10,15 +8,8 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -10,15 +8,8 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo; import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.service.IDCustomerService; import com.dsk.cscec.service.IDCustomerService;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.vo.SysDeptVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/** /**
* 组织维表(DCustomer)表控制层 * 组织维表(DCustomer)表控制层
...@@ -38,11 +29,19 @@ public class DCustomerController extends BaseController { ...@@ -38,11 +29,19 @@ public class DCustomerController extends BaseController {
/** /**
* 供应商总台账筛选 * 供应商总台账筛选
*/ */
@GetMapping("/all/searchList") @PostMapping("/all/searchList")
public TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query) { public TableDataInfo<DCustomer> allSearchList(@RequestBody DCustomerSearchBo bo,@RequestBody PageQuery query) {
return baseService.allSearchList(bo,query); return baseService.allSearchList(bo,query);
} }
/**
* 供应商信息
*/
@GetMapping("/info/{customerKey}")
public R<DCustomer> info(@PathVariable String customerKey) {
return R.ok(baseService.getById(customerKey));
}
} }
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import com.dsk.cscec.service.IDimAreaService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* (DimArea)表控制层
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@RestController
@RequestMapping("/area")
public class DimAreaController extends BaseController {
/**
* 服务对象
*/
@Resource
private IDimAreaService baseService;
/**
* 获取地区树
*/
@GetMapping("/all")
public R<List<RegionVo>> allArea(){
return R.ok(baseService.allArea());
}
/**
* 获取地区树(不含区域)
*/
@GetMapping("/all/withoutRegion")
public R<List<RegionWithLevelVo>> allAreaWithoutRegion(){
return R.ok(baseService.allAreaWithoutRegion());
}
}
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 咨询机构(SysAdvisoryBody)表实体类
*
* @author sxk
* @since 2023-12-12 10:12:06
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AdvisoryBody implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 咨询机构ID
*/
@TableId(value = "advisory_body_id")
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 项目主键(用作关联d_project)
*/
private Long projectKey;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 法人代表
*/
private String legalPerson;
/**
* 法人联系电话
*/
private String legalPersonPhone;
/**
* 注册地址
*/
private String regAddress;
/**
* 项目负责人
*/
private String projectLeader;
/**
* 项目负责人专业
*/
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
private String projectLeaderPhone;
/**
* 结算金额(万元)
*/
private BigDecimal settleAmount;
/**
* 结算开始时间
*/
private Date settleStartTime;
/**
* 结算完成时间
*/
private Date settleFinishTime;
/**
* 是否为终审单位(0代表是 1代表否)
*/
private String isFinalJudgeUnit;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
}
package com.dsk.cscec.domain;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.15
* @time 15:58
*/
@Data
public class AdvisoryBodyProject implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 项目主键
*/
private Long projectKey;
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 合作时间
*/
private Date cooperateTime;
/**
* 项目负责人
*/
private String projectLeader;
/**
* 项目负责人专业
*/
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
private String projectLeaderPhone;
/**
* 结算金额(万元)
*/
private Double settleAmount;
/**
* 结算开始时间
*/
private Date settleStartTime;
/**
* 结算完成时间
*/
private Date settleFinishTime;
/**
* 是否为终审单位(0代表是 1代表否)
*/
private String isFinalJudgeUnit;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
}
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 业务数据字典对象 biz_dict_data
*
* @author ruoyi
* @date 2021-11-08
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("biz_dict_data")
public class BizDictData implements Serializable {
private static final long serialVersionUID=1L;
/**
* 编码
*/
@TableId(value = "id")
private String id;
private String ancestors;
/**
* 字典编码
*/
private String code;
/**
* 字典名称
*/
private String name;
/**
* 系统字典表 biz_dict_data_type
*/
private String type;
/**
* 字典父级id
*/
private String parentId;
@TableField(exist = false)
private String parentName;
/**
* 备注
*/
private String remark;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private String delFlag;
@TableField(exist = false)
private List<BizDictData> children = new ArrayList<BizDictData>();
}
...@@ -3,6 +3,8 @@ package com.dsk.cscec.domain; ...@@ -3,6 +3,8 @@ package com.dsk.cscec.domain;
import java.util.Date; import java.util.Date;
import java.io.Serializable; import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data; import lombok.Data;
/** /**
...@@ -19,6 +21,7 @@ public class DCustomer implements Serializable { ...@@ -19,6 +21,7 @@ public class DCustomer implements Serializable {
/** /**
* 客商主键 * 客商主键
*/ */
@TableId(value = "customer_key")
private Long customerKey; private Long customerKey;
/** /**
* ipm供应商id * ipm供应商id
...@@ -528,5 +531,20 @@ public class DCustomer implements Serializable { ...@@ -528,5 +531,20 @@ public class DCustomer implements Serializable {
* 数据更新时间 * 数据更新时间
*/ */
private Date loadTime; private Date loadTime;
/**
* 企业合作数量
*/
@TableField(exist = false)
private Integer enterpriseCooperationCount;
/**
* 项目合作数量
*/
@TableField(exist = false)
private Integer projectCooperationCount;
/**
* jsk企业id
*/
@TableField(exist = false)
private Integer companyId;
} }
package com.dsk.cscec.domain;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* 分包分供合同(DSubcontract)表实体类
*
* @author lcl
* @since 2023-12-11 15:31:44
*/
@Data
public class DSubcontract implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 分包合同主键
*/
private Long subcontractKey;
/**
* 分包合同ID
*/
private String subcontractId;
/**
* 分包合同编码
*/
private String subcontractCode;
/**
* 分包合同名称
*/
private String subcontractName;
/**
* 财务一体化分包合同编码
*/
private String fipSubcontractCode;
/**
* 财务一体化分包合同名称
*/
private String fipSubcontractName;
/**
* 业务类型
*/
private String contractScope;
/**
* 合同类型
*/
private String contractType;
/**
* 项目ID
*/
private String projectId;
/**
* 项目编码
*/
private String projectCode;
/**
* 项目名称
*/
private String projectName;
/**
* 分包合同金额
*/
private Double subcontractValue;
/**
* 分包合同不含税金额
*/
private Double subcontractValueExcl;
/**
* 分包合同税额
*/
private Double subcontractTaxValue;
/**
* 签订单位ID
*/
private String signOrgId;
/**
* 签订单位名称
*/
private String signOrgName;
/**
* 合同签订日期
*/
private String signDate;
/**
* 合同盖章日期
*/
private String stampDate;
/**
* 合同返回日期
*/
private String returnDate;
/**
* 交底日期
*/
private String noticeDate;
/**
* 实际完成时间
*/
private String completeDate;
/**
* 合同开始日期
*/
private String subcontractStartDate;
/**
* 合同结束日期
*/
private String subcontractEndDate;
/**
* 是否甲指
*/
private String isownerappoint;
/**
* 施工专业ID
*/
private String specialtyId;
/**
* 施工专业
*/
private String specialtyType;
/**
* 履约状态
*/
private String contractState;
/**
* 供应商ID
*/
private String customerId;
/**
* 供应商名称
*/
private String customerName;
/**
* 客商类型
*/
private String customerType;
/**
* 分包范围
*/
private String jobScope;
/**
* 付款方式
*/
private String payType;
/**
* 付款比例是否固定
*/
private Double isfixedpayratio;
/**
* 过程中付款比例
*/
private Double processPayRatio;
/**
* 完工后付款比例
*/
private Double completePayRatio;
/**
* 结算后付款比例
*/
private Double settlePayRatio;
/**
* 保修金比例
*/
private Double warrantyGoldRatio;
/**
* 分包合同应付金额
*/
private Double subcontractPayableValue;
/**
* 分包合同已付金额
*/
private Double subcontractPaidValue;
/**
* 预付款
*/
private Double prepayValue;
/**
* 已付款
*/
private Double paidValue;
/**
* 垫付款
*/
private Double advanceValue;
/**
* 结算方式
*/
private String settleType;
/**
* 结算价
*/
private Double settleValue;
/**
* 人工费
*/
private Double laborFee;
/**
* 备注
*/
private String remark;
/**
* 合同分类
*/
private String contractClass;
/**
* 成本科目ID
*/
private String costSubjectId;
/**
* 成本科目名称
*/
private String costSubjectName;
/**
* 成本科目全路径名称
*/
private String costSubjectFullname;
/**
* 执行备案
*/
private String contractTextType;
/**
* 税率
*/
private Double taxRate;
/**
* 盖章份数
*/
private Double noOfStamp;
/**
* 盖章明晰
*/
private String signRemark;
/**
* 返回明晰
*/
private String issign;
/**
* 承包类型
*/
private String contractForm;
/**
* 是否为一局内部公司
*/
private String iscscec1bcompany;
/**
* 是否主体结构分包合同
*/
private String isfirststruct;
/**
* 建筑面积
*/
private Double areaSum;
/**
* 锁定金额
*/
private Double lockValue;
/**
* 战采资源级别
*/
private String gpResLevel;
/**
* 战采资源类别
*/
private String gpResScope;
/**
* 战采资源品类
*/
private String gpResCategory;
/**
* 战略采购供应商年度
*/
private Double gpSupplierYear;
/**
* 是否集中采购(是/否)
*/
private String isGp;
/**
* 战采管理要求
*/
private String gpApplication;
/**
* 合同是否执行战采价格
*/
private String isUseGpprice;
/**
* 战采供应商ID
*/
private String fgpcustomerid;
/**
* 分包合同版本
*/
private Double subcontractVersion;
/**
* 流程状态
*/
private String fbizstatename;
/**
* 流程状态
*/
private String fbizstate;
/**
* 材料类型
*/
private String materialType;
/**
* 数据加载时间
*/
private String loadTime;
}
package com.dsk.cscec.domain;
import java.io.Serializable;
import lombok.Data;
/**
* (DimArea)表实体类
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@Data
public class DimArea implements Serializable {
private static final long serialVersionUID = 1L;
private Integer areaKey;
private String areaCode;
private String areaName;
/**
* 地区
*/
private String areaName1;
/**
* 省
*/
private String areaName2;
/**
* 省简写
*/
private String areaAbbrName2;
private String areaName3;
private Integer levelNo;
private String isleaf;
private String isvalid;
private String remark;
private String areaId;
private String parentId;
private String loadTime;
}
package com.dsk.cscec.domain;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
import java.util.stream.Collectors;
/**
* Treeselect树结构实体类
*
* @author ruoyi
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class TreeSelect implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 节点ID
*/
private String id;
/**
* 节点名称
*/
private String label;
/**
* 子节点
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<TreeSelect> children;
public TreeSelect(BizDictData dept) {
this.id = dept.getId();
this.label = dept.getName();
this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
}
}
package com.dsk.cscec.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.List;
/**
* 咨询机构合作记录查询
*
* @author
* @since 2023-12-14
*/
@Data
public class AdvisoryBodyBo extends BaseEntity {
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 项目主键(用作关联d_project)
*/
private Long projectKey;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 项目承接单位id
*/
private String contractOrgId;
/**
* 项目承接单位
*/
private String contractOrgName;
/**
* 省份
*/
private List<String> province;
/**
* 城市
*/
private List<String> city;
/**
* 项目承接类型
*/
/**
* 工程类别明细
*/
}
package com.dsk.cscec.domain.bo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.13
* @time 10:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AdvisoryBodySearchBo {
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 最小最近合作时间
*/
private Date minLastCooperateDate;
/**
* 最大最近合作时间
*/
private Date maxLastCooperateDate;
/**
* 经营范围
*/
private String businessScope;
}
package com.dsk.cscec.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import com.dsk.common.core.validate.AddGroup;
import com.dsk.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 业务数据字典业务对象 biz_dict_data
*
* @author ruoyi
* @date 2021-11-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class BizDictDataBo extends BaseEntity {
/**
* 编码
*/
@NotNull(message = "编码不能为空", groups = { EditGroup.class })
private String id;
/**
* 字典编码
*/
private String code;
/**
* 字典名称
*/
@NotBlank(message = "字典名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 系统字典表 biz_dict_data_type
*/
@NotBlank(message = "系统字典表 biz_dict_data_type不能为空", groups = { AddGroup.class, EditGroup.class })
private String type;
/**
* 字典父级id
*/
@NotNull(message = "字典父级id不能为空", groups = { AddGroup.class, EditGroup.class })
private String parentId;
/**
* 分页大小
*/
private Integer pageSize;
/**
* 当前页数
*/
private Integer pageNum;
/**
* 排序列
*/
private String orderByColumn;
/**
* 排序的方向desc或者asc
*/
private String isAsc;
/**
* 祖级列表
*/
private String ancestors;
}
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;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
import java.util.List;
/**
* 供应商分类查询
*
* @author
* @since 2023-12-10
*/
@Data
public class CustomerInfoBo extends BaseEntity {
/**
* 客商主键
*/
private Long customerKey;
/**
* 统一社会信用代码
*/
private String unifySocialCode;
/**
* 供应商类别(分供,劳务分包,专业分包,租赁,劳务分包队伍)
*/
@NotEmpty(message = "供应商类别不能为空")
private String customerClass;
/**
* 劳务队伍标志(Y N)
*/
private String serviceTeamLogo;
/**
* 供应商名称
*/
private String customerName;
/**
* 注册地区域(东北地区,华东地区,华中地区,华北地区,华南地区,西北地区,西南地区)
*/
private List<String> registerRegion;
/**
* 省份
*/
private List<String> registerProvince;
/**
* 城市
*/
private List<String> registerCity;
/**
* 供应商状态(不合格,优质,合格,移出,预警)
*/
private List<String> customerState;
/**
* 资质等级(一级,二级,三级,不分等级,特级)
*/
private List<String> credential;
/**
* 专业类别id
*/
private List<String> groupSpecialtyId;
/**
* 集团专业类别
*/
private String groupSpecialty;
/**
* 考评等级(A,B,C,Z)
*/
private List<String> creditLevel;
/**
* 纳税人身份(一般纳税人,小规模纳税人)
*/
private List<String> paytaxType;
/**
* 纳税人税率(免税,3%,6%,11%,17%)
*/
private List<String> taxRate;
/**
* 准入时间开始
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date approveDate2Start;
/**
* 准入时间结束
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date approveDate2End;
/**
* 队长名称
*/
private String leaderName;
}
...@@ -2,6 +2,8 @@ package com.dsk.cscec.domain.bo; ...@@ -2,6 +2,8 @@ package com.dsk.cscec.domain.bo;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @Author lcl * @Author lcl
* @Data 2023/12/8 16:07 * @Data 2023/12/8 16:07
...@@ -15,30 +17,42 @@ public class DCustomerSearchBo { ...@@ -15,30 +17,42 @@ public class DCustomerSearchBo {
/** /**
* 区域 * 区域
*/ */
private String[] region; private List<String> region;
/** /**
* 省 * 省
*/ */
private String[] province; private List<String> province;
/** /**
* 市 * 市
*/ */
private String[] city; private List<String> city;
/** /**
* 供应商类别 * 供应商类别
*/ */
private String[] customerClass; private List<String> customerClass;
/** /**
* 供应商状态 * 供应商状态
*/ */
private String[] customerState; private List<String> customerState;
/** /**
* 评价等级 * 评价等级
*/ */
private String[] creditLevel; private List<String> creditLevel;
/** /**
* 资质等级 * 资质等级
*/ */
private String[] credential; private List<String> credential;
/**
* 准入时间(开始)
*/
private String approveDateBegion;
/**
* 准入时间(结束)
*/
private String approveDateEnd;
/**
* 是否队伍 0:否 1:是
*/
private Integer isTeam;
} }
package com.dsk.cscec.domain.bo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.11
* @time 14:01
*/
@Data
public class ProjectSearchBo {
/**
* 项目名称
*/
private String projectName;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 业主单位
*/
private String ownerUnit;
/**
* 承接项目单位
*/
private String undertakeProjectUnit;
/**
* 项目创建开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date projectStartTime;
/**
* 项目创建结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date projectEndTime;
/**
* 项目承接类型
*/
private String projectUndertakeType;
/**
* 工程基础大类
*/
private String engineeringFoundationCategory;
/**
* 工程类别明细
*/
private String engineeringCategoryDetail;
/**
* 最小合同金额
*/
private Double minContractAmount;
/**
* 最大合同金额
*/
private Double maxContractAmount;
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.13
* @time 10:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AdvisoryBodySearchVo extends AdvisoryBody {
/**
* 最近一次合作时间
*/
private Date lastCooperateTime;
/**
* 经营状态
*/
private String businessStatus;
/**
* 法定代表人
*/
private String corporatePerson;
/**
* 注册资本
*/
private String regCapital;
/**
* 注册地区
*/
private String regArea;
/**
* 成立日期
*/
private String registeredDate;
/**
* 经营范围
*/
private String businessScope;
/**
* 合作项目数量
*/
private Long cooperateProjectCount;
}
package com.dsk.cscec.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 咨询机构合作记录
*
* @author
* @since 2023-12-14
*/
@Data
@ExcelIgnoreUnannotated
public class AdvisoryBodyVo {
/**
* 项目主键
*/
private Long projectKey;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称", index = 0)
private String projectName;
/**
* 项目编码
*/
@ExcelProperty(value = "项目编码", index = 1)
private String projectCode;
/**
* 省
*/
@ExcelProperty(value = "省", index = 2)
private String provinceName;
/**
* 市
*/
@ExcelProperty(value = "市", index = 3)
private String cityName;
/**
* 项目承接类型
*/
@ExcelProperty(value = "项目承接类型", index = 4)
private String isinvestproject;
/**
* 工程基础大类
*/
@ExcelProperty(value = "工程基础大类", index = 5)
private String projectType1;
/**
* 工程类别明细
*/
@ExcelProperty(value = "工程类别明细", index = 6)
private String projectType;
/**
* 咨询机构ID
*/
private Long advisoryBodyId;
/**
* 咨询机构cid(用于查询建设库数据)
*/
private Integer advisoryBodyCid;
/**
* 咨询机构名称
*/
private String advisoryBodyName;
/**
* 项目负责人
*/
@ExcelProperty(value = "项目负责人姓名", index = 7)
private String projectLeader;
/**
* 项目负责人专业
*/
@ExcelProperty(value = "项目负责人专业", index = 8)
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
@ExcelProperty(value = "项目负责人联系电话", index = 9)
private String projectLeaderPhone;
/**
* 合同金额
*/
@ExcelProperty(value = "合同金额", index = 10)
private BigDecimal contractOrigValue;
/**
* 业主单位
*/
@ExcelProperty(value = "业主单位", index = 11)
private String ownerName;
/**
* 项目承接单位
*/
@ExcelProperty(value = "项目承接单位", index = 12)
private String contractOrgName;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间", index = 13)
private Date loadTime;
}
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.14
* @time 13:45
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CooperateProjectDetailSearchVo {
/**
* 项目主键
*/
private Long projectKey;
/**
* 项目ID
*/
private String projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 项目编码
*/
private String projectCode;
/**
* 省市
*/
private String provinceName;
/**
* 市区
*/
private String cityName;
/**
* 项目承接类型
*/
private String isinvestproject;
/**
* 工程基础大类
*/
private String projectType1;
/**
* 工程类别明细
*/
private String projectType;
/**
* 合同金额
*/
private BigDecimal contractOrigValue;
/**
* 结算天数(天)
*/
private Long settlementDays;
/**
* 业主单位
*/
private String ownerName;
/**
* 项目承接单位
*/
private String contractOrgName;
/**
* 咨询机构(咨询机构表)
*/
private AdvisoryBody advisoryBody;
/**
* 创建时间(合同生效日期)
*/
private Date contractSignDate;
}
package com.dsk.cscec.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.util.Date;
/**
* 供应商准入情况
*
* @author
* @since 2023-12-15
*/
@Data
@ExcelIgnoreUnannotated
public class CustomerApproveVo {
/**
* 客商主键
*/
private Long customerKey;
/**
* 供应商编号
*/
private String customerCode;
/**
* 供应商名称
*/
private String customerName;
/**
* 注册资金
*/
private Double registerCapital;
/**
* 统一社会信用代码
*/
private String unifySocialCode;
/**
* 工商注册号
*/
private String registerNo;
/**
* 组织机构代码号
*/
private String orgnizationCode;
/**
* 税务登记号
*/
private String businessLicense;
/**
* 身份信息选择
*/
private String cardType;
/**
* 身份证号
*/
private String idCard;
/**
* 纳税人身份
*/
private String paytaxType;
/**
* 纳税人税率
*/
private String taxRate;
/**
* 法人代表
*/
private String representative;
/**
* 联系人
*/
private String contactPerson;
/**
* 联系电话
*/
private String contactPhone;
/**
* 业主性质
*/
private String ownerKind;
/**
* 资质等级
*/
private String credential;
/**
* 施工承包范围
*/
private String constructJobScope;
/**
* 专业类别id
*/
private String groupSpecialtyId;
/**
* 集团专业类别
*/
private String groupSpecialty;
/**
* 城市id
*/
private String registerCityId;
/**
* 注册地区域
*/
private String registerRegion;
/**
* 省份
*/
private String registerProvince;
/**
* 城市
*/
private String registerCity;
/**
* 企业注册地
*/
private String registerAddress;
/**
* 开户行
*/
private String openBank;
/**
* 银行账号
*/
private String bankAccount;
/**
* 主营业务
*/
private String primaryBusiness;
/**
* 税号
*/
private String taxNumber;
/**
* 企业性质
*/
private String customerProperty;
//证书信息
/**
* 营业执照到期时间1
*/
private Date expireDate1;
/**
* 组织机构代码证到期时间2
*/
private Date expireDate2;
/**
* 税务登记证到期时间3
*/
private Date expireDate3;
/**
* 资质证书到期时间4
*/
private Date expireDate4;
/**
* 安全生产许可证到期时间5
*/
private Date expireDate5;
/**
* 施工队长资格证到期时间6
*/
private String expireDate6;
/**
* 授权委托书到期时间7
*/
private String expireDate7;
//审批意见
/**
* 经办人
*/
private String responsiblePerson;
/**
* 经办人签字时间
*/
private Date approveDate1;
/**
* 商务经理
*/
private String businessManager;
/**
* 商务经理签字时间
*/
private Date approveDate3;
/**
* 项目经理
*/
private String projectManager;
/**
* 项目经理签字时间
*/
private Date approveDate4;
/**
* 采购部门负责人/公司意见
*/
private String purchasePrincipal;
/**
* 准入时间
*/
private Date approveDate2;
}
package com.dsk.cscec.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import lombok.Data;
import java.util.Date;
/**
* 供应商分类查询
*
* @author
* @since 2023-12-10
*/
@Data
@ExcelIgnoreUnannotated
public class CustomerInfoVo {
private static final long serialVersionUID = 1L;
/**
* 客商主键
*/
private Long customerKey;
/**
* ipm供应商id
*/
private String customerId;
/**
* 供应商编号
*/
private String customerCode;
/**
* 供应商名称
*/
private String customerName;
/**
* 供应商状态
*/
private String customerState;
/**
* 推荐公司ID
*/
private String recommendOrgId;
/**
* 推荐公司
*/
private String recommendOrg;
/**
* 注册地区域
*/
private String registerRegion;
/**
* 省份
*/
private String registerProvince;
/**
* 城市
*/
private String registerCity;
/**
* 集团专业类别
*/
private String groupSpecialty;
/**
* 法人代表
*/
private String representative;
/**
* 纳税人身份
*/
private String paytaxType;
/**
* 纳税人税率
*/
private String taxRate;
/**
* 施工承包范围
*/
private String constructJobScope;
/**
* 资质等级
*/
private String credential;
/**
* 注册资金
*/
private Double registerCapital;
/**
* 联系人
*/
private String contactPerson;
/**
* 联系人电话
*/
private String contactPhone;
/**
* 准入时间
*/
private Date approveDate2;
/**
* 供应商类别
*/
private String customerClass;
/**
* 考评等级
*/
private String creditLevel;
/**
* 二级市场企业编码
*/
private String secondaryCode;
/**
* 统一社会信用代码/营业执照号码
*/
private String unifySocialCode;
/**
* 队长名称
*/
private String leaderName;
/**
* 劳务队长身份证号
*/
private String laborCaptainIdcard;
/**
* 劳务队长联系电话
*/
private String laborCaptainPhone;
/**
* 队伍规模人数
*/
private Double serviceTeamPersonnum;
/**
* 专业特长
*/
private String serviceTeamSpeciality;
/**
* 公司合作数量
*/
private Integer enterpriseCooperationCount;
/**
* 合作项目数量
*/
private Integer projectCooperationCount;
/**
* jsk企业id
*/
private Integer companyId;
/**
* 资源平台分类
*/
}
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;
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.11
* @time 14:01
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProjectSearchVo {
/**
* 项目主键
*/
private Long projectKey;
/**
* 项目ID
*/
private String projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 项目编码
*/
private String projectCode;
/**
* 省市
*/
private String provinceName;
/**
* 项目承接类型
*/
private String isinvestproject;
/**
* 工程基础大类
*/
private String projectType1;
/**
* 工程类别明细
*/
private String projectType;
/**
* 合同金额
*/
private BigDecimal contractOrigValue;
/**
* 业主单位
*/
private String ownerName;
/**
* 项目承接单位
*/
private String contractOrgName;
/**
* 咨询机构(咨询机构表)
*/
private AdvisoryBody advisoryBody;
/**
* 创建时间(合同生效日期)
*/
private Date contractSignDate;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @Author lcl
* @Data 2023/12/13 14:14
*/
@Data
public class RegionVo {
String value;
List<RegionVo> children;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @Author sxk
* @Data 2023/12/13 14:14
*/
@Data
public class RegionWithLevelVo {
String level;
String value;
List<RegionWithLevelVo> children;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
/**
* 咨询机构(SysAdvisoryBody)表数据库访问层
*
* @author sxk
* @since 2023-12-12 10:12:04
*/
public interface AdvisoryBodyMapper extends BaseMapper<AdvisoryBody> {
/**
* 查询最近一次合作时间
*/
Date selectLastCooperateTime(@Param("advisoryBodyId") Long advisoryBodyId);
/**
* 获取所有企业列表(咨询机构)数据
*/
Page<AdvisoryBodySearchVo> selectPageAdvisoryBodyList(@Param("page") Page<AdvisoryBodySearchVo> page, @Param(Constants.WRAPPER) Wrapper<AdvisoryBody> queryWrapper);
/**
* 咨询机构合作记录
* @param build
* @param bo
* @return
*/
Page<AdvisoryBodyVo> queryListByBo(IPage<AdvisoryBodyBo> build, @Param("bo") AdvisoryBodyBo bo);
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.AdvisoryBodyProject;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表数据库访问层
*
* @author makejava
* @since 2023-12-15 15:57:54
*/
public interface AdvisoryBodyProjectMapper extends BaseMapper<AdvisoryBodyProject> {
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.BizDictData;
import com.dsk.cscec.domain.bo.BizDictDataBo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 业务数据字典Mapper接口
*
* @author ruoyi
* @date 2021-11-08
*/
public interface BizDictDataMapper extends BaseMapper<BizDictData> {
public List<Long> findIdByName(String name);
BizDictData findByNameAndType(@Param("name") String name, @Param("type") String type);
int countByName(@Param("name") String name, @Param("type") String type);
List<BizDictData> exportListVo(@Param("bo") BizDictDataBo bo);
/**
* 根据ID查询相关数据
*
* @param id
* @return 查询到的数据
*/
BizDictData queryByID(Long id);
}
...@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.bo.DCustomerSearchBo; import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -20,5 +22,13 @@ public interface DCustomerMapper extends BaseMapper<DCustomer> { ...@@ -20,5 +22,13 @@ public interface DCustomerMapper extends BaseMapper<DCustomer> {
Page<DCustomer> allSearchList(IPage<DCustomerSearchBo> build, @Param("bo") DCustomerSearchBo bo); Page<DCustomer> allSearchList(IPage<DCustomerSearchBo> build, @Param("bo") DCustomerSearchBo bo);
/**
* 分类查询供应商列表
* @param build
* @param bo
* @return
*/
Page<CustomerInfoVo> queryListByType(IPage<CustomerInfoBo> build, @Param("bo") CustomerInfoBo bo);
} }
package com.dsk.cscec.mapper; package com.dsk.cscec.mapper;
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.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 org.apache.ibatis.annotations.Param;
/** /**
* 项目维表(DProject)表数据库访问层 * 项目维表(DProject)表数据库访问层
...@@ -10,6 +16,14 @@ import com.dsk.cscec.domain.DProject; ...@@ -10,6 +16,14 @@ import com.dsk.cscec.domain.DProject;
* @since 2023-12-10 15:34:46 * @since 2023-12-10 15:34:46
*/ */
public interface DProjectMapper extends BaseMapper<DProject> { public interface DProjectMapper extends BaseMapper<DProject> {
/**
* 获取所有项目列表数据
*/
Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper);
/**
* 获取合作项目明细
*/
Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper);
} }
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.DSubcontract;
/**
* 分包分供合同(DSubcontract)表数据库访问层
*
* @author lcl
* @since 2023-12-11 15:31:44
*/
public interface DSubcontractMapper extends BaseMapper<DSubcontract> {
Integer selectEnterpriseCountByCustomerId(String customerId);
Integer selectProjectCountByCustomerId(String customerId);
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.DimArea;
/**
* (DimArea)表数据库访问层
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
public interface DimAreaMapper extends BaseMapper<DimArea> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBodyProject;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表服务接口
*
* @author makejava
* @since 2023-12-15 15:57:57
*/
public interface AdvisoryBodyProjectService extends IService<AdvisoryBodyProject> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBody;
/**
* 咨询机构(SysAdvisoryBody)表服务接口
*
* @author sxk
* @since 2023-12-12 10:12:09
*/
public interface AdvisoryBodyService extends IService<AdvisoryBody> {
}
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.BizDictData;
import com.dsk.cscec.domain.TreeSelect;
import com.dsk.cscec.domain.bo.BizDictDataBo;
import java.util.List;
/**
* 业务数据字典Service接口
*
* @author ruoyi
* @date 2021-11-08
*/
public interface IBizDictDataService extends IService<BizDictData> {
/**
* 查询单个
*
* @return
*/
BizDictData queryById(Long id);
/**
* 查询列表
*/
TableDataInfo<BizDictData> queryPageList(BizDictDataBo bo, PageQuery query);
/**
* 查询列表
*/
List<BizDictData> queryList(BizDictDataBo bo);
String importDict(List<BizDictData> dictList, String type, String operName);
List<TreeSelect> buildDeptTreeSelect(BizDictDataBo bo);
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
/**
* 组织维表(DCustomer)表服务接口
*
* @author
* @since 2023-12-10
*/
public interface ICustomerInfoService extends IService<DCustomer> {
TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query);
CustomerApproveVo queryApproveByBo(CustomerInfoBo bo);
TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query);
}
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.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo;
import com.dsk.cscec.domain.bo.ProjectSearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo;
/** /**
* 项目维表(DProject)表服务接口 * 项目维表(DProject)表服务接口
* *
* @author makejava * @author sxk
* @since 2023-12-10 15:34:51 * @since 2023-12-10 15:34:51
*/ */
public interface IDProjectService extends IService<DProject> { public interface IDProjectService extends IService<DProject> {
/**
* 获取所有项目列表数据
*
* @param projectSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery);
/**
* 获取所有企业列表(咨询机构)数据
*
* @param advisoryBodySearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery);
/**
* 获取合作项目明细
*
* @param cooperateProjectDetailSearchBo 查询实体
* @param pageQuery 分页对象
* @return 所有数据
*/
TableDataInfo<CooperateProjectDetailSearchVo> queryCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery);
/**
* 根据项目主键查询项目详情
*
* @param projectKey 项目主键
* @return 项目详情
*/
ProjectDetailVo queryProjectDetail(Long projectKey);
/**
* 根据咨询机构ID查询咨询机构详情
*
* @param advisoryBodyId 咨询机构ID
* @return 咨询机构详情
*/
AdvisoryBody queryAdvisoryBodyDetail(Long advisoryBodyId);
} }
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import java.util.List;
/**
* (DimArea)表服务接口
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
public interface IDimAreaService extends IService<DimArea> {
List<RegionVo> allArea();
List<RegionWithLevelVo> allAreaWithoutRegion();
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.service.AdvisoryBodyProjectService;
import org.springframework.stereotype.Service;
/**
* 咨询机构和项目关联表(AdvisoryBodyProject)表服务实现类
*
* @author makejava
* @since 2023-12-15 15:57:57
*/
@Service("advisoryBodyProjectService")
public class AdvisoryBodyProjectServiceImpl extends ServiceImpl<AdvisoryBodyProjectMapper, AdvisoryBodyProject> implements AdvisoryBodyProjectService {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.service.AdvisoryBodyService;
import org.springframework.stereotype.Service;
/**
* 咨询机构(SysAdvisoryBody)表服务实现类
*
* @author sxk
* @since 2023-12-12 10:12:09
*/
@Service("sysAdvisoryBodyService")
public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, AdvisoryBody> implements AdvisoryBodyService {
}
package com.dsk.cscec.service.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.domain.BizDictData;
import com.dsk.cscec.domain.TreeSelect;
import com.dsk.cscec.domain.bo.BizDictDataBo;
import com.dsk.cscec.mapper.BizDictDataMapper;
import com.dsk.cscec.service.IBizDictDataService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 业务数据字典Service业务层处理
*
* @author ruoyi
* @date 2021-11-08
*/
@Slf4j
@Service
public class BizDictDataServiceImpl extends ServiceImpl<BizDictDataMapper, BizDictData> implements IBizDictDataService {
@Override
public BizDictData queryById(Long id) {
return baseMapper.queryByID(id);
}
@Override
public TableDataInfo<BizDictData> queryPageList(BizDictDataBo bo, PageQuery query) {
Page<BizDictData> result = baseMapper.selectPage(query.build(), buildQueryWrapper(bo));
return TableDataInfo.build(result);
}
@Override
public List<BizDictData> queryList(BizDictDataBo bo) {
return baseMapper.selectList(buildQueryWrapper(bo));
}
private LambdaQueryWrapper<BizDictData> buildQueryWrapper(BizDictDataBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<BizDictData> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getCode()), BizDictData::getCode, bo.getCode());
lqw.like(StringUtils.isNotBlank(bo.getName()), BizDictData::getName, bo.getName());
lqw.eq(StringUtils.isNotBlank(bo.getType()), BizDictData::getType, bo.getType());
lqw.eq(bo.getParentId() != null, BizDictData::getParentId, bo.getParentId());
return lqw;
}
/**
* 保存前的数据校验
*
* @param entity 实体类数据
*/
private void validEntityBeforeSave(BizDictData entity) {
//TODO 做一些数据校验,如唯一约束
//code唯一校验
if (StringUtils.isNotBlank(entity.getCode())) {
LambdaQueryWrapper<BizDictData> lqw = Wrappers.lambdaQuery();
lqw.eq(BizDictData::getType, entity.getType());
lqw.eq(BizDictData::getCode, entity.getCode());
lqw.ne(ObjectUtil.isNotNull(entity.getId()), BizDictData::getId, entity.getId());
List<BizDictData> dictDataList = baseMapper.selectList(lqw);
if (CollectionUtils.isNotEmpty(dictDataList)) {
Assert.isTrue(false, "编码 " + entity.getCode() + " 已存在");
}
}
}
public List<BizDictData> buildDeptTree(List<BizDictData> depts) {
List<BizDictData> returnList = new ArrayList<BizDictData>();
List<String> tempList = new ArrayList<String>();
for (BizDictData dept : depts) {
tempList.add(dept.getId());
}
for (BizDictData dept : depts) {
// 如果是顶级节点, 遍历该父节点的所有子节点
if (!tempList.contains(dept.getParentId())) {
recursionFn(depts, dept);
returnList.add(dept);
}
}
if (returnList.isEmpty()) {
returnList = depts;
}
return returnList;
}
/**
* 递归列表
*/
private void recursionFn(List<BizDictData> list, BizDictData t) {
// 得到子节点列表
List<BizDictData> childList = getChildList(list, t);
t.setChildren(childList);
for (BizDictData tChild : childList) {
if (hasChild(list, tChild)) {
recursionFn(list, tChild);
}
}
}
/**
* 得到子节点列表
*/
private List<BizDictData> getChildList(List<BizDictData> list, BizDictData t) {
List<BizDictData> tlist = new ArrayList<BizDictData>();
for (BizDictData n : list) {
if (ObjectUtil.isNotNull(n.getParentId()) && n.getParentId().equals(t.getId())) {
tlist.add(n);
}
}
return tlist;
}
/**
* 判断是否有子节点
*/
private boolean hasChild(List<BizDictData> list, BizDictData t) {
return getChildList(list, t).size() > 0;
}
@Override
public String importDict(List<BizDictData> dictList, String type, String operName) {
int successNum = 0;
int failureNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failureMsg = new StringBuilder();
for (BizDictData dictData : dictList) {
try {
Assert.notNull(dictData.getName(), "字典名称不能为空");
dictData.setType(type);
//查询编码是否重复
validEntityBeforeSave(dictData);
//查询名称是否重复
Assert.isFalse(baseMapper.countByName(dictData.getName(), type) != 0, "字典名称已存在");
//查询是否有父级
if (StrUtil.isNotBlank(dictData.getParentName())) {
BizDictData bizDictData = baseMapper.findByNameAndType(dictData.getParentName(), type);
if (bizDictData != null) {
dictData.setParentId(bizDictData.getId());
dictData.setAncestors(bizDictData.getAncestors() + "," + bizDictData.getId());
} else {
// bizDictData = new BizDictData();
// bizDictData.setName(dictData.getParentName());
// bizDictData.setType(type);
// this.save(bizDictData);
// dictData.setParentId(bizDictData.getId());
Assert.isTrue(false, "父级 " + dictData.getParentName() + " 不存在");
}
} else {
dictData.setParentId("0");
}
this.save(dictData);
successNum++;
successMsg.append("<br/>" + successNum + "、字典 " + dictData.getName() + " 导入成功");
} catch (Exception e) {
failureNum++;
String msg = "<br/>" + failureNum + "、字典 " + dictData.getName() + " 导入失败:";
failureMsg.append(msg + e.getMessage());
log.error("BizDictDataServiceImpl.importDict() error:" + msg, e);
}
}
if (failureNum > 0) {
failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failureMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
@Override
public List<TreeSelect> buildDeptTreeSelect(BizDictDataBo bo) {
List<BizDictData> list = baseMapper.selectList(buildQueryWrapper(bo));
List<BizDictData> deptTrees = buildDeptTree(list);
return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
}
}
package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.constant.QueryConstants;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.ICustomerInfoService;
import com.dsk.search.service.BusinessOpportunityRadarService;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Map;
/**
* 组织维表(DCustomer)表服务实现类
*
* @author
* @since 2023-12-10
*/
@Service
public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer> implements ICustomerInfoService {
@Autowired
private DSubcontractMapper subcontractMapper;
@Autowired
private BusinessOpportunityRadarService opportunityRadarService;
@Autowired
private AdvisoryBodyMapper advisoryBodyMapper;
@Override
public TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query) {
if("劳务分包".equals(bo.getCustomerClass())){
bo.setServiceTeamLogo("N");
}
if("劳务分包队伍".equals(bo.getCustomerClass())){
bo.setCustomerClass("劳务分包");
bo.setServiceTeamLogo("Y");
}
Page<CustomerInfoVo> page = baseMapper.queryListByType(query.build(), bo);
if (CollectionUtils.isNotEmpty(page.getRecords())) {
page.getRecords().parallelStream().forEach(item->{
//企业合作数量
item.setEnterpriseCooperationCount(subcontractMapper.selectEnterpriseCountByCustomerId(item.getCustomerId()));
//项目合作数量
item.setProjectCooperationCount(subcontractMapper.selectProjectCountByCustomerId(item.getCustomerId()));
try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(item.getCustomerName());
if (!ObjectUtils.isEmpty(map.get("data"))) {
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
Integer companyId = MapUtil.getInt(data, "jskEid");
item.setCompanyId(companyId);
}
}catch (Exception e){
//
}
});
}
return TableDataInfo.build(page);
}
@Override
public CustomerApproveVo queryApproveByBo(CustomerInfoBo bo) {
if(ObjectUtil.isNull(bo.getCustomerKey()) && StringUtil.isBlank(bo.getCustomerName()) && StringUtil.isBlank(bo.getUnifySocialCode())){
Assert.isTrue(false,"参数不能为空");
}
LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery();
lqw.eq(ObjectUtil.isNotNull(bo.getCustomerKey()),DCustomer::getCustomerKey,bo.getCustomerKey());
lqw.eq(StringUtil.isNotBlank(bo.getUnifySocialCode()),DCustomer::getUnifySocialCode,bo.getUnifySocialCode());
lqw.eq(StringUtil.isNotBlank(bo.getCustomerName()),DCustomer::getCustomerName,bo.getCustomerName());
lqw.orderByDesc(DCustomer::getApproveDate2);
lqw.last("limit 1");
DCustomer dCustomer = baseMapper.selectOne(lqw);
CustomerApproveVo vo = BeanUtil.toBean(dCustomer, CustomerApproveVo.class);
return vo;
}
@Override
public TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query) {
bo.setContractOrgId(QueryConstants.LEVEL1_COMPANY_ID);
Page<AdvisoryBodyVo> page = advisoryBodyMapper.queryListByBo(query.build(),bo);
return TableDataInfo.build(page);
}
}
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo; import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.mapper.DCustomerMapper; import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.domain.DCustomer; import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.IDCustomerService; import com.dsk.cscec.service.IDCustomerService;
import com.dsk.search.service.BusinessOpportunityRadarService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/** /**
* 组织维表(DCustomer)表服务实现类 * 组织维表(DCustomer)表服务实现类
...@@ -15,12 +29,78 @@ import org.springframework.stereotype.Service; ...@@ -15,12 +29,78 @@ import org.springframework.stereotype.Service;
* @author lcl * @author lcl
* @since 2023-12-08 14:57:26 * @since 2023-12-08 14:57:26
*/ */
@Slf4j
@Service @Service
public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer> implements IDCustomerService { public class DCustomerServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer> implements IDCustomerService {
@Resource
private DSubcontractMapper subcontractMapper;
@Autowired
private BusinessOpportunityRadarService opportunityRadarService;
@Override @Override
public TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query) { public TableDataInfo<DCustomer> allSearchList(DCustomerSearchBo bo, PageQuery query) {
return TableDataInfo.build(baseMapper.allSearchList(query.build(),bo)); dealWithCustomerClass(bo);
Page<DCustomer> page = baseMapper.allSearchList(query.build(), bo);
if (CollectionUtils.isNotEmpty(page.getRecords())) {
page.getRecords().parallelStream().forEach(item->{
//企业合作数量
item.setEnterpriseCooperationCount(subcontractMapper.selectEnterpriseCountByCustomerId(item.getCustomerId()));
//项目合作数量
item.setProjectCooperationCount(subcontractMapper.selectProjectCountByCustomerId(item.getCustomerId()));
try {
Map<String, Object> map = opportunityRadarService.enterpriseByName(item.getCustomerName());
if (!ObjectUtils.isEmpty(map.get("data"))) {
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
Integer companyId = MapUtil.getInt(data, "jskEid");
item.setCompanyId(companyId);
}
}catch (Exception e){
//
}
});
}
return TableDataInfo.build(page);
}
private void dealWithCustomerClass(DCustomerSearchBo bo) {
if (!ObjectUtils.isEmpty(bo.getCustomerClass())) {
List<String> list = new ArrayList<>();
Integer isTeam = null;
for (String customerClass : bo.getCustomerClass()) {
switch (customerClass){
case "专业分包":
list.add("专业分包");
break;
case "物资设备":
list.add("分供");
break;
case "施工机械":
list.add("租赁");
break;
case "劳务分包":
if(isTeam == null){
isTeam = 0;
}else if(isTeam == 1) {
isTeam = null;
}
list.add("劳务分包");
break;
case "劳务队伍":
if(isTeam == null) {
isTeam = 1;
}else if(isTeam == 0) {
isTeam = null;
}
list.add("劳务分包");
break;
default:
break;
}
}
bo.setCustomerClass(list);
bo.setIsTeam(isTeam);
}
} }
} }
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.RegionWithLevelVo;
import com.dsk.cscec.mapper.DimAreaMapper;
import com.dsk.cscec.service.IDimAreaService;
import com.dsk.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* (DimArea)表服务实现类
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@Service
public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> implements IDimAreaService {
@Autowired
private ISysDictTypeService sysDictTypeService;
private static final String AREA_TYPE = "arealist";
// @Cacheable(cacheNames = "", key = "")
@Override
public List<RegionVo> allArea() {
List<RegionVo> vos = new ArrayList<>();
//区域
List<SysDictData> sysDictData = sysDictTypeService.selectDictDataByType(AREA_TYPE);
if(CollectionUtils.isNotEmpty(sysDictData)){
for (SysDictData data : sysDictData) {
RegionVo regionVo = new RegionVo();
regionVo.setValue(data.getDictValue());
List<RegionVo> provinceVos = new ArrayList<>();
//省
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);
provinceVos.add(provinceVo);
}
}
regionVo.setChildren(provinceVos);
vos.add(regionVo);
}
}
return vos;
}
@Override
public List<RegionWithLevelVo> allAreaWithoutRegion() {
List<RegionWithLevelVo> vos = new ArrayList<>();
//区域
List<SysDictData> sysDictData = sysDictTypeService.selectDictDataByType(AREA_TYPE);
if(CollectionUtils.isNotEmpty(sysDictData)){
for (SysDictData data : sysDictData) {
//省
List<Object> provinces = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName2)
.eq(DimArea::getAreaName1, data.getDictValue())
.ne(DimArea::getAreaName2, data.getDictValue())
.groupBy(DimArea::getAreaName2));
if(CollectionUtils.isNotEmpty(provinces)){
for (Object province : provinces) {
RegionWithLevelVo provinceVo = new RegionWithLevelVo();
provinceVo.setValue(String.valueOf(province));
provinceVo.setLevel("1");
List<RegionWithLevelVo> cityVos = new ArrayList<>();
//市
List<Object> citys = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName3)
.eq(DimArea::getAreaName2, provinceVo.getValue())
.ne(DimArea::getAreaName3, provinceVo.getValue())
.groupBy(DimArea::getAreaName3));
if(CollectionUtils.isNotEmpty(citys)){
for (Object city : citys) {
RegionWithLevelVo cityVo = new RegionWithLevelVo();
cityVo.setValue(String.valueOf(city));
cityVo.setLevel("2");
cityVos.add(cityVo);
}
}
provinceVo.setChildren(cityVos);
vos.add(provinceVo);
}
}
}
}
return vos;
}
}
package com.dsk.jsk.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @ClassName PartnershipProjectSource
* @Description
* @Author Dgm
* @Date 2023/12/11 20:35
* @Version
*/
@Slf4j
@RestController
@RequestMapping(value = "/enterpriseCredit")
public class PartnershipProjectSource {
}
package com.dsk.jsk.domain.bo;
import java.util.Date;
/**
* @ClassName PartnershipProjectSource
* @Description
* @Author Dgm
* @Date 2023/12/11 20:37
* @Version
*/
public class JskCompanyRelationTableV1 {
/**
*
*/
private String uuid;
/**
* 项目唯一标识
*/
private String partnerRelationshipUuid;
/**
* 企业Id
*/
private Long companyId;
/**
* 企业名称
*/
private String companyName;
/**
* 企业角色
*/
private String companyRole;
/**
* 乙方企业名称
*/
private String counterpartCompanyName;
/**
* 乙方企业id
*/
private String counterpartCompanyId;
/**
* 乙方企业角色
*/
private String counterpartCompanyRole;
/**
* 工程名称
*/
private String project;
/**
*
*/
private String projectMd5;
/**
* 项目类型
*/
private String buildingProjectType;
/**
* 咨询机构业务类型
*/
private String enquiryAgencyBusinessType;
/**
* 公布日期
*/
private Date contractStartDate;
/**
* 本次合作合同金额(万元)
*/
private String contractAmount;
/**
* 币种
*/
private String currency;
/**
* 省份
*/
private String province;
/**
* 省Id
*/
private String provinceId;
/**
* 市
*/
private String city;
/**
* 市Id
*/
private String cityId;
/**
* 区
*/
private String area;
/**
* 区Id
*/
private String areaId;
/**
* 数据来源id
*/
private String isDeal;
}
package com.dsk.jsk.service;
import org.springframework.stereotype.Service;
/**
* @ClassName JskCompanyRelationTableV1Service
* @Description 1
* @Author Dgm
* @Date 2023/12/13 10:48
* @Version
*/
@Service
public class JskCompanyRelationTableV1Service {
}
This diff is collapsed.
This diff is collapsed.
...@@ -7,4 +7,4 @@ NODE_ENV = production ...@@ -7,4 +7,4 @@ NODE_ENV = production
ENV = 'staging' ENV = 'staging'
# 数字化经营履约全生命链路管理系统/测试环境 # 数字化经营履约全生命链路管理系统/测试环境
VUE_APP_BASE_API = '/stage-api' VUE_APP_BASE_API = '/prod-api'
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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