Commit dee72172 authored by huangjie's avatar huangjie

Merge remote-tracking branch 'origin/dev20230707' into dev20230707

# Conflicts:
#	dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
parents c13e1d21 2e632728
......@@ -9,7 +9,7 @@ import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.file.FileUploadUtils;
import com.dsk.common.utils.file.FileUtils;
import com.dsk.framework.config.ServerConfig;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......
......@@ -4,8 +4,8 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......
......@@ -4,9 +4,9 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.dto.BusinessAddDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessListVo;
import com.dsk.system.service.IBusinessInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......
......@@ -3,7 +3,7 @@ package com.dsk.web.controller.business;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.service.IBusinessLabelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
......
......@@ -4,7 +4,7 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.service.IBusinessRelateCompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......
......@@ -64,7 +64,7 @@
<el-form-item label="项目名称:" prop="projectName" label-width="120px">
<el-input v-model="addParam.projectName" placeholder="请输入项目名称" @input="getCompany1"></el-input>
<div class="resultlist" v-if="showlist1">
<div v-for="(item,index) in companData1" @click="selCompany1(item)"><span v-html="item.projectName"></span></div>
<div v-for="(item,index) in companData1" @click="selCompany1(item.projectName)"><span v-html="item.projectName"></span></div>
</div>
</el-form-item>
<div class="erow">
......@@ -324,7 +324,7 @@ export default {
}
},
selCompany1(item){
this.addParam.projectName = item.projectName
this.addParam.projectName = item
this.showlist1 = false
},
//获取业主单位
......
......@@ -158,7 +158,6 @@ export default {
},
methods: {
getData(){
this.isSkeleton = true
let params={ pageNum: this.pageIndex, pageSize: this.pageSize}
if(this.tableParams.field){
params.field=this.tableParams.field
......@@ -176,12 +175,12 @@ export default {
params.areaId=this.provinceId[2]
}
projectsPage(params).then(res => {
this.isSkeleton = false
this.listData=res.data.list;
this.tableDataTotal = res.data.totalCount
})
},
getStatistics(){
this.isSkeleton = true
let params={};
if(this.provinceId.length > 0){
params.provinceId=this.provinceId[0]
......@@ -199,6 +198,7 @@ export default {
params.order=this.queryParams.order
}
statistics(params).then(res => {
this.isSkeleton = false
var list=[];
for(var i=0;i<res.data.length;i++){
var obj={};
......@@ -305,6 +305,15 @@ export default {
field:this.queryParams.field,
order:this.queryParams.order
};
if(this.provinceId.length > 0){
params.provinceId=this.provinceId[0]
}
if(this.provinceId.length > 1){
params.cityId=this.provinceId[1]
}
if(this.provinceId.length > 2){
params.areaId=this.provinceId[2]
}
statistics(params).then(res => {
var list=[];
for(var i=0;i<res.data.length;i++){
......
......@@ -43,7 +43,7 @@
</el-tabs>
<div class="tasklist" v-for="(item,index) in datalist.rows">
<div class="task_name">{{item.task}}</div>
<div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.finishTime">完成时间:{{item.finishTime}}</span></div>
<div class="task_con"><span>发起时间:{{item.createTime}}</span><span v-if="item.target">关联客户:<font class="wordprimary">{{item.target}}</font></span><span v-if="item.dueTime">完成时间:{{item.dueTime}}</span></div>
<div class="select" :class="{'on':item.state == 1}">
<div class="select-popper">
<span>
......
package com.dsk.system.domain;
package com.dsk.system.domain.business.dto;
import com.dsk.common.utils.StringUtils;
import lombok.Data;
......
package com.dsk.system.domain.business.vo;
import com.dsk.common.annotation.Excel;
import lombok.Data;
/**
* @author lcl
* @create 2023/7/27
*/
@Data
public class BusinessLikeProjectNameListVo {
private String projectName;
/** 总投金额(万元) */
private Double investmentAmount;
/** 项目级别 */
private String projectLevel;
/** 项目阶段 */
private String projectStage;
/** 项目类型 */
private String projectType;
/** 项目类别 */
private String projectCategory;
/** 项目状态(0.储备中1.跟进中2.已合作) */
private Integer status;
}
package com.dsk.system.domain.vo;
package com.dsk.system.domain.business.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
......
package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessListVo;
import java.util.List;
......
......@@ -2,11 +2,12 @@ package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.vo.BusinessBrowseVo;
import com.dsk.system.domain.business.vo.BusinessListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -19,8 +20,7 @@ import java.util.List;
* @date 2023-05-17
*/
@Mapper
public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
{
public interface BusinessInfoMapper extends BaseMapper<BusinessInfo> {
/**
* 查询项目详情
*
......@@ -39,9 +39,10 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 查询所有项目名称(支持模糊查询)
*
* @return
*/
List<String> selectProjectName(BusinessListDto dto);
List<BusinessLikeProjectNameListVo> selectProjectName(BusinessListDto dto);
/**
* 查询项目详情列表
......@@ -78,6 +79,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 批量删除项目
* 项目关联的其他所有表数据一并删除
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
......@@ -85,6 +87,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 根据项目统计
*
* @param business
* @return
*/
......@@ -92,13 +95,16 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 查询项目名称是否存在
*
* @param projectName
* @param userId
* @return
*/
int isRepetitionProjectName(@Param("projectName") String projectName,@Param("userId") Long userId);
int isRepetitionProjectName(@Param("projectName") String projectName,
@Param("userId") Long userId,
@Param("companyName") String companyName);
int selectCountByStatusAndCustomerId(@Param("status") Integer status,@Param("customerId") String customerId);
int selectCountByStatusAndCustomerId(@Param("status") Integer status, @Param("customerId") String customerId);
List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto);
......
package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import java.util.List;
......
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessListVo;
import java.util.List;
......
......@@ -2,12 +2,13 @@ package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.business.dto.BusinessAddDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.vo.BusinessBrowseVo;
import com.dsk.system.domain.business.vo.BusinessListVo;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
......@@ -56,7 +57,7 @@ public interface IBusinessInfoService
* 查询所有项目名称(支持模糊查询)
* @return
*/
List<String> selectProjectName(BusinessListDto dto);
List<BusinessLikeProjectNameListVo> selectProjectName(BusinessListDto dto);
/**
* 项目批量导入
......
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import java.util.List;
......
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import java.util.List;
......
......@@ -2,9 +2,9 @@ package com.dsk.system.service.impl;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessListVo;
import com.dsk.system.mapper.BusinessFollowRecordMapper;
import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.acc.openapi.client.util.CommonUtils;
import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.constant.HttpStatus;
......@@ -18,22 +17,22 @@ import com.dsk.common.exception.ServiceException;
import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.*;
import com.dsk.common.utils.file.FileUtils;
import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessExcelDto;
import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.business.dto.BusinessAddDto;
import com.dsk.system.domain.business.dto.BusinessExcelDto;
import com.dsk.system.domain.business.dto.BusinessListDto;
import com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo;
import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerVo;
import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessLabelVo;
import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.domain.business.vo.BusinessBrowseVo;
import com.dsk.system.domain.business.vo.BusinessLabelVo;
import com.dsk.system.domain.business.vo.BusinessListVo;
import com.dsk.system.mapper.BusinessInfoMapper;
import com.dsk.system.mapper.BusinessLabelMapper;
import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessInfoService;
import com.dsk.system.service.IBusinessRelateCompanyService;
import com.dsk.system.service.ICustomerService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
......@@ -141,7 +140,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
}
@Override
public List<String> selectProjectName(BusinessListDto dto) {
public List<BusinessLikeProjectNameListVo> selectProjectName(BusinessListDto dto) {
return businessInfoMapper.selectProjectName(dto);
}
......@@ -158,7 +157,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if (CollectionUtil.isEmpty(businessInfoList)) return AjaxResult.error("文档中无项目信息,请按照模板文档格式上传");
for (BusinessExcelDto businessInfo : businessInfoList) {
//查询已有的项目名称
Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId);
Integer count = businessInfoMapper.isRepetitionProjectName(businessInfo.getProjectName(), userId, businessInfo.getOwnerCompany());
row++;
if (count > 0) {
//如果存在,跳过该项目,不保存
......@@ -191,7 +190,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Transactional
public AjaxResult insertBusinessInfo(BusinessAddDto dto) {
//新增前查询是否已存在
int count = businessInfoMapper.isRepetitionProjectName(dto.getProjectName(), dto.getUserId());
int count = businessInfoMapper.isRepetitionProjectName(dto.getProjectName(), dto.getUserId(), dto.getOwnerCompany());
if (count > 0) return AjaxResult.error("项目名称已存在");
//判断资金Double类型的位数
if (dto.getInvestmentAmount() != null) {
......@@ -263,7 +262,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if (!CheckUtils.isPhone(businessInfo.getConstructionPhone()) || !CheckUtils.isPhone(businessInfo.getSupervisorPhone()))
throw new BaseException("500", "请输入正确的电话号码");
}
BusinessInfo info = businessInfoMapper.selectBusinessInfoById(businessInfo.getId());
// BusinessInfo info = businessInfoMapper.selectBusinessInfoById(businessInfo.getId());
//查询企业的城投id和建设库id
BusinessRelateCompany relateCompany = relateCompanyMapper.selectByProprietor(businessInfo.getId());
if (ObjectUtil.isNotEmpty(businessInfo.getConstructionUnit())) {
......@@ -278,7 +277,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if (ObjectUtil.isEmpty(relateCompany)) {
relateCompanyMapper.insertBusinessRelateCompany(dealwithCustomer(businessInfo));
}
if(ObjectUtil.isNotEmpty(relateCompany) && !businessInfo.getConstructionUnit().equals(relateCompany.getCompanyName())){
if (ObjectUtil.isNotEmpty(relateCompany) && !businessInfo.getConstructionUnit().equals(relateCompany.getCompanyName())) {
relateCompany.setCompanyId(businessInfo.getConstructionUnitCid());
relateCompany.setCompanyUipId(businessInfo.getConstructionUnitUipId());
relateCompany.setCompanyName(businessInfo.getConstructionUnit());
......@@ -296,9 +295,9 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
// }
}
if (ObjectUtil.isNotEmpty(relateCompany)&&
if (ObjectUtil.isNotEmpty(relateCompany) &&
(ObjectUtil.isNotEmpty(businessInfo.getConstructionPhone())
||ObjectUtil.isNotEmpty(businessInfo.getConstructionPrincipal()))) {
|| ObjectUtil.isNotEmpty(businessInfo.getConstructionPrincipal()))) {
relateCompany.setPhone(businessInfo.getConstructionPhone());
relateCompany.setResponsiblePerson(businessInfo.getConstructionPrincipal());
relateCompanyMapper.updateBusinessRelateCompany(relateCompany);
......
......@@ -4,7 +4,7 @@ import java.util.List;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.mapper.BusinessLabelMapper;
import com.dsk.system.service.IBusinessLabelService;
import org.springframework.beans.factory.annotation.Autowired;
......
......@@ -6,7 +6,7 @@ import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.CheckUtils;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.domain.business.dto.BusinessIdDto;
import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.service.IBusinessInfoService;
import com.dsk.system.service.IBusinessRelateCompanyService;
......
package com.dsk.system.service.impl;
import com.dsk.system.domain.BusinessExcelDto;
import com.dsk.system.domain.business.dto.BusinessExcelDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
......
......@@ -9,7 +9,6 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
import com.dsk.common.constant.Constants;
import com.dsk.common.constant.UserConstants;
......
......@@ -75,7 +75,7 @@
</where>
ORDER BY f.creat_time DESC
</select>
<select id="selectRelateProject" resultType="com.dsk.system.domain.vo.BusinessListVo">
<select id="selectRelateProject" resultType="com.dsk.system.domain.business.vo.BusinessListVo">
select i.id,i.project_name as projectName
from business_info i
left join business_user u on u.business_id = i.id
......
......@@ -84,7 +84,7 @@
from business_info
</sql>
<select id="selectBusinessInfoList" resultType="com.dsk.system.domain.vo.BusinessListVo">
<select id="selectBusinessInfoList" resultType="com.dsk.system.domain.business.vo.BusinessListVo">
SELECT
i.id,
i.project_name projectName,
......@@ -207,15 +207,14 @@
ORDER BY i.create_time DESC
</select>
<select id="selectProjectName" resultType="java.lang.String">
SELECT *
FROM
(SELECT project_name as name FROM business_info) AS bu
<where>
<if test="projectName !=null and projectName!=''">
name like concat('%',#{projectName},'%')
</if>
</where>
<select id="selectProjectName" resultType="com.dsk.system.domain.business.vo.BusinessLikeProjectNameListVo">
SELECT
project_name, investment_amount, project_level, project_stage, project_type,
project_category, status
FROM business_info
where project_name like concat('%',#{projectName},'%')
order by project_name desc
limit 20
</select>
<select id="selectBusinessInfoById" parameterType="integer" resultMap="BusinessInfoResult">
......@@ -223,7 +222,7 @@
where id = #{id}
</select>
<select id="selectTotal" resultType="com.dsk.system.domain.vo.BusinessBrowseVo">
<select id="selectTotal" resultType="com.dsk.system.domain.business.vo.BusinessBrowseVo">
SELECT
count(DISTINCT c.id) contactsCount,
count(DISTINCT f.id) followRecordCount,
......@@ -423,8 +422,10 @@
<select id="isRepetitionProjectName" resultType="java.lang.Integer">
select count(i.id)
from business_info i
inner join business_user u on u.business_id = i.id
join business_user u on u.business_id = i.id
left join customer ct on ct.customer_id = i.customer_id
where i.project_name = #{projectName}
and u.user_id = #{userId}
<if test="companyName != null and companyName != '' "> and ct.company_name =#{companyName}</if>
</select>
</mapper>
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