Commit 47b4fcd4 authored by liuChang's avatar liuChang

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

parents 37003a2e 8484a4a9
package com.dsk.web.schedule;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.constant.PushConstants;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.SysConfig;
import com.dsk.system.domain.SysPush;
import com.dsk.system.domain.SysStatutoryHoliday;
import com.dsk.system.mapper.SysStatutoryHolidayMapper;
import com.dsk.system.service.ISysConfigService;
import com.dsk.system.service.ISysPushService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 推送相关定时任务
*
* @Author lcl
* @Data 2023/12/21 17:05
*/
@Component
@RequiredArgsConstructor
@Slf4j
public class PushTask {
@Autowired
private ISysPushService pushService;
@Autowired
private ISysConfigService configService;
@Resource
private SysStatutoryHolidayMapper statutoryHolidayMapper;
/**
* 供应商不良推送(每分钟)
*/
// @Scheduled(cron = "0 * * * * ? ")
public void customerBadness() {
//1.是否推送时间段(日期、时间)
if (!isPush()) return;
//2.推送数据(当前时段是否存在数据)
//3.推送人员
List<SysPush> list = pushService.list(Wrappers.<SysPush>lambdaQuery().eq(SysPush::getStatus, 0));
if (CollectionUtils.isNotEmpty(list)) {
list.parallelStream().forEach(item -> {
Map<String, Object> param = new HashMap<>();
param.put("name", item.getName());
});
}
}
//是否推送
private boolean isPush() {
//推送类型
SysConfig type = configService.selectConfigByKey(PushConstants.CUSTOMEER_BADNESS_TYPE_KEY);
if (ObjectUtils.isEmpty(type)) return false;
if ("1".equals(type.getConfigValue()) && !isWorkingDay()) return false;
//推送时段
SysConfig frame = configService.selectConfigByKey(PushConstants.CUSTOMEER_BADNESS_FRAME_KEY);
return !ObjectUtils.isEmpty(frame) && isPushTime(frame.getConfigValue());
}
//判断当前是否工作日
private boolean isWorkingDay() {
LocalDate date = LocalDate.now();
SysStatutoryHoliday today = statutoryHolidayMapper.selectOne(Wrappers.<SysStatutoryHoliday>lambdaQuery()
.eq(SysStatutoryHoliday::getDate, date));
if (!ObjectUtils.isEmpty(today)) return today.getIsHoliday() == 0;
return date.getDayOfWeek() != DayOfWeek.SATURDAY && date.getDayOfWeek() != DayOfWeek.SUNDAY;
}
//判断是否在当前时段推送
private boolean isPushTime(String timeFrame) {
String date = LocalDate.now().toString();
String[] split = timeFrame.split("-");
Date currentTime = new Date();
return currentTime.after(DateUtils.parseDate(date + " " + split[0])) && currentTime.before(DateUtils.parseDate(date + " " + split[1]));
}
}
package com.dsk.web.schedule; package com.dsk.web.schedule;
import com.dsk.common.tenant.helper.TenantHelper; import com.dsk.common.tenant.helper.TenantHelper;
import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.system.service.ISysTenantService; import com.dsk.system.service.ISysTenantService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -19,9 +20,10 @@ import org.springframework.stereotype.Component; ...@@ -19,9 +20,10 @@ import org.springframework.stereotype.Component;
public class TenantTimerTask { public class TenantTimerTask {
private final ISysTenantService tenantService; private final ISysTenantService tenantService;
private final AdvisoryBodyService advisoryBodyService;
/** /**
* 每6小时扫描并禁用已过期租户账号 * 每10分钟扫描并禁用已过期租户账号
*/ */
@Scheduled(cron = "0 0/10 * * * ? ") @Scheduled(cron = "0 0/10 * * * ? ")
public void updateExpiredTenantStatus() { public void updateExpiredTenantStatus() {
...@@ -29,4 +31,13 @@ public class TenantTimerTask { ...@@ -29,4 +31,13 @@ public class TenantTimerTask {
TenantHelper.ignore(tenantService::handleExpiredTenant); TenantHelper.ignore(tenantService::handleExpiredTenant);
} }
/**
* 每小时更新一次咨询机构经营范围
*/
@Scheduled(cron = "0 0 * 1/1 * ? ")
public void updateAdvisoryBodyBusinessScope() {
log.info("执行定时更新咨询机构经营范围(1h/次)");
TenantHelper.ignore(advisoryBodyService::updateAdvisoryBodyBusinessScope);
}
} }
\ No newline at end of file
...@@ -167,11 +167,11 @@ sms: ...@@ -167,11 +167,11 @@ sms:
#请求地址 默认为 dysmsapi.aliyuncs.com 如无特殊改变可以不用设置 #请求地址 默认为 dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
requestUrl: dysmsapi.aliyuncs.com requestUrl: dysmsapi.aliyuncs.com
#阿里云的accessKey #阿里云的accessKey
accessKeyId: LTAIC4Pb2jJZbUmD accessKeyId: LTAIFKlRP50kOB5b
#阿里云的accessKeySecret #阿里云的accessKeySecret
accessKeySecret: L7VANFwqaTludkczLsg9jhvidk0e28 accessKeySecret: I2HvinEcSgiJPFOhRbKKP1jl1wH5E3
#短信签名 #短信签名
signature: 大司空信息科技 signature: 中建一局二公司
tencent: tencent:
#请求地址默认为 sms.tencentcloudapi.com 如无特殊改变可不用设置 #请求地址默认为 sms.tencentcloudapi.com 如无特殊改变可不用设置
requestUrl: sms.tencentcloudapi.com requestUrl: sms.tencentcloudapi.com
......
...@@ -168,8 +168,11 @@ tenant: ...@@ -168,8 +168,11 @@ tenant:
- d_subcontract - d_subcontract
- advisory_body - advisory_body
- advisory_body_project - advisory_body_project
- advisory_body_custom_form
- dim_area - dim_area
- biz_dict_data - biz_dict_data
- push_monitor_rules
- push_monitor_info
# MyBatisPlus配置 # MyBatisPlus配置
......
package com.dsk.common.constant;
/**
* 推送相关
*/
public interface PushConstants {
/**
* 供应商不良推送短信模板
*/
String CUSTOMEER_BADNESS_SMS = "SMS_464311026";
/**
* 供应商不良推送类型
*/
String CUSTOMEER_BADNESS_TYPE_KEY = "customer-badness-date-type";
/**
* 供应商不良推送时段
*/
String CUSTOMEER_BADNESS_FRAME_KEY = "customer-badness-time-frame";
}
...@@ -12,6 +12,7 @@ import java.time.LocalDateTime; ...@@ -12,6 +12,7 @@ import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
/** /**
...@@ -191,4 +192,30 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { ...@@ -191,4 +192,30 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
int year = localDate.getHour(); int year = localDate.getHour();
return year; return year;
} }
/**
* 获取小时前后日期
* @param date
* @param hours
* @return
*/
public static Date addDays(Date date, int hours) {
return org.apache.commons.lang3.time.DateUtils.addHours(date, hours);
}
/***
*@Description: yyyy-MM-dd HH:mm:ss
*@Param:
*@return: java.lang.String
*@Author: Dgm
*@date: 2023/12/21 18:23
*/
public static String format(Date date) {
Calendar calendar = Calendar.getInstance();
if (date != null) {
calendar.setTime(date);
}
return new SimpleDateFormat(YYYY_MM_DD_HH_MM_SS).format(calendar.getTime());
}
} }
...@@ -5,23 +5,20 @@ import com.dsk.common.core.controller.BaseController; ...@@ -5,23 +5,20 @@ 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.bo.AdvisoryBodySearchBo; import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import com.dsk.cscec.domain.bo.CooperateProjectDetailSearchBo; import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.bo.ProjectDetailBo; import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.domain.bo.ProjectSearchBo; import com.dsk.cscec.service.AdvisoryBodyCustomFormService;
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.AdvisoryBodyProjectService; import com.dsk.cscec.service.AdvisoryBodyProjectService;
import com.dsk.cscec.service.AdvisoryBodyService; import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.IDProjectService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
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 javax.annotation.Resource;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/** /**
* 咨询机构管理控制层 * 咨询机构管理控制层
...@@ -29,7 +26,6 @@ import javax.annotation.Resource; ...@@ -29,7 +26,6 @@ import javax.annotation.Resource;
* @author sxk * @author sxk
* @since 2023-12-10 15:34:46 * @since 2023-12-10 15:34:46
*/ */
@Validated
@RestController @RestController
@RequestMapping("advisory/body") @RequestMapping("advisory/body")
public class AdvisoryBodyManageController extends BaseController { public class AdvisoryBodyManageController extends BaseController {
...@@ -39,6 +35,8 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -39,6 +35,8 @@ public class AdvisoryBodyManageController extends BaseController {
private AdvisoryBodyService advisoryBodyService; private AdvisoryBodyService advisoryBodyService;
@Resource @Resource
private AdvisoryBodyProjectService advisoryBodyProjectService; private AdvisoryBodyProjectService advisoryBodyProjectService;
@Resource
private AdvisoryBodyCustomFormService advisoryBodyCustomFormService;
/** /**
* 获取所有项目列表数据 * 获取所有项目列表数据
...@@ -60,15 +58,57 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -60,15 +58,57 @@ public class AdvisoryBodyManageController extends BaseController {
* 获取合作项目明细 * 获取合作项目明细
*/ */
@GetMapping("/getCooperateProjectDetailList") @GetMapping("/getCooperateProjectDetailList")
public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) { public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(@Validated CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
return baseService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery); return baseService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery);
} }
/** /**
* 根据项目主键查询项目详情 * 获取项目详情
*/ */
@GetMapping("/getProjectDetail") @GetMapping("/getProjectDetail")
public R<ProjectDetailVo> getProjectDetail(ProjectDetailBo projectDetailBo) { public R<ProjectDetailVo> getProjectDetail(@Validated ProjectDetailBo projectDetailBo) {
return R.ok(baseService.queryProjectDetail(projectDetailBo)); return R.ok(baseService.queryProjectDetail(projectDetailBo));
} }
/**
* 校验咨询机构是否存在
*/
@GetMapping("/checkAdvisoryBodyExist")
public R<AdvisoryBodyExistVo> checkAdvisoryBodyExist(@NotBlank(message = "咨询机构名称不能为空") String advisoryBodyName) {
return R.ok(advisoryBodyService.checkAdvisoryBodyExist(advisoryBodyName));
}
/**
* 新增咨询机构
*/
@PostMapping("/addAdvisoryBody")
public R<Void> addAdvisoryBody(@Validated AddAdvisoryBodyBo addAdvisoryBodyBo) {
return toAjax(advisoryBodyService.addAdvisoryBody(addAdvisoryBodyBo));
}
/**
* 获取咨询机构自定义表单
*/
@GetMapping("/getAdvisoryBodyCustomForm/{projectKey}")
public R<AdvisoryBodyCustomForm> getAdvisoryBodyCustomForm(@Validated @NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) {
return R.ok(advisoryBodyCustomFormService.getById(projectKey));
}
/**
* 新增咨询机构自定义表单
*/
@PostMapping("/addAdvisoryBodyCustomForm")
@Transactional(rollbackFor = Exception.class)
public R<Void> addAdvisoryBodyCustomForm(@Validated AdvisoryBodyCustomForm advisoryBodyCustomForm) {
return toAjax(advisoryBodyCustomFormService.save(advisoryBodyCustomForm));
}
/**
* 更新咨询机构自定义表单
*/
@PutMapping("/updateAdvisoryBodyCustomForm")
@Transactional(rollbackFor = Exception.class)
public R<Void> updateAdvisoryBodyCustomForm(@Validated AdvisoryBodyCustomForm advisoryBodyCustomForm) {
return toAjax(advisoryBodyCustomFormService.updateById(advisoryBodyCustomForm));
}
} }
\ No newline at end of file
...@@ -4,7 +4,6 @@ package com.dsk.cscec.controller; ...@@ -4,7 +4,6 @@ package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.vo.RegionVo; import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import com.dsk.cscec.service.IDimAreaService; import com.dsk.cscec.service.IDimAreaService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -40,7 +39,7 @@ public class DimAreaController extends BaseController { ...@@ -40,7 +39,7 @@ public class DimAreaController extends BaseController {
* 获取地区树(不含区域) * 获取地区树(不含区域)
*/ */
@GetMapping("/all/withoutRegion") @GetMapping("/all/withoutRegion")
public R<List<RegionWithLevelVo>> allAreaWithoutRegion(){ public R<List<RegionVo>> allAreaWithoutRegion(){
return R.ok(baseService.allAreaWithoutRegion()); return R.ok(baseService.allAreaWithoutRegion());
} }
} }
......
package com.dsk.cscec.domain; package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* 咨询机构(SysAdvisoryBody)表实体类 * 咨询机构(SysAdvisoryBody)表实体类
...@@ -14,10 +15,11 @@ import java.util.Date; ...@@ -14,10 +15,11 @@ import java.util.Date;
* @author sxk * @author sxk
* @since 2023-12-12 10:12:06 * @since 2023-12-12 10:12:06
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class AdvisoryBody implements Serializable { public class AdvisoryBody extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -38,24 +40,5 @@ public class AdvisoryBody implements Serializable { ...@@ -38,24 +40,5 @@ public class AdvisoryBody implements Serializable {
* 经营范围 * 经营范围
*/ */
private String businessScope; private String businessScope;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
} }
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)实体类
*
* @author sxk
* @since 2023-12-20 16:39:43
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 项目主键
*/
@TableId(value = "project_key")
@NotNull(message = "项目主键不能为空")
private Long projectKey;
/**
* 咨询机构ID
*/
@NotNull(message = "咨询机构ID不能为空")
private Long advisoryBodyId;
/**
* json数据
*/
@NotBlank(message = "json数据不能为空")
private String jsonData;
}
package com.dsk.cscec.domain; package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/** /**
...@@ -11,8 +14,9 @@ import java.util.Date; ...@@ -11,8 +14,9 @@ import java.util.Date;
* @date 2023.12.15 * @date 2023.12.15
* @time 15:58 * @time 15:58
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
public class AdvisoryBodyProject implements Serializable { public class AdvisoryBodyProject extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -48,7 +52,7 @@ public class AdvisoryBodyProject implements Serializable { ...@@ -48,7 +52,7 @@ public class AdvisoryBodyProject implements Serializable {
/** /**
* 结算金额(万元) * 结算金额(万元)
*/ */
private Double settleAmount; private BigDecimal settleAmount;
/** /**
* 结算开始时间 * 结算开始时间
*/ */
...@@ -61,20 +65,4 @@ public class AdvisoryBodyProject implements Serializable { ...@@ -61,20 +65,4 @@ public class AdvisoryBodyProject implements Serializable {
* 是否为终审单位(0代表是 1代表否) * 是否为终审单位(0代表是 1代表否)
*/ */
private String isFinalJudgeUnit; private String isFinalJudgeUnit;
/**
* 创建者
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新者
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
} }
...@@ -13,7 +13,7 @@ import java.util.Date; ...@@ -13,7 +13,7 @@ import java.util.Date;
*/ */
@Data @Data
public class DProject implements Serializable { public class DProject implements Serializable {
private static final long serialVersionUID = -39953154592938442L; private static final long serialVersionUID = 1L;
/** /**
* 项目主键 * 项目主键
......
package com.dsk.cscec.domain.bo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* @author sxk
* @date 2023.12.19
* @time 09:54
*/
@Data
public class AddAdvisoryBodyBo {
/**
* 是否为新资讯机构
*/
@NotNull(message = "是否为新咨询机构不能为空")
private Boolean isNewAdvisoryBody;
/**
* 项目主键
*/
@NotNull(message = "项目主键不能为空")
private Long projectKey;
/**
* 咨询机构cid(用于查询建设库数据)
*/
@NotNull(message = "咨询机构cid不能为空")
private Integer advisoryBodyCid;
/**
* 咨询机构名称
*/
@NotBlank(message = "咨询机构名称不能为空")
private String advisoryBodyName;
/**
* 经营范围
*/
@NotBlank(message = "经营范围不能为空")
private String businessScope;
/**
* 项目负责人
*/
private String projectLeader;
/**
* 项目负责人专业
*/
private String projectLeaderMajor;
/**
* 项目负责人联系电话
*/
private String projectLeaderPhone;
/**
* 结算金额(万元)
*/
private Double settleAmount;
/**
* 结算开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date settleStartTime;
/**
* 结算完成时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date settleFinishTime;
/**
* 是否为终审单位(0代表是 1代表否)
*/
private String isFinalJudgeUnit;
}
...@@ -39,6 +39,10 @@ public class AdvisoryBodyBo extends BaseEntity { ...@@ -39,6 +39,10 @@ public class AdvisoryBodyBo extends BaseEntity {
* 项目承接单位 * 项目承接单位
*/ */
private String contractOrgName; private String contractOrgName;
/**
* 区域
*/
private List<String> area;
/** /**
* 省份 * 省份
*/ */
......
package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author sxk
* @date 2023.12.19
* @time 14:20
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class AdvisoryBodyExistVo extends AdvisoryBody {
/**
* 是否为新资讯机构
*/
private Boolean isNewAdvisoryBody;
}
...@@ -3,6 +3,7 @@ package com.dsk.cscec.domain.vo; ...@@ -3,6 +3,7 @@ package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
...@@ -12,6 +13,7 @@ import java.util.Date; ...@@ -12,6 +13,7 @@ import java.util.Date;
* @date 2023.12.13 * @date 2023.12.13
* @time 10:32 * @time 10:32
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
......
...@@ -62,7 +62,7 @@ public class AdvisoryBodyVo { ...@@ -62,7 +62,7 @@ public class AdvisoryBodyVo {
* 工程类别明细 * 工程类别明细
*/ */
@ExcelProperty(value = "工程类别明细", index = 6) @ExcelProperty(value = "工程类别明细", index = 6)
private String projectType; private String projectType2;
/** /**
* 咨询机构ID * 咨询机构ID
...@@ -97,7 +97,7 @@ public class AdvisoryBodyVo { ...@@ -97,7 +97,7 @@ public class AdvisoryBodyVo {
* 合同金额 * 合同金额
*/ */
@ExcelProperty(value = "合同金额", index = 10) @ExcelProperty(value = "合同金额", index = 10)
private BigDecimal contractOrigValue; private BigDecimal contractValue;
/** /**
* 业主单位 * 业主单位
...@@ -112,8 +112,8 @@ public class AdvisoryBodyVo { ...@@ -112,8 +112,8 @@ public class AdvisoryBodyVo {
private String contractOrgName; private String contractOrgName;
/** /**
* 创建时间 * 创建时间/合同生效(盖章)日期
*/ */
@ExcelProperty(value = "创建时间", index = 13) @ExcelProperty(value = "创建时间", index = 13)
private Date loadTime; private Date contractSignDate;
} }
package com.dsk.cscec.domain.vo; package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBodyProject;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -67,6 +67,11 @@ public class CooperateProjectDetailSearchVo { ...@@ -67,6 +67,11 @@ public class CooperateProjectDetailSearchVo {
*/ */
private BigDecimal contractOrigValue; private BigDecimal contractOrigValue;
/**
* 咨询机构与项目关联信息
*/
private AdvisoryBodyProject advisoryBodyProject;
/** /**
* 结算天数(天) * 结算天数(天)
*/ */
...@@ -82,11 +87,6 @@ public class CooperateProjectDetailSearchVo { ...@@ -82,11 +87,6 @@ public class CooperateProjectDetailSearchVo {
*/ */
private String contractOrgName; private String contractOrgName;
/**
* 咨询机构(咨询机构表)
*/
private AdvisoryBody advisoryBody;
/** /**
* 创建时间(合同生效日期) * 创建时间(合同生效日期)
*/ */
......
...@@ -79,6 +79,10 @@ public class CustomerApproveVo { ...@@ -79,6 +79,10 @@ public class CustomerApproveVo {
* 业主性质 * 业主性质
*/ */
private String ownerKind; private String ownerKind;
/**
* 企业性质
*/
private String customerProperty;
/** /**
* 资质等级 * 资质等级
*/ */
...@@ -132,10 +136,6 @@ public class CustomerApproveVo { ...@@ -132,10 +136,6 @@ public class CustomerApproveVo {
* 税号 * 税号
*/ */
private String taxNumber; private String taxNumber;
/**
* 企业性质
*/
private String customerProperty;
//证书信息 //证书信息
/** /**
...@@ -167,6 +167,10 @@ public class CustomerApproveVo { ...@@ -167,6 +167,10 @@ public class CustomerApproveVo {
*/ */
private String expireDate7; private String expireDate7;
//审批意见 //审批意见
/**
* 是否同意准入/准入情况
*/
private String isagree;
/** /**
* 经办人 * 经办人
*/ */
......
package com.dsk.cscec.domain.vo; package com.dsk.cscec.domain.vo;
import com.dsk.common.annotation.Excel; import com.dsk.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -16,7 +17,7 @@ public class DCustomerListVo implements Serializable { ...@@ -16,7 +17,7 @@ public class DCustomerListVo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Excel(name = "序号", width = 6) @Excel(name = "序号", width = 6)
private Integer num; private Integer num;
/** /**
* jsk企业id * jsk企业id
...@@ -37,135 +38,135 @@ public class DCustomerListVo implements Serializable { ...@@ -37,135 +38,135 @@ public class DCustomerListVo implements Serializable {
/** /**
* 供应商名称 * 供应商名称
*/ */
@Excel(name = "供应商名称", width = 30) @Excel(name = "供应商名称", width = 30)
private String customerName; private String customerName;
/** /**
* 供应商编号 * 供应商编号
*/ */
@Excel(name = "供应商编号", width = 15) @Excel(name = "供应商编号", width = 15)
private String customerCode; private String customerCode;
/** /**
* 推荐公司 * 推荐公司
*/ */
@Excel(name = "推荐单位", width = 30) @Excel(name = "推荐单位", width = 30)
private String recommendOrg; private String recommendOrg;
/** /**
* 注册地区域 * 注册地区域
*/ */
@Excel(name = "公司注册区域", width = 10) @Excel(name = "公司注册区域", width = 10)
private String registerRegion; private String registerRegion;
/** /**
* 省份 * 省份
*/ */
@Excel(name = "公司注册省", width = 10) @Excel(name = "公司注册省", width = 10)
private String registerProvince; private String registerProvince;
/** /**
* 城市 * 城市
*/ */
@Excel(name = "公司注册市", width = 10) @Excel(name = "公司注册市", width = 10)
private String registerCity; private String registerCity;
/** /**
* 供应商类别 * 供应商类别
*/ */
@Excel(name = "供应商类别", width = 10) @Excel(name = "供应商类别", width = 10)
private String customerClass; private String customerClass;
/** /**
* 集团专业类别 * 集团专业类别
*/ */
@Excel(name = "专业类别", width = 20) @Excel(name = "专业类别", width = 20)
private String groupSpecialty; private String groupSpecialty;
/** /**
* 纳税人身份 * 纳税人身份
*/ */
@Excel(name = "纳税人身份", width = 10) @Excel(name = "纳税人身份", width = 10)
private String paytaxType; private String paytaxType;
/** /**
* 纳税人税率 * 纳税人税率
*/ */
@Excel(name = "纳税人税率", width = 10) @Excel(name = "纳税人税率", width = 10)
private String taxRate; private String taxRate;
/** /**
* 供应商状态 * 供应商状态
*/ */
@Excel(name = "状态", width = 10) @Excel(name = "状态", width = 10)
private String customerState; private String customerState;
/** /**
* 限用/禁用状态 * 限用/禁用状态
*/ */
@Excel(name = "限用/禁用状态", width = 10) @Excel(name = "限用/禁用状态", width = 10)
private String badnessState; private String badnessState;
/** /**
* 队长名称 * 队长名称
*/ */
@Excel(name = "劳务队长", width = 10) @Excel(name = "劳务队长", width = 10)
private String leaderName; private String leaderName;
/** /**
* 劳务队长联系电话 * 劳务队长联系电话
*/ */
@Excel(name = "队长联系电话", width = 10) @Excel(name = "队长联系电话", width = 10)
private String laborCaptainPhone; private String laborCaptainPhone;
/** /**
* 劳务队长身份证号 * 劳务队长身份证号
*/ */
@Excel(name = "队长身份证号", width = 10) @Excel(name = "队长身份证号", width = 10)
private String laborCaptainIdcard; private String laborCaptainIdcard;
/** /**
* 队伍规模人数 * 队伍规模人数
*/ */
@Excel(name = "队伍规模", width = 10) @Excel(name = "队伍规模", cellType = Excel.ColumnType.NUMERIC, width = 10)
private Double serviceTeamPersonnum; private Double serviceTeamPersonnum;
/** /**
* 专业特长 * 专业特长
*/ */
@Excel(name = "专业特长", width = 10) @Excel(name = "专业特长", width = 10)
private String serviceTeamSpeciality; private String serviceTeamSpeciality;
/** /**
* 施工承包范围 * 施工承包范围
*/ */
@Excel(name = "施工承包范围", width = 25) @Excel(name = "施工承包范围", width = 25)
private String constructJobScope; private String constructJobScope;
/** /**
* 资质等级 * 资质等级
*/ */
@Excel(name = "资质等级", width = 10) @Excel(name = "资质等级", width = 10)
private String credential; private String credential;
/** /**
* 注册资金 * 注册资金
*/ */
@Excel(name = "注册资金(万元)", width = 10) @Excel(name = "注册资金(万元)", cellType = Excel.ColumnType.NUMERIC, width = 10)
private Double registerCapital; private Double registerCapital;
/** /**
* 联系人 * 联系人
*/ */
@Excel(name = "公司联系人", width = 10) @Excel(name = "公司联系人", width = 10)
private String contactPerson; private String contactPerson;
/** /**
* 电话 * 电话
*/ */
@Excel(name = "联系人电话", width = 10) @Excel(name = "联系人电话", width = 10)
private String contactPhone; private String contactPhone;
/** /**
* 准入时间 * 准入时间
*/ */
@Excel(name = "准入时间", width = 10 , dateFormat = "yyyy-MM-dd") @Excel(name = "准入时间", width = 10, dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date approveDate2; private Date approveDate2;
/** /**
* 企业合作数量 * 企业合作数量
*/ */
@Excel(name = "公司合作数量", width = 10 ) @Excel(name = "公司合作数量", width = 10)
private Integer enterpriseCooperationCount; private Integer enterpriseCooperationCount;
/** /**
* 项目合作数量 * 项目合作数量
*/ */
@Excel(name = "合作项目数量", width = 10 ) @Excel(name = "合作项目数量", width = 10)
private Integer projectCooperationCount; private Integer projectCooperationCount;
/** /**
* 考评等级 * 考评等级
*/ */
@Excel(name = "分包商等级", width = 10) @Excel(name = "分包商等级", width = 10)
private String creditLevel; private String creditLevel;
} }
package com.dsk.cscec.domain.vo; package com.dsk.cscec.domain.vo;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.DProject; import com.dsk.cscec.domain.DProject;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
...@@ -22,11 +23,15 @@ public class ProjectDetailVo extends DProject { ...@@ -22,11 +23,15 @@ public class ProjectDetailVo extends DProject {
*/ */
private AdvisoryBody advisoryBody; private AdvisoryBody advisoryBody;
/** /**
* 法定代表人 * 法定代表人
*/ */
private String corporatePerson; private String corporatePerson;
/** /**
* 注册地址 * 注册地址
*/ */
private String regAddress; private String regAddress;
/**
* 项目信息
*/
private AdvisoryBodyProject advisoryBodyProject;
} }
...@@ -15,4 +15,6 @@ public class RegionVo { ...@@ -15,4 +15,6 @@ public class RegionVo {
List<RegionVo> children; List<RegionVo> children;
Integer childrenLength;
} }
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;
Integer childrenLength;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
/**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表数据库访问层
*
* @author sxk
* @since 2023-12-20 16:39:37
*/
public interface AdvisoryBodyCustomFormMapper extends BaseMapper<AdvisoryBodyCustomForm> {
}
...@@ -33,6 +33,13 @@ public interface AdvisoryBodyMapper extends BaseMapper<AdvisoryBody> { ...@@ -33,6 +33,13 @@ public interface AdvisoryBodyMapper extends BaseMapper<AdvisoryBody> {
*/ */
Page<AdvisoryBodyVo> queryListByBo(IPage<AdvisoryBodyBo> build, @Param("bo") AdvisoryBodyBo bo); Page<AdvisoryBodyVo> queryListByBo(IPage<AdvisoryBodyBo> build, @Param("bo") AdvisoryBodyBo bo);
/**
* 咨询机构合作记录数量
* @param bo
* @return
*/
int countByBo(@Param("bo") AdvisoryBodyBo bo);
/** /**
* 根据咨询机构名称查询咨询机构Cids * 根据咨询机构名称查询咨询机构Cids
* @param advisoryBodyName 咨询机构名称 * @param advisoryBodyName 咨询机构名称
......
...@@ -31,5 +31,12 @@ public interface DSubcontractMapper extends BaseMapper<DSubcontract> { ...@@ -31,5 +31,12 @@ public interface DSubcontractMapper extends BaseMapper<DSubcontract> {
* @return * @return
*/ */
Page<CustomerCooperationVo> selectCooperationList(IPage<CustomerCooperationBo> build, @Param("bo")CustomerCooperationBo bo); Page<CustomerCooperationVo> selectCooperationList(IPage<CustomerCooperationBo> build, @Param("bo")CustomerCooperationBo bo);
/**
* 供应商合作记录数量
* @param bo
* @return
*/
int countByBo(@Param("bo")CustomerCooperationBo bo);
} }
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
/**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务接口
*
* @author makejava
* @since 2023-12-20 17:33:31
*/
public interface AdvisoryBodyCustomFormService extends IService<AdvisoryBodyCustomForm> {
}
...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.bo.AddAdvisoryBodyBo;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyExistVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
/** /**
...@@ -22,5 +24,26 @@ public interface AdvisoryBodyService extends IService<AdvisoryBody> { ...@@ -22,5 +24,26 @@ public interface AdvisoryBodyService extends IService<AdvisoryBody> {
* @return 所有数据 * @return 所有数据
*/ */
TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery); TableDataInfo<AdvisoryBodySearchVo> queryAdvisoryBodyList(AdvisoryBodySearchBo advisoryBodySearchBo, PageQuery pageQuery);
/**
* 校验咨询机构是否存在
*
* @param advisoryBodyName 咨询机构名称
* @return 校验结果
*/
AdvisoryBodyExistVo checkAdvisoryBodyExist(String advisoryBodyName);
/**
* 新增咨询机构
*
* @param addAdvisoryBodyBo 新增信息
* @return 添加结果
*/
Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo);
/**
* 每小时更新一次咨询机构经营范围
*/
void updateAdvisoryBodyBusinessScope();
} }
...@@ -12,6 +12,8 @@ import com.dsk.cscec.domain.vo.CustomerApproveVo; ...@@ -12,6 +12,8 @@ import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerCooperationVo; import com.dsk.cscec.domain.vo.CustomerCooperationVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo; import com.dsk.cscec.domain.vo.CustomerInfoVo;
import java.util.Map;
/** /**
* 组织维表(DCustomer)表服务接口 * 组织维表(DCustomer)表服务接口
* *
...@@ -20,10 +22,27 @@ import com.dsk.cscec.domain.vo.CustomerInfoVo; ...@@ -20,10 +22,27 @@ import com.dsk.cscec.domain.vo.CustomerInfoVo;
*/ */
public interface ICustomerInfoService extends IService<DCustomer> { public interface ICustomerInfoService extends IService<DCustomer> {
/**
* 供应商分类列表
* @param bo
* @param query
* @return
*/
TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query); TableDataInfo<CustomerInfoVo> queryPageList(CustomerInfoBo bo, PageQuery query);
/**
* 供应商准入情况
* @param bo
* @return
*/
CustomerApproveVo queryApproveByBo(CustomerInfoBo bo); CustomerApproveVo queryApproveByBo(CustomerInfoBo bo);
/**
* 咨询机构合作记录
* @param bo
* @param query
* @return
*/
TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query); TableDataInfo<AdvisoryBodyVo> queryAdvisoryList(AdvisoryBodyBo bo, PageQuery query);
/** /**
...@@ -33,4 +52,11 @@ public interface ICustomerInfoService extends IService<DCustomer> { ...@@ -33,4 +52,11 @@ public interface ICustomerInfoService extends IService<DCustomer> {
* @return * @return
*/ */
TableDataInfo<CustomerCooperationVo> queryCooperationList(CustomerCooperationBo bo,PageQuery query); TableDataInfo<CustomerCooperationVo> queryCooperationList(CustomerCooperationBo bo,PageQuery query);
/**
* 内部合作统计
* @param companyName
* @return
*/
Map<String,Object> cooperationStatistic(String companyName);
} }
...@@ -3,7 +3,6 @@ package com.dsk.cscec.service; ...@@ -3,7 +3,6 @@ package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DimArea; import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.domain.vo.RegionVo; import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import java.util.List; import java.util.List;
...@@ -18,7 +17,7 @@ public interface IDimAreaService extends IService<DimArea> { ...@@ -18,7 +17,7 @@ public interface IDimAreaService extends IService<DimArea> {
List<RegionVo> allArea(); List<RegionVo> allArea();
List<RegionWithLevelVo> allAreaWithoutRegion(); List<RegionVo> allAreaWithoutRegion();
} }
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormMapper;
import com.dsk.cscec.service.AdvisoryBodyCustomFormService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务实现类
*
* @author sxk
* @since 2023-12-20 17:33:31
*/
@Service("advisoryBodyCustomFormService")
public class AdvisoryBodyCustomFormServiceImpl extends ServiceImpl<AdvisoryBodyCustomFormMapper, AdvisoryBodyCustomForm> implements AdvisoryBodyCustomFormService {
@Resource
private AdvisoryBodyCustomFormMapper baseMapper;
}
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.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -9,10 +10,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -9,10 +10,13 @@ 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.common.exception.ServiceException;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.domain.AdvisoryBody; import com.dsk.cscec.domain.AdvisoryBody;
import com.dsk.cscec.domain.AdvisoryBodyProject; import com.dsk.cscec.domain.AdvisoryBodyProject;
import com.dsk.cscec.domain.bo.AddAdvisoryBodyBo;
import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo; import com.dsk.cscec.domain.bo.AdvisoryBodySearchBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyExistVo;
import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo; import com.dsk.cscec.domain.vo.AdvisoryBodySearchVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper; import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper; import com.dsk.cscec.mapper.AdvisoryBodyProjectMapper;
...@@ -21,8 +25,10 @@ import com.dsk.jsk.domain.EnterpriseInfoHeaderBody; ...@@ -21,8 +25,10 @@ import com.dsk.jsk.domain.EnterpriseInfoHeaderBody;
import com.dsk.system.utils.DskOpenApiUtil; import com.dsk.system.utils.DskOpenApiUtil;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -100,5 +106,88 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -100,5 +106,88 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
/**
* 校验咨询机构是否存在
*
* @param advisoryBodyName 咨询机构名称
* @return 校验结果
*/
@Override
public AdvisoryBodyExistVo checkAdvisoryBodyExist(String advisoryBodyName) {
//先从咨询机构表查询是否存在,存在则直接返回
AdvisoryBody advisoryBody = baseMapper.selectOne(new LambdaQueryWrapper<AdvisoryBody>()
.eq(AdvisoryBody::getAdvisoryBodyName, advisoryBodyName));
if (ObjectUtil.isNotNull(advisoryBody)) {
//咨询机构表中有记录,则设置为非新咨询机构
AdvisoryBodyExistVo advisoryBodyExistVo = BeanUtil.toBean(advisoryBody, AdvisoryBodyExistVo.class);
advisoryBodyExistVo.setIsNewAdvisoryBody(false);
return advisoryBodyExistVo;
} else {
Map<String, Object> params = new HashMap<>();
params.put("keyword", advisoryBodyName);
Map jskData = MapUtils.getMap(dskOpenApiUtil.requestBody("/nationzj/enterprice/index", params), "data", null);
//防止没有数据而导致强转错误,所以先判断下total
if (MapUtils.getInteger(jskData, "total", 0) > 0) {
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name","NotExist"));
if (advisoryBodyName.equals(companyName)) {
AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo();
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
advisoryBodyExistVo.setAdvisoryBodyName(companyName);
advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope"));
advisoryBodyExistVo.setIsNewAdvisoryBody(true);
return advisoryBodyExistVo;
}
}
//查不到则抛异常
throw new ServiceException("咨询机构不存在或结果不唯一,请输入完整咨询机构企业名称");
}
}
return null;
}
/**
* 新增咨询机构
*
* @param addAdvisoryBodyBo 新增信息
* @return 添加结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) {
long advisoryBodyId = IdUtil.getSnowflakeNextId();;
//如果是新增咨询机构,则需要新增记录到咨询机构表
if (addAdvisoryBodyBo.getIsNewAdvisoryBody()) {
AdvisoryBody newAdvisoryBody = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBody.class);
newAdvisoryBody.setAdvisoryBodyId(advisoryBodyId);
baseMapper.insert(newAdvisoryBody);
}
AdvisoryBodyProject advisoryBodyProject = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBodyProject.class);
advisoryBodyProject.setAdvisoryBodyId(advisoryBodyId);
return advisoryBodyProjectMapper.insert(advisoryBodyProject);
}
/**
* 每小时更新一次咨询机构经营范围
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateAdvisoryBodyBusinessScope() {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
for (AdvisoryBody advisoryBody : baseMapper.selectList(null)) {
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBody.getAdvisoryBodyCid()));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
String businessScope = MapUtils.getString(companyData, "businessScope", "empty");
if (!"empty".equals(businessScope)) {
advisoryBody.setBusinessScope(businessScope);
baseMapper.updateById(advisoryBody);
}
}
}
} }
...@@ -17,10 +17,7 @@ import com.dsk.cscec.domain.DCustomer; ...@@ -17,10 +17,7 @@ import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.AdvisoryBodyBo; import com.dsk.cscec.domain.bo.AdvisoryBodyBo;
import com.dsk.cscec.domain.bo.CustomerCooperationBo; import com.dsk.cscec.domain.bo.CustomerCooperationBo;
import com.dsk.cscec.domain.bo.CustomerInfoBo; import com.dsk.cscec.domain.bo.CustomerInfoBo;
import com.dsk.cscec.domain.vo.AdvisoryBodyVo; import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.domain.vo.CustomerApproveVo;
import com.dsk.cscec.domain.vo.CustomerCooperationVo;
import com.dsk.cscec.domain.vo.CustomerInfoVo;
import com.dsk.cscec.mapper.AdvisoryBodyMapper; import com.dsk.cscec.mapper.AdvisoryBodyMapper;
import com.dsk.cscec.mapper.DCustomerMapper; import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.mapper.DSubcontractMapper; import com.dsk.cscec.mapper.DSubcontractMapper;
...@@ -31,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -31,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
...@@ -66,10 +64,11 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -66,10 +64,11 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
Page<CustomerInfoVo> page = baseMapper.queryListByType(query.build(), bo); Page<CustomerInfoVo> page = baseMapper.queryListByType(query.build(), bo);
if (CollectionUtils.isNotEmpty(page.getRecords())) { if (CollectionUtils.isNotEmpty(page.getRecords())) {
page.getRecords().parallelStream().forEach(item->{ page.getRecords().parallelStream().forEach(item->{
DCustomerListVo vo = subcontractMapper.selectStatisticByCustomerId(item.getCustomerId());
//企业合作数量 //企业合作数量
item.setEnterpriseCooperationCount(subcontractMapper.selectEnterpriseCountByCustomerId(item.getCustomerId())); item.setEnterpriseCooperationCount(vo.getEnterpriseCooperationCount());
//项目合作数量 //项目合作数量
item.setProjectCooperationCount(subcontractMapper.selectProjectCountByCustomerId(item.getCustomerId())); item.setProjectCooperationCount(vo.getProjectCooperationCount());
//关键字标红 //关键字标红
if(!ObjectUtils.isEmpty(bo.getCustomerName())){ if(!ObjectUtils.isEmpty(bo.getCustomerName())){
item.setCustomerName(StringUtils.markInRed(item.getCustomerName(), bo.getCustomerName())); item.setCustomerName(StringUtils.markInRed(item.getCustomerName(), bo.getCustomerName()));
...@@ -99,6 +98,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -99,6 +98,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
Assert.isTrue(false,"参数不能为空"); Assert.isTrue(false,"参数不能为空");
} }
LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery();
lqw.eq(DCustomer::getRecommendOrgId,QueryConstants.LEVEL1_COMPANY_ID);
lqw.eq(ObjectUtil.isNotNull(bo.getCustomerKey()),DCustomer::getCustomerKey,bo.getCustomerKey()); 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.getUnifySocialCode()),DCustomer::getUnifySocialCode,bo.getUnifySocialCode());
lqw.eq(StringUtil.isNotBlank(bo.getCustomerName()),DCustomer::getCustomerName,bo.getCustomerName()); lqw.eq(StringUtil.isNotBlank(bo.getCustomerName()),DCustomer::getCustomerName,bo.getCustomerName());
...@@ -125,4 +125,30 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto ...@@ -125,4 +125,30 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
Page<CustomerCooperationVo> page = dSubcontractMapper.selectCooperationList(query.build(),bo); Page<CustomerCooperationVo> page = dSubcontractMapper.selectCooperationList(query.build(),bo);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
@Override
public Map<String, Object> cooperationStatistic(String companyName) {
if (StringUtil.isBlank(companyName)) {
return new HashMap<>();
}
AdvisoryBodyBo advisoryBodyBo = new AdvisoryBodyBo();
advisoryBodyBo.setContractOrgId(QueryConstants.LEVEL1_COMPANY_ID);
advisoryBodyBo.setAdvisoryBodyName(companyName);
LambdaQueryWrapper<DCustomer> lqw = Wrappers.lambdaQuery();
lqw.eq(DCustomer::getRecommendOrgId,QueryConstants.LEVEL1_COMPANY_ID);
lqw.eq(StringUtil.isNotBlank(companyName), DCustomer::getCustomerName, companyName);
CustomerCooperationBo customerCooperationBo = new CustomerCooperationBo();
customerCooperationBo.setSignOrgId(QueryConstants.LEVEL1_COMPANY_ID);
customerCooperationBo.setCustomerName(companyName);
Map<String, Object> result = new HashMap<>();
result.put("advisoryList", advisoryBodyMapper.countByBo(advisoryBodyBo));
result.put("cooperationList", subcontractMapper.countByBo(customerCooperationBo));
result.put("approveInfo", baseMapper.exists(lqw) ? 1 : 0);
// result.put("施工业绩", 0);
// result.put("在施工程情况", 0);
return result;
}
} }
...@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.DimArea;
import com.dsk.cscec.domain.vo.RegionVo; import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.domain.vo.RegionWithLevelVo;
import com.dsk.cscec.mapper.DimAreaMapper; import com.dsk.cscec.mapper.DimAreaMapper;
import com.dsk.cscec.service.IDimAreaService; import com.dsk.cscec.service.IDimAreaService;
import com.dsk.system.service.ISysDictTypeService; import com.dsk.system.service.ISysDictTypeService;
...@@ -67,6 +66,7 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl ...@@ -67,6 +66,7 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl
} }
} }
provinceVo.setChildren(cityVos); provinceVo.setChildren(cityVos);
provinceVo.setChildrenLength(provinceVo.getChildren().size());
provinceVos.add(provinceVo); provinceVos.add(provinceVo);
} }
} }
...@@ -78,8 +78,8 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl ...@@ -78,8 +78,8 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl
} }
@Override @Override
public List<RegionWithLevelVo> allAreaWithoutRegion() { public List<RegionVo> allAreaWithoutRegion() {
List<RegionWithLevelVo> vos = new ArrayList<>(); List<RegionVo> vos = new ArrayList<>();
//区域 //区域
List<SysDictData> sysDictData = sysDictTypeService.selectDictDataByType(AREA_TYPE); List<SysDictData> sysDictData = sysDictTypeService.selectDictDataByType(AREA_TYPE);
if(CollectionUtils.isNotEmpty(sysDictData)){ if(CollectionUtils.isNotEmpty(sysDictData)){
...@@ -93,10 +93,9 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl ...@@ -93,10 +93,9 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl
if(CollectionUtils.isNotEmpty(provinces)){ if(CollectionUtils.isNotEmpty(provinces)){
for (Object province : provinces) { for (Object province : provinces) {
RegionWithLevelVo provinceVo = new RegionWithLevelVo(); RegionVo provinceVo = new RegionVo();
provinceVo.setValue(String.valueOf(province)); provinceVo.setValue(String.valueOf(province));
provinceVo.setLevel("1"); List<RegionVo> cityVos = new ArrayList<>();
List<RegionWithLevelVo> cityVos = new ArrayList<>();
//市 //市
List<Object> citys = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery() List<Object> citys = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName3) .select(DimArea::getAreaName3)
...@@ -105,9 +104,8 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl ...@@ -105,9 +104,8 @@ public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> impl
.groupBy(DimArea::getAreaName3)); .groupBy(DimArea::getAreaName3));
if(CollectionUtils.isNotEmpty(citys)){ if(CollectionUtils.isNotEmpty(citys)){
for (Object city : citys) { for (Object city : citys) {
RegionWithLevelVo cityVo = new RegionWithLevelVo(); RegionVo cityVo = new RegionVo();
cityVo.setValue(String.valueOf(city)); cityVo.setValue(String.valueOf(city));
cityVo.setLevel("2");
cityVos.add(cityVo); cityVos.add(cityVo);
} }
} }
......
...@@ -35,13 +35,14 @@ import org.springframework.stereotype.Service; ...@@ -35,13 +35,14 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 咨询机构管理 * 咨询机构管理
* *
* @author makejava * @author sxk
* @since 2023-12-10 15:34:51 * @since 2023-12-10 15:34:51
*/ */
@Slf4j @Slf4j
...@@ -80,9 +81,14 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -80,9 +81,14 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), this.buildProjectQueryWrapper(projectSearchBo, projectKeys)); Page<ProjectSearchVo> page = baseMapper.selectPageProjectList(pageQuery.build(), this.buildProjectQueryWrapper(projectSearchBo, projectKeys));
//补充咨询机构信息
for (ProjectSearchVo projectSearchVo : page.getRecords()) { for (ProjectSearchVo projectSearchVo : page.getRecords()) {
//补充咨询机构信息
projectSearchVo.setAdvisoryBody(this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey())); projectSearchVo.setAdvisoryBody(this.getAdvisoryBodyByProjectKey(projectSearchVo.getProjectKey()));
//关键字标红
if (StringUtils.isNotBlank(projectSearchBo.getProjectName())) {
projectSearchVo.setProjectName(StringUtils.markInRed(projectSearchVo.getProjectName(), projectSearchBo.getProjectName()));
}
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
...@@ -103,7 +109,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -103,7 +109,7 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
.like(StringUtils.isNotBlank(projectSearchBo.getOwnerUnit()), "p.owner_name", projectSearchBo.getOwnerUnit()) .like(StringUtils.isNotBlank(projectSearchBo.getOwnerUnit()), "p.owner_name", projectSearchBo.getOwnerUnit())
//项目创建时间(字段去的合同签约日期) //项目创建时间(字段去的合同签约日期)
.between(ObjectUtil.isNotNull(projectSearchBo.getProjectStartTime()) && ObjectUtil.isNotNull(projectSearchBo.getProjectEndTime()), .between(ObjectUtil.isNotNull(projectSearchBo.getProjectStartTime()) && ObjectUtil.isNotNull(projectSearchBo.getProjectEndTime()),
"p.sign_date", "p.contract_sign_date",
projectSearchBo.getProjectStartTime(), projectSearchBo.getProjectStartTime(),
projectSearchBo.getProjectEndTime()) projectSearchBo.getProjectEndTime())
//项目承接类型下拉选项 //项目承接类型下拉选项
...@@ -142,31 +148,47 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -142,31 +148,47 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
public TableDataInfo<CooperateProjectDetailSearchVo> queryCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) { public TableDataInfo<CooperateProjectDetailSearchVo> queryCooperateProjectDetailList(CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
//先根据咨询机构CID查出所有该咨询机构下的项目主键keys //先根据咨询机构CID查出所有该咨询机构下的项目主键keys
List<Long> projectKeys = advisoryBodyProjectMapper.selectProjectKeysByAdvisoryBodyCids(Collections.singletonList(cooperateProjectDetailSearchBo.getAdvisoryBodyCid())); List<Long> projectKeys = advisoryBodyProjectMapper.selectProjectKeysByAdvisoryBodyCids(Collections.singletonList(cooperateProjectDetailSearchBo.getAdvisoryBodyCid()));
if (projectKeys.isEmpty()) {
return TableDataInfo.build();
}
//再根据记录终改的项目主键查询项目详情 //再根据记录终改的项目主键查询项目详情
QueryWrapper<DProject> wrapper = Wrappers.query(); QueryWrapper<DProject> wrapper = Wrappers.query();
wrapper wrapper
//项目主键 //项目主键
.in(!projectKeys.isEmpty(), "project_key", projectKeys) .in("project_key", projectKeys)
//项目名称 //项目名称
.like(StringUtils.isNotBlank(cooperateProjectDetailSearchBo.getProjectName()), "project_name", cooperateProjectDetailSearchBo.getProjectName()) .like(StringUtils.isNotBlank(cooperateProjectDetailSearchBo.getProjectName()), "project_name", cooperateProjectDetailSearchBo.getProjectName())
//项目承接类型 //项目承接类型
.in(!cooperateProjectDetailSearchBo.getIsinvestproject().isEmpty(), "isinvestproject", cooperateProjectDetailSearchBo.getIsinvestproject()) .in(ObjectUtil.isNotNull(cooperateProjectDetailSearchBo.getIsinvestproject()), "isinvestproject", cooperateProjectDetailSearchBo.getIsinvestproject())
//工程基础大类 //工程基础大类
.in(!cooperateProjectDetailSearchBo.getProjectType1().isEmpty(), "project_type1", cooperateProjectDetailSearchBo.getProjectType1()) .in(ObjectUtil.isNotNull(cooperateProjectDetailSearchBo.getProjectType1()), "project_type1", cooperateProjectDetailSearchBo.getProjectType1())
//工程类别明细 //工程类别明细
.in(!cooperateProjectDetailSearchBo.getProjectType().isEmpty(), "project_type", cooperateProjectDetailSearchBo.getProjectType()) .in(ObjectUtil.isNotNull(cooperateProjectDetailSearchBo.getProjectType()), "project_type", cooperateProjectDetailSearchBo.getProjectType())
//项目地区 //项目地区
.in(!cooperateProjectDetailSearchBo.getProvinceName().isEmpty(), "province_name", cooperateProjectDetailSearchBo.getProvinceName()) .in(ObjectUtil.isNotNull(cooperateProjectDetailSearchBo.getProvinceName()), "province_name", cooperateProjectDetailSearchBo.getProvinceName())
.or() .or()
.in(!cooperateProjectDetailSearchBo.getCityName().isEmpty(), "city_name", cooperateProjectDetailSearchBo.getCityName()); .in(ObjectUtil.isNotNull(cooperateProjectDetailSearchBo.getCityName()), "city_name", cooperateProjectDetailSearchBo.getCityName());
Page<CooperateProjectDetailSearchVo> page = baseMapper.selectPageCooperateProjectDetailList(pageQuery.build(), wrapper); Page<CooperateProjectDetailSearchVo> page = baseMapper.selectPageCooperateProjectDetailList(pageQuery.build(), wrapper);
//填充结算天数
for (CooperateProjectDetailSearchVo cooperateProjectDetailSearchVo : page.getRecords()) { for (CooperateProjectDetailSearchVo cooperateProjectDetailSearchVo : page.getRecords()) {
AdvisoryBodyProject advisoryBodyProject = advisoryBodyProjectMapper.selectById(cooperateProjectDetailSearchVo.getProjectKey()); AdvisoryBodyProject advisoryBodyProject = advisoryBodyProjectMapper.selectById(cooperateProjectDetailSearchVo.getProjectKey());
long betweenDays = DateUtil.between(advisoryBodyProject.getSettleStartTime(), advisoryBodyProject.getSettleFinishTime(), DateUnit.DAY); //填充咨询机构与项目关联信息
cooperateProjectDetailSearchVo.setSettlementDays(betweenDays); cooperateProjectDetailSearchVo.setAdvisoryBodyProject(advisoryBodyProject);
//填充结算天数
if (ObjectUtil.isNotNull(advisoryBodyProject)) {
Date settleStartTime = advisoryBodyProject.getSettleStartTime();
Date settleFinishTime = advisoryBodyProject.getSettleFinishTime();
if (ObjectUtil.isNotNull(settleStartTime) && ObjectUtil.isNotNull(settleFinishTime)) {
cooperateProjectDetailSearchVo.setSettlementDays(DateUtil.between(settleStartTime, settleFinishTime, DateUnit.DAY));
} else {
cooperateProjectDetailSearchVo.setSettlementDays(0L);
}
}
//关键字标红
if (StringUtils.isNotBlank(cooperateProjectDetailSearchBo.getProjectName())) {
cooperateProjectDetailSearchVo.setProjectName(StringUtils.markInRed(cooperateProjectDetailSearchVo.getProjectName(), cooperateProjectDetailSearchBo.getProjectName()));
}
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
...@@ -194,6 +216,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -194,6 +216,9 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", "")); projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册地址 //注册地址
projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", "")); projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
//查询项目信息并填充
projectDetailVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectDetailBo.getProjectKey()));
return projectDetailVo; return projectDetailVo;
} }
} }
......
package com.dsk.jsk.controller;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.jsk.domain.JskCompanyRelationTableV1Dto;
import com.dsk.jsk.service.CompanyRelationTableV1Service;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @ClassName CompanyRelationTableV1Controller
* @Description
* @Author Dgm
* @Date 2023/12/13 11:28
* @Version
*/
@RestController
@RequestMapping("/consultancy")
public class CompanyRelationTableV1Controller {
@Resource
private CompanyRelationTableV1Service relationTableV1Service;
/***
*@Description: 业主/施工/集团单位-分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/page")
public TableDataInfo page(@RequestBody JskCompanyRelationTableV1Dto dto) throws Exception {
return relationTableV1Service.page(dto);
}
/***
*@Description: -业主/施工/集团单位详情-分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/detailPage")
public TableDataInfo detailPage(@RequestBody JskCompanyRelationTableV1Dto dto) throws Exception{
return relationTableV1Service.detailPage(dto);
}
/***
*@Description: -分页列表-下拉
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/pageSelect")
public R pageSelect(@RequestBody JskCompanyRelationTableV1Dto dto) throws Exception{
return relationTableV1Service.pageSelect(dto);
}
/***
*@Description: -分页列表-统计
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/statistics")
public R statistics(@RequestBody JskCompanyRelationTableV1Dto dto) throws Exception{
return relationTableV1Service.statistics(dto);
}
/***
*@Description: 常合作集团成员详情-分页列表
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
@PostMapping("/combinePage")
public TableDataInfo combinePage(@RequestBody JskCompanyRelationTableV1Dto dto) throws Exception {
return relationTableV1Service.combinePage(dto);
}
}
...@@ -18,6 +18,7 @@ public class EnterpriseStatisticBody ...@@ -18,6 +18,7 @@ public class EnterpriseStatisticBody
*/ */
@NotNull(message = "企业id不能为空") @NotNull(message = "企业id不能为空")
private Integer companyId; private Integer companyId;
private String companyName;
private Boolean isFy = false; private Boolean isFy = false;
......
package com.dsk.jsk.domain;
import lombok.Data;
import java.util.List;
/**
* @ClassName JskCompanyRelationTableV1Dto
* @Description
* @Author Dgm
* @Date 2023/12/11 20:37
* @Version
*/
@Data
public class JskCompanyRelationTableV1Dto extends BasePage {
/**
* 搜-关键字素
*/
private String keyword;
/**
* 企业类型
*/
private String companyRole;
/**
* 项目类型
*/
private List<String> counterpartCompanyRoles;
/**
* 工程类型
*/
private List<String> projectTypes;
/**
* 咨询机构业务类型
*/
private List<String> businessTypes;
/**
* 公布日期-开始时间
*/
private String beginTime;
/**
* 公布日期-结束时间
*/
private String endTime;
/**
* 本次合作合同金额(万元)-最大金额
*/
private Double maxAmount;
/**
* 本次合作合同金额(万元)-最小金额
*/
private Double minAmount;
/**
* 企业Id
*/
private Integer companyId;
/**
* 企业类型 1:业主 2:施工 3:集团
*/
private Integer companyType;
/**
* 排序 1:金额降序 2:金额升序 3: 时间降序 4: 时间升区5: 数量降序6:数量升序
*/
private Integer sort = 5;
/**
* 集团Id
*/
private String combineId;
}
package com.dsk.jsk.service;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.jsk.domain.*;
import com.dsk.system.utils.DskOpenApiUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @ClassName CompanyRelationTableV1Controller
* @Description
* @Author Dgm
* @Date 2023/12/13 11:28
* @Version
*/
@Slf4j
@Service
public class CompanyRelationTableV1Service {
@Autowired
private DskOpenApiUtil dskOpenApiUtil;
public TableDataInfo page(JskCompanyRelationTableV1Dto dto) throws Exception {
Map<String, Object> map = null;
if (dto.getCompanyType().equals(3)) {
map = dskOpenApiUtil.requestBody("/operate/consultancy/combinePage", BeanUtil.beanToMap(dto, false, false));
} else {
map = dskOpenApiUtil.requestBody("/operate/consultancy/page", BeanUtil.beanToMap(dto, false, false));
}
return dskOpenApiUtil.responsePage(map);
}
public TableDataInfo detailPage(JskCompanyRelationTableV1Dto dto) throws Exception {
Map<String, Object> map = null;
if (dto.getCompanyType().equals(3) || dto.getCompanyType().equals(4)) {
map = dskOpenApiUtil.requestBody("/operate/consultancy/combineDetailPage", BeanUtil.beanToMap(dto, false, false));
} else {
map = dskOpenApiUtil.requestBody("/operate/consultancy/detailPage", BeanUtil.beanToMap(dto, false, false));
}
return dskOpenApiUtil.responsePage(map);
}
/***
*@Description: -分页列表-下拉
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
public R pageSelect(JskCompanyRelationTableV1Dto dto) throws Exception{
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/consultancy/pageSelect", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, R.class);
}
/***
*@Description: -分页列表-下拉
*@Param:
*@return: com.dsk.common.core.domain.AjaxResult
*@Author: Dgm
*@date: 2023/5/18 10:29
*/
public R statistics(JskCompanyRelationTableV1Dto dto) throws Exception{
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/consultancy/statistics", BeanUtil.beanToMap(dto, false, false));
return BeanUtil.toBean(map, R.class);
}
public TableDataInfo combinePage(JskCompanyRelationTableV1Dto dto) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/consultancy/combineMemberPage", BeanUtil.beanToMap(dto, false, false));
return dskOpenApiUtil.responsePage(map);
}
}
...@@ -8,6 +8,7 @@ import com.dsk.common.core.domain.R; ...@@ -8,6 +8,7 @@ import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.EncodeIdUtil; import com.dsk.common.utils.EncodeIdUtil;
import com.dsk.common.utils.redis.RedisUtils; import com.dsk.common.utils.redis.RedisUtils;
import com.dsk.cscec.service.ICustomerInfoService;
import com.dsk.jsk.domain.*; import com.dsk.jsk.domain.*;
import com.dsk.system.utils.DskOpenApiUtil; import com.dsk.system.utils.DskOpenApiUtil;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -39,6 +40,9 @@ public class EnterpriseService { ...@@ -39,6 +40,9 @@ public class EnterpriseService {
@Autowired @Autowired
private DskOpenApiUtil dskOpenApiUtil; private DskOpenApiUtil dskOpenApiUtil;
@Autowired
private ICustomerInfoService iCustomerInfoService;
public R label(EnterpriseInfoLabelBody body) throws Exception { public R label(EnterpriseInfoLabelBody body) throws Exception {
List<Map<String, Object>> mapList = new ArrayList<>(); List<Map<String, Object>> mapList = new ArrayList<>();
if (body.isVaildCid()) { if (body.isVaildCid()) {
...@@ -104,6 +108,10 @@ public class EnterpriseService { ...@@ -104,6 +108,10 @@ public class EnterpriseService {
Map statisticMapData = MapUtils.getMap(statisticMap, "data", null); Map statisticMapData = MapUtils.getMap(statisticMap, "data", null);
if (MapUtils.isEmpty(statisticMapData)) return R.ok(); if (MapUtils.isEmpty(statisticMapData)) return R.ok();
//内部合作
Map<String,Object> cooperation = iCustomerInfoService.cooperationStatistic(body.getCompanyName());
statisticMapData.put("cooperation",cooperation);
Map performance = MapUtils.getMap(statisticMapData, "performance"); Map performance = MapUtils.getMap(statisticMapData, "performance");
Map business = MapUtils.getMap(statisticMapData, "business"); Map business = MapUtils.getMap(statisticMapData, "business");
......
...@@ -21,43 +21,15 @@ public class PushMonitorInfo implements Serializable { ...@@ -21,43 +21,15 @@ public class PushMonitorInfo implements Serializable {
/** /**
* 对外开放的id * 对外开放的id
*/ */
private String id; private Integer id;
/** /**
* 源表id * 用户id
*/ */
private String sourceId; private Long userId;
/** /**
* 源表名 * 动态次数
*/ */
private String sourceTable; private Integer count;
/**
* 公司Id
*/
private Integer companyId;
/**
* 企业名称
*/
private String companyName;
/**
* 风险等级:正向,负向,中立,警示
*/
private String riskLevel;
/**
* 监控维度父级
*/
private String parentDimension;
/**
* 监控维度
*/
private String dimension;
/**
* 动态内容
*/
private String details;
/**
* 发布时间
*/
private Date publishTime;
/** /**
* 创建时间 * 创建时间
*/ */
...@@ -66,27 +38,5 @@ public class PushMonitorInfo implements Serializable { ...@@ -66,27 +38,5 @@ public class PushMonitorInfo implements Serializable {
* 更新时间 * 更新时间
*/ */
private Date updateTime; private Date updateTime;
/**
* 变更时间-暂时用于法人变更
*/
private Date changeDate;
/**
* 更新次数
*/
private Integer versionNum;
/**
* 是否发送 0否 1是
*/
private Integer isSend;
/**
* 数据来源(jsk,fy)
*/
private String source;
/**
* 系统类型 JSK/BRIS
*/
private String sysType;
} }
package com.dsk.monitor.domain.vo;
import lombok.Data;
/**
* @ClassName PushMonitorRulesVo
* @Description 是否工作日
* @Author Dgm
* @Date 2023/12/9 11:05
* @Version
*/
@Data
public class PushSettingHolidayVo {
/**
* 时间戳
*/
private Long timestamp;
}
//package com.dsk.monitor.job; package com.dsk.monitor.job;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import cn.hutool.core.date.DateUtil;
//import com.dsk.common.utils.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.dsk.monitor.domain.dto.PushMonitorRules; import com.dsk.common.tenant.helper.TenantHelper;
//import com.dsk.monitor.mapper.PushMonitorInfoMapper; import com.dsk.common.utils.DateUtils;
//import com.dsk.monitor.mapper.PushMonitorRulesMapper; import com.dsk.monitor.domain.dto.PushMonitorInfo;
//import com.dsk.monitor.util.SendMessageUtil; import com.dsk.monitor.domain.dto.PushMonitorRules;
//import org.springframework.scheduling.annotation.Scheduled; import com.dsk.monitor.domain.vo.ConditionVo;
// import com.dsk.monitor.domain.vo.PushMonitorDynamicPageVo;
//import javax.annotation.Resource; import com.dsk.monitor.domain.vo.PushSettingHolidayVo;
// import com.dsk.monitor.mapper.PushMonitorInfoMapper;
///** import com.dsk.monitor.mapper.PushMonitorRulesMapper;
// * @ClassName PushScheduling import com.dsk.monitor.service.MonitorService;
// * @Description 发送短信 import com.dsk.monitor.util.SendMessageUtil;
// * @Author Dgm import org.apache.commons.collections4.MapUtils;
// * @Date 2023/12/9 13:51 import org.springframework.scheduling.annotation.Scheduled;
// * @Version import org.springframework.stereotype.Component;
// */
//public class PushScheduling { import javax.annotation.Resource;
// import java.util.Arrays;
// @Resource import java.util.Date;
// private PushMonitorInfoMapper monitorInfoMapper; import java.util.List;
// import java.util.Map;
// @Resource
// private PushMonitorRulesMapper rulesMapper; /**
// * @ClassName PushScheduling
// @Scheduled(cron = "0 0 5 * * * ?") * @Description 发送短信
// public void receiveModePhone() { * @Author Dgm
// // 获取当前整点时间 * @Date 2023/12/9 13:51
// Integer concurrentHour = DateUtils.getHour(); * @Version
// QueryWrapper queryWrapper = new QueryWrapper(); */
// PushMonitorRules detail = rulesMapper.selectOne(queryWrapper); @Component
// // 推送时段-起 public class PushScheduling {
// Integer timePeriodStart = detail.getTimePeriodStart();
// // 推送时段-止 @Resource
// Integer timePeriodEnd = detail.getTimePeriodEnd(); private MonitorService monitorService;
// if (concurrentHour > timePeriodStart && concurrentHour < timePeriodEnd) {
// QueryWrapper monitorInfoWrapper = new QueryWrapper(); @Resource
// // 风险类型 private PushMonitorInfoMapper monitorInfoMapper;
// monitorInfoWrapper.in("risk_type", detail.getRiskType());
// // 监控维度 @Resource
// monitorInfoWrapper.in("dimension", detail.getDimension()); private PushMonitorRulesMapper rulesMapper;
// Long count = monitorInfoMapper.selectCount(monitorInfoWrapper);
// if (count >0 ) { // @Scheduled(cron = "0 0/2 * * * ?")
// SendMessageUtil.sendMessage(detail.getPhones(), count.toString()); @Scheduled(cron = "0 0 * * * ?")
// } public void receiveModePhone() throws Exception {
// } // 是否是周末
// } boolean isWeekend = DateUtil.isWeekend(new Date());
//} PushSettingHolidayVo holidayVo = new PushSettingHolidayVo();
holidayVo.setTimestamp(System.currentTimeMillis());
Map<String, Object> settingHolidayMap = monitorService.settingHoliday(holidayVo);
Integer settingHolidayCode = MapUtils.getInteger(settingHolidayMap, "code", 300);
Boolean settingHolidayData = MapUtils.getBoolean(settingHolidayMap, "data", null);
if (200 == settingHolidayCode) {
isWeekend = !settingHolidayData;
}
TenantHelper.setTenantId("1");
// 获取当前整点时间
Integer concurrentHour = DateUtils.getHour();
QueryWrapper<PushMonitorRules> queryWrapper = new QueryWrapper();
List<PushMonitorRules> detailList = rulesMapper.selectList(queryWrapper);
for (PushMonitorRules detail : detailList) {
// 推送时段-起
String timePeriodStart = detail.getTimePeriodStart();
timePeriodStart = timePeriodStart.substring(0,2);
if (timePeriodStart.contains("0")) {
timePeriodStart = timePeriodStart.substring(1,2);
}
// 推送时段-止
String timePeriodEnd = detail.getTimePeriodEnd();
timePeriodEnd = timePeriodEnd.substring(0,2);
if (timePeriodEnd.contains("0")) {
timePeriodEnd = timePeriodEnd.substring(1,2);
}
Integer pushFrequency = detail.getPushFrequency();
if (pushFrequency > 1) {
if (isWeekend) {
continue;
}
}
Integer timeStart = Integer.valueOf(timePeriodStart);
Integer timeEnd = Integer.valueOf(timePeriodEnd);
if (concurrentHour >= timeStart && concurrentHour <= timeEnd) {
PushMonitorDynamicPageVo pageVo = new PushMonitorDynamicPageVo();
pageVo.setUserId(detail.getUserId());
ConditionVo vo = new ConditionVo();
// 截止时间
vo.setEndTime(DateUtils.getDate());
vo.setBeginTime(DateUtils.format(DateUtils.addDays(new Date(),-1)));
// 监控维度
vo.setDimension(getParamList(detail.getDimension()));
vo.setUserId(detail.getUserId());
pageVo.setCondition(vo);;
Map<String, Object> resMap = monitorService.companyDynamicPageScheduled(pageVo);
Integer code = MapUtils.getInteger(resMap, "code", 300);
Map data = MapUtils.getMap(resMap, "data", null);
if (200 != code) {
continue;
}
Integer count = MapUtils.getInteger(data, "totalCount", 0);
if (count > 0 ) {
SendMessageUtil.sendMessage(detail.getPhones(), count.toString());
}
if (count > 0) {
PushMonitorInfo pushMonitorInfo = new PushMonitorInfo();
pushMonitorInfo.setUserId(detail.getUserId());
pushMonitorInfo.setCount(count);
monitorInfoMapper.insert(pushMonitorInfo);
}
}
}
}
public List<String> getParamList(String dimension) {
List<String> getParamList = Arrays.asList(dimension.split(","));
return getParamList;
}
}
...@@ -5,6 +5,8 @@ import com.dsk.common.core.page.TableDataInfo; ...@@ -5,6 +5,8 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.monitor.domain.vo.*; import com.dsk.monitor.domain.vo.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
/** /**
* @ClassName MonitorService * @ClassName MonitorService
* @Description 监控service * @Description 监控service
...@@ -52,7 +54,7 @@ public interface MonitorService { ...@@ -52,7 +54,7 @@ public interface MonitorService {
/*** /***
*@Description: 监控动态/监控报告 分页 *@Description: 监控动态 分页
*@Param: pageVo 信息 *@Param: pageVo 信息
*@return: R *@return: R
*@Author: Dgm *@Author: Dgm
...@@ -60,6 +62,15 @@ public interface MonitorService { ...@@ -60,6 +62,15 @@ public interface MonitorService {
*/ */
TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception; TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception;
/***
*@Description: 监控动态分页(定时任务使用)
*@Param: pageVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
Map<String, Object> companyDynamicPageScheduled(PushMonitorDynamicPageVo pageVo) throws Exception;
/*** /***
*@Description: 监控报告 *@Description: 监控报告
*@Param: pageVo 信息 *@Param: pageVo 信息
...@@ -125,4 +136,13 @@ public interface MonitorService { ...@@ -125,4 +136,13 @@ public interface MonitorService {
*@date: 2023/12/9 10:03 *@date: 2023/12/9 10:03
*/ */
R systemDetail(PushMonitorSystemDetailVo importAddVo); R systemDetail(PushMonitorSystemDetailVo importAddVo);
/***
*@Description: 是否工作日
*@Param: holidayVo 信息
*@return: R
*@Author: Dgm
*@date: 2023/12/9 10:03
*/
Map<String, Object> settingHoliday(PushSettingHolidayVo holidayVo) throws Exception;
} }
...@@ -14,6 +14,7 @@ import com.dsk.monitor.mapper.PushMonitorRulesMapper; ...@@ -14,6 +14,7 @@ import com.dsk.monitor.mapper.PushMonitorRulesMapper;
import com.dsk.monitor.service.MonitorService; import com.dsk.monitor.service.MonitorService;
import com.dsk.system.utils.DskOpenApiUtil; import com.dsk.system.utils.DskOpenApiUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
...@@ -92,7 +93,6 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -92,7 +93,6 @@ public class MonitorServiceImpl implements MonitorService {
@Override @Override
public TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception { public TableDataInfo companyDynamicPage(PushMonitorDynamicPageVo pageVo) throws Exception {
pageVo.setPageSize(3);
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
if (ObjectUtil.isNotEmpty(userId)) { if (ObjectUtil.isNotEmpty(userId)) {
pageVo.setUserId(userId); pageVo.setUserId(userId);
...@@ -103,6 +103,13 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -103,6 +103,13 @@ public class MonitorServiceImpl implements MonitorService {
return dskOpenApiUtil.responsePageT(map); return dskOpenApiUtil.responsePageT(map);
} }
@Override
public Map<String, Object> companyDynamicPageScheduled(PushMonitorDynamicPageVo pageVo) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/company/info/companyDynamicList", BeanUtil.beanToMap(pageVo, false, false));
log.info("companyDynamicPage=============================>"+map);
return map;
}
@Override @Override
public TableDataInfo reportPage(PushMonitorReportPageVo pageVo) throws Exception { public TableDataInfo reportPage(PushMonitorReportPageVo pageVo) throws Exception {
Long userId = LoginHelper.getUserId(); Long userId = LoginHelper.getUserId();
...@@ -195,13 +202,13 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -195,13 +202,13 @@ public class MonitorServiceImpl implements MonitorService {
} }
//进行excel格式判定 //进行excel格式判定
String name = sheet.getRow(0).getCell(0) + ""; String name = sheet.getRow(2).getCell(0) + "";
//只要其中一个不满足则格式有误 //只要其中一个不满足则格式有误
if (!"企业名称".equals(name)){ if (!"企业名称".equals(name)){
return R.fail("操作失败,数据异常,请使用正确的模板"); return R.fail("操作失败,数据异常,请使用正确的模板");
} }
//行列皆从0开始 //行列皆从0开始
for (int i = 1; i <= lastRowNum; i++) { for (int i = 3; i <= lastRowNum; i++) {
String companyNameStr = ""; String companyNameStr = "";
// 统一社会信用代码 // 统一社会信用代码
Cell companyName = sheet.getRow(i).getCell(0); Cell companyName = sheet.getRow(i).getCell(0);
...@@ -307,4 +314,11 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -307,4 +314,11 @@ public class MonitorServiceImpl implements MonitorService {
} }
return detailVo; return detailVo;
} }
@Override
public Map<String, Object> settingHoliday(PushSettingHolidayVo holidayVo) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/monitor/push/settingHoliday", BeanUtil.beanToMap(holidayVo, false, false));
log.info("companyDynamicPage=============================>"+map);
return map;
}
} }
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyCustomFormMapper">
</mapper>
\ No newline at end of file
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
abp.project_leader_phone, abp.project_leader_phone,
ab.advisory_body_name, ab.advisory_body_name,
dp.project_name,dp.project_code,dp.province_name,dp.city_name,dp.isinvestproject,dp.project_type1, dp.project_name,dp.project_code,dp.province_name,dp.city_name,dp.isinvestproject,dp.project_type1,
dp.project_type,dp.contract_orig_value,dp.owner_name,dp.contract_org_name,dp.load_time dp.project_type2,dp.contract_value,dp.owner_name,dp.contract_org_name,dp.contract_sign_date
from advisory_body_project abp from advisory_body_project abp
left join advisory_body ab on ab.advisory_body_id = abp.advisory_body_id left join advisory_body ab on ab.advisory_body_id = abp.advisory_body_id
left join d_project dp on dp.project_key = abp.project_key left join d_project dp on dp.project_key = abp.project_key
...@@ -34,32 +34,55 @@ ...@@ -34,32 +34,55 @@
<if test="bo.contractOrgName != null and bo.contractOrgName != ''"> <if test="bo.contractOrgName != null and bo.contractOrgName != ''">
and dp.contract_org_name = #{bo.contractOrgName} and dp.contract_org_name = #{bo.contractOrgName}
</if> </if>
<if test="bo.province != null and bo.province.size > 0 and (bo.city == null or bo.city.size==0)"> <if test="bo.area != null and bo.area.size > 0 or (bo.province != null and bo.province.size > 0) or (bo.city != null and bo.city.size > 0)">
and dp.province_name in and
<foreach collection="bo.province" item="province" separator="," open="(" close=")"> <trim prefix="(" suffix=")" prefixOverrides="or">
#{province} <if test="bo.area != null and bo.area.size > 0 ">
</foreach> or dp.area_name in
<foreach collection="bo.area" item="areaName" open="(" close=")" separator=",">
#{areaName}
</foreach>
</if>
<if test="bo.province != null and bo.province.size > 0 ">
or dp.province_name in
<foreach collection="bo.province" item="provinceName" open="(" close=")" separator=",">
#{provinceName}
</foreach>
</if>
<if test="bo.city != null and bo.city.size > 0 ">
or dp.city_name in
<foreach collection="bo.city" item="cityName" open="(" close=")" separator=",">
#{cityName}
</foreach>
</if>
</trim>
</if> </if>
<if test="(bo.province == null or bo.province.size==0) and bo.city != null and bo.city.size > 0 "> </where>
and dp.city_name in order by dp.contract_sign_date desc
<foreach collection="bo.city" item="city" separator="," open="(" close=")"> </select>
#{city}
</foreach> <select id="countByBo" resultType="int">
select count(1)
from advisory_body_project abp
left join advisory_body ab on ab.advisory_body_id = abp.advisory_body_id
left join d_project dp on dp.project_key = abp.project_key
<where>
<if test="bo.advisoryBodyId != null and bo.advisoryBodyId != ''">
and ab.advisory_body_id = #{bo.advisoryBodyId}
</if>
<if test="bo.advisoryBodyCid != null and bo.advisoryBodyCid != ''">
and ab.advisory_body_cid = #{bo.advisoryBodyCid}
</if>
<if test="bo.advisoryBodyName != null and bo.advisoryBodyName != ''">
and ab.advisory_body_name = #{bo.advisoryBodyName}
</if> </if>
<if test="bo.province != null and bo.province.size > 0 and bo.city != null and bo.city.size > 0 "> <if test="bo.contractOrgId != null and bo.contractOrgId != ''">
and ( and dp.contract_org_id = #{bo.contractOrgId}
dp.province_name in </if>
<foreach collection="bo.province" item="province" separator="," open="(" close=")"> <if test="bo.contractOrgName != null and bo.contractOrgName != ''">
#{province} and dp.contract_org_name = #{bo.contractOrgName}
</foreach>
or dp.city_name in
<foreach collection="bo.city" item="city" separator="," open="(" close=")">
#{city}
</foreach>
)
</if> </if>
</where> </where>
order by dp.load_time desc
</select> </select>
<select id="selectAdvisoryBodyCidsByName" resultType="java.lang.Long"> <select id="selectAdvisoryBodyCidsByName" resultType="java.lang.Long">
......
...@@ -9,7 +9,10 @@ ...@@ -9,7 +9,10 @@
from advisory_body_project abp from advisory_body_project abp
<where> <where>
<if test="advisoryBodyCids != null"> <if test="advisoryBodyCids != null">
abp.advisory_body_cid = #{advisoryBodyCids} abp.advisory_body_cid in
<foreach collection="advisoryBodyCids" item="advisoryBodyCids" open="(" close=")" separator=",">
#{advisoryBodyCids}
</foreach>
</if> </if>
</where> </where>
</select> </select>
......
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
</foreach> </foreach>
</if> </if>
<if test="bo.approveDateBegion != null and bo.approveDateBegion != '' ">and approve_date2 &gt;= #{bo.approveDateBegion}</if> <if test="bo.approveDateBegion != null and bo.approveDateBegion != '' ">and approve_date2 &gt;= #{bo.approveDateBegion}</if>
<if test="bo.approveDateEnd != null and bo.approveDateEnd != '' ">and approve_date2 &lt;= #{bo.approveDateBegion} </if> <if test="bo.approveDateEnd != null and bo.approveDateEnd != '' ">and approve_date2 &lt;= #{bo.approveDateEnd} </if>
<if test="bo.isTeam != null"> and leader_name is <if test="bo.isTeam == 1">not</if> null </if> <if test="bo.isTeam != null"> and leader_name is <if test="bo.isTeam == 1">not</if> null </if>
order by approve_date2 desc order by approve_date2 desc
</select> </select>
...@@ -114,60 +114,59 @@ ...@@ -114,60 +114,59 @@
<if test="bo.customerName != null and bo.customerName != '' "> <if test="bo.customerName != null and bo.customerName != '' ">
and customer_name like concat('%',#{bo.customerName},'%') and customer_name like concat('%',#{bo.customerName},'%')
</if> </if>
<if test="bo.registerProvince != null and bo.registerCity == null"> <if test="bo.registerRegion != null and bo.registerRegion.size > 0 or (bo.registerProvince != null and bo.registerProvince.size > 0) or (bo.registerCity != null and bo.registerCity.size > 0)">
and register_province in and
<foreach collection="bo.registerProvince" item="registerProvince" separator="," open="(" close=")"> <trim prefix="(" suffix=")" prefixOverrides="or">
#{registerProvince} <if test="bo.registerRegion != null and bo.registerRegion.size > 0 ">
</foreach> or register_region in
</if> <foreach collection="bo.registerRegion" item="registerRegion" open="(" close=")" separator=",">
<if test="bo.registerProvince == null and bo.registerCity != null "> #{registerRegion}
and register_city in </foreach>
<foreach collection="bo.registerCity" item="registerCity" separator="," open="(" close=")"> </if>
#{registerCity} <if test="bo.registerProvince != null and bo.registerProvince.size > 0 ">
</foreach> or register_province in
</if> <foreach collection="bo.registerProvince" item="registerProvince" open="(" close=")" separator=",">
<if test="bo.registerProvince != null and bo.registerCity != null "> #{registerProvince}
and ( </foreach>
register_province in </if>
<foreach collection="bo.registerProvince" item="registerProvince" separator="," open="(" close=")"> <if test="bo.registerCity != null and bo.registerCity.size > 0 ">
#{registerProvince} or register_city in
</foreach> <foreach collection="bo.registerCity" item="registerCity" open="(" close=")" separator=",">
or register_city in #{registerCity}
<foreach collection="bo.registerCity" item="registerCity" separator="," open="(" close=")"> </foreach>
#{registerCity} </if>
</foreach> </trim>
) </if>
</if> <if test="bo.groupSpecialtyId != null and bo.groupSpecialtyId.size > 0 ">
<if test="bo.groupSpecialtyId != null ">
<foreach collection="bo.groupSpecialtyId" item="groupSpecialtyId"> <foreach collection="bo.groupSpecialtyId" item="groupSpecialtyId">
and find_in_set(#{groupSpecialtyId},group_specialty_id) > 0 and find_in_set(#{groupSpecialtyId},group_specialty_id) > 0
</foreach> </foreach>
</if> </if>
<if test="bo.customerState != null "> <if test="bo.customerState != null and bo.customerState.size > 0 ">
and customer_state in and customer_state in
<foreach collection="bo.customerState" item="customerState" separator="," open="(" close=")"> <foreach collection="bo.customerState" item="customerState" separator="," open="(" close=")">
#{customerState} #{customerState}
</foreach> </foreach>
</if> </if>
<if test="bo.credential != null "> <if test="bo.credential != null and bo.credential.size > 0 ">
and credential in and credential in
<foreach collection="bo.credential" item="credential" separator="," open="(" close=")"> <foreach collection="bo.credential" item="credential" separator="," open="(" close=")">
#{credential} #{credential}
</foreach> </foreach>
</if> </if>
<if test="bo.creditLevel != null "> <if test="bo.creditLevel != null and bo.creditLevel.size > 0 ">
and credit_level in and credit_level in
<foreach collection="bo.creditLevel" item="creditLevel" separator="," open="(" close=")"> <foreach collection="bo.creditLevel" item="creditLevel" separator="," open="(" close=")">
#{creditLevel} #{creditLevel}
</foreach> </foreach>
</if> </if>
<if test="bo.paytaxType != null"> <if test="bo.paytaxType != null and bo.paytaxType.size > 0 ">
and paytax_type in and paytax_type in
<foreach collection="bo.paytaxType" item="paytaxType" separator="," open="(" close=")"> <foreach collection="bo.paytaxType" item="paytaxType" separator="," open="(" close=")">
#{paytaxType} #{paytaxType}
</foreach> </foreach>
</if> </if>
<if test="bo.taxRate != null"> <if test="bo.taxRate != null and bo.taxRate.size > 0 ">
and tax_rate in and tax_rate in
<foreach collection="bo.taxRate" item="taxRate" separator="," open="(" close=")"> <foreach collection="bo.taxRate" item="taxRate" separator="," open="(" close=")">
#{taxRate} #{taxRate}
......
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
<select id="selectStatisticByCustomerId" resultType="com.dsk.cscec.domain.vo.DCustomerListVo"> <select id="selectStatisticByCustomerId" resultType="com.dsk.cscec.domain.vo.DCustomerListVo">
select select
count(DISTINCT org.customer_id) enterpriseCooperationCount, count(DISTINCT org.sign_org_id) enterpriseCooperationCount,
count(DISTINCT project.customer_id) projectCooperationCount count(DISTINCT project.project_id) projectCooperationCount
from d_customer dc from d_customer dc
left join d_subcontract org on org.customer_id = dc.customer_id left join d_subcontract org on org.customer_id = dc.customer_id
left join d_subcontract project on project.customer_id = dc.customer_id left join d_subcontract project on project.customer_id = dc.customer_id
...@@ -45,15 +45,50 @@ ...@@ -45,15 +45,50 @@
<if test="bo.customerName != null and bo.customerName != ''"> <if test="bo.customerName != null and bo.customerName != ''">
and ds.customer_name =#{bo.customerName} and ds.customer_name =#{bo.customerName}
</if> </if>
<if test="bo.areaName != null and bo.areaName.size > 0"> <if test="bo.areaName != null and bo.areaName.size > 0 or (bo.provinceName != null and bo.provinceName.size > 0) or (bo.cityName != null and bo.cityName.size > 0)">
and ( and
ds.areaName in <trim prefix="(" suffix=")" prefixOverrides="or">
<foreach collection="bo.areaName" item="areaName" open="(" close=")" separator=","> <if test="bo.areaName != null and bo.areaName.size > 0 ">
#{areaName} or dp.area_name in
</foreach> <foreach collection="bo.areaName" item="areaName" open="(" close=")" separator=",">
) #{areaName}
</foreach>
</if>
<if test="bo.provinceName != null and bo.provinceName.size > 0 ">
or dp.province_name in
<foreach collection="bo.provinceName" item="provinceName" open="(" close=")" separator=",">
#{provinceName}
</foreach>
</if>
<if test="bo.cityName != null and bo.cityName.size > 0 ">
or dp.city_name in
<foreach collection="bo.cityName" item="cityName" open="(" close=")" separator=",">
#{cityName}
</foreach>
</if>
</trim>
</if> </if>
</where> </where>
order by ds.sign_date desc order by ds.sign_date desc
</select> </select>
<select id="countByBo" resultType="int">
select count (1)
from d_subcontract ds
left join d_project dp on dp.project_id = ds.project_id
<where>
<if test="bo.signOrgId != null and bo.signOrgId != ''">
and ds.sign_org_id =#{bo.signOrgId}
</if>
<if test="bo.signOrgName != null and bo.signOrgName != ''">
and ds.sign_org_name =#{bo.signOrgName}
</if>
<if test="bo.customerId != null and bo.customerId != ''">
and ds.customer_id =#{bo.customerId}
</if>
<if test="bo.customerName != null and bo.customerName != ''">
and ds.customer_name =#{bo.customerName}
</if>
</where>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
}, },
"dependencies": { "dependencies": {
"@cell-x/el-table-sticky": "^1.0.2", "@cell-x/el-table-sticky": "^1.0.2",
"@form-create/element-ui": "^2.5.33",
"@riophae/vue-treeselect": "0.4.0", "@riophae/vue-treeselect": "0.4.0",
"@vue/composition-api": "^1.7.2", "@vue/composition-api": "^1.7.2",
"axios": "0.24.0", "axios": "0.24.0",
......
...@@ -41,3 +41,9 @@ export const getAreaListApi = () => request({ ...@@ -41,3 +41,9 @@ export const getAreaListApi = () => request({
url: "/area/all/withoutRegion", url: "/area/all/withoutRegion",
method: "get" method: "get"
}); });
//获取地区树
export const getAllAreaApi = () => request({
url: '/area/all',
method: 'get',
});
...@@ -31,4 +31,15 @@ export const getConsultingOrgEenterpriseDetailWithSearchApi = (params) => reques ...@@ -31,4 +31,15 @@ export const getConsultingOrgEenterpriseDetailWithSearchApi = (params) => reques
url: "/advisory/body/getCooperateProjectDetailList", url: "/advisory/body/getCooperateProjectDetailList",
method: "get", method: "get",
params params
});
/**
* 咨询机构项目列表 项目跳转详情获取
* @param {*} params
* @returns
*/
export const getgetConsultingOrgProjectDetailApi = (params) => request({
url: "/advisory/body/getProjectDetail",
method: "get",
params
}); });
\ No newline at end of file
import request from '@/utils/request';
/**
* 获取(常合作业主单位、常合作施工单位、常合作集团)列表
* @param {*} data
* @returns
*/
export const getCooperativeOwnerUnitsListApi = (data) => request({
url: "/consultancy/page",
method: "post",
data
});
/**
* 获取(常合作业主单位、常合作施工单位、常合作集团)详情
* @param {*} data
* @returns
*/
export const getCooperativeOwnerUnitsDetailApi = (data) => request({
url: "/consultancy/detailPage",
method: "post",
data
});
/**
* 获取下拉列表选项
* @param {*} data
* @returns
*/
export const getCooperativeOwnerUnitsOptionsApi = (data) => request({
url: "/consultancy/pageSelect",
method: "post",
data
});
/**
* 当前页列表 amount 总数
* @param {*} data
* @returns
*/
export const getCooperativeOwnerUnitsCountAmountApi = (data) => request({
url: "/consultancy/statistics",
method: "post",
data
});
/**
* 常合作集团详情 合作成员列表
* @param {*} data
* @returns
*/
export const getCooperativeGroupMemberApi = (data) => request({
url: "/consultancy/combinePage",
method: "post",
data
});
\ No newline at end of file
import request from '@/utils/request';
/**
* 获取咨询机构合作列表
* @param {*} data
* @returns
*/
export const getConsultingAgencyCooperationListApi = (data) => request({
url: "/customerInfo/advisoryList",
method: "get",
data
});
/**
* 供应商准入情况
* @param {*} params
* @returns
*/
export const getSupplierAccessInfoApi = (params) => request({
url: "/customerInfo/approveInfo",
method: "get",
params
});
/**
* 导出咨询机构合作记录excel文件
* @param {*} params
* @returns
*/
export const exportRecordOfCooperationExcelApi = (params) => request({
url: "/customerInfo/advisoryExport",
method: "get",
params,
responseType: "blob"
});
/**
* 供应商合作记录列表
* @param {*} params
* @returns
*/
export const getSupplierCooperationRecordListApi = (params) => request({
url: "/customerInfo/cooperationList",
method: "get",
params,
});
\ No newline at end of file
import request from '@/utils/request'
export function zjyjAptitude (data) {
return request({
url: '/enterprise/zjyjAptitude',
method: 'post',
data
})
}
export function enterpriseAptitude (data) {
return request({
url: '/enterprise/zjyj/enterpriseAptitude',
method: 'post',
data
})
}
export function importTemplate (data) {
return request({
url: '/export/aptitude/importTemplate',
method: 'post',
responseType: "blob",
data
})
}
export function list (data) {
return request({
url: '/user/file/record/list',
method: 'get',
params:data
})
}
//资质标准
export function standard (data) {
return request({
url: '/enterprise/zjyj/cert/standard',
method: 'post',
data
})
}
...@@ -21,7 +21,8 @@ export function customerExport(param) { ...@@ -21,7 +21,8 @@ export function customerExport(param) {
url: '/customer/export', url: '/customer/export',
method: 'post', method: 'post',
data:param, data:param,
responseType: 'blob' responseType: 'blob',
timeout: 60000
}); });
} }
//专业类别选项列表 //专业类别选项列表
......
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_181_024631"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_181_024631)"><g><g><g><rect x="0" y="0" width="16" height="16" rx="0" fill="#FFFFFF" fill-opacity="0.009999999776482582"/></g><g><path d="M3.9996778125,11.500654375L14.6663078125,11.500654375Q14.7156078125,11.500654375,14.7639078125,11.491044375Q14.8122078125,11.481434375,14.8577078125,11.462594375Q14.9032078125,11.443744375,14.9441078125,11.416384375Q14.9851078125,11.389024375,15.0199078125,11.354204375Q15.0547078125,11.319384375,15.0821078125,11.278434375Q15.1094078125,11.237494375,15.1283078125,11.191994375Q15.1471078125,11.146494375,15.1567078125,11.098194375Q15.1663078125,11.049894375,15.1663078125,11.000654375L15.1663078125,2.333984375Q15.1663078125,2.284738675,15.1567078125,2.236439275Q15.1471078125,2.188139375,15.1283078125,2.142642375Q15.1094078125,2.097145375,15.0821078125,2.056199375Q15.0547078125,2.015253375,15.0199078125,1.980431375Q14.9851078125,1.945609375,14.9441078125,1.918249375Q14.9032078125,1.8908903750000001,14.8577078125,1.872044375Q14.8122078125,1.853199375,14.7639078125,1.843591375Q14.7156078125,1.833984375,14.6663078125,1.833984375L1.3330078125,1.833984375Q1.2837621125,1.833984375,1.2354627125,1.843591375Q1.1871628125,1.853199375,1.1416658124999999,1.872044375Q1.0961688125,1.8908903750000001,1.0552228125,1.918249375Q1.0142768125,1.945609375,0.9794548125,1.980431375Q0.9446328125,2.015253375,0.9172728125,2.056199375Q0.8899138125,2.097145375,0.8710678125,2.142642375Q0.8522228125,2.188139375,0.8426148124999999,2.236439275Q0.8330078125,2.284738675,0.8330078125,2.333984375L0.8330078125,11.000654375Q0.8330078125,11.049894375,0.8426148124999999,11.098194375Q0.8522228125,11.146494375,0.8710678125,11.191994375Q0.8899138125,11.237484375,0.9172728125,11.278434375Q0.9446328125,11.319384375,0.9794548125,11.354204375Q1.0142768125,11.389024375,1.0552228125,11.416384375Q1.0961688125,11.443744375,1.1416658124999999,11.462584375Q1.1871628125,11.481434375,1.2354627125,11.491044375Q1.2837621125,11.500654375,1.3330078125,11.500654375L3.9996778125,11.500654375ZM14.1663078125,10.500654375L1.8330078125,10.500654375L1.8330078125,2.833984375L14.1663078125,2.833984375L14.1663078125,10.500654375Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g><g><path d="M4.8330078125,7.333984375L4.8330078125,8.667314375Q4.8330078125,8.716564375,4.8426148125,8.764864375Q4.8522228125,8.813164375,4.8710678125,8.858664375Q4.8899138125,8.904154375000001,4.9172728125,8.945104375Q4.9446328125,8.986044375,4.9794548125,9.020874375Q5.0142768125,9.055694375,5.0552228125,9.083054375Q5.0961688125,9.110414375,5.1416658125,9.129254375Q5.1871628125,9.148104374999999,5.2354627125,9.157714375Q5.2837621125,9.167314375,5.3330078125,9.167314375Q5.3822535125,9.167314375,5.4305529125,9.157714375Q5.4788528125,9.148104374999999,5.5243498125,9.129254375Q5.5698468125,9.110414375,5.6107928125,9.083054375Q5.6517388125,9.055694375,5.6865608125,9.020874375Q5.7213828125,8.986044375,5.7487428125,8.945104375Q5.7761018125,8.904154375000001,5.7949478125,8.858664375Q5.8137928125,8.813164375,5.8234008125,8.764864375Q5.8330078125,8.716564375,5.8330078125,8.667314375L5.8330078125,7.333984375Q5.8330078125,7.284738675,5.8234008125,7.236439275Q5.8137928125,7.188139375,5.7949478125,7.142642375Q5.7761018125,7.097145375,5.7487428125,7.056199375Q5.7213828125,7.015253375,5.6865608125,6.980431375Q5.6517388125,6.945609375,5.6107928125,6.918249375Q5.5698468125,6.890890375,5.5243498125,6.872044375Q5.4788528125,6.853199375,5.4305529125,6.843591375Q5.3822535125,6.833984375,5.3330078125,6.833984375Q5.2837621125,6.833984375,5.2354627125,6.843591375Q5.1871628125,6.853199375,5.1416658125,6.872044375Q5.0961688125,6.890890375,5.0552228125,6.918249375Q5.0142768125,6.945609375,4.9794548125,6.980431375Q4.9446328125,7.015253375,4.9172728125,7.056199375Q4.8899138125,7.097145375,4.8710678125,7.142642375Q4.8522228125,7.188139375,4.8426148125,7.236439275Q4.8330078125,7.284738675,4.8330078125,7.333984375Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g><g><path d="M7.5,11L7.5,13Q7.5,13.04925,7.509607,13.09754Q7.519215,13.14584,7.53806,13.19134Q7.556906,13.23684,7.584265,13.27778Q7.611625,13.31873,7.646447,13.35355Q7.681269,13.38838,7.722215,13.41573Q7.763161,13.44309,7.808658,13.46194Q7.854155,13.48078,7.9024549,13.49039Q7.9507543,13.5,8,13.5Q8.0492457,13.5,8.0975451,13.49039Q8.145845,13.48078,8.191342,13.46194Q8.236839,13.44309,8.277785,13.41573Q8.318731,13.38838,8.353553,13.35355Q8.388375,13.31873,8.415735,13.27779Q8.443094,13.23684,8.46194,13.19134Q8.480785000000001,13.14584,8.490393,13.09754Q8.5,13.04925,8.5,13L8.5,11Q8.5,10.9507543,8.490393,10.9024549Q8.480785000000001,10.854155,8.46194,10.808658Q8.443094,10.763161,8.415735,10.722215Q8.388375,10.681269,8.353553,10.646447Q8.318731,10.611625,8.277785,10.584265Q8.236839,10.556906,8.191342,10.53806Q8.145845,10.519214999999999,8.0975451,10.509607Q8.0492457,10.5,8,10.5Q7.9507543,10.5,7.9024549,10.509607Q7.854155,10.519214999999999,7.808658,10.53806Q7.763161,10.556906,7.722215,10.584265Q7.681269,10.611625,7.646447,10.646447Q7.611625,10.681269,7.584265,10.722215Q7.556906,10.763161,7.53806,10.808658Q7.519215,10.854155,7.509607,10.9024549Q7.5,10.9507543,7.5,11Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g><g><path d="M7.5,6L7.5,8.66667Q7.5,8.715910000000001,7.509607,8.76421Q7.519215,8.81251,7.53806,8.85801Q7.556906,8.90351,7.584265,8.94445Q7.611625,8.9854,7.646447,9.02022Q7.681269,9.05504,7.722215,9.0824Q7.763161,9.10976,7.808658,9.12861Q7.854155,9.14745,7.9024549,9.15706Q7.9507543,9.16667,8,9.16667Q8.0492457,9.16667,8.0975451,9.15706Q8.145845,9.14745,8.191342,9.12861Q8.236839,9.10976,8.277785,9.0824Q8.318731,9.05504,8.353553,9.02022Q8.388375,8.9854,8.415735,8.94445Q8.443094,8.90351,8.46194,8.85801Q8.480785000000001,8.81251,8.490393,8.76421Q8.5,8.715910000000001,8.5,8.66667L8.5,6Q8.5,5.9507543,8.490393,5.9024549Q8.480785000000001,5.854155,8.46194,5.808658Q8.443094,5.763161,8.415735,5.722215Q8.388375,5.681269,8.353553,5.646447Q8.318731,5.611625,8.277785,5.584265Q8.236839,5.556906,8.191342,5.53806Q8.145845,5.519215,8.0975451,5.509607Q8.0492457,5.5,8,5.5Q7.9507543,5.5,7.9024549,5.509607Q7.854155,5.519215,7.808658,5.53806Q7.763161,5.556906,7.722215,5.584265Q7.681269,5.611625,7.646447,5.646447Q7.611625,5.681269,7.584265,5.722215Q7.556906,5.763161,7.53806,5.808658Q7.519215,5.854155,7.509607,5.9024549Q7.5,5.9507543,7.5,6Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g><g><path d="M10.1669921875,4.666015625L10.1669921875,8.666015625Q10.1669921875,8.715265625,10.1765991875,8.763565625Q10.186207187499999,8.811855625,10.2050521875,8.857355625Q10.2238981875,8.902855625,10.2512571875,8.943795625Q10.2786171875,8.984745625,10.3134391875,9.019565625Q10.3482611875,9.054385625,10.3892071875,9.081745625Q10.4301531875,9.109105625,10.4756501875,9.127955625Q10.5211471875,9.146795625,10.5694470875,9.156405625Q10.6177464875,9.166015625,10.6669921875,9.166015625Q10.7162378875,9.166015625,10.7645372875,9.156405625Q10.8128371875,9.146795625,10.8583341875,9.127955625Q10.9038311875,9.109105625,10.9447771875,9.081745625Q10.9857231875,9.054385625,11.0205451875,9.019565625Q11.0553671875,8.984745625,11.0827271875,8.943795625Q11.1100861875,8.902855625,11.1289321875,8.857355625Q11.147777187500001,8.811855625,11.1573851875,8.763565625Q11.1669921875,8.715265625,11.1669921875,8.666015625L11.1669921875,4.666015625Q11.1669921875,4.616769925,11.1573851875,4.568470525Q11.147777187500001,4.520170625,11.1289321875,4.474673625Q11.1100861875,4.429176625,11.0827271875,4.388230625Q11.0553671875,4.347284625,11.0205451875,4.312462625Q10.9857231875,4.277640625,10.9447771875,4.250280625Q10.9038311875,4.222921625,10.8583341875,4.204075625Q10.8128371875,4.185230625,10.7645372875,4.175622625Q10.7162378875,4.166015625,10.6669921875,4.166015625Q10.6177464875,4.166015625,10.5694470875,4.175622625Q10.5211471875,4.185230625,10.4756501875,4.204075625Q10.4301531875,4.222921625,10.3892071875,4.250280625Q10.3482611875,4.277640625,10.3134391875,4.312462625Q10.2786171875,4.347284625,10.2512571875,4.388230625Q10.2238981875,4.429176625,10.2050521875,4.474673625Q10.186207187499999,4.520170625,10.1765991875,4.568470525Q10.1669921875,4.616769925,10.1669921875,4.666015625Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g><g><path d="M4,14.166015625L12.00001,14.166015625Q12.04926,14.166015625,12.09756,14.156408625Q12.14586,14.146800625000001,12.19135,14.127955625Q12.23685,14.109109625,12.2778,14.081750625Q12.31874,14.054390625,12.35357,14.019568625Q12.38839,13.984746625,12.41575,13.943800625Q12.44311,13.902854625,12.46195,13.857357625Q12.4808,13.811860625,12.49041,13.763560725Q12.50001,13.715261325,12.50001,13.666015625Q12.50001,13.616769925,12.49041,13.568470525Q12.4808,13.520170625,12.46195,13.474673625Q12.44311,13.429176625,12.41575,13.388230625Q12.38839,13.347284625,12.35357,13.312462625Q12.31874,13.277640625,12.2778,13.250280625Q12.23685,13.222921625,12.19135,13.204075625Q12.14586,13.185230624999999,12.09756,13.175622625Q12.04926,13.166015625,12.00001,13.166015625L4,13.166015625Q3.9507543,13.166015625,3.9024549,13.175622625Q3.854155,13.185230624999999,3.808658,13.204075625Q3.763161,13.222921625,3.722215,13.250280625Q3.681269,13.277640625,3.646447,13.312462625Q3.611625,13.347284625,3.584265,13.388230625Q3.556906,13.429176625,3.5380599999999998,13.474673625Q3.519215,13.520170625,3.509607,13.568470525Q3.5,13.616769925,3.5,13.666015625Q3.5,13.715261325,3.509607,13.763560725Q3.519215,13.811860625,3.5380599999999998,13.857357625Q3.556906,13.902854625,3.584265,13.943800625Q3.611625,13.984746625,3.646447,14.019568625Q3.681269,14.054390625,3.722215,14.081750625Q3.763161,14.109109625,3.808658,14.127955625Q3.854155,14.146800625000001,3.9024549,14.156408625Q3.9507543,14.166015625,4,14.166015625Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g></g></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="16" height="16" viewBox="0 0 16 16"><defs><clipPath id="master_svg0_181_024594"><rect x="0" y="0" width="16" height="16" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_181_024594)"><g><path d="M6.8151546875,5.021609375000001L5.7810546875,5.241409375Q5.7393446875,5.250279375,5.6997346875,5.266079375Q5.6601246875,5.281879375,5.6237646875,5.304169375Q5.5874046875,5.326449375,5.5553346875,5.3545693750000005Q5.5232746875,5.382679375,5.4964346875,5.4158293749999995Q5.4696046875,5.448969375,5.448764687500001,5.486179375Q5.4279246875,5.523379375,5.4136946875,5.563579375Q5.3994546875000005,5.603779375,5.3922346875,5.645809375Q5.3850146875,5.687839374999999,5.3850146875,5.730489374999999L5.3850146875,5.7318693750000005Q5.3851546875,5.783719375,5.3959346875000005,5.8344393750000005Q5.4048046875,5.876149375,5.4206046875,5.915759375Q5.4364046875,5.955369375,5.4586946874999995,5.991729375Q5.4809746875,6.028099375,5.5090946875,6.060159375Q5.5372046875,6.092219375,5.5703546875,6.119059375Q5.6034946875,6.145899375,5.6407046875,6.166729375Q5.6779046875,6.187569375,5.7181046875,6.201809375Q5.7583046875,6.216039374999999,5.8003346875,6.223259375Q5.8423646875,6.230489374999999,5.8850146875,6.230489374999999L5.8863946875,6.230489374999999Q5.9382446875,6.230339375,5.9889646875,6.219559374999999L7.0230646875,5.999759375Q7.0905646875,5.985409375,7.1485046875,6.023029375L9.8481246875,7.776189375Q10.2535446875,8.039359375,10.7261246875,7.938889375L13.0644046875,7.441899375Q13.5371046875,7.341399375,13.8003046875,6.936109375Q14.0635046875,6.530819375,13.9630046875,6.058119375L13.7551046875,5.079999375Q13.6546046875,4.607329375,13.2493046875,4.344119375Q12.8440046875,4.080929375,12.3714046875,4.181379375L11.0112246875,4.470479375Q10.9436646875,4.484839375,10.8858246875,4.447269375L8.1861646875,2.694081375Q7.7808446875,2.4308843749999998,7.3081846875,2.531356375L1.3833496875,3.790712375Q1.3416356875,3.799578375,1.3020266875,3.815381375Q1.2624166875,3.831183375,1.2260556875,3.853465375Q1.1896946875,3.875748375,1.1576316875,3.9038663749999998Q1.1255696875,3.931984375,1.0987316875,3.965125375Q1.0718946875,3.998267375,1.0510566875,4.0354793749999995Q1.0302196875,4.072679375,1.0159836875,4.112879375Q1.0017486875000001,4.153079375,0.9945266875000001,4.1951093749999995Q0.9873046875,4.237139375,0.9873046875,4.279789375L0.9873066875000001,4.281169375Q0.9874496875000001,4.333019375,0.9982306875,4.383739375Q1.0189086875,4.481019375,1.0752416875,4.562989375Q1.1315736875,4.6449493749999995,1.2149846874999999,4.699119375Q1.3391976875,4.779789375,1.4873046875,4.779789375L1.4948042575,4.7797293750000005Q1.5435621875,4.778999375,1.5912596875,4.768859375L7.5161046875,3.509502375Q7.5836246875,3.495150375,7.6415246875,3.532750375L10.3411246875,5.285899375Q10.7463846875,5.549119375,11.2191346875,5.448629374999999L12.5792046875,5.159529375Q12.7423046875,5.124879375,12.7769046875,5.287899375L12.9848046875,6.266059375Q13.0195046875,6.429089375,12.8565046875,6.463749375L10.5181646875,6.960749375Q10.4506646875,6.975099375,10.3927646875,6.937519375L7.6931146875,5.184339375Q7.2877746875,4.921129375,6.8151546875,5.021609375000001Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g><g><path d="M10.21899875,10.092180625000001L10.21929875,10.092120625Q10.316588750000001,10.071440625000001,10.39854875,10.015110625Q10.48050875,9.958780625,10.53467875,9.875370625Q10.61534875,9.751150625,10.61534875,9.603040625L10.61528875,9.595550625Q10.61455875,9.546790625,10.60441875,9.499090625000001Q10.58374875,9.401810625,10.52740875,9.319840625Q10.47107875,9.237880625,10.38766875,9.183710625Q10.26345875,9.103050625,10.115348749999999,9.103040625L10.107848749999999,9.103100625Q10.05908875,9.103830625,10.01139875,9.113970625L8.97728875,9.333770625Q8.909738749999999,9.348130625,8.85189875,9.310560625L6.15223875,7.557376625Q5.7468787500000005,7.294155625,5.27423875,7.394642625L2.93595875,7.891671725Q2.46328005,7.992118625,2.20007175,8.397427625Q1.93687575,8.802718625,2.03734975,9.275400625L2.24526375,10.253540625Q2.34573175,10.726240624999999,2.75102175,10.989440625Q3.1563197499999998,11.252640625,3.62901875,11.152150625L4.98913875,10.863050625Q5.05667875,10.848690625,5.11457875,10.886290625L7.81418875,12.639450625Q8.219548750000001,12.902670624999999,8.69219875,12.802180625L14.61701875,11.542820625000001Q14.65871875,11.533950625,14.69831875,11.518150625Q14.73791875,11.502350625,14.77431875,11.480060625Q14.81061875,11.457780625,14.84271875,11.429660625Q14.87481875,11.401550625,14.90161875,11.368400625Q14.92841875,11.335260625,14.94931875,11.298060625Q14.97011875,11.260850625,14.98431875,11.220650625000001Q14.99861875,11.180450625,15.00581875,11.138420625Q15.01301875,11.096390625,15.01301875,11.053750625L15.01301875,11.052360625Q15.01291875,11.000510625,15.00211875,10.949790625Q14.99321875,10.908070625,14.97741875,10.868470625Q14.96161875,10.828860625,14.93931875,10.792490625Q14.91711875,10.756130625,14.88891875,10.724070625Q14.86081875,10.692010625,14.82771875,10.665170625Q14.79451875,10.638330625,14.75731875,10.617500625Q14.72011875,10.596660625,14.67991875,10.582420625000001Q14.63971875,10.568190625,14.59771875,10.560970625Q14.55571875,10.553740625,14.51301875,10.553740625L14.51161875,10.553750625Q14.45981875,10.553890625000001,14.40911875,10.564670625L8.48423875,11.824040625Q8.41675875,11.838390625,8.35882875,11.800780625L5.65918875,10.047600625Q5.25388875,9.784410625,4.78122875,9.884900625L3.42107175,10.174010625000001Q3.35355375,10.188360625,3.2956647500000003,10.150770625Q3.23776675,10.113170625,3.22340975,10.045620625L3.01549675,9.067490625Q3.0011437499999998,8.999960625,3.03874575,8.942060625Q3.07634075,8.884170625,3.14387575,8.869820625L5.482188750000001,8.372780625Q5.54966875,8.358433625,5.60759875,8.396046625L8.307198750000001,10.149190625Q8.71244875,10.412410625,9.18519875,10.311920624999999L10.21899875,10.092180625000001Z" fill-rule="evenodd" fill="#232323" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
This diff is collapsed.
...@@ -97,29 +97,29 @@ div:focus { ...@@ -97,29 +97,29 @@ div:focus {
} }
} }
aside { // aside {
background: #eef1f6; // background: #eef1f6;
padding: 8px 24px; // padding: 8px 24px;
margin-bottom: 20px; // margin-bottom: 20px;
border-radius: 2px; // border-radius: 2px;
display: block; // display: block;
line-height: 32px; // line-height: 32px;
font-size: 16px; // font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, // font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; // Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50; // color: #2c3e50;
-webkit-font-smoothing: antialiased; // -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; // -moz-osx-font-smoothing: grayscale;
a { // a {
color: #337ab7; // color: #337ab7;
cursor: pointer; // cursor: pointer;
&:hover { // &:hover {
color: rgb(32, 160, 255); // color: rgb(32, 160, 255);
} // }
} // }
} // }
.components-container { .components-container {
margin: 30px 50px; margin: 30px 50px;
...@@ -453,14 +453,9 @@ li { ...@@ -453,14 +453,9 @@ li {
// 封装组件样式 // 封装组件样式
.table-list-com-ins { .table-list-com-ins {
.table-item { .table-item {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
.el-table { .el-table {
width: 100%; width: 100%;
height: 100%; height: auto;
font-size: 14px; font-size: 14px;
color: #232323; color: #232323;
...@@ -976,3 +971,9 @@ li { ...@@ -976,3 +971,9 @@ li {
.min1370 { .min1370 {
min-width: 1370px; min-width: 1370px;
} }
// 重置全局 溢出弹出提示宽度
.el-tooltip__popper {
max-width: 70%;
}
.el-icon-arrow-down{
color: #C0C4CC;
}
.title_wrap,.el-divider{ .title_wrap,.el-divider{
border-color: #eee; border-color: #eee;
} }
...@@ -203,3 +206,6 @@ ...@@ -203,3 +206,6 @@
} }
} }
.table-supplier .fixed-table .el-table__fixed-header-wrapper{
top: -16px !important;
}
...@@ -64,6 +64,7 @@ export default { ...@@ -64,6 +64,7 @@ export default {
} }
}, },
tabChoose(item) { tabChoose(item) {
if (item.value == this.currentValue) return;
this.$emit("currentTabChange", item.value); this.$emit("currentTabChange", item.value);
this.$emit("tabToggle", item.value); this.$emit("tabToggle", item.value);
this.initSlidingBar(); this.initSlidingBar();
......
<template> <template>
<div class="table-list-com-ins"> <div class="table-list-com-ins" :class="{'is-empty-table' : !tableDataTotal}">
<div class="table-item"> <div class="table-item">
<el-table v-if="tableDataTotal>0" class="fixed-table" :class="headerFixed ? 'headerFixed':''" v-loading="tableLoading" :data="tableData" <el-table v-if="tableDataTotal>0" class="fixed-table" :class="headerFixed ? 'headerFixed':''" v-loading="tableLoading" :data="tableData"
element-loading-text="Loading" ref="tableRef" border fit highlight-current-row :default-sort="defaultSort?defaultSort:{}" element-loading-text="Loading" ref="tableRef" border fit highlight-current-row :default-sort="defaultSort?defaultSort:{}"
@sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle" @sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
:row-class-name="rowClassName" :row-style="rowStyle" :height="height" :maxHeight="maxHeight" v-sticky-header="stickyHeader"> :row-class-name="rowClassName" :row-style="rowStyle" :height="height" :maxHeight="comMaxHeight" v-sticky-header="stickyHeader">
<el-table-column type="selection" :width="needSelection.width ? needSelection.width : '38px'" v-if="needSelection.flag" <el-table-column type="selection" :width="needSelection.width ? needSelection.width : '38px'" v-if="needSelection.flag"
:fixed="needSelection.fixed" :align="needSelection.align" :show-overflow-tooltip="needSelection.showOverflowTooltip"> :fixed="needSelection.fixed" :align="needSelection.align" :show-overflow-tooltip="needSelection.showOverflowTooltip">
</el-table-column> </el-table-column>
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</template> </template>
</el-table> </el-table>
<div style="padding: 30px 0;box-sizing:border-box;" v-else> <div class="table-empty-container" v-else>
<no-data /> <no-data />
</div> </div>
</div> </div>
...@@ -80,7 +80,7 @@ export default { ...@@ -80,7 +80,7 @@ export default {
type: [String, Number] type: [String, Number]
}, },
maxHeight: { maxHeight: {
type: [String, Number] type: Boolean
}, },
isIndex: { isIndex: {
type: Boolean, type: Boolean,
...@@ -168,7 +168,8 @@ export default { ...@@ -168,7 +168,8 @@ export default {
data() { data() {
return { return {
current_page: this.queryParams.pageNum, current_page: this.queryParams.pageNum,
show_page: this.paging show_page: this.paging,
comMaxHeight: null
}; };
}, },
watch: { watch: {
...@@ -177,9 +178,24 @@ export default { ...@@ -177,9 +178,24 @@ export default {
} }
}, },
created() { created() {
this.maxHeight ? this.maxHeightInit() : null;
}, },
methods: { methods: {
// 自适应当前容器
async maxHeightInit() {
try {
await this.$nextTick();
/**
* @type {HTMLDivElement}
*/
const container = this.$el.querySelector(".table-item");
if (container) {
this.comMaxHeight = `${container.offsetHeight}px`;
}
} catch (error) {
}
},
handleCurrentChange(e) { handleCurrentChange(e) {
if (this.MaxPage < e) { if (this.MaxPage < e) {
this.show_page = false; this.show_page = false;
...@@ -214,7 +230,15 @@ export default { ...@@ -214,7 +230,15 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.table-list-com-ins { .table-list-com-ins {
&.is-empty-table {
.table-item {
max-height: unset;
height: 100%;
}
}
::v-deep .table-item { ::v-deep .table-item {
width: 100%;
max-height: calc(100% - 40px);
.no-line-feed { .no-line-feed {
display: block; display: block;
color: #0081ff; color: #0081ff;
...@@ -250,11 +274,25 @@ export default { ...@@ -250,11 +274,25 @@ export default {
height: 16px; height: 16px;
} }
// 空状态容器
.table-empty-container {
width: 100%;
height: 100%;
min-height: 360px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
.no-data {
min-height: unset;
}
}
.el-table { .el-table {
/* .cell { .el-table__header-wrapper {
display: flex; min-height: 40px;
align-items: center; }
} */
} }
} }
......
import Vue from 'vue'; import Vue from 'vue';
import VCA from '@vue/composition-api' //composition APi import VCA from '@vue/composition-api'; //composition APi
import Cookies from 'js-cookie'; import Cookies from 'js-cookie';
import Element from 'element-ui'; import Element from 'element-ui';
import formCreate from '@form-create/element-ui';
import './assets/styles/element-variables.scss'; import './assets/styles/element-variables.scss';
import "@/assets/styles/common.css"; import "@/assets/styles/common.css";
...@@ -25,6 +26,11 @@ import { getDicts } from "@/api/system/dict/data"; ...@@ -25,6 +26,11 @@ import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config"; import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"; import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
// 分栏组件
import SubfieldModule from "@/views/consultingOrgManagement/components/CustomForm/components/SubfieldModule";
// 分栏子组件
import SubfieldItem from "@/views/consultingOrgManagement/components/CustomForm/components/SubfieldItem";
// 分页组件 // 分页组件
import Pagination from "@/components/Pagination"; import Pagination from "@/components/Pagination";
// 自定义表格工具组件 // 自定义表格工具组件
...@@ -63,6 +69,8 @@ Vue.component('Editor', Editor); ...@@ -63,6 +69,8 @@ Vue.component('Editor', Editor);
Vue.component('FileUpload', FileUpload); Vue.component('FileUpload', FileUpload);
Vue.component('ImageUpload', ImageUpload); Vue.component('ImageUpload', ImageUpload);
Vue.component('ImagePreview', ImagePreview); Vue.component('ImagePreview', ImagePreview);
Vue.component("subfield-module", SubfieldModule);
Vue.component("subfield-item", SubfieldItem);
Vue.use(VCA); Vue.use(VCA);
Vue.use(horizontalScroll); Vue.use(horizontalScroll);
...@@ -84,6 +92,7 @@ DictData.install(); ...@@ -84,6 +92,7 @@ DictData.install();
Vue.use(Element, { Vue.use(Element, {
size: Cookies.get('size') || 'medium' // set element-ui default size size: Cookies.get('size') || 'medium' // set element-ui default size
}); });
Vue.use(formCreate);
Vue.config.productionTip = false; Vue.config.productionTip = false;
......
// 默认自定义表单组件
/**
* 模块模板
*/
export const subfieldModuleTemplate = {
defaultSubfieldModuleName: "分栏名称",
subfieldModuleName: "",
subfieldModuleNameRules: {
message: "请输入分栏名称",
trigger: ["blur", "change"]
},
subfieldModulePlaceholder: "请输入分栏标题",
edit: false,
children: []
};
export const defaultComOptions = [
{
comLabel: "单行文本",
// 组件类型
comType: "el-input",
// 组件展示图标
comShowIcon: require("@/assets/images/consultingAgencyManagement/customForm/icon_single_line_text@2x.png"),
}
];
\ No newline at end of file
This diff is collapsed.
<template> <template>
<div v-loading="loading" class="market-container"> <div v-loading="loading" class="advisoryOrgan-container">
<iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" /> <iframe id="companyIframe" class="advisoryOrgan-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" />
</div> </div>
</template> </template>
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
async iframeObserver() { async iframeObserver() {
try { try {
await this.$nextTick(); await this.$nextTick();
this.iframeIns = document.querySelector(".market-iframe"); this.iframeIns = document.querySelector(".advisoryOrgan-iframe");
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
...@@ -101,7 +101,7 @@ export default { ...@@ -101,7 +101,7 @@ export default {
if (res.code == 200) { if (res.code == 200) {
this.timelongs = res.data.expire; this.timelongs = res.data.expire;
this.ak = res.data.accessToken; this.ak = res.data.accessToken;
this.src = `${this.domain}/search/market?ak=${this.ak}&initTime=${new Date().getTime()}&uid=${this.ak}&origin=${window.location.origin}`; this.src = `${this.domain}/search/advisoryOrgan?ak=${this.ak}&initTime=${new Date().getTime()}&uid=${this.ak}&origin=${window.location.origin}`;
this.refreshtoken(); this.refreshtoken();
} else { } else {
clearTimeout(this.tokentimer); clearTimeout(this.tokentimer);
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.market-container { .advisoryOrgan-container {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 16px 24px; padding: 16px 24px;
...@@ -150,7 +150,7 @@ export default { ...@@ -150,7 +150,7 @@ export default {
left: 0; left: 0;
top: 0; top: 0;
.market-iframe { .advisoryOrgan-iframe {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
......
<template>
<div class="subfield-item-container">
</div>
</template>
<script>
export default {
name: "subfieldItem",
data() {
return {
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
},
}
</script>
<style lang="scss" scoped>
.subfield-item-container {
}
</style>
...@@ -44,7 +44,10 @@ export default { ...@@ -44,7 +44,10 @@ export default {
}, },
//可访问data属性 //可访问data属性
created() { created() {
const target = this.$route.query.target;
if (target && ["project", "enterprise"].includes(target)) {
this.currentList = target;
}
}, },
//计算集 //计算集
computed: { computed: {
...@@ -52,7 +55,6 @@ export default { ...@@ -52,7 +55,6 @@ export default {
}, },
//方法集 //方法集
methods: { methods: {
}, },
} }
</script> </script>
......
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