Commit 0aedb9ac authored by huangjie's avatar huangjie

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

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents 0f27db4f b252cc25
...@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import java.util.List;
/** /**
* 咨询机构管理控制层 * 咨询机构管理控制层
...@@ -30,7 +30,7 @@ import javax.validation.constraints.NotNull; ...@@ -30,7 +30,7 @@ import javax.validation.constraints.NotNull;
@RequestMapping("advisory/body") @RequestMapping("advisory/body")
public class AdvisoryBodyManageController extends BaseController { public class AdvisoryBodyManageController extends BaseController {
@Resource @Resource
private IDProjectService baseService; private IDProjectService projectService;
@Resource @Resource
private AdvisoryBodyService advisoryBodyService; private AdvisoryBodyService advisoryBodyService;
@Resource @Resource
...@@ -43,7 +43,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -43,7 +43,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@GetMapping("/getProjectList") @GetMapping("/getProjectList")
public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) { public TableDataInfo<ProjectSearchVo> getProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery) {
return baseService.queryProjectList(projectSearchBo, pageQuery); return projectService.queryProjectList(projectSearchBo, pageQuery);
} }
/** /**
...@@ -54,12 +54,20 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -54,12 +54,20 @@ public class AdvisoryBodyManageController extends BaseController {
return advisoryBodyService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery); return advisoryBodyService.queryAdvisoryBodyList(advisoryBodySearchBo, pageQuery);
} }
/**
* 获取项目承接类型下拉列表
*/
@GetMapping("/getIsInvestProject")
public R<List<String>> getIsInvestProject() {
return R.ok(projectService.queryIsInvestProject());
}
/** /**
* 获取合作项目明细 * 获取合作项目明细
*/ */
@GetMapping("/getCooperateProjectDetailList") @GetMapping("/getCooperateProjectDetailList")
public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(@Validated CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) { public TableDataInfo<CooperateProjectDetailSearchVo> getCooperateProjectDetailList(@Validated CooperateProjectDetailSearchBo cooperateProjectDetailSearchBo, PageQuery pageQuery) {
return baseService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery); return projectService.queryCooperateProjectDetailList(cooperateProjectDetailSearchBo, pageQuery);
} }
/** /**
...@@ -67,7 +75,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -67,7 +75,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@GetMapping("/getProjectDetail") @GetMapping("/getProjectDetail")
public R<ProjectDetailVo> getProjectDetail(@Validated ProjectDetailBo projectDetailBo) { public R<ProjectDetailVo> getProjectDetail(@Validated ProjectDetailBo projectDetailBo) {
return R.ok(baseService.queryProjectDetail(projectDetailBo)); return R.ok(projectService.queryProjectDetail(projectDetailBo));
} }
/** /**
...@@ -78,8 +86,6 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -78,8 +86,6 @@ public class AdvisoryBodyManageController extends BaseController {
return R.ok(advisoryBodyService.checkAdvisoryBodyExist(advisoryBodyName)); return R.ok(advisoryBodyService.checkAdvisoryBodyExist(advisoryBodyName));
} }
//todo:咨询机构合作明细,项目承接类型下拉列表接口
/** /**
* 编辑咨询机构结算信息 * 编辑咨询机构结算信息
* 包含: * 包含:
...@@ -88,19 +94,17 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -88,19 +94,17 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@PostMapping("/editAdvisoryBody") @PostMapping("/editAdvisoryBody")
public R<Void> editAdvisoryBody(@Validated EditAdvisoryBodyInfoBo editInfoBo) { public R<Void> editAdvisoryBody(@Validated EditAdvisoryBodyInfoBo editInfoBo) {
System.out.println("👉🏻editInfoBo:"+editInfoBo);
return toAjax(advisoryBodyService.editAdvisoryBody(editInfoBo)); return toAjax(advisoryBodyService.editAdvisoryBody(editInfoBo));
} }
/** /**
* 获取咨询机构自定义表单 * 获取咨询机构自定义表单
*/ */
@GetMapping("/getAdvisoryBodyCustomForm/{projectKey}") @GetMapping("/getAdvisoryBodyCustomForm")
public R<AdvisoryBodyCustomForm> getAdvisoryBodyCustomForm(@Validated @NotNull(message = "项目主键不能为空") @PathVariable Long projectKey) { public R<List<AdvisoryBodyCustomForm>> getAdvisoryBodyCustomForm() {
return R.ok(advisoryBodyCustomFormService.getById(projectKey)); return R.ok(advisoryBodyCustomFormService.list());
} }
//todo:自定义表单表格只存一条json数据改造
/** /**
* 新增咨询机构自定义表单 * 新增咨询机构自定义表单
*/ */
...@@ -115,7 +119,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -115,7 +119,7 @@ public class AdvisoryBodyManageController extends BaseController {
*/ */
@PutMapping("/updateAdvisoryBodyCustomForm") @PutMapping("/updateAdvisoryBodyCustomForm")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public R<Void> updateAdvisoryBodyCustomForm(@Validated AdvisoryBodyCustomForm advisoryBodyCustomForm) { public R<Void> updateAdvisoryBodyCustomForm(@Validated EditAdvisoryBodyCustomFormBo editBo) {
return toAjax(advisoryBodyCustomFormService.updateById(advisoryBodyCustomForm)); return toAjax(advisoryBodyCustomFormService.updateById(editBo));
} }
} }
\ No newline at end of file
...@@ -21,19 +21,19 @@ import javax.annotation.Resource; ...@@ -21,19 +21,19 @@ import javax.annotation.Resource;
*/ */
@RestController @RestController
@RequestMapping("fSupplierLimited") @RequestMapping("fSupplierLimited")
public class FSupplierLimitedController { public class SupplierLimitedController {
/** /**
* 服务对象 * 服务对象
*/ */
@Resource @Resource
private FSupplierLimitedService fSupplierLimitedService; private FSupplierLimitedService supplierLimitedService;
/** /**
* 获取涉诉限用禁用名单 * 获取涉诉限用禁用名单
*/ */
@GetMapping("/getSupplierLimitedList") @GetMapping("/getSupplierLimitedList")
public TableDataInfo<SupplierLimitedSearchVo> getSupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) { public TableDataInfo<SupplierLimitedSearchVo> getSupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) {
return fSupplierLimitedService.querySupplierLimitedList(searchBo, pageQuery); return supplierLimitedService.querySupplierLimitedList(searchBo, pageQuery);
} }
/** /**
...@@ -41,7 +41,7 @@ public class FSupplierLimitedController { ...@@ -41,7 +41,7 @@ public class FSupplierLimitedController {
*/ */
@GetMapping("/getSupplierUnlimitedList") @GetMapping("/getSupplierUnlimitedList")
public TableDataInfo<SupplierUnlimitedSearchVo> getSupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) { public TableDataInfo<SupplierUnlimitedSearchVo> getSupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) {
return fSupplierLimitedService.querySupplierUnlimitedList(searchBo, pageQuery); return supplierLimitedService.querySupplierUnlimitedList(searchBo, pageQuery);
} }
} }
...@@ -6,7 +6,6 @@ import lombok.Data; ...@@ -6,7 +6,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -22,14 +21,8 @@ public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable { ...@@ -22,14 +21,8 @@ public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable {
/** /**
* 项目主键 * 项目主键
*/ */
@TableId(value = "project_key") @TableId(value = "ab_custom_form_id")
@NotNull(message = "项目主键不能为空") private Long abCustomFormId;
private Long projectKey;
/**
* 咨询机构ID
*/
@NotNull(message = "咨询机构ID不能为空")
private Long advisoryBodyId;
/** /**
* json数据 * json数据
*/ */
......
package com.dsk.cscec.domain.bo;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author sxk
* @date 2024.01.09
* @time 11:24
*/
@Data
public class EditAdvisoryBodyCustomFormBo extends AdvisoryBodyCustomForm {
/**
* 项目主键
*/
@NotNull(message = "自定义表单ID不能为空")
private Long abCustomFormId;
}
...@@ -19,6 +19,5 @@ public class ProjectDetailBo { ...@@ -19,6 +19,5 @@ public class ProjectDetailBo {
/** /**
* 咨询机构Cid * 咨询机构Cid
*/ */
@NotNull(message = "咨询机构Cid不能为空")
private Long advisoryBodyCid; private Long advisoryBodyCid;
} }
...@@ -16,4 +16,12 @@ public class AdvisoryBodyExistVo extends AdvisoryBody { ...@@ -16,4 +16,12 @@ public class AdvisoryBodyExistVo extends AdvisoryBody {
* 是否为新资讯机构 * 是否为新资讯机构
*/ */
private Boolean isNewAdvisoryBody; private Boolean isNewAdvisoryBody;
/**
* 法定代表人
*/
private String corporatePerson;
/**
* 注册地址
*/
private String regAddress;
} }
...@@ -9,6 +9,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo; ...@@ -9,6 +9,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 项目维表(DProject)表数据库访问层 * 项目维表(DProject)表数据库访问层
* *
...@@ -21,9 +23,13 @@ public interface DProjectMapper extends BaseMapper<DProject> { ...@@ -21,9 +23,13 @@ public interface DProjectMapper extends BaseMapper<DProject> {
*/ */
Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper); Page<ProjectSearchVo> selectPageProjectList(@Param("page") Page<ProjectSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> queryWrapper);
/**
* 获取项目承接类型下拉列表
*/
List<String> queryIsInvestProject();
/** /**
* 获取合作项目明细 * 获取合作项目明细
*/ */
Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper); Page<CooperateProjectDetailSearchVo> selectPageCooperateProjectDetailList(@Param("page") Page<CooperateProjectDetailSearchVo> page, @Param(Constants.WRAPPER) Wrapper<DProject> Wrapper);
} }
\ No newline at end of file
...@@ -11,6 +11,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo; ...@@ -11,6 +11,8 @@ import com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo;
import com.dsk.cscec.domain.vo.ProjectDetailVo; import com.dsk.cscec.domain.vo.ProjectDetailVo;
import com.dsk.cscec.domain.vo.ProjectSearchVo; import com.dsk.cscec.domain.vo.ProjectSearchVo;
import java.util.List;
/** /**
* 项目维表(DProject)表服务接口 * 项目维表(DProject)表服务接口
* *
...@@ -27,6 +29,13 @@ public interface IDProjectService extends IService<DProject> { ...@@ -27,6 +29,13 @@ public interface IDProjectService extends IService<DProject> {
*/ */
TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery); TableDataInfo<ProjectSearchVo> queryProjectList(ProjectSearchBo projectSearchBo, PageQuery pageQuery);
/**
* 获取项目承接类型下拉列表
*
* @return 去重后的项目承接类型
*/
List<String> queryIsInvestProject();
/** /**
* 获取合作项目明细 * 获取合作项目明细
* *
......
...@@ -140,6 +140,15 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -140,6 +140,15 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
if (ObjectUtil.isNotNull(advisoryBody)) { if (ObjectUtil.isNotNull(advisoryBody)) {
//咨询机构表中有记录,则设置为非新咨询机构 //咨询机构表中有记录,则设置为非新咨询机构
AdvisoryBodyExistVo advisoryBodyExistVo = BeanUtil.toBean(advisoryBody, AdvisoryBodyExistVo.class); AdvisoryBodyExistVo advisoryBodyExistVo = BeanUtil.toBean(advisoryBody, AdvisoryBodyExistVo.class);
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(advisoryBodyExistVo.getAdvisoryBodyCid());
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人信息
advisoryBodyExistVo.setCorporatePerson(MapUtils.getString(companyData,"corporatePerson"));
//注册地址
advisoryBodyExistVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
//是否为新资讯机构
advisoryBodyExistVo.setIsNewAdvisoryBody(false); advisoryBodyExistVo.setIsNewAdvisoryBody(false);
return advisoryBodyExistVo; return advisoryBodyExistVo;
} else { } else {
...@@ -154,9 +163,23 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -154,9 +163,23 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist")); String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name", "NotExist"));
if (advisoryBodyName.equals(companyName)) { if (advisoryBodyName.equals(companyName)) {
AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo(); AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo();
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid"))); //jskEid就是cid
Long jskEid = MapUtils.getLong(companyData, "jskEid");
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(jskEid));
//企业名称
advisoryBodyExistVo.setAdvisoryBodyName(companyName); advisoryBodyExistVo.setAdvisoryBodyName(companyName);
//经营范围
advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope")); advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope"));
//法人信息
advisoryBodyExistVo.setCorporatePerson(MapUtils.getString(companyData,"legalPerson"));
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(jskEid));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData1 = MapUtils.getMap(companyMap, "data", null);
//注册地址
advisoryBodyExistVo.setRegAddress(MapUtils.getString(companyData1, "addressDetail", ""));
//是否为新资讯机构
advisoryBodyExistVo.setIsNewAdvisoryBody(true); advisoryBodyExistVo.setIsNewAdvisoryBody(true);
return advisoryBodyExistVo; return advisoryBodyExistVo;
} }
...@@ -164,8 +187,8 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -164,8 +187,8 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
//查不到则抛异常 //查不到则抛异常
throw new ServiceException("咨询机构不存在或结果不唯一,请输入完整咨询机构企业名称"); throw new ServiceException("咨询机构不存在或结果不唯一,请输入完整咨询机构企业名称");
} }
throw new ServiceException("咨询机构不存在");
} }
return null;
} }
/** /**
......
...@@ -83,6 +83,10 @@ public class FSupplierLimitedServiceImpl extends ServiceImpl<FSupplierLimitedMap ...@@ -83,6 +83,10 @@ public class FSupplierLimitedServiceImpl extends ServiceImpl<FSupplierLimitedMap
//查不到则抛异常 //查不到则抛异常
//throw new ServiceException("未查询到该供应商Cid"); //throw new ServiceException("未查询到该供应商Cid");
} }
//关键字标红
if (StringUtils.isNotBlank(searchBo.getSupplierName())) {
searchVo.setFsuppliername(StringUtils.markInRed(searchVo.getFsuppliername(), searchBo.getSupplierName()));
}
} }
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }
......
...@@ -130,6 +130,16 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -130,6 +130,16 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
return wrapper; return wrapper;
} }
/**
* 获取项目承接类型下拉列表
*
* @return 去重后的项目承接类型
*/
@Override
public List<String> queryIsInvestProject() {
return baseMapper.queryIsInvestProject();
}
/** /**
* 根据项目主键查询咨询机构 * 根据项目主键查询咨询机构
* *
...@@ -204,24 +214,27 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -204,24 +214,27 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
*/ */
@Override @Override
public ProjectDetailVo queryProjectDetail(ProjectDetailBo projectDetailBo) { public ProjectDetailVo queryProjectDetail(ProjectDetailBo projectDetailBo) {
Long advisoryBodyCid = projectDetailBo.getAdvisoryBodyCid();
//查询项目明细 //查询项目明细
DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>() DProject dProject = baseMapper.selectOne(new LambdaQueryWrapper<DProject>()
.eq(DProject::getProjectKey, projectDetailBo.getProjectKey())); .eq(DProject::getProjectKey, projectDetailBo.getProjectKey()));
ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class); ProjectDetailVo projectDetailVo = BeanUtil.toBean(dProject, ProjectDetailVo.class);
//查询咨询机构信息并填充 //查询咨询机构信息并填充
projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectDetailBo.getProjectKey())); projectDetailVo.setAdvisoryBody(advisoryBodyMapper.queryAdvisoryBodyByProjectKey(projectDetailBo.getProjectKey()));
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(projectDetailBo.getAdvisoryBodyCid()));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册地址
projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
//查询项目信息并填充 //查询项目信息并填充
projectDetailVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectDetailBo.getProjectKey())); projectDetailVo.setAdvisoryBodyProject(advisoryBodyProjectMapper.selectById(projectDetailBo.getProjectKey()));
if (ObjectUtil.isNotNull(advisoryBodyCid)) {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
infoHeaderBody.setCompanyId(Math.toIntExact(advisoryBodyCid));
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(infoHeaderBody, false, false));
Map companyData = MapUtils.getMap(companyMap, "data", null);
//法人
projectDetailVo.setCorporatePerson(MapUtils.getString(companyData, "corporatePerson", ""));
//注册地址
projectDetailVo.setRegAddress(MapUtils.getString(companyData, "addressDetail", ""));
}
return projectDetailVo; return projectDetailVo;
} }
} }
......
...@@ -77,4 +77,17 @@ public class JskCompanyRelationTableV1DetailPageDto extends BasePage { ...@@ -77,4 +77,17 @@ public class JskCompanyRelationTableV1DetailPageDto extends BasePage {
* 成员Id(常合作集团成员详情) * 成员Id(常合作集团成员详情)
*/ */
private Integer memberId; private Integer memberId;
/**
* 集团名称(集团查看详情需传)
*/
private String combineName;
/**
* 成员名称(常合作集团成员详情传
*/
private String memberName;
} }
...@@ -72,5 +72,10 @@ public class JskCompanyRelationTableV1Dto extends BasePage { ...@@ -72,5 +72,10 @@ public class JskCompanyRelationTableV1Dto extends BasePage {
*/ */
private String combineId; private String combineId;
/**
* 集团名称(集团查看详情需传)
*/
private String combineName;
} }
...@@ -71,12 +71,19 @@ public class EnterpriseService { ...@@ -71,12 +71,19 @@ public class EnterpriseService {
} }
public R infoHeader(EnterpriseInfoHeaderBody body) throws Exception { public R infoHeader(EnterpriseInfoHeaderBody body) throws Exception {
if (body.isVaildCid()) return R.ok(); if (body.isVaildCid()) {
return R.ok();
}
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false)); Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false));
Integer companyCode = MapUtils.getInteger(companyMap, "code", 300); Integer companyCode = MapUtils.getInteger(companyMap, "code", 300);
if (200 != companyCode) return R.ok(); if (200 != companyCode) {
return R.ok();
}
Map companyData = MapUtils.getMap(companyMap, "data", null); Map companyData = MapUtils.getMap(companyMap, "data", null);
if (ObjectUtil.isEmpty(companyData)) {
return R.ok();
}
companyData.put("uipId", null); companyData.put("uipId", null);
companyData.put("claimStatus", 0); companyData.put("claimStatus", 0);
companyData.put("bratingSubjectLevel", null); companyData.put("bratingSubjectLevel", null);
...@@ -102,14 +109,20 @@ public class EnterpriseService { ...@@ -102,14 +109,20 @@ public class EnterpriseService {
} }
public R statistic(EnterpriseStatisticBody body) throws Exception { public R statistic(EnterpriseStatisticBody body) throws Exception {
if (body.isVaildCid()) return R.ok(); if (body.isVaildCid()) {
return R.ok();
}
Map<String, Object> statisticMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/statistic", BeanUtil.beanToMap(body, false, false)); Map<String, Object> statisticMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/statistic", BeanUtil.beanToMap(body, false, false));
Integer statisticMapCode = MapUtils.getInteger(statisticMap, "code", 300); Integer statisticMapCode = MapUtils.getInteger(statisticMap, "code", 300);
if (200 != statisticMapCode) throw new RuntimeException(); if (200 != statisticMapCode) {
return R.ok();
}
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()); Map<String,Object> cooperation = iCustomerInfoService.cooperationStatistic(body.getCompanyName());
...@@ -122,7 +135,9 @@ public class EnterpriseService { ...@@ -122,7 +135,9 @@ public class EnterpriseService {
paramMap.put("cid", body.getCompanyId()); paramMap.put("cid", body.getCompanyId());
Map<String, Object> projectStatisticMap = dskOpenApiUtil.requestBody("/operate/enterpriseProject/statistic", paramMap); Map<String, Object> projectStatisticMap = dskOpenApiUtil.requestBody("/operate/enterpriseProject/statistic", paramMap);
Integer projectStatisticMapCode = MapUtils.getInteger(projectStatisticMap, "code", 300); Integer projectStatisticMapCode = MapUtils.getInteger(projectStatisticMap, "code", 300);
if (200 != projectStatisticMapCode) return R.ok(statisticMapData); if (200 != projectStatisticMapCode) {
return R.ok(statisticMapData);
}
Map projectStatisticMapData = MapUtils.getMap(projectStatisticMap, "data", null); Map projectStatisticMapData = MapUtils.getMap(projectStatisticMap, "data", null);
......
...@@ -21,6 +21,12 @@ ...@@ -21,6 +21,12 @@
${ew.getCustomSqlSegment} ${ew.getCustomSqlSegment}
</select> </select>
<select id="queryIsInvestProject" resultType="java.lang.String">
SELECT DISTINCT isinvestproject
FROM d_project
WHERE (isinvestproject <![CDATA[ <> ]]> '')
</select>
<select id="selectPageCooperateProjectDetailList" <select id="selectPageCooperateProjectDetailList"
resultType="com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo"> resultType="com.dsk.cscec.domain.vo.CooperateProjectDetailSearchVo">
select p.project_key, select p.project_key,
......
...@@ -38,8 +38,32 @@ export const getConsultingOrgEenterpriseDetailWithSearchApi = (params) => reques ...@@ -38,8 +38,32 @@ export const getConsultingOrgEenterpriseDetailWithSearchApi = (params) => reques
* @param {*} params * @param {*} params
* @returns * @returns
*/ */
export const getgetConsultingOrgProjectDetailApi = (params) => request({ export const getConsultingOrgProjectDetailApi = (params) => request({
url: "/advisory/body/getProjectDetail", url: "/advisory/body/getProjectDetail",
method: "get", method: "get",
params params
});
/**
* 查询咨询机构
* @param {*} advisoryBodyName
* @returns
*/
export const searchConsultingApi = (advisoryBodyName) => request({
url: "/advisory/body/checkAdvisoryBodyExist",
method: "get",
params: {
advisoryBodyName
}
});
/**
* 更新咨询机构结算信息
* @param {*} data
* @returns
*/
export const updateConsultingDetailApi = (data) => request({
url: "/advisory/body/editAdvisoryBody",
method: "post",
data
}); });
\ No newline at end of file
import { Message } from "element-ui"; import { Message } from "element-ui";
import { parseTime } from './ruoyi'; import { parseTime } from './ruoyi';
import { router } from "@/router";
/** /**
* 表格时间格式化 * 表格时间格式化
...@@ -924,5 +925,10 @@ export const detailSideBar = new Map([ ...@@ -924,5 +925,10 @@ export const detailSideBar = new Map([
["cooperationList", "cooperationRecord"], ["cooperationList", "cooperationRecord"],
// 内部合作 准入情况 // 内部合作 准入情况
["approveInfo", "accessCondition"], ["approveInfo", "accessCondition"],
]) ]);
export const tableContainerFixed = (scrollBarContainer = "",) => {
}
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
v-else-if="!tableLoading" :maxHeight="true" @handle-current-change="handleCurrentChange"> v-else-if="!tableLoading" :maxHeight="true" @handle-current-change="handleCurrentChange">
<!-- 项目列表 --> <!-- 项目列表 -->
<template slot="projectName" slot-scope="{data,row}"> <template slot="projectName" slot-scope="{data,row}">
<div v-if="row.projectName" class="no-line-feed">{{row.projectName}}</div> <div v-if="row.projectName" class="no-line-feed" v-html="row.projectName"></div>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
<template slot="projectLeader" slot-scope="{data,row}"> <template slot="projectLeader" slot-scope="{data,row}">
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<el-button type="primary" @click="editProjectDetail">编辑信息</el-button> <el-button type="primary" @click="editProjectDetail">编辑信息</el-button>
</div> </div>
<div class="save-project-detail-container" v-if="currentList === 'consultingAgency' && isModify" :key="'save-project'"> <div class="save-project-detail-container" v-if="currentList === 'consultingAgency' && isModify" :key="'save-project'">
<el-button type="primary" @click="editProjectDetail">保存</el-button> <el-button type="primary" @click="saveProjectDetail">保存</el-button>
<el-button @click="cancelSave">取消</el-button> <el-button @click="cancelSave">取消</el-button>
</div> </div>
</transition> </transition>
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<basic-engineering-information v-if="currentList === 'project'" :projectDetailInfo="projectDetailInfo"></basic-engineering-information> <basic-engineering-information v-if="currentList === 'project'" :projectDetailInfo="projectDetailInfo"></basic-engineering-information>
<!-- 咨询机构结算信息 --> <!-- 咨询机构结算信息 -->
<consulting-agency v-if="currentList === 'consultingAgency'" :projectDetailInfo="projectDetailInfo" :isModify="isModify" <consulting-agency v-if="currentList === 'consultingAgency'" :projectDetailInfo="projectDetailInfo" :isModify="isModify"
ref="consultingAgency"></consulting-agency> ref="consultingAgency" @editComProjectDetailSuccess="editComProjectDetailSuccess"></consulting-agency>
</div> </div>
</div> </div>
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
</template> </template>
<script> <script>
import DskTabToggle from "@/components/DskTabToggle"; import DskTabToggle from "@/components/DskTabToggle";
import { getgetConsultingOrgProjectDetailApi } from "@/api/consultingOrgManagement/index"; import { getConsultingOrgProjectDetailApi, updateConsultingDetailApi } from "@/api/consultingOrgManagement";
import { v4 } from 'uuid'; import { v4 } from 'uuid';
import BasicEngineeringInformation from "@/views/consultingOrgManagement/components/EnterpriseList/detail/basicEngineeringInformation"; import BasicEngineeringInformation from "@/views/consultingOrgManagement/components/EnterpriseList/detail/basicEngineeringInformation";
import consultingAgency from "@/views/consultingOrgManagement/components/EnterpriseList/detail/consultingAgency"; import consultingAgency from "@/views/consultingOrgManagement/components/EnterpriseList/detail/consultingAgency";
...@@ -92,26 +92,38 @@ export default { ...@@ -92,26 +92,38 @@ export default {
methods: { methods: {
async init() { async init() {
try { try {
const advisoryBodyCid = this.$route.params?.advisoryBodyCid; const advisoryBodyCid = this.$route.query?.advisoryBodyCid;
const projectKey = this.$route.query?.projectKey; const projectKey = this.$route.query?.projectKey;
if (!advisoryBodyCid) return this.$message.error("缺少咨询机构ID"); // if (!advisoryBodyCid) return this.$message.error("缺少咨询机构ID");
if (!projectKey) return this.$message.error("缺少项目主键"); if (!projectKey) return this.$message.error("缺少项目主键");
const detail = await getgetConsultingOrgProjectDetailApi({ const detail = await getConsultingOrgProjectDetailApi({
advisoryBodyCid, advisoryBodyCid,
projectKey projectKey
}); });
if (detail.code == 200 && detail.data) { if (detail.code == 200 && detail.data) {
this.projectDetailInfo = { ...this.pprojectDetailInfo, ...detail.data }; this.projectDetailInfo = { ...this.projectDetailInfo, ...detail.data };
} }
} catch (error) { } catch (error) {
console.log(error);
} }
}, },
editProjectDetail() { editProjectDetail() {
this.isModify = true; this.isModify = true;
}, },
saveProjectDetail() { saveProjectDetail() {
this.$refs["consultingAgency"].updateConsultingDetail();
},
// 编辑成功提交信息
async editComProjectDetailSuccess(data) {
try {
const result = await updateConsultingDetailApi(data);
if (result.code) {
this.$message.success("更新咨询机构结算信息成功");
this.isModify = false;
}
} catch (error) {
}
}, },
cancelSave() { cancelSave() {
this.isModify = false; this.isModify = false;
......
...@@ -337,8 +337,8 @@ export default { ...@@ -337,8 +337,8 @@ export default {
}, },
// 查看项目详情 // 查看项目详情
viewProjectDetail(row) { viewProjectDetail(row) {
if (!row?.advisoryBody?.advisoryBodyCid) return this.$message.warning("缺少咨询机构id"); // if (!row?.advisoryBody?.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail/${row.advisoryBody?.advisoryBodyCid}?projectKey=${row.projectKey}`); this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail?advisoryBodyCid=${row.advisoryBody?.advisoryBodyCid ? row.advisoryBody?.advisoryBodyCid : ""}&projectKey=${row.projectKey}`);
}, },
// 跳转到企业详情 // 跳转到企业详情
viewEnterprise(row) { viewEnterprise(row) {
......
...@@ -13,15 +13,15 @@ ...@@ -13,15 +13,15 @@
:value="item"> :value="item">
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model="value1" value-key="id" @change="selectChange1" v-if="options.length>0" placeholder="请选择"> <el-select v-model="value1" value-key="id" @change="selectChange1" v-if="options1&&options1.length>0" placeholder="请选择">
<el-option <el-option
v-for="item in options" v-for="item in options1"
:key="item.name" :key="item.name"
:label="item.name" :label="item.name"
:value="item"> :value="item">
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model="value2" value-key="id" @change="selectChange2" v-if="options2.length>0" placeholder="请选择"> <el-select v-model="value2" value-key="id" @change="selectChange2" v-if="options2&&options2.length>0" placeholder="请选择">
<el-option <el-option
v-for="item in options2" v-for="item in options2"
:key="item.name" :key="item.name"
...@@ -29,6 +29,14 @@ ...@@ -29,6 +29,14 @@
:value="item"> :value="item">
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model="value3" value-key="id" @change="selectChange3" v-if="options3&&options3.length>0" placeholder="请选择">
<el-option
v-for="item in options3"
:key="item.name"
:label="item.name"
:value="item">
</el-option>
</el-select>
</div> </div>
<div style="padding:16px;"> <div style="padding:16px;">
<el-table :data="info.list" :span-method="objectSpanMethod" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" <el-table :data="info.list" :span-method="objectSpanMethod" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
...@@ -46,7 +54,7 @@ ...@@ -46,7 +54,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :resizable="false" label="经营范围" > <el-table-column :resizable="false" label="可承包工程范围" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.contractScope||"--"}} {{scope.row.contractScope||"--"}}
</template> </template>
...@@ -68,86 +76,135 @@ export default { ...@@ -68,86 +76,135 @@ export default {
return{ return{
list, list,
activeIndex:0, activeIndex:0,
options: [], options1: [],
options2: [], options2: [],
options3: [],
value: '', value: '',
value1: '', value1: '',
value2: '', value2: '',
value3: '',
info:"", info:"",
} }
}, },
methods:{ mounted(){
flitterData(arr) { this.choose()
let spanOneArr = [];
let concatOne = 0;
arr.forEach((item, index) => {
if (index === 0) {
spanOneArr.push(1);
} else {
if (item.name === arr[index - 1].name) {
spanOneArr[concatOne] += 1;
spanOneArr.push(0);
} else {
spanOneArr.push(1);
concatOne = index;
}
}
});
return {
one: spanOneArr,
};
}, },
objectSpanMethod({ row, column, rowIndex, columnIndex }) { methods:{
if (columnIndex === 0) { choose(){
const _row = this.flitterData(this.info.list).one[rowIndex]; this.value = this.list[this.activeIndex].list[0];
const _col = _row > 0 ? 1 : 0; this.options1 = this.list[this.activeIndex].list[0].list
if(this.options1){
this.value1 = this.list[this.activeIndex].list[0].list[0];
this.options2 = this.list[this.activeIndex].list[0].list[0].list
if(this.options2){
this.value2 = this.list[this.activeIndex].list[0].list[0].list[0];
this.options3 = this.list[this.activeIndex].list[0].list[0].list[0].list
if(this.options3){
this.value3 = this.list[this.activeIndex].list[0].list[0].list[0].list[0];
standard({id:this.value3.id}).then(res=>{
this.info = res.data
})
}else{
standard({id:this.value2.id}).then(res=>{
this.info = res.data
})
}
}else{
standard({id:this.value1.id}).then(res=>{
this.info = res.data
})
}
}else{
standard({id:this.value.id}).then(res=>{
this.info = res.data
})
}
},
flitterData(arr) {
let spanOneArr = [];
let concatOne = 0;
arr.forEach((item, index) => {
if (index === 0) {
spanOneArr.push(1);
} else {
if (item.name === arr[index - 1].name) {
spanOneArr[concatOne] += 1;
spanOneArr.push(0);
} else {
spanOneArr.push(1);
concatOne = index;
}
}
});
return { return {
rowspan: _row, one: spanOneArr,
colspan: _col,
}; };
} },
}, objectSpanMethod({ row, column, rowIndex, columnIndex }) {
selectChange(){ if (columnIndex === 0) {
this.info = ""; const _row = this.flitterData(this.info.list).one[rowIndex];
if(this.value.list&&this.value.list.length>0){ const _col = _row > 0 ? 1 : 0;
this.options = this.value.list; return {
this.value1 = "" rowspan: _row,
}else{ colspan: _col,
this.options = [] };
standard({id:this.value.id}).then(res=>{
this.info = res.data
})
} }
this.value2 = ""; },
this.options2 = [] selectChange(){
}, if(this.value.list&&this.value.list.length>0){
selectChange1(){ this.options1 = this.value.list;
this.info = ""; this.value1 = ""
if(this.value1.list&&this.value1.list.length>0){ }else{
this.options2 = this.value1.list; this.options1 = []
this.value2 = "" standard({id:this.value.id}).then(res=>{
}else{ this.info = res.data
})
}
this.value2 = "";
this.options2 = [] this.options2 = []
standard({id:this.value1.id}).then(res=>{ },
selectChange1(){
this.info = "";
if(this.value1.list&&this.value1.list.length>0){
this.options2 = this.value1.list;
this.value2 = ""
}else{
this.options2 = []
standard({id:this.value1.id}).then(res=>{
this.info = res.data
})
}
},
selectChange2(){
this.info = "";
if(this.value2.list&&this.value2.list.length>0){
this.options3 = this.value2.list;
this.value3 = ""
}else{
this.options3 = []
standard({id:this.value2.id}).then(res=>{
this.info = res.data
})
}
},
selectChange3(){
this.info = "";
standard({id:this.value3.id}).then(res=>{
this.info = res.data this.info = res.data
}) })
} },
}, changeActiveIndex(index){
selectChange2(){ this.info = "";
this.info = ""; this.activeIndex=index;
standard({id:this.value2.id}).then(res=>{ this.value = '';
this.info = res.data this.options1 = [];
}) this.value2 = "";
}, this.options2 = [];
changeActiveIndex(index){ this.value3 = "";
this.info = ""; this.options3 = [];
this.activeIndex=index; this.choose()
this.value = ''; },
this.options = []; }
this.value2 = "";
this.options2 = []
},
}
} }
</script> </script>
...@@ -179,7 +236,6 @@ export default { ...@@ -179,7 +236,6 @@ export default {
border-radius: 4px 4px 0px 0px; border-radius: 4px 4px 0px 0px;
.apt_stan_content_header{ .apt_stan_content_header{
padding: 16px; padding: 16px;
border-width: 0px 0px 1px 0px; border-width: 0px 0px 1px 0px;
border-style: solid; border-style: solid;
border-color: #EEEEEE; border-color: #EEEEEE;
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<div class="up_text">点击选择文件或将文件拖拽至此导入企业名录</div> <div class="up_text">点击选择文件或将文件拖拽至此导入企业名录</div>
<div class="up_tip">· 导入的文件内容必须依照下载模板的要求填写);</div> <div class="up_tip">· 导入的文件内容必须依照下载模板的要求填写);</div>
<div class="up_tip">· 上传文件最大为2M,仅支持Excel表格文件(xls,xlsx);</div> <div class="up_tip">· 上传文件最大为2M,仅支持Excel表格文件(xls,xlsx);</div>
<div class="up_tip">· 单次查询企业数量限时免费 5000 家。</div> <div class="up_tip">· 单次查询企业数量限时免费 500 家。</div>
</el-upload> </el-upload>
</div> </div>
<div class="bd"></div> <div class="bd"></div>
......
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :resizable="false" label="承包工程范围" width="415"> <el-table-column :resizable="false" label="承包工程范围" width="315">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.contractScope||"--"}} {{scope.row.contractScope||"--"}}
</template> </template>
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
{{scope.row.organ||"--"}} {{scope.row.organ||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :resizable="false" label="经营范围" width="415"> <el-table-column :resizable="false" label="经营范围" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tooltip class="item" effect="light" :content="scope.row.businessScope" placement="bottom"> <el-tooltip class="item" effect="light" :content="scope.row.businessScope" placement="bottom">
<span class="line_2"> {{scope.row.businessScope||"--"}}</span> <span class="line_2"> {{scope.row.businessScope||"--"}}</span>
...@@ -602,6 +602,9 @@ export default { ...@@ -602,6 +602,9 @@ export default {
width: 405px; width: 405px;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
.el-input__inner{
width: 405px;
}
} }
.ckquery_list_right { .ckquery_list_right {
width: 670px; width: 670px;
...@@ -783,6 +786,9 @@ export default { ...@@ -783,6 +786,9 @@ export default {
font-weight: 700; font-weight: 700;
color: #232323; color: #232323;
margin-bottom: 12px; margin-bottom: 12px;
&:hover{
color:#0081FF;
}
} }
img{ img{
width: 28px; width: 28px;
...@@ -860,6 +866,9 @@ export default { ...@@ -860,6 +866,9 @@ export default {
font-size: 16px; font-size: 16px;
color: #232323; color: #232323;
margin-bottom: 12px; margin-bottom: 12px;
&:hover{
color:#0081FF;
}
} }
img{ img{
width: 28px; width: 28px;
......
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