Commit cbc3e5d2 authored by tyn's avatar tyn

Merge branch 'V20231129-中建一局二公司' of...

Merge branch 'V20231129-中建一局二公司' of http://47.105.106.177:66/root/dsk-operate-sys into V20231129-中建一局二公司
parents 4c5c5e5f c09a56e3
...@@ -168,6 +168,7 @@ tenant: ...@@ -168,6 +168,7 @@ 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
......
...@@ -5,19 +5,20 @@ import com.dsk.common.core.controller.BaseController; ...@@ -5,19 +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.AdvisoryBodyCustomForm;
import com.dsk.cscec.domain.bo.*; import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.*; import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.service.AdvisoryBodyCustomFormService;
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.PostMapping;
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.NotBlank;
import javax.validation.constraints.NotNull;
/** /**
* 咨询机构管理控制层 * 咨询机构管理控制层
...@@ -25,7 +26,6 @@ import javax.validation.constraints.NotBlank; ...@@ -25,7 +26,6 @@ import javax.validation.constraints.NotBlank;
* @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 {
...@@ -35,6 +35,8 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -35,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;
/** /**
* 获取所有项目列表数据 * 获取所有项目列表数据
...@@ -56,7 +58,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -56,7 +58,7 @@ 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);
} }
...@@ -64,7 +66,7 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -64,7 +66,7 @@ public class AdvisoryBodyManageController extends BaseController {
* 获取项目详情 * 获取项目详情
*/ */
@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));
} }
...@@ -80,7 +82,33 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -80,7 +82,33 @@ public class AdvisoryBodyManageController extends BaseController {
* 新增咨询机构 * 新增咨询机构
*/ */
@PostMapping("/addAdvisoryBody") @PostMapping("/addAdvisoryBody")
public R<Void> addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) { public R<Void> addAdvisoryBody(@Validated AddAdvisoryBodyBo addAdvisoryBodyBo) {
return toAjax(advisoryBodyService.addAdvisoryBody(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
package com.dsk.cscec.entity; package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -15,17 +18,21 @@ import java.io.Serializable; ...@@ -15,17 +18,21 @@ import java.io.Serializable;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable { public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable {
private static final long serialVersionUID = 385050456847400745L; private static final long serialVersionUID = 1L;
/** /**
* 项目主键 * 项目主键
*/ */
@TableId(value = "project_key")
@NotNull(message = "项目主键不能为空")
private Long projectKey; private Long projectKey;
/** /**
* 咨询机构ID * 咨询机构ID
*/ */
@NotNull(message = "咨询机构ID不能为空")
private Long advisoryBodyId; private Long advisoryBodyId;
/** /**
* json数据 * json数据
*/ */
@NotBlank(message = "json数据不能为空")
private String jsonData; private String jsonData;
} }
package com.dsk.cscec.domain; package com.dsk.cscec.domain;
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.util.Date; import java.util.Date;
...@@ -13,9 +11,8 @@ import java.util.Date; ...@@ -13,9 +11,8 @@ import java.util.Date;
* @author sxk * @author sxk
* @since 2023-12-10 15:34:49 * @since 2023-12-10 15:34:49
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
public class DProject extends BaseEntity implements Serializable { public class DProject implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
......
package com.dsk.cscec.domain.bo; package com.dsk.cscec.domain.bo;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -57,10 +58,12 @@ public class AddAdvisoryBodyBo { ...@@ -57,10 +58,12 @@ public class AddAdvisoryBodyBo {
/** /**
* 结算开始时间 * 结算开始时间
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date settleStartTime; private Date settleStartTime;
/** /**
* 结算完成时间 * 结算完成时间
*/ */
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date settleFinishTime; private Date settleFinishTime;
/** /**
* 是否为终审单位(0代表是 1代表否) * 是否为终审单位(0代表是 1代表否)
......
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;
/** /**
* 创建时间(合同生效日期) * 创建时间(合同生效日期)
*/ */
......
package com.dsk.cscec.mapper; package com.dsk.cscec.mapper;
import com.dsk.cscec.entity.AdvisoryBodyCustomForm; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import org.springframework.data.domain.Pageable;
import java.util.List;
/** /**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表数据库访问层 * 咨询机构自定义表单(AdvisoryBodyCustomForm)表数据库访问层
...@@ -11,7 +9,7 @@ import java.util.List; ...@@ -11,7 +9,7 @@ import java.util.List;
* @author sxk * @author sxk
* @since 2023-12-20 16:39:37 * @since 2023-12-20 16:39:37
*/ */
public interface AdvisoryBodyCustomFormMapper { public interface AdvisoryBodyCustomFormMapper extends BaseMapper<AdvisoryBodyCustomForm> {
} }
package com.dsk.cscec.service; package com.dsk.cscec.service;
import com.dsk.cscec.entity.AdvisoryBodyCustomForm; import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.data.domain.Page; import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import org.springframework.data.domain.PageRequest;
/** /**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务接口 * 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务接口
* *
* @author sxk * @author makejava
* @since 2023-12-20 16:39:44 * @since 2023-12-20 17:33:31
*/ */
public interface AdvisoryBodyCustomFormService { public interface AdvisoryBodyCustomFormService extends IService<AdvisoryBodyCustomForm> {
} }
package com.dsk.cscec.service.impl; package com.dsk.cscec.service.impl;
import com.dsk.cscec.entity.AdvisoryBodyCustomForm; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormMapper; import com.dsk.cscec.mapper.AdvisoryBodyCustomFormMapper;
import com.dsk.cscec.service.AdvisoryBodyCustomFormService; import com.dsk.cscec.service.AdvisoryBodyCustomFormService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -14,12 +12,10 @@ import javax.annotation.Resource; ...@@ -14,12 +12,10 @@ import javax.annotation.Resource;
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务实现类 * 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务实现类
* *
* @author sxk * @author sxk
* @since 2023-12-20 16:39:44 * @since 2023-12-20 17:33:31
*/ */
@Service("advisoryBodyCustomFormService") @Service("advisoryBodyCustomFormService")
public class AdvisoryBodyCustomFormServiceImpl implements AdvisoryBodyCustomFormService { public class AdvisoryBodyCustomFormServiceImpl extends ServiceImpl<AdvisoryBodyCustomFormMapper, AdvisoryBodyCustomForm> implements AdvisoryBodyCustomFormService {
@Resource @Resource
private AdvisoryBodyCustomFormMapper advisoryBodyCustomFormMapper; 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;
...@@ -27,7 +28,6 @@ import org.springframework.stereotype.Service; ...@@ -27,7 +28,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -132,17 +132,18 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -132,17 +132,18 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list"); List<Map<String, Object>> data = (List<Map<String, Object>>) jskData.get("list");
for (Map<String, Object> companyData : data) { for (Map<String, Object> companyData : data) {
//企业名称完全匹配上,则直接返回给前端 //企业名称完全匹配上,则直接返回给前端
if (advisoryBodyName.equals(companyData.get("name"))) { String companyName = StringUtils.removeRed(MapUtils.getString(companyData, "name","NotExist"));
if (advisoryBodyName.equals(companyName)) {
AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo(); AdvisoryBodyExistVo advisoryBodyExistVo = new AdvisoryBodyExistVo();
advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid"))); advisoryBodyExistVo.setAdvisoryBodyCid(Math.toIntExact(MapUtils.getLong(companyData, "jskEid")));
advisoryBodyExistVo.setAdvisoryBodyName(MapUtils.getString(companyData, "name")); advisoryBodyExistVo.setAdvisoryBodyName(companyName);
advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope")); advisoryBodyExistVo.setBusinessScope(MapUtils.getString(companyData, "businessScope"));
advisoryBodyExistVo.setIsNewAdvisoryBody(true); advisoryBodyExistVo.setIsNewAdvisoryBody(true);
break; return advisoryBodyExistVo;
} }
} }
//查不到则抛异常 //查不到则抛异常
throw new ServiceException("咨询机构不存在"); throw new ServiceException("咨询机构不存在或结果不唯一,请输入完整咨询机构企业名称");
} }
} }
return null; return null;
...@@ -157,20 +158,24 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv ...@@ -157,20 +158,24 @@ public class AdvisoryBodyServiceImpl extends ServiceImpl<AdvisoryBodyMapper, Adv
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) { public Integer addAdvisoryBody(AddAdvisoryBodyBo addAdvisoryBodyBo) {
long advisoryBodyId = IdUtil.getSnowflakeNextId();;
//如果是新增咨询机构,则需要新增记录到咨询机构表 //如果是新增咨询机构,则需要新增记录到咨询机构表
if (addAdvisoryBodyBo.getIsNewAdvisoryBody()) { if (addAdvisoryBodyBo.getIsNewAdvisoryBody()) {
AdvisoryBody newAdvisoryBody = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBody.class); AdvisoryBody newAdvisoryBody = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBody.class);
newAdvisoryBody.setCreateTime(new Date()); newAdvisoryBody.setAdvisoryBodyId(advisoryBodyId);
baseMapper.insert(newAdvisoryBody); baseMapper.insert(newAdvisoryBody);
} }
return advisoryBodyProjectMapper.insert(BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBodyProject.class)); AdvisoryBodyProject advisoryBodyProject = BeanUtil.toBean(addAdvisoryBodyBo, AdvisoryBodyProject.class);
advisoryBodyProject.setAdvisoryBodyId(advisoryBodyId);
return advisoryBodyProjectMapper.insert(advisoryBodyProject);
} }
/** /**
* 每小时更新一次咨询机构经营范围 * 每小时更新一次咨询机构经营范围
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateAdvisoryBodyBusinessScope() { public void updateAdvisoryBodyBusinessScope() {
EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody(); EnterpriseInfoHeaderBody infoHeaderBody = new EnterpriseInfoHeaderBody();
for (AdvisoryBody advisoryBody : baseMapper.selectList(null)) { for (AdvisoryBody advisoryBody : baseMapper.selectList(null)) {
......
...@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service; ...@@ -35,6 +35,7 @@ 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;
...@@ -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,7 +148,6 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -142,7 +148,6 @@ 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()));
//再根据记录终改的项目主键查询项目详情 //再根据记录终改的项目主键查询项目详情
QueryWrapper<DProject> wrapper = Wrappers.query(); QueryWrapper<DProject> wrapper = Wrappers.query();
wrapper wrapper
...@@ -151,22 +156,36 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject> ...@@ -151,22 +156,36 @@ public class IDProjectServiceImpl extends ServiceImpl<DProjectMapper, DProject>
//项目名称 //项目名称
.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);
} }
......
<?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>
<?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
...@@ -137,36 +137,36 @@ ...@@ -137,36 +137,36 @@
</if> </if>
</trim> </trim>
</if> </if>
<if test="bo.groupSpecialtyId != null "> <if test="bo.groupSpecialtyId != null and bo.groupSpecialtyId.size > 0 ">
<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}
......
...@@ -244,6 +244,8 @@ ...@@ -244,6 +244,8 @@
} }
companyAdd(data).then(res => { companyAdd(data).then(res => {
this.qyVisible=false; this.qyVisible=false;
this.companyName=''
this.dataList=[]
this.$message.success("新增成功"); this.$message.success("新增成功");
this.querySubmit() this.querySubmit()
}) })
......
...@@ -456,6 +456,7 @@ ...@@ -456,6 +456,7 @@
this.dialogVisible=true; this.dialogVisible=true;
break; break;
default: default:
this.$message.success("暂无详情");
break; break;
} }
this.getDetail(item.dimensionName,item.sourceId) this.getDetail(item.dimensionName,item.sourceId)
......
...@@ -436,6 +436,7 @@ ...@@ -436,6 +436,7 @@
this.dialogVisible=true; this.dialogVisible=true;
break; break;
default: default:
this.$message.success("暂无详情");
break; break;
} }
this.getDetail(item.dimensionName,item.sourceId) this.getDetail(item.dimensionName,item.sourceId)
......
...@@ -106,8 +106,9 @@ ...@@ -106,8 +106,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div> </div>
</div> </div>
......
...@@ -111,8 +111,9 @@ ...@@ -111,8 +111,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div> </div>
</div> </div>
......
...@@ -100,8 +100,9 @@ ...@@ -100,8 +100,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div> </div>
</div> </div>
......
...@@ -101,8 +101,9 @@ ...@@ -101,8 +101,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div> </div>
</div> </div>
......
...@@ -101,8 +101,9 @@ ...@@ -101,8 +101,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div> </div>
</div> </div>
......
...@@ -101,8 +101,9 @@ ...@@ -101,8 +101,9 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="renling"> <div class="renling">
<div style="display:flex;align-items:center"> <div style="display:flex;align-items:center">
<router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" <router-link v-if="scope.row.companyId" :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a"
class="wordprimary" v-html="scope.row.customerName"></router-link> class="wordprimary" v-html="scope.row.customerName"></router-link>
<span v-else v-html="scope.row.customerName"></span>
</div> </div>
</div> </div>
......
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