Commit 2aae72c5 authored by MyName's avatar MyName
parents dd0e7640 f35fee70
...@@ -42,7 +42,7 @@ public class BusinessBacklogController extends BaseController ...@@ -42,7 +42,7 @@ public class BusinessBacklogController extends BaseController
private IBusinessBacklogService businessBacklogService; private IBusinessBacklogService businessBacklogService;
/** /**
* 查询项目工作待办列表 * 分页查询项目工作待办列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:backlog:list')") // @PreAuthorize("@ss.hasPermi('system:backlog:list')")
@GetMapping("/list") @GetMapping("/list")
......
...@@ -36,7 +36,7 @@ public class BusinessContactsController extends BaseController ...@@ -36,7 +36,7 @@ public class BusinessContactsController extends BaseController
private IBusinessContactsService businessContactsService; private IBusinessContactsService businessContactsService;
/** /**
* 查询项目联系人列表 * 分页查询项目联系人列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:contacts:list')") // @PreAuthorize("@ss.hasPermi('system:contacts:list')")
@GetMapping("/list") @GetMapping("/list")
......
...@@ -36,15 +36,13 @@ public class BusinessFollowRecordController extends BaseController ...@@ -36,15 +36,13 @@ public class BusinessFollowRecordController extends BaseController
private IBusinessFollowRecordService businessFollowRecordService; private IBusinessFollowRecordService businessFollowRecordService;
/** /**
* 查询项目跟进记录列表 * 根据项目id查询项目跟进记录
*/ */
// @PreAuthorize("@ss.hasPermi('system:record:list')") // @PreAuthorize("@ss.hasPermi('system:record:list')")
@GetMapping("/list") @GetMapping("/list/{businessId}")
public TableDataInfo list(BusinessFollowRecord businessFollowRecord) public AjaxResult list(@PathVariable Integer businessId)
{ {
startPage(); return success(businessFollowRecordService.selectBusinessFollowRecordList(businessId));
List<BusinessFollowRecord> list = businessFollowRecordService.selectBusinessFollowRecordList(businessFollowRecord);
return getDataTable(list);
} }
/** /**
...@@ -58,6 +56,18 @@ public class BusinessFollowRecordController extends BaseController ...@@ -58,6 +56,18 @@ public class BusinessFollowRecordController extends BaseController
return toAjax(businessFollowRecordService.insertBusinessFollowRecord(businessFollowRecord)); return toAjax(businessFollowRecordService.insertBusinessFollowRecord(businessFollowRecord));
} }
/**
* 分页查询项目跟进记录
*/
// @PreAuthorize("@ss.hasPermi('system:record:list')")
// @GetMapping("/list")
// public TableDataInfo list(BusinessFollowRecord businessFollowRecord)
// {
// startPage();
// List<BusinessFollowRecord> list = businessFollowRecordService.selectBusinessFollowRecordList(businessFollowRecord);
// return getDataTable(list);
// }
// /** // /**
// * 导出项目跟进记录列表 // * 导出项目跟进记录列表
// */ // */
......
...@@ -6,6 +6,7 @@ import com.dsk.common.core.domain.entity.BusinessInfo; ...@@ -6,6 +6,7 @@ import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.dtos.BusinessInfoDto; import com.dsk.common.dtos.BusinessInfoDto;
import com.dsk.system.domain.BusinessAddDto; import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessListVo; import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.service.IBusinessInfoService; import com.dsk.system.service.IBusinessInfoService;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
...@@ -37,7 +38,7 @@ public class BusinessInfoController extends BaseController ...@@ -37,7 +38,7 @@ public class BusinessInfoController extends BaseController
// @PreAuthorize("@ss.hasPermi('system:info:list')") // @PreAuthorize("@ss.hasPermi('system:info:list')")
@PostMapping("/query/project") @PostMapping("/query/project")
public AjaxResult queryprojectName(@RequestBody BusinessListDto dto){ public AjaxResult queryprojectName(@RequestBody BusinessListDto dto){
return AjaxResult.success(businessInfoService.queryprojectName(dto)); return AjaxResult.success(businessInfoService.selectProjectName(dto));
} }
/** /**
...@@ -53,12 +54,32 @@ public class BusinessInfoController extends BaseController ...@@ -53,12 +54,32 @@ public class BusinessInfoController extends BaseController
} }
/** /**
* 删除项目详情 * 查询项目速览
*/
// @PreAuthorize("@ss.hasPermi('system:info:list')")
@GetMapping("/browse/{businessId}")
public AjaxResult browse(@PathVariable Integer id)
{
return success(businessInfoService.browse(id));
}
/**
* 获取项目建设内容
*/
// @PreAuthorize("@ss.hasPermi('system:info:query')")
@GetMapping(value = "/construction/{id}")
public AjaxResult getConstruction(@PathVariable("id") Integer id)
{
return success(businessInfoService.getConstruction(id));
}
/**
* 删除项目列表
*/ */
// @PreAuthorize("@ss.hasPermi('system:info:remove')") // @PreAuthorize("@ss.hasPermi('system:info:remove')")
// @Log(title = "项目详情", businessType = BusinessType.DELETE) // @Log(title = "项目详情", businessType = BusinessType.DELETE)
@DeleteMapping("/remove/{ids}") @DeleteMapping("/remove/{ids}")
public AjaxResult remove(@RequestParam(value = "ids",required=false) Long[] ids) public AjaxResult remove(@PathVariable(value = "ids",required=false) Long[] ids)
{ {
return toAjax(businessInfoService.deleteBusinessInfoByIds(ids)); return toAjax(businessInfoService.deleteBusinessInfoByIds(ids));
} }
...@@ -77,14 +98,24 @@ public class BusinessInfoController extends BaseController ...@@ -77,14 +98,24 @@ public class BusinessInfoController extends BaseController
/** /**
* 修改项目详情 * 修改项目详情
*/ */
@PreAuthorize("@ss.hasPermi('system:info:edit')") // @PreAuthorize("@ss.hasPermi('system:info:edit')")
@Log(title = "项目详情", businessType = BusinessType.UPDATE) // @Log(title = "项目详情", businessType = BusinessType.UPDATE)
@PostMapping("/edit") @PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessInfo businessInfo) public AjaxResult edit(@RequestBody BusinessInfo businessInfo)
{ {
return toAjax(businessInfoService.updateBusinessInfo(businessInfo)); return toAjax(businessInfoService.updateBusinessInfo(businessInfo));
} }
// /**
// * 获取项目详情详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:info:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Integer id)
// {
// return success(businessInfoService.selectBusinessInfoById(id));
// }
// /** // /**
// * 导出项目详情列表 // * 导出项目详情列表
// */ // */
...@@ -97,14 +128,5 @@ public class BusinessInfoController extends BaseController ...@@ -97,14 +128,5 @@ public class BusinessInfoController extends BaseController
// ExcelUtil<BusinessInfo> util = new ExcelUtil<BusinessInfo>(BusinessInfo.class); // ExcelUtil<BusinessInfo> util = new ExcelUtil<BusinessInfo>(BusinessInfo.class);
// util.exportExcel(response, list, "项目详情数据"); // util.exportExcel(response, list, "项目详情数据");
// } // }
//
// /**
// * 获取项目详情详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:info:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(businessInfoService.selectBusinessInfoById(id));
// }
} }
...@@ -67,6 +67,17 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -67,6 +67,17 @@ public class BusinessRelateCompanyController extends BaseController
return toAjax(businessRelateCompanyService.insertBusinessRelateCompany(businessRelateCompany)); return toAjax(businessRelateCompanyService.insertBusinessRelateCompany(businessRelateCompany));
} }
/**
* 修改项目关联单位
*/
// @PreAuthorize("@ss.hasPermi('system:company:edit')")
// @Log(title = "项目关联单位", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessRelateCompany businessRelateCompany)
{
return toAjax(businessRelateCompanyService.updateBusinessRelateCompany(businessRelateCompany));
}
// /** // /**
// * 导出项目关联单位列表 // * 导出项目关联单位列表
// */ // */
...@@ -90,17 +101,6 @@ public class BusinessRelateCompanyController extends BaseController ...@@ -90,17 +101,6 @@ public class BusinessRelateCompanyController extends BaseController
// return success(businessRelateCompanyService.selectBusinessRelateCompanyById(id)); // return success(businessRelateCompanyService.selectBusinessRelateCompanyById(id));
// } // }
// /**
// * 修改项目关联单位
// */
// @PreAuthorize("@ss.hasPermi('system:company:edit')")
// @Log(title = "项目关联单位", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody BusinessRelateCompany businessRelateCompany)
// {
// return toAjax(businessRelateCompanyService.updateBusinessRelateCompany(businessRelateCompany));
// }
// //
// /** // /**
// * 删除项目关联单位 // * 删除项目关联单位
......
...@@ -4,8 +4,8 @@ import com.dsk.common.annotation.RepeatSubmit; ...@@ -4,8 +4,8 @@ import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.PageUtils;
import com.dsk.system.domain.customer.Customer; import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.service.ICustomerService; import com.dsk.system.service.ICustomerService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -67,10 +67,19 @@ public class CustomerController extends BaseController { ...@@ -67,10 +67,19 @@ public class CustomerController extends BaseController {
/** /**
* 获取个人客户列表 * 获取个人客户列表
*/ */
@PreAuthorize("@ss.hasPermi('customer:user:list')")
@GetMapping("/user/list") @GetMapping("/user/list")
public AjaxResult selectUserList(){ public AjaxResult userList(){
return AjaxResult.success(baseService.selectUserList()); return AjaxResult.success(baseService.selectUserList());
} }
/**
* 获取客户项目(合作情况)列表
*/
// @PreAuthorize("@ss.hasPermi('customer:business:list')")
@GetMapping("/business/list")
public TableDataInfo businessList(CustomerBusinessSearchDto dto){
startPage();
return getDataTable(baseService.selectBusinessList(dto));
}
} }
...@@ -26,7 +26,7 @@ public class CustomerDecisionChainController extends BaseController { ...@@ -26,7 +26,7 @@ public class CustomerDecisionChainController extends BaseController {
/** /**
* 获取客户决策链条列表 * 获取客户决策链条列表
*/ */
@PreAuthorize("@ss.hasPermi('customer:decision:chain:list')") // @PreAuthorize("@ss.hasPermi('customer:decision:chain:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo selectPageList(CustomerDecisionChainSearchDto dto){ public TableDataInfo selectPageList(CustomerDecisionChainSearchDto dto){
startPage(); startPage();
...@@ -36,7 +36,7 @@ public class CustomerDecisionChainController extends BaseController { ...@@ -36,7 +36,7 @@ public class CustomerDecisionChainController extends BaseController {
/** /**
* 添加客户决策链条 * 添加客户决策链条
*/ */
@PreAuthorize("@ss.hasPermi('customer:decision:chain:add')") // @PreAuthorize("@ss.hasPermi('customer:decision:chain:add')")
@PostMapping() @PostMapping()
@RepeatSubmit() @RepeatSubmit()
public AjaxResult add(@RequestBody CustomerDecisionChain customerDecisionChain){ public AjaxResult add(@RequestBody CustomerDecisionChain customerDecisionChain){
...@@ -46,7 +46,7 @@ public class CustomerDecisionChainController extends BaseController { ...@@ -46,7 +46,7 @@ public class CustomerDecisionChainController extends BaseController {
/** /**
* 编辑客户决策链条 * 编辑客户决策链条
*/ */
@PreAuthorize("@ss.hasPermi('customer:decision:chain:edit')") // @PreAuthorize("@ss.hasPermi('customer:decision:chain:edit')")
@PutMapping() @PutMapping()
@RepeatSubmit() @RepeatSubmit()
public AjaxResult edit(@RequestBody CustomerDecisionChain customerDecisionChain){ public AjaxResult edit(@RequestBody CustomerDecisionChain customerDecisionChain){
...@@ -56,7 +56,7 @@ public class CustomerDecisionChainController extends BaseController { ...@@ -56,7 +56,7 @@ public class CustomerDecisionChainController extends BaseController {
/** /**
* 删除客户决策链条 * 删除客户决策链条
*/ */
@PreAuthorize("@ss.hasPermi('customer:decision:chain:del')") // @PreAuthorize("@ss.hasPermi('customer:decision:chain:del')")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@RepeatSubmit() @RepeatSubmit()
public AjaxResult del(@PathVariable("id") Long id){ public AjaxResult del(@PathVariable("id") Long id){
......
...@@ -3,11 +3,14 @@ package com.dsk.common.core.domain.entity; ...@@ -3,11 +3,14 @@ package com.dsk.common.core.domain.entity;
import java.util.Date; import java.util.Date;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import com.dsk.common.utils.CheckUtils;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel; import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.Pattern;
/** /**
* 项目联系人对象 business_contacts * 项目联系人对象 business_contacts
* *
......
...@@ -33,30 +33,6 @@ public class BusinessFollowRecord extends BaseEntity ...@@ -33,30 +33,6 @@ public class BusinessFollowRecord extends BaseEntity
@Excel(name = "用户昵称") @Excel(name = "用户昵称")
private Integer userName; private Integer userName;
public Integer getUserName() {
return userName;
}
public String getVisitPerson() {
return visitPerson;
}
public String getPosition() {
return position;
}
public void setUserName(Integer userName) {
this.userName = userName;
}
public void setVisitPerson(String visitPerson) {
this.visitPerson = visitPerson;
}
public void setPosition(String position) {
this.position = position;
}
/** 拜访对象 */ /** 拜访对象 */
@Excel(name = "拜访对象") @Excel(name = "拜访对象")
private String visitPerson; private String visitPerson;
...@@ -88,6 +64,30 @@ public class BusinessFollowRecord extends BaseEntity ...@@ -88,6 +64,30 @@ public class BusinessFollowRecord extends BaseEntity
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date creatTime; private Date creatTime;
public Integer getUserName() {
return userName;
}
public String getVisitPerson() {
return visitPerson;
}
public String getPosition() {
return position;
}
public void setUserName(Integer userName) {
this.userName = userName;
}
public void setVisitPerson(String visitPerson) {
this.visitPerson = visitPerson;
}
public void setPosition(String position) {
this.position = position;
}
public void setId(Integer id) public void setId(Integer id)
{ {
this.id = id; this.id = id;
......
...@@ -31,12 +31,12 @@ public class BusinessInfo extends BaseEntity ...@@ -31,12 +31,12 @@ public class BusinessInfo extends BaseEntity
@Excel(name = "项目名称") @Excel(name = "项目名称")
private String projectName; private String projectName;
/** 总投金额 */ /** 总投金额(万元) */
@Excel(name = "总投金额") @Excel(name = "总投金额(万元)")
private Double investmentAmount; private Double investmentAmount;
/** 资金来源(万元) */ /** 资金来源 */
@Excel(name = "资金来源(万元)") @Excel(name = "资金来源")
private String amountSource; private String amountSource;
/** 计划招标时间 */ /** 计划招标时间 */
......
...@@ -2,6 +2,8 @@ package com.dsk.common.core.domain.entity; ...@@ -2,6 +2,8 @@ package com.dsk.common.core.domain.entity;
import com.dsk.common.annotation.Excel; import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
...@@ -11,6 +13,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; ...@@ -11,6 +13,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl * @author lxl
* @date 2023-05-17 * @date 2023-05-17
*/ */
@Data
@NoArgsConstructor
public class BusinessLabel extends BaseEntity public class BusinessLabel extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -26,34 +30,6 @@ public class BusinessLabel extends BaseEntity ...@@ -26,34 +30,6 @@ public class BusinessLabel extends BaseEntity
@Excel(name = "标签") @Excel(name = "标签")
private String label; private String label;
public void setId(Integer id)
{
this.id = id;
}
public Integer getId()
{
return id;
}
public void setBusinessId(Integer businessId)
{
this.businessId = businessId;
}
public Integer getBusinessId()
{
return businessId;
}
public void setLabel(String label)
{
this.label = label;
}
public String getLabel()
{
return label;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
...@@ -64,4 +40,8 @@ public class BusinessLabel extends BaseEntity ...@@ -64,4 +40,8 @@ public class BusinessLabel extends BaseEntity
.append("updateTime", getUpdateTime()) .append("updateTime", getUpdateTime())
.toString(); .toString();
} }
public BusinessLabel(Integer businessId) {
this.businessId = businessId;
}
} }
...@@ -2,15 +2,22 @@ package com.dsk.common.core.domain.entity; ...@@ -2,15 +2,22 @@ package com.dsk.common.core.domain.entity;
import com.dsk.common.annotation.Excel; import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import com.dsk.common.utils.CheckUtils;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.Pattern;
/** /**
* 项目关联单位对象 business_relate_company * 项目关联单位对象 business_relate_company
* *
* @author lxl * @author lxl
* @date 2023-05-17 * @date 2023-05-17
*/ */
@Data
@NoArgsConstructor
public class BusinessRelateCompany extends BaseEntity public class BusinessRelateCompany extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -46,78 +53,6 @@ public class BusinessRelateCompany extends BaseEntity ...@@ -46,78 +53,6 @@ public class BusinessRelateCompany extends BaseEntity
@Excel(name = "对接深度/竞争力度") @Excel(name = "对接深度/竞争力度")
private String depth; private String depth;
public String getDepth() {
return depth;
}
public void setDepth(String depth) {
this.depth = depth;
}
public void setId(Integer id)
{
this.id = id;
}
public Integer getId()
{
return id;
}
public void setBusinessId(Integer businessId)
{
this.businessId = businessId;
}
public Integer getBusinessId()
{
return businessId;
}
public void setCompanyId(Integer companyId)
{
this.companyId = companyId;
}
public Integer getCompanyId()
{
return companyId;
}
public void setCompanyName(String companyName)
{
this.companyName = companyName;
}
public String getCompanyName()
{
return companyName;
}
public void setCompanyRole(String companyRole)
{
this.companyRole = companyRole;
}
public String getCompanyRole()
{
return companyRole;
}
public void setResponsiblePerson(String responsiblePerson)
{
this.responsiblePerson = responsiblePerson;
}
public String getResponsiblePerson()
{
return responsiblePerson;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
...@@ -140,4 +75,8 @@ public class BusinessRelateCompany extends BaseEntity ...@@ -140,4 +75,8 @@ public class BusinessRelateCompany extends BaseEntity
this.companyName = companyName; this.companyName = companyName;
this.companyRole = companyRole; this.companyRole = companyRole;
} }
public BusinessRelateCompany(Integer businessId) {
this.businessId = businessId;
}
} }
...@@ -92,13 +92,14 @@ export const constantRoutes = [ ...@@ -92,13 +92,14 @@ export const constantRoutes = [
path: '/party', path: '/party',
component: Layout, component: Layout,
hidden: true, hidden: true,
name: 'Party',
redirect: 'noredirect', redirect: 'noredirect',
children: [ children: [
{ {
path: 'party-a', path: 'party-a',
component: () => import('@/views/detail/party-a/index'), component: () => import('@/views/detail/party-a/index'),
name: 'PartyA', name: 'PartyA',
meta: { title: '甲方详情' } meta: { title: '甲方详情' },
}, },
{ {
path: 'party-b', path: 'party-b',
......
<template>
<div class="app-container part-container">
商务信息
</div>
</template>
<script>
export default {
name: 'Business',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.part-container{
padding: 0;
}
</style>
<template>
<div class="header-container">
<div class="bread-crumb">
<el-breadcrumb separator="/">
<el-breadcrumb-item :to="{ path: '/' }">企业数据</el-breadcrumb-item>
<el-breadcrumb-item><a href="/">查企业</a></el-breadcrumb-item>
<el-breadcrumb-item>中铁一建</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="flex-box part-header">
<img class="header-logo" src="@/assets/images/avatar.png">
中交第二航务工程局有限公司
</div>
</div>
</template>
<script>
export default {
name: 'Header',
data() {
return {
}
},
created() {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.bread-crumb{
.el-breadcrumb{
font-size: 12px;
::v-deep .el-breadcrumb__separator{
margin: 0 5px;
}
::v-deep .el-breadcrumb__inner.is-link, .el-breadcrumb__inner a{
color: rgba(35,35,35,0.4);
&:hover{
color: #1890ff;
}
}
::v-deep .el-breadcrumb__item{
&:last-child .el-breadcrumb__inner{
color: #232323;
}
&:nth-last-child(2){
.el-breadcrumb__separator{
color: #232323;
}
}
}
}
}
.part-header{
font-size: 16px;
font-weight: bold;
color: #232323;
background: #FFFFFF;
padding: 14px 16px;
margin-top: 12px;
.header-logo{
width: 28px;
height: 28px;
margin-right: 16px;
}
}
</style>
<template>
<div class="detail-container">
<el-input
placeholder="搜索"
class="side-input"
v-model="searchText">
<i slot="prefix" class="el-input__icon el-icon-search" @click="handleSearch"></i>
</el-input>
<el-menu
default-active="1"
class="detail-menu"
@open="handleOpen">
<template v-for="(item, index) in sideRoute">
<el-submenu :index="index.toString()" v-if="item.children">
<template slot="title">
<span>{{item.title}}</span>
</template>
<el-menu-item :index="index+'-'+idx" v-for="(it, idx) in item.children" :key="idx" @click="handleItem(it)">{{it.title}}</el-menu-item>
</el-submenu>
<el-menu-item :index="index.toString()" @click="handleItem(item)" v-else>{{item.title}}</el-menu-item>
</template>
</el-menu>
</div>
</template>
<script>
export default {
name: 'Sidebar',
data() {
return {
searchText: '',
sideRoute: [
{title: '企业概要', pathName: '', children: [
{title: '企业速览', pathName: ''},
{title: '工商信息', pathName: ''},
{title: '股东信息', pathName: ''},
{title: '高管信息', pathName: ''},
{title: '对外投资', pathName: ''},
{title: '分支机构', pathName: ''}
]},
{title: '财务简析', pathName: 'financial'},
{title: '项目商机', pathName: '', children: [
{title: '土地交易', pathName: ''},
{title: '拟建项目', pathName: ''},
{title: '专项债项目', pathName: ''},
{title: '招标计划', pathName: ''},
{title: '招标公告', pathName: ''},
{title: '标讯Pro', pathName: ''},
{title: '行政许可', pathName: ''}
]},
{title: '业务往来', pathName: '', children: [
{title: '客户', pathName: ''},
{title: '供应商', pathName: ''},
{title: '招标代理', pathName: ''},
{title: '历史发包', pathName: ''},
{title: '开标记录', pathName: ''}
]},
{title: '城投分析', pathName: '', children: [
{title: '区域经济', pathName: ''},
{title: '城投那地', pathName: ''},
{title: '同地区城投', pathName: ''}
]},
{title: '风险信息', pathName: '', children: [
{title: '行政处罚', pathName: ''},
{title: '经营异常', pathName: ''},
{title: '被执行人', pathName: ''},
{title: '失信被执行人', pathName: ''},
{title: '裁判文书', pathName: ''},
{title: '法院公告', pathName: ''},
{title: '开庭公告', pathName: ''},
{title: '信用中国', pathName: ''}
]},
{title: '商务信息', pathName: 'business'},
{title: '招标偏好', pathName: ''},
{title: '合作情况', pathName: ''},
{title: '决策链条', pathName: ''},
{title: '跟进记录', pathName: ''}
]
}
},
created() {
},
methods: {
handleOpen(key, keyPath) {
console.log(key, keyPath)
},
handleItem(item){
this.$emit("currentPath", item)
},
handleSearch(){
console.log('开始搜索了')
}
}
}
</script>
<style lang="scss" scoped>
.detail-container{
width: 144px;
min-height: calc(100vh - 170px);
background: #FFFFFF;
.side-input{
width: 128px;
margin-top: 16px;
margin-left: 8px;
border: 0;
::v-deep .el-input__inner{
height: 32px;
background: #F3F3F4;
border-radius: 20px;
border: 0;
&::placeholder {
color: #3D3D3D;
}
}
.el-icon-search{
color: #0081FF;
cursor: pointer;
}
}
.detail-menu{
margin-top: 20px;
border-right: 0;
::v-deep .el-menu-item, ::v-deep .el-submenu__title{
height: 30px;
line-height: 30px;
font-size: 14px;
color: #232323;
&:hover, &:focus{
background: linear-gradient(91deg, rgba(0,129,255,0.1) 0%, rgba(0,129,255,0) 100%);;
}
.el-submenu__icon-arrow{
color: #232323;
right: 48px;
margin-top: -5px;
}
}
::v-deep .el-submenu .el-menu-item{
font-size: 12px;
color: rgba(35,35,35,0.8);
padding: 0 0 0 27px !important;
min-width: 144px !important;
position: relative;
&:before {
content: "";
position: absolute;
top: 14px;
left: 21px;
width: 2px;
height: 2px;
background: rgba(35,35,35,0.8);
border-radius: 50%;
}
}
}
}
</style>
<template> <template>
<div class="app-container"> <div class="app-container part-container">
财务简析 <div class="financial-header">
<div class="common-title">财务简析</div>
<div class="flex-box header-box">
<div class="header-item">总资产<div class="header-item-amount"><span>9332.6</span>亿元</div></div>
<div class="header-item">净资产<div class="header-item-amount"><span>459.4</span>亿元</div></div>
<div class="header-item">营业收入<div class="header-item-amount"><span>150.0</span>亿元</div></div>
<div class="header-item">授信余额<div class="header-item-amount"><span>192.11</span>亿元</div></div>
</div>
</div>
<div class="financial-zcqk">
<div class="common-title">资产情况</div>
<ul class="zcqk-list">
<li v-for="(item, index) in zcqkList" :key="index" :style="zcqkList.length==1?'border-right: 0;':''">
<div class="zcqk-list-box" :style="(parity(zcqkList) && index==zcqkList.length-2) || (index == zcqkList.length-1)?'border-bottom: 0':''">
<div class="flex-box zcqk-list-line"><span class="flex-box"><img :src="item.ico">{{item.name}}</span><span><i>{{item.amount}}</i>亿元</span></div>
<div class="zcqk-list-intro">{{item.intro}}</div>
</div>
</li>
</ul>
</div>
<div class="financial-zwqk">
<div class="common-title">负债情况及偿债能力</div>
<div class="flex-box zwqk-box">
<div class="zwqk-info">
<div class="zwqk-title">总负责</div>
<div class="zwqk-amount"><span>468.65</span>亿元</div>
<div class="zwqk-pro">资产负债率 50%</div>
</div>
<div id="myEcharts" style="width: 444px;height:250px; margin: 0 auto;"></div>
</div>
<div class="flex-box zwqk-list">
<div class="list-item" v-for="(item, index) in zwqkList" :key="index">
<div class="flex-box list-item-all">{{item.name}}<img :src="item.ico"></div>
<div class="list-item-amount"><span>{{item.amount}}</span>{{item.unit}}</div>
<div class="list-item-pro">{{item.intro}}<span>{{item.introPro}}</span></div>
</div>
</div>
</div>
<div class="financial-zcqk">
<div class="common-title">资金情况</div>
<ul class="zcqk-list">
<li v-for="(item, index) in zjqkList" :key="index" :style="zjqkList.length==1?'border-right: 0;':''">
<div class="zcqk-list-box" :style="(parity(zjqkList) && index==zjqkList.length-2) || (index == zjqkList.length-1)?'border-bottom: 0':''">
<div class="flex-box zcqk-list-line"><span class="flex-box"><img :src="item.ico">{{item.name}}</span><span><i>{{item.amount}}</i>{{item.unit}}</span></div>
<div class="zcqk-list-intro">{{item.intro}}</div>
</div>
</li>
</ul>
</div>
</div> </div>
</template> </template>
<script> <script>
import * as echarts from 'echarts';
export default { export default {
name: 'Financial', name: 'Financial',
data() { data() {
return { return {
zcqkList: [
{ name: '总资产', ico: require('@/assets/images/detail/financial/zcqk_ico1.png'), intro: '总资产越大,表示企业规模越大', amount: '99213', unit: '亿元'},
{ name: '净资产', ico: require('@/assets/images/detail/financial/zcqk_ico2.png'), intro: '该指标越大说明企业实力越强', amount: '99213', unit: '亿元'},
{ name: '货币资金', ico: require('@/assets/images/detail/financial/zcqk_ico3.png'), intro: '该指标越大说明企业越有活力、越有保障', amount: '99213', unit: '亿元'},
{ name: '应收账款', ico: require('@/assets/images/detail/financial/zcqk_ico4.png'), intro: '该指标越大说明企业实力越强', amount: '99213', unit: '亿元'},
{ name: '土地资产', ico: require('@/assets/images/detail/financial/zcqk_ico5.png'), intro: '该指标越大说明企业越有实力,但需要关注抵押情况', amount: '99213', unit: '亿元'},
{ name: '其它应收款', ico: require('@/assets/images/detail/financial/zcqk_ico6.png'), intro: '该指标越大说明企业实力越强', amount: '99213', unit: '亿元'},
{ name: '受限资产', ico: require('@/assets/images/detail/financial/zcqk_ico7.png'), intro: '该指标越大,资产流动性越差', amount: '99213', unit: '亿元'},
{ name: '应收类款项来自政府占比', ico: require('@/assets/images/detail/financial/zcqk_ico8.png'), intro: '该指标越大,说明企业资质及信用越好', amount: '99213', unit: '亿元'},
{ name: '政府补助', ico: require('@/assets/images/detail/financial/zcqk_ico9.png'), intro: '该指标越大,说明企业越被政府看好与扶持', amount: '99213', unit: '亿元'}
],
zwqkList: [
{ name: '借款总额', ico: require('@/assets/images/detail/financial/zwqk_ico1.png'), intro: '借款/有息债务', introPro: '95.19%', amount: '1699.7', unit: '亿元'},
{ name: '债券余额', ico: require('@/assets/images/detail/financial/zwqk_ico2.png'), intro: '债券余额/有息债务', introPro: '95.19%', amount: '1699.7', unit: '亿元'},
{ name: '非标余额', ico: require('@/assets/images/detail/financial/zwqk_ico3.png'), intro: '非标余额/有息债务', introPro: '95.19%', amount: '1699.7', unit: '亿元'},
{ name: '对外担保金额', ico: require('@/assets/images/detail/financial/zwqk_ico4.png'), intro: '对外担保比例', introPro: '95.19%', amount: '1699.7', unit: '亿元'}
],
zjqkList: [
{ name: '经营现金流', ico: require('@/assets/images/detail/financial/zjqk_ico1.png'), intro: '该指标越高,说明经营活动的造血能力越强', amount: '99213', unit: '亿元'},
{ name: '现金比率', ico: require('@/assets/images/detail/financial/zjqk_ico2.png'), intro: '该指标越高,风险越低', amount: '0.8', unit: '%'},
{ name: '筹资现金流', ico: require('@/assets/images/detail/financial/zjqk_ico3.png'), intro: '该指标越高,说明负债越高', amount: '99213', unit: '亿元'},
{ name: '现金流量比率', ico: require('@/assets/images/detail/financial/zjqk_ico4.png'), intro: '该指标越高,风险越低', amount: '0.8', unit: '%'},
{ name: '投资现金流', ico: require('@/assets/images/detail/financial/zjqk_ico5.png'), intro: '该指标越高,说明投资带来的收益越高', amount: '99213', unit: '亿元'},
{ name: '现金到期债务比', ico: require('@/assets/images/detail/financial/zjqk_ico6.png'), intro: '该指标越高,风险越低', amount: '0.8', unit: '%'}
],
echartsData: [
{ value: 1048, name: '有息债务' },
{ value: 735, name: '有息债务/总债务' },
{ value: 580, name: '综合融资成本' },
{ value: 484, name: 'EBITDA保障倍数' }
]
}
},
computed: {
parity() {
return function(val) {
let flag = true
if(val.length % 2 == 0){
flag = true
}else{
flag = false
}
return flag
} }
}, },
},
created() { created() {
}, },
mounted() {
this.getEcharts()
},
methods: { methods: {
getEcharts(){
let myChart = echarts.init(document.getElementById("myEcharts"));
//配置图表
let option = {
tooltip: {
trigger: 'item'
},
grid: {
left:"0",
top:"0",
right:'0',
bottom:"0",
containLabel:true
},
color: ['#5B9CF7','#8DCF96','#FFDC6B','#FE9C77','#8A82F3'],
legend: {
x: 'center',
y: 'bottom',
itemHeight: 9,
textStyle: {
padding: [0, 0, -2, 0],
color: '#000000',
backgroundColor: "transparent",
fontSize: 11,
rich: {
a: {
},
},
}
},
series: [
{
name: '',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
formatter: '{title|{d}%}\n{b}',
rich: {
title: {
fontSize: 18,
align: 'center',
padding: [0, 0, 6, 0]
}
},
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: 11,
color: '#3D3D3D'
}
},
labelLine: {
show: false
},
data: this.echartsData
}
]
}
// 使用刚指定的配置项和数据显示图表。
myChart.clear() //清空
myChart.setOption(option)
}
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.part-container{
margin: 0;
padding: 0;
.financial-header{
background: #FFFFFF;
padding: 24px 16px;
.header-box {
justify-content: space-between;
flex-wrap: wrap;
margin: 0 -8px;
.header-item{
width: 252px;
height: 120px;
margin: 20px 8px 0;
padding: 24px 24px;
font-size: 18px;
&:nth-child(1){
color: #182980;
background: url("~@/assets/images/detail/financial/financial_header01.png") no-repeat;
background-size: cover;
}
&:nth-child(2){
color: #2B1880;
background: url("~@/assets/images/detail/financial/financial_header02.png") no-repeat;
background-size: cover;
}
&:nth-child(3){
color: #184280;
background: url("~@/assets/images/detail/financial/financial_header03.png") no-repeat;
background-size: cover;
}
&:nth-child(4){
color: #184A80;
background: url("~@/assets/images/detail/financial/financial_header04.png") no-repeat;
background-size: cover;
}
.header-item-amount{
font-size: 12px;
margin-top: 16px;
span{
font-size: 24px;
margin-right: 7px;
}
}
}
}
}
.financial-zcqk{
background: #FFFFFF;
padding: 24px 16px;
margin-top: 12px;
.zcqk-list{
margin-top: 4px;
overflow: hidden;
li{
width: 50%;
height: 80px;
padding-top: 20px;
float: left;
color: #232323;
&:nth-child(2n-1){
border-right: 1px solid #EEEEEE;
>div{
margin-right: 16px;
}
}
&:nth-child(2n){
>div{
margin-left: 16px;
}
}
.zcqk-list-box{
height: 100%;
border-bottom: 1px solid #EEEEEE;
.zcqk-list-line{
font-size: 14px;
justify-content: space-between;
img{
width: 20px;
height: 20px;
margin-right: 7px;
}
span{
display: block;
&:first-child{
font-size: 16px;
}
i{
font-style: normal;
font-size: 18px;
margin-right: 4px;
}
}
}
.zcqk-list-intro{
font-size: 12px;
position: relative;
padding: 6px 0 0 36px;
&:before {
content: "";
position: absolute;
width: 1px;
height: 1px;
top: 13px;
left: 28px;
border-radius: 50%;
border: 2px solid #4F4F4F;
}
}
}
}
}
}
.financial-zwqk{
background: #FFFFFF;
padding: 24px 16px;
margin-top: 12px;
.zwqk-box{
padding-top: 20px;
justify-content: normal;
.zwqk-info{
width: 520px;
height: 248px;
padding: 54px 24px 10px 24px;
margin-right: 48px;
color: #4D4C4B;
background: url("~@/assets/images/detail/financial/zwqk_bg.png") no-repeat;
background-size: cover;
.zwqk-title{
font-size: 22px;
font-weight: 400;
line-height: 0.9;
position: relative;
padding: 0 0 0 16px;
&:before{
position: absolute;
left: 0;
top: 0;
width: 3px;
height: 18px;
background: rgba(77,76,75,0.5);
content:"";
}
}
.zwqk-amount{
font-size: 16px;
margin-top: 32px;
span{
font-size: 40px;
font-weight: bold;
margin-right: 8px;
}
}
.zwqk-pro{
font-size: 16px;
margin-top: 33px;
}
}
}
.zwqk-list{
justify-content: space-between;
flex-wrap: wrap;
.list-item{
width: 252px;
height: 144px;
padding: 23px;
margin-top: 24px;
color: #3D3D3D;
border: 1px solid #E2E7EE;
.list-item-all{
align-items: normal;
justify-content: space-between;
}
.list-item-amount{
padding-top: 11px;
span{
font-size: 24px;
font-weight: bold;
margin-right: 4px;
}
}
.list-item-pro{
font-size: 12px;
padding-top: 11px;
span{
color: #FF3C3C;
margin-left: 2px;
}
}
}
}
}
}
</style> </style>
<template> <template>
<div class="app-container part-container"> <div class="app-container part-container">
<div class="bread-crumb"> <Header />
<el-breadcrumb separator="/"> <div class="flex-box part-main">
<el-breadcrumb-item :to="{ path: '/' }">企业数据</el-breadcrumb-item> <div class="part-left">
<el-breadcrumb-item><a href="/">查企业</a></el-breadcrumb-item> <side-bar @currentPath="showPartPage" />
<el-breadcrumb-item>中铁一建</el-breadcrumb-item> </div>
</el-breadcrumb> <div class="part-right">
<!-- <Financial v-if="currentPath.pathName=='financial'" />-->
<!-- <Business v-if="currentPath.pathName=='business'" />-->
</div> </div>
<div class="flex-box part-header">
<img class="header-logo" src="@/assets/images/avatar.png">
中交第二航务工程局有限公司
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Header from "./component/Header"
import SideBar from "./component/Sidebar"
import Financial from "./financial"
import Business from "./business"
export default { export default {
name: 'PartyA', name: 'PartyA',
components: {
Header,
SideBar,
Financial,
Business
},
data() { data() {
return { return {
currentPath: {
pathName: 'financial' //默认展示页
}
} }
}, },
created() { created() {
}, },
methods: { methods: {
showPartPage(e){
this.currentPath = e
}
} }
} }
</script> </script>
...@@ -32,41 +47,14 @@ export default { ...@@ -32,41 +47,14 @@ export default {
.part-container{ .part-container{
padding: 0; padding: 0;
} }
.bread-crumb{ .part-main{
.el-breadcrumb{
font-size: 12px;
::v-deep .el-breadcrumb__separator{
margin: 0 5px;
}
::v-deep .el-breadcrumb__inner.is-link, .el-breadcrumb__inner a{
color: rgba(35,35,35,0.4);
&:hover{
color: #1890ff;
}
}
::v-deep .el-breadcrumb__item{
&:last-child .el-breadcrumb__inner{
color: #232323;
}
&:nth-last-child(2){
.el-breadcrumb__separator{
color: #232323;
}
}
}
}
}
.part-header{
font-size: 16px;
font-weight: bold;
color: #232323;
background: #FFFFFF;
padding: 14px 16px;
margin-top: 12px; margin-top: 12px;
.header-logo{ align-items: initial;
width: 28px; }
height: 28px; .part-left{
margin-right: 16px; margin-right: 16px;
} }
.part-right{
width: 100%;
} }
</style> </style>
...@@ -54,6 +54,10 @@ public class BusinessAddDto { ...@@ -54,6 +54,10 @@ public class BusinessAddDto {
* 可见范围 * 可见范围
*/ */
private Integer isPrivate; private Integer isPrivate;
/**
* 客户id
*/
private String customerId;
public Double getInvestmentAmount() { public Double getInvestmentAmount() {
return Double.parseDouble(investmentAmount); return Double.parseDouble(investmentAmount);
......
package com.dsk.system.domain.customer.dto;
import lombok.Data;
import java.io.Serializable;
/**
* 客户合作情况筛选对象
* @author lcl
* @create 2023/5/16
*/
@Data
public class CustomerBusinessSearchDto implements Serializable {
/**
* 企业id
*/
private String customerId;
/**
* 企业id
*/
private Long userId;
/**
* 项目阶段
*/
private String projectStage;
/**
* 项目状态
*/
private Integer status;
}
package com.dsk.system.domain.customer.vo;
import lombok.Data;
import java.io.Serializable;
/**
* 客户合作情况列表对象
*
* @author lcl
* @create 2023/5/22
*/
@Data
public class CustomerBusinessListVo implements Serializable {
/**
* 项目id
*/
private Integer id;
/**
* 项目名称
*/
private String projcetName;
/**
* 项目阶段
*/
private String projectStage;
/**
* 投资金额
*/
private String investmentAmount;
/**
* 状态
*/
private Integer status;
}
...@@ -37,7 +37,11 @@ public class CustomerListVo { ...@@ -37,7 +37,11 @@ public class CustomerListVo {
/** /**
* 注册资本(字符串) * 注册资本(字符串)
*/ */
private String registerCapitalStr; private String registerCapital;
/**
* 社会统一信用代码
*/
private String creditCode;
/** /**
* 企业性质 * 企业性质
*/ */
......
package com.dsk.system.domain.vo; package com.dsk.system.domain.vo;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author lxl * @author lxl
* @Description: * @Description:
...@@ -10,5 +13,90 @@ import lombok.Data; ...@@ -10,5 +13,90 @@ import lombok.Data;
@Data @Data
public class BusinessBrowseVo { public class BusinessBrowseVo {
/**
* 项目名称
*/
private String projectName;
/**
* 项目名称
*/
private Integer isPrivate;
/**
* 项目类型
*/
private String projectType;
/**
* 项目类别
*/
private String projectCategory;
/**
* 投资估算
*/
private Double investmentAmount;
/**
* 省
*/
private String provinceName;
/**
* 市
*/
private String cityName;
/**
* 区
*/
private String districtName;
/**
* 商务团队
*/
private String team;
/**
* 项目阶段
*/
private String projectStage;
/**
* 项目级别
*/
private String projectLevel;
/**
* 项目标签
*/
private List<String> labelList;
/**
* 关键企业
*/
private List<BusinessRelateCompany> relateCompany;
/**
* 联系人统计
*/
private Integer contactsCount;
/**
* 跟进记录统计
*/
private Integer followRecordCount;
/**
* 工作待办统计
*/
private Integer backlogCount;
/**
* 相关企业统计
*/
private Integer relateCompanyCount;
} }
...@@ -21,12 +21,20 @@ public interface BusinessFollowRecordMapper ...@@ -21,12 +21,20 @@ public interface BusinessFollowRecordMapper
public BusinessFollowRecord selectBusinessFollowRecordById(Long id); public BusinessFollowRecord selectBusinessFollowRecordById(Long id);
/** /**
* 查询项目跟进记录列表 * 分页查询项目跟进记录列表
* *
* @param businessFollowRecord 项目跟进记录 * @param businessFollowRecord 项目跟进记录
* @return 项目跟进记录集合 * @return 项目跟进记录集合
*/ */
public List<BusinessFollowRecord> selectBusinessFollowRecordList(BusinessFollowRecord businessFollowRecord); public List<BusinessFollowRecord> businessFollowRecordPaging(BusinessFollowRecord businessFollowRecord);
/**
* 根据项目id查询项目跟进记录
*
* @param businessId 项目id
* @return 项目跟进记录集合
*/
public List<BusinessFollowRecord> selectBusinessFollowRecordList(Integer businessId);
/** /**
* 新增项目跟进记录 * 新增项目跟进记录
......
...@@ -2,10 +2,13 @@ package com.dsk.system.mapper; ...@@ -2,10 +2,13 @@ package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.common.core.domain.entity.BusinessInfo; import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.dtos.BusinessInfoDto;
import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
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.vo.BusinessListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -15,7 +18,8 @@ import java.util.List; ...@@ -15,7 +18,8 @@ import java.util.List;
* @author lxl * @author lxl
* @date 2023-05-17 * @date 2023-05-17
*/ */
public interface BusinessInfoMapper @Mapper
public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
{ {
/** /**
* 查询项目详情 * 查询项目详情
...@@ -23,13 +27,21 @@ public interface BusinessInfoMapper ...@@ -23,13 +27,21 @@ public interface BusinessInfoMapper
* @param id 项目详情主键 * @param id 项目详情主键
* @return 项目详情 * @return 项目详情
*/ */
public BusinessInfo selectBusinessInfoById(Long id); public BusinessInfo selectBusinessInfoById(Integer id);
/**
* 查询项目建设内容
*
* @param id 项目详情主键
* @return
*/
BusinessInfo getConstruction(Integer id);
/** /**
* 查询所有项目名称(支持模糊查询) * 查询所有项目名称(支持模糊查询)
* @return * @return
*/ */
List<String> queryprojectName(BusinessListDto dto); List<String> selectProjectName(BusinessListDto dto);
/** /**
* 查询项目详情列表 * 查询项目详情列表
...@@ -70,4 +82,18 @@ public interface BusinessInfoMapper ...@@ -70,4 +82,18 @@ public interface BusinessInfoMapper
* @return 结果 * @return 结果
*/ */
public int deleteBusinessInfoByIds(Long[] ids); public int deleteBusinessInfoByIds(Long[] ids);
/**
* 根据项目统计
* @param business
* @return
*/
BusinessBrowseVo selectTotal(Integer business);
int selectCountByStatusAndCustomerId(@Param("status") Integer status,@Param("customerId") String customerId);
List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto);
} }
...@@ -21,5 +21,9 @@ public interface CustomerMapper extends BaseMapper<Customer> { ...@@ -21,5 +21,9 @@ public interface CustomerMapper extends BaseMapper<Customer> {
List<CustomerListVo> selectList(@Param("dto") CustomerSearchDto dto); List<CustomerListVo> selectList(@Param("dto") CustomerSearchDto dto);
List<Customer> selectUserList(Long userId);
Customer selectByCompanyIdAndUserId(@Param("companyId")Integer companyId,@Param("userId")Long userId);
} }
...@@ -21,12 +21,20 @@ public interface IBusinessFollowRecordService ...@@ -21,12 +21,20 @@ public interface IBusinessFollowRecordService
public BusinessFollowRecord selectBusinessFollowRecordById(Long id); public BusinessFollowRecord selectBusinessFollowRecordById(Long id);
/** /**
* 查询项目跟进记录列表 * 根据项目id查询项目跟进记录
*
* @param businessId 项目跟进记录
* @return 项目跟进记录集合
*/
public List<BusinessFollowRecord> selectBusinessFollowRecordList(Integer businessId);
/**
* 分页查询项目跟进记录列表
* *
* @param businessFollowRecord 项目跟进记录 * @param businessFollowRecord 项目跟进记录
* @return 项目跟进记录集合 * @return 项目跟进记录集合
*/ */
public List<BusinessFollowRecord> selectBusinessFollowRecordList(BusinessFollowRecord businessFollowRecord); public List<BusinessFollowRecord> businessFollowRecordPaging(BusinessFollowRecord businessFollowRecord);
/** /**
* 新增项目跟进记录 * 新增项目跟进记录
......
...@@ -2,9 +2,11 @@ package com.dsk.system.service; ...@@ -2,9 +2,11 @@ package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo; import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.dtos.BusinessInfoDto;
import com.dsk.system.domain.BusinessAddDto; import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
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.vo.BusinessListVo;
import java.util.List; import java.util.List;
...@@ -23,7 +25,15 @@ public interface IBusinessInfoService ...@@ -23,7 +25,15 @@ public interface IBusinessInfoService
* @param id 项目详情主键 * @param id 项目详情主键
* @return 项目详情 * @return 项目详情
*/ */
public BusinessInfo selectBusinessInfoById(Long id); public BusinessInfo selectBusinessInfoById(Integer id);
/**
* 查询项目建设内容
*
* @param id 项目详情主键
* @return
*/
BusinessInfo getConstruction(Integer id);
/** /**
* 查询项目详情列表 * 查询项目详情列表
...@@ -33,11 +43,18 @@ public interface IBusinessInfoService ...@@ -33,11 +43,18 @@ public interface IBusinessInfoService
*/ */
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto); public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto);
/**
* 查询项目速览
* @param businessId
* @return
*/
BusinessBrowseVo browse(Integer businessId);
/** /**
* 查询所有项目名称(支持模糊查询) * 查询所有项目名称(支持模糊查询)
* @return * @return
*/ */
List<String> queryprojectName(BusinessListDto dto); List<String> selectProjectName(BusinessListDto dto);
/** /**
* 新增项目详情 * 新增项目详情
...@@ -70,4 +87,9 @@ public interface IBusinessInfoService ...@@ -70,4 +87,9 @@ public interface IBusinessInfoService
* @return 结果 * @return 结果
*/ */
public int deleteBusinessInfoById(Long id); public int deleteBusinessInfoById(Long id);
int selectCountByStatusAndCustomerId(Integer status,String customerId);
List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto);
} }
package com.dsk.system.service; package com.dsk.system.service;
import com.dsk.system.domain.customer.Customer; import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo; import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerVo; import com.dsk.system.domain.customer.vo.CustomerVo;
...@@ -25,4 +27,6 @@ public interface ICustomerService { ...@@ -25,4 +27,6 @@ public interface ICustomerService {
List<Customer> selectUserList(); List<Customer> selectUserList();
List<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto);
} }
...@@ -6,6 +6,7 @@ import com.dsk.system.mapper.BusinessBacklogMapper; ...@@ -6,6 +6,7 @@ import com.dsk.system.mapper.BusinessBacklogMapper;
import com.dsk.system.service.IBusinessBacklogService; import com.dsk.system.service.IBusinessBacklogService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
...@@ -52,6 +53,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -52,6 +53,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertBusinessBacklog(BusinessBacklog businessBacklog) public int insertBusinessBacklog(BusinessBacklog businessBacklog)
{ {
businessBacklog.setCreateTime(DateUtils.getNowDate()); businessBacklog.setCreateTime(DateUtils.getNowDate());
...@@ -67,6 +69,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -67,6 +69,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateBusinessBacklog(BusinessBacklog businessBacklog) public int updateBusinessBacklog(BusinessBacklog businessBacklog)
{ {
businessBacklog.setUpdateTime(DateUtils.getNowDate()); businessBacklog.setUpdateTime(DateUtils.getNowDate());
......
...@@ -3,11 +3,14 @@ package com.dsk.system.service.impl; ...@@ -3,11 +3,14 @@ package com.dsk.system.service.impl;
import java.util.List; import java.util.List;
import com.dsk.common.core.domain.entity.BusinessContacts; import com.dsk.common.core.domain.entity.BusinessContacts;
import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.CheckUtils;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.system.mapper.BusinessContactsMapper; import com.dsk.system.mapper.BusinessContactsMapper;
import com.dsk.system.service.IBusinessContactsService; import com.dsk.system.service.IBusinessContactsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 项目联系人Service业务层处理 * 项目联系人Service业务层处理
...@@ -52,8 +55,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService ...@@ -52,8 +55,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertBusinessContacts(BusinessContacts businessContacts) public int insertBusinessContacts(BusinessContacts businessContacts)
{ {
if(!CheckUtils.isPhone(businessContacts.getPhone())) throw new BaseException("500","请输入正确的手机号码");
return businessContactsMapper.insertBusinessContacts(businessContacts); return businessContactsMapper.insertBusinessContacts(businessContacts);
} }
...@@ -64,8 +69,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService ...@@ -64,8 +69,10 @@ public class BusinessContactsServiceImpl implements IBusinessContactsService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateBusinessContacts(BusinessContacts businessContacts) public int updateBusinessContacts(BusinessContacts businessContacts)
{ {
if(!CheckUtils.isPhone(businessContacts.getPhone())) throw new BaseException("500","请输入正确的手机号码");
businessContacts.setUpdateTime(DateUtils.getNowDate()); businessContacts.setUpdateTime(DateUtils.getNowDate());
return businessContactsMapper.updateBusinessContacts(businessContacts); return businessContactsMapper.updateBusinessContacts(businessContacts);
} }
......
...@@ -8,6 +8,7 @@ import com.dsk.system.mapper.BusinessFollowRecordMapper; ...@@ -8,6 +8,7 @@ import com.dsk.system.mapper.BusinessFollowRecordMapper;
import com.dsk.system.service.IBusinessFollowRecordService; import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 项目跟进记录Service业务层处理 * 项目跟进记录Service业务层处理
...@@ -33,16 +34,15 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer ...@@ -33,16 +34,15 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
return businessFollowRecordMapper.selectBusinessFollowRecordById(id); return businessFollowRecordMapper.selectBusinessFollowRecordById(id);
} }
/**
* 查询项目跟进记录列表
*
* @param businessFollowRecord 项目跟进记录
* @return 项目跟进记录
*/
@Override @Override
public List<BusinessFollowRecord> selectBusinessFollowRecordList(BusinessFollowRecord businessFollowRecord) public List<BusinessFollowRecord> selectBusinessFollowRecordList(Integer businessId)
{ {
return businessFollowRecordMapper.selectBusinessFollowRecordList(businessFollowRecord); return businessFollowRecordMapper.selectBusinessFollowRecordList(businessId);
}
@Override
public List<BusinessFollowRecord> businessFollowRecordPaging(BusinessFollowRecord businessFollowRecord) {
return businessFollowRecordMapper.businessFollowRecordPaging(businessFollowRecord);
} }
/** /**
...@@ -52,6 +52,7 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer ...@@ -52,6 +52,7 @@ public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordSer
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertBusinessFollowRecord(BusinessFollowRecord businessFollowRecord) public int insertBusinessFollowRecord(BusinessFollowRecord businessFollowRecord)
{ {
return businessFollowRecordMapper.insertBusinessFollowRecord(businessFollowRecord); return businessFollowRecordMapper.insertBusinessFollowRecord(businessFollowRecord);
......
...@@ -2,10 +2,12 @@ package com.dsk.system.service.impl; ...@@ -2,10 +2,12 @@ package com.dsk.system.service.impl;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo; import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.common.core.domain.entity.BusinessRelateCompany; import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.core.domain.entity.BusinessUser; import com.dsk.common.core.domain.entity.BusinessUser;
import com.dsk.common.dtos.BusinessInfoDto; import com.dsk.common.dtos.BusinessInfoDto;
...@@ -13,8 +15,12 @@ import com.dsk.common.utils.DateUtils; ...@@ -13,8 +15,12 @@ import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.SecurityUtils; import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.BusinessAddDto; import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
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.vo.BusinessListVo;
import com.dsk.system.mapper.BusinessInfoMapper; import com.dsk.system.mapper.BusinessInfoMapper;
import com.dsk.system.mapper.BusinessLabelMapper;
import com.dsk.system.mapper.BusinessRelateCompanyMapper; import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.mapper.BusinessUserMapper; import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessInfoService; import com.dsk.system.service.IBusinessInfoService;
...@@ -31,14 +37,15 @@ import javax.annotation.Resource; ...@@ -31,14 +37,15 @@ import javax.annotation.Resource;
* @date 2023-05-17 * @date 2023-05-17
*/ */
@Service @Service
public class BusinessInfoServiceImpl implements IBusinessInfoService public class BusinessInfoServiceImpl implements IBusinessInfoService {
{
@Resource @Resource
private BusinessInfoMapper businessInfoMapper; private BusinessInfoMapper businessInfoMapper;
@Resource @Resource
private BusinessUserMapper businessUserMapper; private BusinessUserMapper businessUserMapper;
@Resource @Resource
private BusinessRelateCompanyMapper businessRelateCompanyMapper; private BusinessRelateCompanyMapper businessRelateCompanyMapper;
@Resource
private BusinessLabelMapper businessLabelMapper;
/** /**
* 查询项目详情 * 查询项目详情
...@@ -47,11 +54,15 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -47,11 +54,15 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
* @return 项目详情 * @return 项目详情
*/ */
@Override @Override
public BusinessInfo selectBusinessInfoById(Long id) public BusinessInfo selectBusinessInfoById(Integer id) {
{
return businessInfoMapper.selectBusinessInfoById(id); return businessInfoMapper.selectBusinessInfoById(id);
} }
@Override
public BusinessInfo getConstruction(Integer id) {
return businessInfoMapper.getConstruction(id);
}
/** /**
* 查询项目详情列表 * 查询项目详情列表
* *
...@@ -59,14 +70,31 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -59,14 +70,31 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
* @return 项目详情 * @return 项目详情
*/ */
@Override @Override
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto) public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto) {
{
return businessInfoMapper.selectBusinessInfoList(dto); return businessInfoMapper.selectBusinessInfoList(dto);
} }
@Override @Override
public List<String> queryprojectName(BusinessListDto dto) { public BusinessBrowseVo browse(Integer businessId) {
return businessInfoMapper.queryprojectName(dto); BusinessBrowseVo businessBrowseVo = new BusinessBrowseVo();
//查询项目基本信息
BusinessInfo businessInfo = businessInfoMapper.selectBusinessInfoById(businessId);
BeanUtil.copyProperties(businessInfo,businessBrowseVo);
//查询项目标签
businessBrowseVo.setLabelList(businessLabelMapper.selectBusinessLabelList(new BusinessLabel(businessId)).stream().map(p -> p.getLabel()).collect(Collectors.toList()));
//查询关键企业
businessBrowseVo.setRelateCompany(businessRelateCompanyMapper.selectBusinessRelateCompanyList(new BusinessRelateCompany(businessId)));
BusinessBrowseVo total = businessInfoMapper.selectTotal(businessId);
businessBrowseVo.setBacklogCount(total.getBacklogCount());
businessBrowseVo.setContactsCount(total.getContactsCount());
businessBrowseVo.setFollowRecordCount(total.getFollowRecordCount());
businessBrowseVo.setRelateCompanyCount(total.getRelateCompanyCount());
return businessBrowseVo;
}
@Override
public List<String> selectProjectName(BusinessListDto dto) {
return businessInfoMapper.selectProjectName(dto);
} }
/** /**
...@@ -77,13 +105,12 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -77,13 +105,12 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
*/ */
@Override @Override
@Transactional @Transactional
public AjaxResult insertBusinessInfo(BusinessAddDto dto) public AjaxResult insertBusinessInfo(BusinessAddDto dto) {
{
//新增项目主信息 //新增项目主信息
BusinessInfo businessInfo = new BusinessInfo(); BusinessInfo businessInfo = new BusinessInfo();
BeanUtil.copyProperties(dto,businessInfo); BeanUtil.copyProperties(dto, businessInfo);
int addBusiness = businessInfoMapper.insertBusinessInfo(businessInfo); int addBusiness = businessInfoMapper.insertBusinessInfo(businessInfo);
if(addBusiness > 0){ if (addBusiness > 0) {
//获取登陆用户的部门id //获取登陆用户的部门id
// Long deptId = SecurityUtils.getLoginUser().getDeptId(); // Long deptId = SecurityUtils.getLoginUser().getDeptId();
Long deptId = 100l; Long deptId = 100l;
...@@ -91,7 +118,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -91,7 +118,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
int addbusinessUser = businessUserMapper.insertBusinessUser(new BusinessUser(businessInfo.getId(), deptId.intValue(), dto.getUserId(), 1)); int addbusinessUser = businessUserMapper.insertBusinessUser(new BusinessUser(businessInfo.getId(), deptId.intValue(), dto.getUserId(), 1));
//新增项目-关联企业信息 //新增项目-关联企业信息
int addRelateCompany = businessRelateCompanyMapper.insertBusinessRelateCompany(new BusinessRelateCompany(businessInfo.getId(), dto.getCompanyId(), dto.getOwnerCompany(), "业主")); int addRelateCompany = businessRelateCompanyMapper.insertBusinessRelateCompany(new BusinessRelateCompany(businessInfo.getId(), dto.getCompanyId(), dto.getOwnerCompany(), "业主"));
return addbusinessUser>0 && addRelateCompany>0 ? AjaxResult.success() : AjaxResult.error(); return addbusinessUser > 0 && addRelateCompany > 0 ? AjaxResult.success() : AjaxResult.error();
} }
return AjaxResult.error(); return AjaxResult.error();
...@@ -104,6 +131,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -104,6 +131,7 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateBusinessInfo(BusinessInfo businessInfo) public int updateBusinessInfo(BusinessInfo businessInfo)
{ {
businessInfo.setUpdateTime(DateUtils.getNowDate()); businessInfo.setUpdateTime(DateUtils.getNowDate());
...@@ -117,8 +145,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -117,8 +145,8 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteBusinessInfoByIds(Long[] ids) @Transactional
{ public int deleteBusinessInfoByIds(Long[] ids) {
return businessInfoMapper.deleteBusinessInfoByIds(ids); return businessInfoMapper.deleteBusinessInfoByIds(ids);
} }
...@@ -129,8 +157,24 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService ...@@ -129,8 +157,24 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteBusinessInfoById(Long id) public int deleteBusinessInfoById(Long id) {
{
return businessInfoMapper.deleteBusinessInfoById(id); return businessInfoMapper.deleteBusinessInfoById(id);
} }
/**
* 查询项目数量
*
* @param status 项目状态
* @param customerId 客户id
* @return 项目数量
*/
@Override
public int selectCountByStatusAndCustomerId(Integer status, String customerId) {
return businessInfoMapper.selectCountByStatusAndCustomerId(status, customerId);
}
@Override
public List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto) {
return businessInfoMapper.selectCustomerBusinessList(dto);
}
} }
...@@ -9,6 +9,7 @@ import com.dsk.system.mapper.BusinessLabelMapper; ...@@ -9,6 +9,7 @@ import com.dsk.system.mapper.BusinessLabelMapper;
import com.dsk.system.service.IBusinessLabelService; import com.dsk.system.service.IBusinessLabelService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 项目标签Service业务层处理 * 项目标签Service业务层处理
...@@ -53,6 +54,7 @@ public class BusinessLabelServiceImpl implements IBusinessLabelService ...@@ -53,6 +54,7 @@ public class BusinessLabelServiceImpl implements IBusinessLabelService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertBusinessLabel(BusinessLabel businessLabel) public int insertBusinessLabel(BusinessLabel businessLabel)
{ {
businessLabel.setCreateTime(DateUtils.getNowDate()); businessLabel.setCreateTime(DateUtils.getNowDate());
...@@ -91,6 +93,7 @@ public class BusinessLabelServiceImpl implements IBusinessLabelService ...@@ -91,6 +93,7 @@ public class BusinessLabelServiceImpl implements IBusinessLabelService
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int deleteBusinessLabelById(BusinessIdDto dto) public int deleteBusinessLabelById(BusinessIdDto dto)
{ {
return businessLabelMapper.deleteBusinessLabelById(dto); return businessLabelMapper.deleteBusinessLabelById(dto);
......
...@@ -4,12 +4,16 @@ import java.util.List; ...@@ -4,12 +4,16 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessRelateCompany; 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.common.utils.DateUtils;
import com.dsk.system.domain.BusinessIdDto; import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.mapper.BusinessRelateCompanyMapper; import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.service.IBusinessRelateCompanyService; import com.dsk.system.service.IBusinessRelateCompanyService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -56,8 +60,10 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS ...@@ -56,8 +60,10 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int insertBusinessRelateCompany(BusinessRelateCompany businessRelateCompany) public int insertBusinessRelateCompany(BusinessRelateCompany businessRelateCompany)
{ {
if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的手机号码");
businessRelateCompany.setCreateTime(DateUtils.getNowDate()); businessRelateCompany.setCreateTime(DateUtils.getNowDate());
return businessRelateCompanyMapper.insertBusinessRelateCompany(businessRelateCompany); return businessRelateCompanyMapper.insertBusinessRelateCompany(businessRelateCompany);
} }
...@@ -69,8 +75,10 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS ...@@ -69,8 +75,10 @@ public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyS
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional
public int updateBusinessRelateCompany(BusinessRelateCompany businessRelateCompany) public int updateBusinessRelateCompany(BusinessRelateCompany businessRelateCompany)
{ {
if(!CheckUtils.isPhone(businessRelateCompany.getPhone())) throw new BaseException("500","请输入正确的手机号码");
businessRelateCompany.setUpdateTime(DateUtils.getNowDate()); businessRelateCompany.setUpdateTime(DateUtils.getNowDate());
return businessRelateCompanyMapper.updateBusinessRelateCompany(businessRelateCompany); return businessRelateCompanyMapper.updateBusinessRelateCompany(businessRelateCompany);
} }
......
...@@ -4,15 +4,17 @@ import cn.hutool.core.bean.BeanException; ...@@ -4,15 +4,17 @@ import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.DskOpenApiUtil;
import com.dsk.common.utils.SecurityUtils; import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.customer.Customer; import com.dsk.system.domain.customer.Customer;
import com.dsk.system.domain.customer.CustomerUser; import com.dsk.system.domain.customer.CustomerUser;
import com.dsk.system.domain.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto; import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo; import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerVo; import com.dsk.system.domain.customer.vo.CustomerVo;
import com.dsk.system.mapper.CustomerMapper; import com.dsk.system.mapper.CustomerMapper;
import com.dsk.system.mapper.CustomerUserMapper; import com.dsk.system.mapper.CustomerUserMapper;
import com.dsk.system.service.IBusinessInfoService;
import com.dsk.system.service.ICustomerService; import com.dsk.system.service.ICustomerService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -35,23 +37,21 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -35,23 +37,21 @@ public class CustomerServiceImpl implements ICustomerService {
private CustomerMapper baseMapper; private CustomerMapper baseMapper;
@Resource @Resource
private CustomerUserMapper customerUserMapper; private CustomerUserMapper customerUserMapper;
@Autowired @Autowired
private DskOpenApiUtil dskOpenApiUtil; private IBusinessInfoService businessInfoService;
@Override @Override
public List<CustomerListVo> selectList(CustomerSearchDto dto) { public List<CustomerListVo> selectList(CustomerSearchDto dto) {
dto.setUserId(SecurityUtils.getUserId()); dto.setUserId(SecurityUtils.getUserId());
List<CustomerListVo> vos = baseMapper.selectList(dto); List<CustomerListVo> vos = baseMapper.selectList(dto);
for (CustomerListVo vo : vos) { vos.parallelStream().forEach(vo -> {
//TODO 客户项目相关统计
//合作项目 //合作项目
vo.setCooperationProject(1); vo.setCooperationProject(businessInfoService.selectCountByStatusAndCustomerId(2, vo.getCustomerId()));
//跟进项目 //跟进项目
vo.setFollowProject(1); vo.setFollowProject(businessInfoService.selectCountByStatusAndCustomerId(1, vo.getCustomerId()));
//储备项目 //储备项目
vo.setReserveProject(1); vo.setReserveProject(businessInfoService.selectCountByStatusAndCustomerId(0, vo.getCustomerId()));
} });
return vos; return vos;
} }
...@@ -69,9 +69,15 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -69,9 +69,15 @@ public class CustomerServiceImpl implements ICustomerService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean add(Customer customer) { public boolean add(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空"); if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) throw new BeanException("企业id不能为空");
final Long userId = SecurityUtils.getUserId(); final Long userId = SecurityUtils.getUserId();
customer.setCreateId(userId); customer.setCreateId(userId);
customer.setUpdateId(userId); customer.setUpdateId(userId);
//查重
Customer verifyCustomer = baseMapper.selectByCompanyIdAndUserId(customer.getCompanyId(), userId);
if (!ObjectUtils.isEmpty(verifyCustomer)) {
throw new ServiceException("当前客户信息已存在,请勿重复添加!");
}
int i = baseMapper.insert(customer); int i = baseMapper.insert(customer);
if (i == 0) throw new ServiceException("客户信息添加错误!"); if (i == 0) throw new ServiceException("客户信息添加错误!");
...@@ -93,6 +99,13 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -93,6 +99,13 @@ public class CustomerServiceImpl implements ICustomerService {
@Override @Override
public List<Customer> selectUserList() { public List<Customer> selectUserList() {
return baseMapper.selectList(Wrappers.<Customer>lambdaQuery()); return baseMapper.selectUserList(SecurityUtils.getUserId());
}
@Override
public List<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto) {
if (ObjectUtils.isEmpty(dto.getCustomerId())) throw new BeanException("客户id不能为空");
dto.setUserId(SecurityUtils.getUserId());
return businessInfoService.selectCustomerBusinessList(dto);
} }
} }
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
<if test="accendant != null and accendant != ''">and accendant = #{accendant}</if> <if test="accendant != null and accendant != ''">and accendant = #{accendant}</if>
<if test="creatTime != null ">and creat_time = #{creatTime}</if> <if test="creatTime != null ">and creat_time = #{creatTime}</if>
</where> </where>
order by creat_time desc
</select> </select>
<select id="selectBusinessContactsById" parameterType="Long" resultMap="BusinessContactsResult"> <select id="selectBusinessContactsById" parameterType="Long" resultMap="BusinessContactsResult">
......
...@@ -33,10 +33,20 @@ ...@@ -33,10 +33,20 @@
from business_follow_record from business_follow_record
</sql> </sql>
<select id="selectBusinessFollowRecordList" parameterType="com.dsk.common.core.domain.entity.BusinessFollowRecord"> <select id="selectBusinessFollowRecordList" resultType="com.dsk.common.core.domain.entity.BusinessFollowRecord">
select f.*,u.nick_name as nickName select f.*,u.nick_name as nickName
from business_follow_record f from business_follow_record f
left join sys_user u on f.user_id = u.user_id left join sys_user u on f.user_id = u.user_id
where f.business_id = #{businessId}
ORDER BY create_time DESC
</select>
<select id="selectBusinessFollowRecordById" parameterType="Long" resultMap="BusinessFollowRecordResult">
<include refid="selectBusinessFollowRecordVo"/>
where id = #{id}
</select>
<select id="businessFollowRecordPaging" resultType="com.dsk.common.core.domain.entity.BusinessFollowRecord">
<include refid="selectBusinessFollowRecordVo"></include>
<where> <where>
<if test="businessId != null ">and f.business_id = #{businessId}</if> <if test="businessId != null ">and f.business_id = #{businessId}</if>
<if test="userId != null ">and f.user_id = #{userId}</if> <if test="userId != null ">and f.user_id = #{userId}</if>
...@@ -51,11 +61,6 @@ ...@@ -51,11 +61,6 @@
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
<select id="selectBusinessFollowRecordById" parameterType="Long" resultMap="BusinessFollowRecordResult">
<include refid="selectBusinessFollowRecordVo"/>
where id = #{id}
</select>
<insert id="insertBusinessFollowRecord" parameterType="com.dsk.common.core.domain.entity.BusinessFollowRecord" useGeneratedKeys="true" <insert id="insertBusinessFollowRecord" parameterType="com.dsk.common.core.domain.entity.BusinessFollowRecord" useGeneratedKeys="true"
keyProperty="id"> keyProperty="id">
insert into business_follow_record insert into business_follow_record
......
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
ORDER BY i.create_time DESC ORDER BY i.create_time DESC
</select> </select>
<select id="queryprojectName" resultType="java.lang.String"> <select id="selectProjectName" resultType="java.lang.String">
SELECT * SELECT *
FROM FROM
(SELECT project_name as name FROM business_info) AS bu (SELECT project_name as name FROM business_info) AS bu
...@@ -132,11 +132,26 @@ ...@@ -132,11 +132,26 @@
</where> </where>
</select> </select>
<select id="selectBusinessInfoById" parameterType="Long" resultMap="BusinessInfoResult"> <select id="selectBusinessInfoById" parameterType="integer" resultMap="BusinessInfoResult">
<include refid="selectBusinessInfoVo"/> <include refid="selectBusinessInfoVo"/>
where id = #{id} where id = #{id}
</select> </select>
<select id="selectTotal" resultType="com.dsk.system.domain.vo.BusinessBrowseVo">
SELECT
count(DISTINCT c.id) contactsCount,
count(DISTINCT f.id) followRecordCount,
count(DISTINCT b.id) backlogCount,
count(DISTINCT r.id) relateCompanyCount
FROM
business_info i
LEFT JOIN business_contacts c on c.business_id = i.id
LEFT JOIN business_follow_record f on f.business_id = i.id
LEFT JOIN business_backlog b on b.business_id = i.id
LEFT JOIN business_relate_company r on r.business_id = i.id
WHERE i.id = #{business}
</select>
<insert id="insertBusinessInfo" parameterType="com.dsk.common.core.domain.entity.BusinessInfo" useGeneratedKeys="true" keyProperty="id"> <insert id="insertBusinessInfo" parameterType="com.dsk.common.core.domain.entity.BusinessInfo" useGeneratedKeys="true" keyProperty="id">
insert into business_info insert into business_info
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -236,4 +251,35 @@ ...@@ -236,4 +251,35 @@
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<select id="selectCountByStatusAndCustomerId" resultType="java.lang.Integer">
select count(id) from business_info
<where>
<if test="status != null "> and `status` = #{status} </if>
<if test="customerId != null and customerId != ''"> and `customer_id` = #{customerId} </if>
</where>
</select>
<select id="selectCustomerBusinessList" resultType="com.dsk.system.domain.customer.vo.CustomerBusinessListVo">
select
bi.id, bi.project_name, pi.investment_amount, pi.project_stage, pi.status
from business_info bi
left join business_user bu on bi.id = bu.business_id
where bi.customer_id = #{customerId} and (bu.user_id = #{userId} or bi.is_private = 1))
<if test="projectStage != null and projectStage != '' "> and bi.project_stage = #{projectStage}</if>
<if test="status != null "> and bi.status = #{status}</if>
order by bi.create_time desc
</select>
<select id="getConstruction" resultType="com.dsk.common.core.domain.entity.BusinessInfo">
select
investment_amount,
amount_source,
plan_bid_time,
plan_start_time,
plan_complete_time,
build_property,
project_details
from business_info
where id = #{id}
</select>
</mapper> </mapper>
...@@ -2,13 +2,18 @@ ...@@ -2,13 +2,18 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.CustomerMapper"> <mapper namespace="com.dsk.system.mapper.CustomerMapper">
<select id="selectList" resultType="com.dsk.system.domain.customer.vo.CustomerListVo"> <sql id="Base_Bean">
select ct.customer_id, ct.company_id, ct.company_name, ct.legal_person, ct.credit_code,
ct.customer_id, ct.company_id, ct.company_name, ct.legal_person, ct.register_capital_str,
ct.register_capital, ct.company_nature, ct.company_level, ct.credit_level, ct.super_company, ct.register_capital, ct.company_nature, ct.company_level, ct.credit_level, ct.super_company,
ct.is_on, ct.is_major, ct.company_attribute, ct.main_business, ct.business_scope, ct.is_on, ct.is_major, ct.company_attribute, ct.main_business, ct.business_scope,
ct.business_characteristic, ct.decision_chain, ct.bid_characteristic, ct.performance_characteristic, ct.business_characteristic, ct.decision_chain, ct.bid_characteristic, ct.performance_characteristic,
ct.other_ms_characteistic, u.nick_name followUser ct.other_ms_characteistic, ct.create_id, ct.create_time, ct.update_id, ct.update_time
</sql>
<select id="selectList" resultType="com.dsk.system.domain.customer.vo.CustomerListVo">
select
u.nick_name followUser,
<include refid="Base_Bean"></include>
from customer ct from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id join sys_user u on ctu.user_id = u.user_id
...@@ -16,5 +21,21 @@ ...@@ -16,5 +21,21 @@
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if> <if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
</select> </select>
<select id="selectUserList" resultType="com.dsk.system.domain.customer.Customer">
select
ct.customer_id, ct.company_name
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ctu.user_id = #{userId}
</select>
<select id="selectByCompanyIdAndUserId" resultType="com.dsk.system.domain.customer.Customer">
select
<include refid="Base_Bean"></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
where ct.company_id = ${companyId} and ctu.user_id = #{userId}
</select>
</mapper> </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