Commit 93f7d516 authored by caixingbing's avatar caixingbing
parents 31d33996 51d05b8d
package com.dsk.web.controller.business;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessBacklog;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.service.IBusinessBacklogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/**
* 项目工作待办Controller
*
* @author lxl
* @date 2023-05-17
*/
@Api("项目工作待办")
@RestController
@RequestMapping("/business/backlog")
@Slf4j
public class BusinessBacklogController extends BaseController
{
@Autowired
private IBusinessBacklogService businessBacklogService;
/**
* 查询项目工作待办列表
*/
// @PreAuthorize("@ss.hasPermi('system:backlog:list')")
@GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessBacklog businessBacklog)
{
startPage();
List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog);
return getDataTable(list);
}
/**
* 新增项目工作待办
*/
@ApiOperation("新增项目工作待办")
// @PreAuthorize("@ss.hasPermi('system:backlog:add')")
// @Log(title = "项目工作待办", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessBacklog businessBacklog)
{
return toAjax(businessBacklogService.insertBusinessBacklog(businessBacklog));
}
/**
* 修改项目工作待办
*/
// @PreAuthorize("@ss.hasPermi('system:backlog:edit')")
// @Log(title = "项目工作待办", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessBacklog businessBacklog)
{
return toAjax(businessBacklogService.updateBusinessBacklog(businessBacklog));
}
// /**
// * 导出项目工作待办列表
// */
// @PreAuthorize("@ss.hasPermi('system:backlog:export')")
// @Log(title = "项目工作待办", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, BusinessBacklog businessBacklog)
// {
// List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog);
// ExcelUtil<BusinessBacklog> util = new ExcelUtil<BusinessBacklog>(BusinessBacklog.class);
// util.exportExcel(response, list, "项目工作待办数据");
// }
// /**
// * 获取项目工作待办详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:backlog:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(businessBacklogService.selectBusinessBacklogById(id));
// }
// /**
// * 删除项目工作待办
// */
// @PreAuthorize("@ss.hasPermi('system:backlog:remove')")
// @Log(title = "项目工作待办", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(businessBacklogService.deleteBusinessBacklogByIds(ids));
// }
}
package com.dsk.web.controller.business;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessContacts;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.service.IBusinessContactsService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/**
* 项目联系人Controller
*
* @author lxl
* @date 2023-05-17
*/
@RestController
@RequestMapping("/business/contacts")
public class BusinessContactsController extends BaseController
{
@Autowired
private IBusinessContactsService businessContactsService;
/**
* 查询项目联系人列表
*/
// @PreAuthorize("@ss.hasPermi('system:contacts:list')")
@GetMapping("/list")
public TableDataInfo list(BusinessContacts businessContacts)
{
startPage();
List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts);
return getDataTable(list);
}
/**
* 新增项目联系人
*/
// @PreAuthorize("@ss.hasPermi('system:contacts:add')")
// @Log(title = "项目联系人", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessContacts businessContacts)
{
return toAjax(businessContactsService.insertBusinessContacts(businessContacts));
}
/**
* 修改项目联系人
*/
// @PreAuthorize("@ss.hasPermi('system:contacts:edit')")
// @Log(title = "项目联系人", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessContacts businessContacts)
{
return toAjax(businessContactsService.updateBusinessContacts(businessContacts));
}
// /**
// * 导出项目联系人列表
// */
// @PreAuthorize("@ss.hasPermi('system:contacts:export')")
// @Log(title = "项目联系人", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, BusinessContacts businessContacts)
// {
// List<BusinessContacts> list = businessContactsService.selectBusinessContactsList(businessContacts);
// ExcelUtil<BusinessContacts> util = new ExcelUtil<BusinessContacts>(BusinessContacts.class);
// util.exportExcel(response, list, "项目联系人数据");
// }
// /**
// * 获取项目联系人详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:contacts:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(businessContactsService.selectBusinessContactsById(id));
// }
// /**
// * 删除项目联系人
// */
// @PreAuthorize("@ss.hasPermi('system:contacts:remove')")
// @Log(title = "项目联系人", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(businessContactsService.deleteBusinessContactsByIds(ids));
// }
}
package com.dsk.web.controller.business;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.common.core.page.TableDataInfo;
/**
* 项目跟进记录Controller
*
* @author lxl
* @date 2023-05-17
*/
@RestController
@RequestMapping("/business/record")
public class BusinessFollowRecordController extends BaseController
{
@Autowired
private IBusinessFollowRecordService businessFollowRecordService;
/**
* 查询项目跟进记录列表
*/
// @PreAuthorize("@ss.hasPermi('system:record:list')")
@GetMapping("/list")
public TableDataInfo list(BusinessFollowRecord businessFollowRecord)
{
startPage();
List<BusinessFollowRecord> list = businessFollowRecordService.selectBusinessFollowRecordList(businessFollowRecord);
return getDataTable(list);
}
/**
* 新增项目跟进记录
*/
// @PreAuthorize("@ss.hasPermi('system:record:add')")
// @Log(title = "项目跟进记录", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessFollowRecord businessFollowRecord)
{
return toAjax(businessFollowRecordService.insertBusinessFollowRecord(businessFollowRecord));
}
// /**
// * 导出项目跟进记录列表
// */
// @PreAuthorize("@ss.hasPermi('system:record:export')")
// @Log(title = "项目跟进记录", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, BusinessFollowRecord businessFollowRecord)
// {
// List<BusinessFollowRecord> list = businessFollowRecordService.selectBusinessFollowRecordList(businessFollowRecord);
// ExcelUtil<BusinessFollowRecord> util = new ExcelUtil<BusinessFollowRecord>(BusinessFollowRecord.class);
// util.exportExcel(response, list, "项目跟进记录数据");
// }
// /**
// * 获取项目跟进记录详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:record:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(businessFollowRecordService.selectBusinessFollowRecordById(id));
// }
// /**
// * 修改项目跟进记录
// */
// @PreAuthorize("@ss.hasPermi('system:record:edit')")
// @Log(title = "项目跟进记录", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody BusinessFollowRecord businessFollowRecord)
// {
// return toAjax(businessFollowRecordService.updateBusinessFollowRecord(businessFollowRecord));
// }
// /**
// * 删除项目跟进记录
// */
// @PreAuthorize("@ss.hasPermi('system:record:remove')")
// @Log(title = "项目跟进记录", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(businessFollowRecordService.deleteBusinessFollowRecordByIds(ids));
// }
}
package com.dsk.web.controller.business;
import java.util.List;
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.vo.BusinessListVo;
import com.dsk.system.service.IBusinessInfoService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/**
* 项目详情Controller
*
* @author lxl
* @date 2023-05-17
*/
@RestController
@RequestMapping("/business/info")
public class BusinessInfoController extends BaseController
{
@Autowired
private IBusinessInfoService businessInfoService;
/**
* 查询所有项目名称(支持模糊查询)
*/
// @PreAuthorize("@ss.hasPermi('system:info:list')")
@PostMapping("/query/project")
public AjaxResult queryprojectName(@RequestBody BusinessListDto dto){
return AjaxResult.success(businessInfoService.queryprojectName(dto));
}
/**
* 查询项目列表
*/
// @PreAuthorize("@ss.hasPermi('system:info:list')")
@GetMapping("/list")
public TableDataInfo list(@RequestBody BusinessListDto dto)
{
startPage();
List<BusinessListVo> list = businessInfoService.selectBusinessInfoList(dto);
return getDataTable(list);
}
/**
* 删除项目详情
*/
// @PreAuthorize("@ss.hasPermi('system:info:remove')")
// @Log(title = "项目详情", businessType = BusinessType.DELETE)
@DeleteMapping("/remove/{ids}")
public AjaxResult remove(@RequestParam(value = "ids",required=false) Long[] ids)
{
return toAjax(businessInfoService.deleteBusinessInfoByIds(ids));
}
/**
* 新增项目详情
*/
// @PreAuthorize("@ss.hasPermi('system:info:add')")
// @Log(title = "项目详情", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessAddDto dto)
{
return businessInfoService.insertBusinessInfo(dto);
}
/**
* 修改项目详情
*/
@PreAuthorize("@ss.hasPermi('system:info:edit')")
@Log(title = "项目详情", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public AjaxResult edit(@RequestBody BusinessInfo businessInfo)
{
return toAjax(businessInfoService.updateBusinessInfo(businessInfo));
}
// /**
// * 导出项目详情列表
// */
// @PreAuthorize("@ss.hasPermi('system:info:export')")
// @Log(title = "项目详情", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, BusinessInfo businessInfo)
// {
// List<BusinessInfo> list = businessInfoService.selectBusinessInfoList(businessInfo);
// ExcelUtil<BusinessInfo> util = new ExcelUtil<BusinessInfo>(BusinessInfo.class);
// 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));
// }
}
package com.dsk.web.controller.business;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.service.IBusinessLabelService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/**
* 项目标签Controller
*
* @author lxl
* @date 2023-05-17
*/
@RestController
@RequestMapping("/business/label")
public class BusinessLabelController extends BaseController
{
@Autowired
private IBusinessLabelService businessLabelService;
/**
* 新增项目标签
*/
// @PreAuthorize("@ss.hasPermi('system:label:add')")
// @Log(title = "项目标签", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessLabel businessLabel)
{
return toAjax(businessLabelService.insertBusinessLabel(businessLabel));
}
/**
* 删除项目标签
*/
// @PreAuthorize("@ss.hasPermi('system:label:remove')")
// @Log(title = "项目标签", businessType = BusinessType.DELETE)
@PostMapping("/remove")
public AjaxResult remove(@RequestBody BusinessIdDto dto)
{
return toAjax(businessLabelService.deleteBusinessLabelById(dto));
}
// /**
// * 删除项目标签
// */
// @PreAuthorize("@ss.hasPermi('system:label:remove')")
// @Log(title = "项目标签", businessType = BusinessType.DELETE)
// @DeleteMapping("/remove/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(businessLabelService.deleteBusinessLabelByIds(ids));
// }
// /**
// * 查询项目标签列表
// */
// @PreAuthorize("@ss.hasPermi('system:label:list')")
// @GetMapping("/list")
// public TableDataInfo list(BusinessLabel businessLabel)
// {
// startPage();
// List<BusinessLabel> list = businessLabelService.selectBusinessLabelList(businessLabel);
// return getDataTable(list);
// }
// /**
// * 导出项目标签列表
// */
// @PreAuthorize("@ss.hasPermi('system:label:export')")
// @Log(title = "项目标签", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, BusinessLabel businessLabel)
// {
// List<BusinessLabel> list = businessLabelService.selectBusinessLabelList(businessLabel);
// ExcelUtil<BusinessLabel> util = new ExcelUtil<BusinessLabel>(BusinessLabel.class);
// util.exportExcel(response, list, "项目标签数据");
// }
// /**
// * 获取项目标签详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:label:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(businessLabelService.selectBusinessLabelById(id));
// }
// /**
// * 修改项目标签
// */
// @PreAuthorize("@ss.hasPermi('system:label:edit')")
// @Log(title = "项目标签", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody BusinessLabel businessLabel)
// {
// return toAjax(businessLabelService.updateBusinessLabel(businessLabel));
// }
}
package com.dsk.web.controller.business;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.service.IBusinessRelateCompanyService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/**
* 项目关联单位Controller
*
* @author lxl
* @date 2023-05-17
*/
@RestController
@RequestMapping("/business/company")
public class BusinessRelateCompanyController extends BaseController
{
@Autowired
private IBusinessRelateCompanyService businessRelateCompanyService;
/**
* 查询关联单位角色
*/
@PostMapping("/role/list")
public AjaxResult companyRoleList(@RequestBody BusinessIdDto dto){
return success(businessRelateCompanyService.companyRoleList(dto));
}
/**
* 查询项目关联单位列表
*/
// @PreAuthorize("@ss.hasPermi('system:company:list')")
@GetMapping("/list")
public TableDataInfo list(BusinessRelateCompany businessRelateCompany)
{
startPage();
List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany);
return getDataTable(list);
}
/**
* 新增项目关联单位
*/
// @PreAuthorize("@ss.hasPermi('system:company:add')")
// @Log(title = "项目关联单位", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessRelateCompany businessRelateCompany)
{
return toAjax(businessRelateCompanyService.insertBusinessRelateCompany(businessRelateCompany));
}
// /**
// * 导出项目关联单位列表
// */
// @PreAuthorize("@ss.hasPermi('system:company:export')")
// @Log(title = "项目关联单位", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, BusinessRelateCompany businessRelateCompany)
// {
// List<BusinessRelateCompany> list = businessRelateCompanyService.selectBusinessRelateCompanyList(businessRelateCompany);
// ExcelUtil<BusinessRelateCompany> util = new ExcelUtil<BusinessRelateCompany>(BusinessRelateCompany.class);
// util.exportExcel(response, list, "项目关联单位数据");
// }
// /**
// * 获取项目关联单位详细信息
// */
// @PreAuthorize("@ss.hasPermi('system:company:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long 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));
// }
//
// /**
// * 删除项目关联单位
// */
// @PreAuthorize("@ss.hasPermi('system:company:remove')")
// @Log(title = "项目关联单位", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(businessRelateCompanyService.deleteBusinessRelateCompanyByIds(ids));
// }
}
......@@ -4,8 +4,8 @@ import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
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.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.dto.CustomerSearchDto;
import com.dsk.system.service.ICustomerService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -35,6 +35,15 @@ public class CustomerController extends BaseController {
return getDataTable(baseService.selectList(dto));
}
/**
* 客户详情
*/
@PreAuthorize("@ss.hasPermi('customer:info')")
@GetMapping("/{customerId}")
public AjaxResult info(@PathVariable("customerId") String customerId){
return AjaxResult.success(baseService.info(customerId));
}
/**
* 添加客户
*/
......@@ -55,4 +64,22 @@ public class CustomerController extends BaseController {
return AjaxResult.success(baseService.edit(customer));
}
/**
* 获取个人客户列表
*/
@GetMapping("/user/list")
public AjaxResult userList(){
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 {
/**
* 获取客户决策链条列表
*/
@PreAuthorize("@ss.hasPermi('customer:decision:chain:list')")
// @PreAuthorize("@ss.hasPermi('customer:decision:chain:list')")
@GetMapping("/list")
public TableDataInfo selectPageList(CustomerDecisionChainSearchDto dto){
startPage();
......@@ -36,7 +36,7 @@ public class CustomerDecisionChainController extends BaseController {
/**
* 添加客户决策链条
*/
@PreAuthorize("@ss.hasPermi('customer:decision:chain:add')")
// @PreAuthorize("@ss.hasPermi('customer:decision:chain:add')")
@PostMapping()
@RepeatSubmit()
public AjaxResult add(@RequestBody CustomerDecisionChain customerDecisionChain){
......@@ -46,7 +46,7 @@ public class CustomerDecisionChainController extends BaseController {
/**
* 编辑客户决策链条
*/
@PreAuthorize("@ss.hasPermi('customer:decision:chain:edit')")
// @PreAuthorize("@ss.hasPermi('customer:decision:chain:edit')")
@PutMapping()
@RepeatSubmit()
public AjaxResult edit(@RequestBody CustomerDecisionChain customerDecisionChain){
......@@ -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}")
@RepeatSubmit()
public AjaxResult del(@PathVariable("id") Long id){
......
......@@ -81,6 +81,24 @@ public class EnterpriseController {
return enterpriseService.bidNoticePage(vo);
}
@ApiOperation(value = "招标公告省份(建设库)")
@PostMapping(value = "bidNoticeProvince")
public R bidNoticeProvince(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticeProvince(vo);
}
@ApiOperation(value = "招标公告信息类型(建设库)")
@PostMapping(value = "bidNoticeTenderStage")
public R bidNoticeTenderStage(@RequestBody @Valid EnterpriseBidNoticePageBody vo) throws Exception {
return enterpriseService.bidNoticeTenderStage(vo);
}
@ApiOperation(value = "招标公告详情(建设库)")
@PostMapping(value = "bidNoticeDeatil")
public R bidNoticeDeatil(@RequestBody @Valid EnterpriseBidNoticeDetailBody vo) throws Exception {
return enterpriseService.bidNoticeDeatil(vo);
}
@ApiOperation(value = "企业动态列表(建设库)")
@PostMapping(value = "dynamicPage")
public R dynamicPage(@RequestBody @Valid EnterpriseDynamicPageBody vo) throws Exception {
......@@ -105,4 +123,10 @@ public class EnterpriseController {
return enterpriseService.keymembers(vo);
}
@ApiOperation(value = "工商股东信息(openApi)")
@PostMapping(value = "bestStockPage")
public R bestStockPage(@RequestBody @Valid EnterpriseKeymembersBody vo) throws Exception {
return enterpriseService.bestStockPage(vo);
}
}
package com.dsk.common.core.domain.entity;
import java.util.Date;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目工作待办对象 business_backlog
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessBacklog extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id */
@Excel(name = "项目id")
private Integer businessId;
/** 关联客户 */
@Excel(name = "关联客户")
private String target;
/** 待办工作内容 */
@Excel(name = "待办工作内容")
private String task;
/** 完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date finishTime;
/** 状态(2已完成,1进行中,0逾期) */
@Excel(name = "状态(2已完成,1进行中,0逾期)")
private Integer state;
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 setTarget(String target)
{
this.target = target;
}
public String getTarget()
{
return target;
}
public void setTask(String task)
{
this.task = task;
}
public String getTask()
{
return task;
}
public void setFinishTime(Date finishTime)
{
this.finishTime = finishTime;
}
public Date getFinishTime()
{
return finishTime;
}
public void setState(Integer state)
{
this.state = state;
}
public Integer getState()
{
return state;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("target", getTarget())
.append("task", getTask())
.append("finishTime", getFinishTime())
.append("state", getState())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
}
package com.dsk.common.core.domain.entity;
import java.util.Date;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目联系人对象 business_contacts
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessContacts extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id */
@Excel(name = "项目id")
private Integer businessId;
/** 姓名 */
@Excel(name = "姓名")
private String name;
/** 角色 */
@Excel(name = "角色")
private String role;
/** 公司/机关 */
@Excel(name = "公司/机关")
private String office;
/** 职位 */
@Excel(name = "职位")
private String position;
/** 联系电话 */
@Excel(name = "联系电话")
private String phone;
/** 维护人员 */
@Excel(name = "维护人员")
private String accendant;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date creatTime;
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 setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setRole(String role)
{
this.role = role;
}
public String getRole()
{
return role;
}
public void setOffice(String office)
{
this.office = office;
}
public String getOffice()
{
return office;
}
public void setPosition(String position)
{
this.position = position;
}
public String getPosition()
{
return position;
}
public void setPhone(String phone)
{
this.phone = phone;
}
public String getPhone()
{
return phone;
}
public void setAccendant(String accendant)
{
this.accendant = accendant;
}
public String getAccendant()
{
return accendant;
}
public void setCreatTime(Date creatTime)
{
this.creatTime = creatTime;
}
public Date getCreatTime()
{
return creatTime;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("name", getName())
.append("role", getRole())
.append("office", getOffice())
.append("position", getPosition())
.append("phone", getPhone())
.append("accendant", getAccendant())
.append("creatTime", getCreatTime())
.append("updateTime", getUpdateTime())
.toString();
}
}
package com.dsk.common.core.domain.entity;
import java.util.Date;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目跟进记录对象 business_follow_record
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessFollowRecord extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id */
@Excel(name = "项目id")
private Integer businessId;
/** 用户id */
@Excel(name = "用户id")
private Integer userId;
/** 用户昵称 */
@Excel(name = "用户昵称")
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 = "拜访对象")
private String visitPerson;
/** 职位 */
@Excel(name = "职位")
private String position;
/** 拜访时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "拜访时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date visitTime;
/** 下次拜访时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "下次拜访时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date nextVisitTime;
/** 记录内容 */
@Excel(name = "记录内容")
private String recordInfo;
/** 拜访方式 */
@Excel(name = "拜访方式")
private String visitWay;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date creatTime;
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 setUserId(Integer userId)
{
this.userId = userId;
}
public Integer getUserId()
{
return userId;
}
public void setVisitTime(Date visitTime)
{
this.visitTime = visitTime;
}
public Date getVisitTime()
{
return visitTime;
}
public void setNextVisitTime(Date nextVisitTime)
{
this.nextVisitTime = nextVisitTime;
}
public Date getNextVisitTime()
{
return nextVisitTime;
}
public void setRecordInfo(String recordInfo)
{
this.recordInfo = recordInfo;
}
public String getRecordInfo()
{
return recordInfo;
}
public void setVisitWay(String visitWay)
{
this.visitWay = visitWay;
}
public String getVisitWay()
{
return visitWay;
}
public void setCreatTime(Date creatTime)
{
this.creatTime = creatTime;
}
public Date getCreatTime()
{
return creatTime;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("userId", getUserId())
.append("userName", getUserName())
.append("visitPerson", getVisitPerson())
.append("position", getPosition())
.append("visitTime", getVisitTime())
.append("nextVisitTime", getNextVisitTime())
.append("recordInfo", getRecordInfo())
.append("visitWay", getVisitWay())
.append("creatTime", getCreatTime())
.append("updateTime", getUpdateTime())
.toString();
}
}
package com.dsk.common.core.domain.entity;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目详情对象 business_info
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/**
* 用户id
*/
private Integer userId;
/** $column.columnComment */
private Integer id;
/** 项目名称 */
@Excel(name = "项目名称")
private String projectName;
/** 总投金额 */
@Excel(name = "总投金额")
private Double investmentAmount;
/** 资金来源(万元) */
@Excel(name = "资金来源(万元)")
private String amountSource;
/** 计划招标时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划招标时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date planBidTime;
/** 计划开工时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划开工时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date planStartTime;
/** 项目级别 */
@Excel(name = "项目级别")
private String projectLevel;
/** 项目阶段 */
@Excel(name = "项目阶段")
private String projectStage;
/** 建设性质 */
@Excel(name = "建设性质")
private String buildProperty;
/** 计划竣工时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "计划竣工时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date planCompleteTime;
/** 项目概况与建设规模 */
@Excel(name = "项目概况与建设规模")
private String projectDetails;
/** 省 */
@Excel(name = "省")
private String provinceName;
/** 省id */
@Excel(name = "省id")
private Integer provinceId;
/** 市 */
@Excel(name = "市")
private String cityName;
/** 市id */
@Excel(name = "市id")
private Integer cityId;
/** 区 */
@Excel(name = "区")
private String districtName;
/** 区id */
@Excel(name = "区id")
private Integer districtId;
/** 项目类型 */
@Excel(name = "项目类型")
private String projectType;
/** 项目类别 */
@Excel(name = "项目类别")
private String projectCategory;
/** 商务团队 */
@Excel(name = "商务团队")
private String team;
/** 0 仅自己可见,1 他人可见 */
@Excel(name = "0 仅自己可见,1 他人可见")
private Integer isPrivate;
/** 客户id */
@Excel(name = "客户id")
private String customerId;
/** 项目状态 */
@Excel(name = "项目状态")
private Integer status;
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public void setId(Integer id)
{
this.id = id;
}
public Integer getId()
{
return id;
}
public void setProjectName(String projectName)
{
this.projectName = projectName;
}
public String getProjectName()
{
return projectName;
}
public void setInvestmentAmount(Double investmentAmount)
{
this.investmentAmount = investmentAmount;
}
public Double getInvestmentAmount()
{
return investmentAmount;
}
public void setAmountSource(String amountSource)
{
this.amountSource = amountSource;
}
public String getAmountSource()
{
return amountSource;
}
public void setPlanBidTime(Date planBidTime)
{
this.planBidTime = planBidTime;
}
public Date getPlanBidTime()
{
return planBidTime;
}
public void setPlanStartTime(Date planStartTime)
{
this.planStartTime = planStartTime;
}
public Date getPlanStartTime()
{
return planStartTime;
}
public void setProjectLevel(String projectLevel)
{
this.projectLevel = projectLevel;
}
public String getProjectLevel()
{
return projectLevel;
}
public void setProjectStage(String projectStage)
{
this.projectStage = projectStage;
}
public String getProjectStage()
{
return projectStage;
}
public void setBuildProperty(String buildProperty)
{
this.buildProperty = buildProperty;
}
public String getBuildProperty()
{
return buildProperty;
}
public void setPlanCompleteTime(Date planCompleteTime)
{
this.planCompleteTime = planCompleteTime;
}
public Date getPlanCompleteTime()
{
return planCompleteTime;
}
public void setProjectDetails(String projectDetails)
{
this.projectDetails = projectDetails;
}
public String getProjectDetails()
{
return projectDetails;
}
public void setProvinceName(String provinceName)
{
this.provinceName = provinceName;
}
public String getProvinceName()
{
return provinceName;
}
public void setProvinceId(Integer provinceId)
{
this.provinceId = provinceId;
}
public Integer getProvinceId()
{
return provinceId;
}
public void setCityName(String cityName)
{
this.cityName = cityName;
}
public String getCityName()
{
return cityName;
}
public void setCityId(Integer cityId)
{
this.cityId = cityId;
}
public Integer getCityId()
{
return cityId;
}
public void setDistrictName(String districtName)
{
this.districtName = districtName;
}
public String getDistrictName()
{
return districtName;
}
public void setDistrictId(Integer districtId)
{
this.districtId = districtId;
}
public Integer getDistrictId()
{
return districtId;
}
public void setProjectType(String projectType)
{
this.projectType = projectType;
}
public String getProjectType()
{
return projectType;
}
public void setProjectCategory(String projectCategory)
{
this.projectCategory = projectCategory;
}
public String getProjectCategory()
{
return projectCategory;
}
public void setTeam(String team)
{
this.team = team;
}
public String getTeam()
{
return team;
}
public void setIsPrivate(Integer isPrivate)
{
this.isPrivate = isPrivate;
}
public Integer getIsPrivate()
{
return isPrivate;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectName", getProjectName())
.append("investmentAmount", getInvestmentAmount())
.append("amountSource", getAmountSource())
.append("planBidTime", getPlanBidTime())
.append("planStartTime", getPlanStartTime())
.append("projectLevel", getProjectLevel())
.append("projectStage", getProjectStage())
.append("buildProperty", getBuildProperty())
.append("planCompleteTime", getPlanCompleteTime())
.append("projectDetails", getProjectDetails())
.append("provinceName", getProvinceName())
.append("provinceId", getProvinceId())
.append("cityName", getCityName())
.append("cityId", getCityId())
.append("districtName", getDistrictName())
.append("districtId", getDistrictId())
.append("projectType", getProjectType())
.append("projectCategory", getProjectCategory())
.append("team", getTeam())
.append("isPrivate", getIsPrivate())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("customerId", getCustomerId())
.append("status", getStatus())
.toString();
}
}
package com.dsk.common.core.domain.entity;
import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目标签对象 business_label
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessLabel extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id */
@Excel(name = "项目id")
private Integer businessId;
/** 标签 */
@Excel(name = "标签")
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
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("label", getLabel())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
}
package com.dsk.common.core.domain.entity;
import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目关联单位对象 business_relate_company
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessRelateCompany extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id */
@Excel(name = "项目id")
private Integer businessId;
/** 单位id */
@Excel(name = "单位id")
private Integer companyId;
/** 单位名称 */
@Excel(name = "单位名称")
private String companyName;
/** 单位角色 */
@Excel(name = "单位角色")
private String companyRole;
/** 负责任人 */
@Excel(name = "负责任人")
private String responsiblePerson;
/** 负责人电话 */
@Excel(name = "负责人电话")
private String phone;
/** 对接深度/竞争力度 */
@Excel(name = "对接深度/竞争力度")
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
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("companyId", getCompanyId())
.append("companyName", getCompanyName())
.append("companyRole", getCompanyRole())
.append("responsiblePerson", getResponsiblePerson())
.append("phone", getPhone())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("depth", getDepth())
.toString();
}
public BusinessRelateCompany(Integer businessId, Integer companyId, String companyName, String companyRole) {
this.businessId = businessId;
this.companyId = companyId;
this.companyName = companyName;
this.companyRole = companyRole;
}
}
package com.dsk.common.core.domain.entity;
import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 项目用户关联对象 business_user
*
* @author lxl
* @date 2023-05-17
*/
public class BusinessUser extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id(business_info表id) */
@Excel(name = "项目id(business_info表id)")
private Integer businessId;
/** 部门id */
@Excel(name = "部门id")
private Integer deptId;
/** 用户id */
@Excel(name = "用户id")
private Integer userId;
/** 是否创建人(1 是,0 否) */
@Excel(name = "是否创建人(1 是,0 否)")
private Integer isFounder;
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 setDeptId(Integer deptId)
{
this.deptId = deptId;
}
public Integer getDeptId()
{
return deptId;
}
public void setUserId(Integer userId)
{
this.userId = userId;
}
public Integer getUserId()
{
return userId;
}
public void setIsFounder(Integer isFounder)
{
this.isFounder = isFounder;
}
public Integer getIsFounder()
{
return isFounder;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("deptId",getDeptId() )
.append("userId", getUserId())
.append("isFounder", getIsFounder())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
public BusinessUser(Integer businessId, Integer deptId, Integer userId, Integer isFounder) {
this.businessId = businessId;
this.deptId = deptId;
this.userId = userId;
this.isFounder = isFounder;
}
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBestStockPageBody extends BasePage
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer cid;
//是否历史 0 否 1 是
private Integer isHistory;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticeDetailBody
{
/**
* id
*/
@NotNull(message = "id不能为空")
private Integer id;
}
......@@ -19,4 +19,15 @@ public class EnterpriseBidNoticePageBody extends BasePage
@NotNull(message = "企业id不能为空")
private Integer companyId;
//信息类型
private String tenderStage;
//项目名称
private String projectName;
/**
* provinceId
*/
private Integer provinceId;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticeProvinceBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
}
package com.dsk.common.core.domain.model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Data
@ToString
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class EnterpriseBidNoticeTenderStageBody
{
/**
* 企业id
*/
@NotNull(message = "企业id不能为空")
private Integer companyId;
}
......@@ -272,6 +272,10 @@ ul, li {
.el-table{
font-size: 12px;
color: #232323;
th{
font-size: 12px !important;
font-weight: 400 !important;
}
.cell{
padding-right: 12px !important;
padding-left: 12px !important;
......@@ -298,6 +302,14 @@ ul, li {
text-align: left;
}
}
.el-table__fixed-header-wrapper{
th{
background: #F0F3FA;
}
}
.caret-wrapper{
width: 10px;
}
.el-table__body-wrapper{
&::-webkit-scrollbar {
width: 16px; //竖轴宽度
......@@ -502,6 +514,7 @@ ul, li {
width: 72px;
text-align: center;
margin: 0 4px;
cursor: pointer;
}
.btn_default{
border: 1px solid #0081FF;
......@@ -523,6 +536,13 @@ ul, li {
.btn_primary{
background-color: #0081FF;
color: #fff;
&.btn_disabled{
background: #D3D3D3;
cursor: auto;
&:hover{
background: #D3D3D3;
}
}
&.h28{
line-height: 28px;
}
......@@ -532,6 +552,9 @@ ul, li {
&.h34{
line-height: 34px;
}
&.h36{
line-height: 36px;
}
&:hover{
background-color: #006AD1;
}
......@@ -558,7 +581,7 @@ ul, li {
//搜索框
.searchInput{
width: 590px;
height: 34px;
height: 32px;
border-radius: 2px 0px 0px 2px;
opacity: 1;
border: 1px solid #EFEFEF;
......
......@@ -42,6 +42,13 @@
//项目速览板块
.baseinfo{
position: relative;
.btns{
position: absolute;
bottom: 24px;
left: 838px;
line-height: 28px;
}
.row{
display: flex;
padding-bottom: 8px;
......@@ -163,6 +170,7 @@
margin-left: 4px;
width: 28px;
opacity: 0.4;
cursor: pointer;
&:hover{
opacity: 0.8;
}
......@@ -193,3 +201,559 @@
}
}
}
//表格样式
.tables{
padding: 0 16px 24px;
.el-table .el-table__header-wrapper th{
color: #4f4f4f;
background: #F0F3FA;
font-size: 12px;
font-weight: 400;
}
.is-sortable .sort-caret.ascending{
border-bottom-color: #0081FF;
opacity: 0.4;
}
.el-table .sort-caret.descending{
border-top-color:#0081FF;
opacity: 0.4;
}
.el-table .ascending .sort-caret.ascending{
opacity: 1;
}
.el-table .descending .sort-caret.descending{
opacity: 1;
}
.el-table .cell{
line-height: 20px;
padding: 0 12px;
color: #232323;
font-size: 12px;
}
.el-table--border .el-table__cell{
border-color: #E6EAF1;
border-bottom: 0;
}
.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{
background: #F9FCFF;
}
.has-gutter{
th{
height: 40px;
padding: 0;
.cell{
line-height: 40px;
}
}
}
.empty{
padding: 32px 0;
text-align: center;
>img{
width: 109px;
display: block;
margin: 0 auto 24px;
}
.p1{
height: 21px;
font-size: 16px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #333333;
line-height: 21px;
margin-bottom: 4px;
}
.p2{
height: 18px;
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
line-height: 18px;
margin-bottom: 8px;
}
}
.edit{
>img{
float:left;
margin: 2px 4px 0 0;
}
}
.bottems{
padding-top: 16px;
.el-pagination{
float: right;
padding: 0;
.btn-prev, .btn-next, .el-pager li{
min-width: 24px;
margin: 0 4px;
height: 24px;
line-height: 24px;
font-size: 12px;
color: #4f4f4f;
font-weight: 400;
}
.el-pager li:not(.disabled):hover{
opacity: 0.3;
background: #0081FF;
color: #FFFFFF;
}
.btn-prev .el-icon, .btn-next .el-icon{
font-weight: 400;
}
.el-pager .more::before{
line-height: 24px;
}
}
}
}
//弹出层样式
.popups{
.el-dialog__headerbtn{
top: 14px;
right: 12px;
z-index: 3;
}
.poptitle{
line-height: 48px;
border-bottom: 1px solid #E1E1E1;
height: 48px;
position: absolute;
top: 0;
left: 0;
width: 100%;
>img{
width: 17px;
margin: 16px;
float: left;
}
>span{
font-weight: bold;
font-size: 16px;
color: #232323;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
width: 385px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.popform{
padding-top: 24px;
.row{
padding-bottom: 16px;
.left{
width: 137px;
display: inline-block;
text-align: right;
opacity: 0.8
}
.el-input{
display: inline-block;
width: 240px;
.el-input__inner{
width: 240px;
height: 32px;
border-radius: 0px;
&:hover{
border-color: #0081FF;
}
}
.el-input__suffix{
height: 32px;
}
.el-input__icon{
line-height: 32px;
}
.el-icon-arrow-up:before{
content: "\e78f";
opacity: 0.4;
}
}
}
.popbot{
text-align: right;
padding-top: 8px;
padding-right: 47px;
.btn{
border-radius: 0;
width: 80px;
}
}
}
.popform.i{
.left{
width: 85px;
i{
color: #FF3C3C;
}
}
.el-input{
width: 335px;
.el-input__inner{
width: 335px;
}
}
.popbot{
padding-right: 0;
}
}
.types{
display: flex;
justify-content: space-between;
padding: 8px 0 24px;
>div{
cursor: pointer;
>i{
width: 14px;
height: 14px;
border-radius: 150%;
border: 1px solid #DCDFE6;
float: left;
margin: 3px 8px 0 0;;
}
&.on{
color: #0081FF;
>i{
border-color: #0081FF;
&:after{
content: " ";
width: 8px;
height: 8px;
border-radius: 50%;
background: #0081FF;
float: left;
margin: 2px;
}
}
}
}
}
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover{
background: #F4F6F9;
color: #0081FF;
}
//跟进记录、工作待办
.records{
width: 800px;
box-sizing: content-box;
padding: 0 16px 24px;
.writeIn{
margin-top: -10px;
.default{
width: 800px;
height: 46px;
background: #F3F4F5;
border-radius: 6px;
line-height: 46px;
>img{
float: left;
width: 16px;
margin: 15px 4px 0px 16px;
}
>div{
font-size: 14px;
opacity: 0.4;
}
}
.writting{
width: 800px;
padding: 16px;
border-radius: 6px;
border: 1px solid #68AEFF;
.wri_top{
>img{
float: left;
width: 16px;
}
.el-input{
width: calc(100% - 26px);
display: inline-block;
}
.el-input__inner{
line-height: 16px;
height: 16px;
border: 0;
padding: 0;
text-indent: 8px;
}
}
.wr_bot{
position: relative;
padding-top: 25px;
display: flex;
.el-input{
display: inline-block;
margin-right: 12px;
.el-input__inner{
height: 32px;
padding: 0;
text-indent: 30px;
width: 100px;
&:hover{
border-color: #0081FF;
}
}
.el-input__prefix{
left: 8px;
top: 4px;
}
.el-input__suffix{
height: 32px;
right: 13px;
}
.el-input__icon{
line-height: 32px;
}
.el-icon-arrow-up:before{
content: "\e78f";
opacity: 0.4;
}
}
.times{
display: inline-block;
position: relative;
>img{
position: absolute;
left: 8px;
top: 8px;
z-index: 1;
}
.el-input{
position: absolute;
}
.el-input__icon{
opacity: 0;
}
}
.w128{
.el-input__inner{
width: 128px;
}
}
}
}
}
.recordlist{
padding-left: 10px;
padding-top: 19px;
.rec_detail{
border-left: 1px dashed rgba(0,129,255,0.5);
font-size: 14px;
padding-bottom: 34px;
&:last-child{
border: 0;
}
.rec_time{
color: #0081FF;
position: relative;
.el-icon-time{
font-size: 16px;
float: left;
margin: -1px 10px 0 -8px;
background: #fff;
}
.operate{
display: none;
position: absolute;
right: 0;
top: 0;
>img{
margin-left: 16px;
cursor: pointer;
}
}
}
.rec_con{
margin: 12px 0 0 18px;
background: #F6F9FD;
border-radius: 6px;
padding: 24px;
//box-sizing: content-box;
box-sizing: border-box;
>div{
>span{opacity: 0.8;}
line-height: 30px;
&.rec_text{
opacity: 0.4;
>span{
padding-right: 24px;
}
}
>strong{
opacity: 1;
font-size: 18px;
line-height: 14px;
}
}
}
}
.rec_detail:hover{
.operate{
display: block;
}
.rec_con{
border: 1px solid #68AEFF;
}
}
}
.tasktitle{
color: #3D3D3D;
line-height: 28px;
font-size: 14px;
padding-left: 11px;
margin-top: 24px;
&:after{
content: ' ';
width: 4px;
height: 4px;
background: #0081FF;
border-radius: 50%;
float: left;
margin-top: 12px;
margin-left: -9px;
}
>span{
width: 88px;
height: 26px;
border-radius: 14px;
border: 1px solid #FF3C3C;
color: #FF3C3C;
line-height: 26px;
text-align: center;
display: inline-block;
margin-left: 10px;
}
}
.tasklist{
padding: 24px;
background: #F6F9FD;
border-radius: 6px;
margin-top: 16px;
position: relative;
.task_name{
font-size: 16px;
}
.task_con{
padding-top: 12px;
line-height: 14px;
font-size: 14px;
>span{
color: rgb(167,167,167);
padding-right: 28px;
}
}
.select{
position: absolute;
width: 88px;
height: 32px;
background: #E0E4EA;
border-radius: 4px;
right: 16px;
top: 30px;
}
}
}
//资料文档、相关企业
.searchbtns{
display: flex;
position: absolute;
right: 16px;
top: 17px;
.searchInput{
width: 178px;
height: 32px;
border: 1px solid #D9D9D9;
.el-input--medium .el-input__inner{
line-height: 32px;
font-size: 12px;
}
}
.b1{
padding: 0 5px;
border-radius: 2px;
}
.b2{
padding: 0 15px;
border-radius: 2px;
}
.b3{
padding: 0 10px;
border-radius: 2px;
}
.select{
width: 110px;
.el-input__inner{
width: 110px;
height: 32px;
background: #FFFFFF;
border-radius: 2px;
border: 1px solid #D9D9D9;
}
.el-input--medium .el-input__icon{
line-height: 32px;
}
margin-right: 10px;
}
}
.document{
padding:0 16px 16px;
margin-top: -14px;
.el-table {
color: #232323;
&::before{
background: #FFFFFF;
}
th.el-table__cell.is-leaf, td.el-table__cell{
border: 0;
color: #232323;
padding: 2px 0 0;
}
td.el-table__cell{
padding: 12px 0;
}
.el-table__header-wrapper{
border-bottom: 1px solid #eeeeee;
}
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell{
background: #F6F9FC;;
}
.el-table__header-wrapper th{
background: #FFFFFF;
font-size: 12px;
opacity: 0.8;
font-weight: 400;
}
.is-sortable .sort-caret.ascending{
border-bottom-color: #0081FF;
opacity: 0.4;
}
.sort-caret.descending{
border-top-color:#0081FF;
opacity: 0.4;
}
.ascending .sort-caret.ascending{
opacity: 1;
}
.descending .sort-caret.descending{
opacity: 1;
}
.img{
float: left;
margin-right: 8px;
}
}
}
......@@ -359,6 +359,14 @@
}
.svg-icon {
margin-right: 0 !important;
width: 1em;
height: 1em;
font-size: 16px;
margin-bottom: -2px;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
margin-left: 0px;
}
}
.side-one-popover{
......
......@@ -26,45 +26,45 @@
</template>
<!-- 收起 -->
<template v-else>
<div v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children || onlyOneChild.noShowingChildren) && !item.alwaysShow" class="side-retract">
<el-popover
placement="right-start"
popper-class="side-popover side-one-popover"
:visible-arrow="true"
trigger="hover"
:disabled="onlyOneChild.meta||item.meta?false:true"
>
<div class="side-container">
<div class="side-title">
<app-link v-if="onlyOneChild.meta || item.meta" :to="resolvePath(onlyOneChild.path || item.path)">
{{ onlyOneChild.meta.title || item.meta.title }}
</app-link>
</div>
</div>
<item v-if="onlyOneChild.meta" slot="reference" :icon="sideIcon(item, onlyOneChild)" />
</el-popover>
</div>
<div v-else class="side-retract">
<el-popover
placement="right-start"
popper-class="side-popover"
:visible-arrow="true"
trigger="hover"
:disabled="item.meta?false:true"
>
<div class="side-container">
<div class="side-title">{{ item.meta.title }}</div>
<ul class="side-list">
<li v-for="child in item.children" :key="child.path">
<app-link v-if="child.meta" :to="resolvePath(child.path)">
{{ child.meta.title }}
</app-link>
</li>
</ul>
</div>
<item v-if="item.meta" slot="reference" :icon="sideIcon(item)" />
</el-popover>
</div>
<div v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children || onlyOneChild.noShowingChildren) && !item.alwaysShow" class="side-retract">
<el-popover
placement="right-start"
popper-class="side-popover side-one-popover"
:visible-arrow="true"
trigger="hover"
:disabled="onlyOneChild.meta||item.meta?false:true"
>
<div class="side-container">
<div class="side-title">
<app-link v-if="onlyOneChild.meta || item.meta" :to="resolvePath(onlyOneChild.path || item.path)">
{{ onlyOneChild.meta.title || item.meta.title }}
</app-link>
</div>
</div>
<item v-if="onlyOneChild.meta" slot="reference" :icon="sideIcon(item, onlyOneChild)" />
</el-popover>
</div>
<div v-else class="side-retract">
<el-popover
placement="right-start"
popper-class="side-popover"
:visible-arrow="true"
trigger="hover"
:disabled="item.meta?false:true"
>
<div class="side-container">
<div class="side-title">{{ item.meta.title }}</div>
<ul class="side-list">
<li v-for="child in item.children" :key="child.path">
<app-link v-if="child.meta" :to="resolvePath(child.path)">
{{ child.meta.title }}
</app-link>
</li>
</ul>
</div>
<item v-if="item.meta" slot="reference" :icon="sideIcon(item)" />
</el-popover>
</div>
</template>
</div>
</template>
......
......@@ -113,12 +113,13 @@ export const constantRoutes = [
path: '/financing',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/macro/financing/details/:id(\\d+)',
component: () => import('@/views/macro/financing/details'),
name: 'financingDetails',
meta: { title: '区域专项债详情' }
meta: { title: '区域专项债详情', icon: 'user' }
}
]
}
......
<template>
<div class="regionalEconomy">
地区经济对比
</div>
</template>
<script>
export default {
name: 'comparison',
data() {
return {
activeName: 'first'
}
},
created() {
},
methods: {
handleClick() {
}
}
}
</script>
<style lang="scss" scoped>
.app-container{
padding: 0;
}
.eco-header{
justify-content: space-between;
height: 48px;
background: #FFFFFF;
border-radius: 4px;
padding:0 16px;
color: #232323;
::v-deep .el-tabs{
height: 48px;
line-height: 48px;
.el-tabs__nav-wrap::after {
position: static !important;
}
.el-tabs__header{
margin: 0;
.el-tabs__item{
padding: 0 16px;
font-size: 16px;
}
.is-active{
font-weight: bold;
}
}
}
.location{
font-size: 14px;
color: #0081FF;
i{
margin-right: 6px;
font-size: 16px;
}
}
}
</style>
<template>
<div class="regionalEconomy">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">主要指标</span>
</div>
<div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
<div class="content">
<div class="content-left">
<div id="echarts" style="height: 400px"></div>
</div>
<div class="content-right">
<el-table
v-loading="tableLoading"
:data="tableData"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">{{ pageIndex * pageSize - pageSize + scope.$index + 1 }}</template>
</el-table-column>
<el-table-column label="产业类型" prop="type" width="200"></el-table-column>
<el-table-column label="2022年">
<el-table-column prop="je" label="金额(亿元)" sortable width="150"> </el-table-column>
<el-table-column prop="zb" label="占比" sortable width="100"> </el-table-column>
</el-table-column>
<el-table-column label="2021年">
<el-table-column prop="province" label="金额(亿元)" sortable width="150"> </el-table-column>
<el-table-column prop="province" label="占比" sortable width="100"> </el-table-column>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
export default {
name: 'industrialStructure',
data() {
return {
tableData:[
{
type:'直接控股',
je:'29,175.61',
zb:'26%'
}
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 0,
data:[
{
name: '房建工程',
value: 11
},
{
name: '市政工程',
value: 22
},
{
name: '公路工程',
value: 33
}
]
}
},
created() {
this.$nextTick(()=>{
this.initChart()
})
},
methods: {
handleClick() {
},
initChart() {
let myChart = echarts.init(document.getElementById("echarts"))
let option ={
label: {
formatter: function (info) {
var value = info.value
var treePathInfo = info.treePathInfo
var treePath = []
for (var i = 1; i < treePathInfo.length; i++) {
treePath.push(treePathInfo[i].name)
}
let arr=[treePath[0]]
arr.push(value)
return arr.join('\n');
},
},
//鼠标悬停时显示的样式
tooltip: {
extraCssText:'width:100px!important;',
formatter: function (params){
var result = ''
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.name +'</p>'
result+='<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'+ params.value +'</p>'
return result
},
},
legend: {
data: this.data,
},
series: [
{
type: 'treemap',
data: this.data
}
]
}
myChart.setOption(option);
}
}
}
</script>
<style lang="scss" scoped>
.regionalEconomy{
width: 100%;
background: #ffffff;
padding: 16px;
margin-top: 12px;
border-radius: 4px;
.el-form{
margin-left: 24px;
.el-form-item{
margin: 0 !important;
.form-content-width{
width: 100px;
}
}
}
.content{
margin-top: 22px;
display: flex;
justify-content: space-between;
.content-left{
width: 50%;
}
}
}
</style>
<template>
<div class="regionalEconomy">
<div class="content">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">经济数据</span>
<el-form ref="queryForm" :model="queryParams" :inline="true" size="small">
<el-form-item prop="year">
<el-select v-model="queryParams.year" filterable class="form-content-width" placeholder="请选择年度">
<el-option v-for="(item, index) in yearOptions" :key="index" :label="item.name" :value="item.value" />
</el-select>
</el-form-item>
</el-form>
</div>
<div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
<div class="table-item">
<el-table
v-loading="tableLoading"
:data="tableData"
border
highlight-current-row
>
<el-table-column prop="area" label="下辖区" width="100" />
<el-table-column prop="tz" label="GDP(亿元)" sortable width="120" />
<el-table-column prop="tz" label="GDP增速" sortable width="100" />
<el-table-column prop="tz" label="人均GDP(元)" sortable width="130" />
<el-table-column prop="tz" label="人口(万人)" sortable width="120" />
<el-table-column prop="tz" label="固定资产投资 (亿元) " sortable width="170" />
<el-table-column prop="tz" label="一般公共预算收入(亿元)" sortable width="160" />
<el-table-column prop="tz" label="一般公共预算支持(亿 元)" sortable width="160" />
<el-table-column prop="tz" label="政府性基金收入(亿元)" sortable width="160" />
<el-table-column prop="zxzzj" label="地方政府债务余额(亿元)" sortable width="160" />
<el-table-column prop="zxzzj" label="城投平台有息债务(亿元)" sortable width="160" />
<el-table-column prop="zxzzj" label="财政自给率" sortable width="120"/>
<el-table-column prop="zxzzj" label="债务率-宽口径" sortable width="130"/>
</el-table>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'localEconomy',
data() {
return {
queryParams: {
year: '',
address: ''
},
yearOptions: [
{ name: '2023年', value: '2023' },
{ name: '2022年', value: '2022' },
{ name: '2021年', value: '2021' },
],
tableData:[
{
dataId:'1',
area:'重庆',
tz:'100',
zxzzj:'200'
}
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 0
}
},
created() {
},
methods: {
handleClick() {
}
}
}
</script>
<style lang="scss" scoped>
.regionalEconomy{
.el-form{
margin-left: 24px;
.el-form-item{
margin: 0 !important;
.form-content-width{
width: 100px;
}
}
}
.content{
width: 100%;
background: #ffffff;
padding: 16px;
margin-top: 12px;
border-radius: 4px;
}
.table-item{
margin-top: 22px;
}
}
</style>
<template>
<div class="regionalEconomy">
<div class="content content1">
<div class="common-title">经济数据</div>
<div class="content-box">
<div>2022年GDP</div>
<div>2022年GDP增速</div>
<div>2022年人口</div>
<div>2022年一般公共预算收入</div>
<div>2000年地方政府债务余额</div>
</div>
</div>
<div class="content content2">
<div class="common-title">经济信息</div>
<div class="content-box">
<span><img src="@/assets/images/economies/icon_1.png">下属辖区 <label>38</label><i></i></span>
<span><img src="@/assets/images/economies/icon_2.png">地方债余额 <label>10,567.32</label><i>亿</i></span>
<span><img src="@/assets/images/economies/icon_3.png">专项债项目 <label>10</label><i></i></span>
<span><img src="@/assets/images/economies/icon_4.png">城投平台有息债务 <label>17,710.19</label><i>亿</i></span>
</div>
</div>
<div class="content content3">
<div class="flex-box query-box">
<div class="flex-box query-params">
<span class="common-title">主要指标</span>
</div>
<div class="flex-box query-ability">
<span class="flex-box"><img src="@/assets/images/ability_vs.png">地区经济对比</span>
<span class="flex-box"><img src="@/assets/images/ability_excel.png">导出EXCEL</span>
</div>
</div>
<div class="table-item">
<el-table
:data="getValues"
:show-header="false"
border
>
<el-table-column
v-for="(item, index) in getHeaders"
:key="index"
:prop="item"
>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'regionalEconomy',
data() {
return {
activeName: 'first',
tableData: [
{
zb:"2022年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2021年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2020年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2019年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
{
zb:"2018年",
gdp:'129,118.58',
gdpzs:'124,369.67',
rjgdp:'134,369.67',
},
],
headers: [
{
prop: 'zb',
label: '指标',
},
{
prop: 'name',
label: '经济',
},
{
prop: 'gdp',
label: 'GDP(亿元)',
},
{
prop: 'gdpzs',
label: 'GDP增速',
},
{
prop: 'rjgdp',
label: '人均GDP(元)',
},
{
prop: 'rjgdp',
label: '第一产业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '第二产业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '第三产业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '人口(万人)',
},
{
prop: 'rjgdp',
label: '工业增加值(亿元)',
},
{
prop: 'rjgdp',
label: '工业总产值(亿元)',
},
{
prop: 'rjgdp',
label: '房地产开发投资(亿元)',
},
{
prop: 'rjgdp',
label: '进出口总额(亿美元)',
},
{
prop: 'rjgdp',
label: '社会消费品零售总额(亿元)',
},
{
prop: 'rjgdp',
label: '城镇居民人均可支配收入(元)',
},
{
prop: 'cz',
label: '财政',
},
{
prop: 'rjgdp',
label: '一般公共预算收入(亿元)',
},
{
prop: 'rjgdp',
label: '般公共预算收入增速',
},
{
prop: 'rjgdp',
label: '税收收入(亿元)',
},
{
prop: 'rjgdp',
label: '转移性收入(亿元)',
},
{
prop: 'rjgdp',
label: '上级补助收入(亿元)',
},
{
prop: 'rjgdp',
label: '一般公共预算支出(亿元)',
},
{
prop: 'rjgdp',
label: '政府性基金收入(亿元)',
},
{
prop: 'rjgdp',
label: '土地出让收入(亿元)',
},
{
prop: 'rjgdp',
label: '政府性基金支出(亿元)',
},
{
prop: 'rjgdp',
label: '国有资本经营收入(亿元)',
},
{
prop: 'rjgdp',
label: '国有资本经营支出(亿元)',
},
{
prop: 'zw',
label: '债务',
},
{
prop: 'rjgdp',
label: '地方政府债务余额(亿元)',
},
{
prop: 'rjgdp',
label: '一般债余额(亿元)',
},
{
prop: 'rjgdp',
label: '专项债余额(亿元)',
},
{
prop: 'rjgdp',
label: '地方政府债务限额(亿元)',
},
{
prop: 'rjgdp',
label: '城投平台有息债务(亿元)',
},
{
prop: 'rjgdp',
label: '财政自给率',
},
{
prop: 'rjgdp',
label: '负债率',
},
{
prop: 'rjgdp',
label: '负债率-宽口径',
},
{
prop: 'rjgdp',
label: '债务率',
},
{
prop: 'rjgdp',
label: '债务率-宽口径',
},
],
tableLoading: false,
pageIndex: 1,
pageSize: 10,
tableDataTotal: 0
}
},
created() {
},
computed: {
getHeaders() {
return this.tableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
},
getValues() {
return this.headers.map(item => {
return this.tableData.reduce((pre, cur, index) => Object.assign(pre, {['value' + index]: cur[item.prop]}), {'title': item.label,});
});
}
},
methods: {
handleClick() {
}
}
}
</script>
<style lang="scss" scoped>
.regionalEconomy{
.content{
width: 100%;
background: #ffffff;
padding: 16px;
margin-top: 12px;
border-radius: 4px;
}
.content1{
.content-box{
margin-top: 22px;
display: flex;
justify-content: space-between;
div{
width: 19%;
}
}
}
.content2{
.content-box{
margin-top: 18px;
span{
border-right: 1px solid #E4E4E4;
display: inline-block;
color: rgba(35,35,35,0.8);
font-size: 12px;
padding-left: 16px;
img{
width: 12px;
height: 12px;
margin-right: 4px;
}
label{
font-weight: 700;
color: #232323;
font-size: 20px;
margin-left: 12px;
}
i{
color: #232323;
margin-right: 16px;
font-style: normal;
margin-left: 4px;
}
}
span:last-child{
border-right: 0;
}
span:first-child{
padding-left: 0;
}
}
}
.table-item{
margin-top: 22px;
}
}
</style>
......@@ -2,47 +2,90 @@
<div class="app-container">
<div class="flex-box eco-header">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="地区经济" name="first" />
<el-tab-pane label="辖区经济" name="second" />
<el-tab-pane label="地区经济对比" name="third" />
<el-tab-pane label="产业结构" name="four" />
<el-tab-pane label="地区经济" name="first"></el-tab-pane>
<el-tab-pane label="辖区经济" name="second"></el-tab-pane>
<el-tab-pane label="地区经济对比" name="third"></el-tab-pane>
<el-tab-pane label="产业结构" name="four"></el-tab-pane>
</el-tabs>
<div>
重庆市
</div>
</div>
<div class="eco-data">
1
</div>
<div class="eco-infomation">
2
</div>
<div class="eco-tag">
3
<div class="location"><i class="el-icon-location"></i>重庆市</div>
</div>
<RegionalEconomy v-if="activeName === 'first'"></RegionalEconomy>
<LocalEconomy v-if="activeName === 'second'"></LocalEconomy>
<Comparison v-if="activeName === 'third'"></Comparison>
<IndustrialStructure v-if="activeName === 'four'"></IndustrialStructure>
</div>
</template>
<script>
import RegionalEconomy from './component/regionalEconomy'
import LocalEconomy from './component/localEconomy'
import Comparison from './component/comparison'
import IndustrialStructure from './component/industrialStructure'
export default {
name: 'Economies',
components: {
RegionalEconomy,
LocalEconomy,
Comparison,
IndustrialStructure,
},
data() {
return {
activeName: 'first'
}
},
created() {
let name = sessionStorage.getItem('currentTab')
if (name != "undefined" && name){
this.activeName = name;
}
},
methods: {
handleClick() {
sessionStorage.setItem('currentTab', this.activeName)
}
}
}
</script>
<style lang="scss" scoped>
.app-container{
padding: 0;
}
.eco-header{
justify-content: space-between;
height: 48px;
background: #FFFFFF;
border-radius: 4px;
padding:0 16px;
color: #232323;
::v-deep .el-tabs{
height: 48px;
line-height: 48px;
.el-tabs__nav-wrap::after {
position: static !important;
}
.el-tabs__header{
margin: 0;
.el-tabs__item{
padding: 0 16px;
font-size: 16px;
}
.is-active{
font-weight: bold;
}
}
.el-tabs__content{
width: 100%;
}
}
.location{
font-size: 14px;
color: #0081FF;
i{
margin-right: 6px;
font-size: 16px;
}
}
}
</style>
<template>
<div class="app-container qyzx-details">
<p class="tab">区域专项债 <span>/ 专项债项目详情{{id}}</span></p>
<p class="tab">区域专项债 <span>/ 专项债项目详情</span></p>
<div class="content main1">
<div class="title"><img src="@/assets/images/financing/head_icon.png" />重庆至黔江高速铁路项目一项目详情</div>
<p>本项目是厦渝高铁通道的重要组成部分,是成渝地区、海西经济区间高速客运交流的主通道;是成渝地区与华南、华东地区间客运交流的辅助通道;是以重庆主城为核心的城际客流的快速客运通道;
......@@ -74,6 +74,32 @@
</div>
<div class="content main3">
<div class="common-title">项目保障</div>
<div class="main3-box">
<p>
<label class="label">项目总收益/项目总债务融资本息(覆盖倍数)</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">项目总收益/项目总地方债券融资本息</label>
<span>1.96倍</span>
</p>
<p>
<label class="label">项目总收益/项目总投资</label>
<span>1.96倍</span>
</p>
<p>
<label class="label">项目总收益/项目总地方债券融资本金</label>
<span>1.96倍</span>
</p>
<p>
<label class="label">项目总收益/项目总债务融资本金</label>
<span>2.45倍</span>
</p>
<p>
<label class="label">项目预测总收益</label>
<span>2.45倍</span>
</p>
</div>
</div>
<div class="content main4">
<div class="common-title">项目当事人</div>
......@@ -154,6 +180,7 @@ export default {
margin-top: 16px;
background: #FFFFFF;
padding: 16px;
border-radius: 4px;
}
.common-title{
margin-bottom: 8px;
......@@ -237,6 +264,47 @@ export default {
border: 1px solid rgba(0,129,255,0.1);
}
}
.main3{
.main3-box{
margin-top: 22px;
p{
margin: 0;
display: inline-block;
width: 50%;
border-top: 1px solid #E6E9F0;
border-left: 1px solid #E6E9F0;
}
p:nth-child(2n){
border-right: 1px solid #E6E9F0;
}
p:nth-child(5){
border-bottom: 1px solid #E6E9F0;
}
p:last-child{
border-bottom: 1px solid #E6E9F0;
}
.label{
width: 60%;
background: #F0F3FA;
display: inline-block;
height: 40px;
font-weight: 400;
border-right: 1px solid #E6E9F0;
line-height: 40px;
font-size: 12px;
color: rgba(35,35,35,0.8);
padding-left: 12px;
}
span{
width: 40%;
display: inline-block;
height: 40px;
line-height: 40px;
padding-left: 12px;
font-size: 12px;
}
}
}
.main4{
.main4-box{
margin-top: 22px;
......@@ -267,5 +335,10 @@ export default {
}
}
}
.main5{
.table-item{
margin-top: 22px;
}
}
}
</style>
......@@ -229,6 +229,7 @@ export default {
background: #ffffff;
padding: 16px;
margin-bottom: 16px;
border-radius: 4px;
}
.common-title{
justify-content: space-between;
......
......@@ -290,6 +290,8 @@ export default {
}
.nationalEconomies{
background: #ffffff;
border-radius: 4px;
.table-item{
::v-deep .el-table{
th{
......@@ -299,9 +301,6 @@ export default {
.el-table__fixed-header-wrapper th{
background: #F0F3FA;
}
.cell{
position: relative;
}
.caret-wrapper{
width: 10px;
/*<!--position: absolute;-->*/
......
<template>
<div>
<el-card class="box-card noborder">
<div class="cardtitles">跟进记录</div>
<div class="records">
<div class="writeIn">
<div class="default" v-if="isEdit == false" @click="getEdit">
<img src="@/assets/images/project/add_3.png">
<div>新建一条跟进记录,如:周五上午预约客户上门拜访</div>
</div>
<div class="writting" v-if="isEdit == true">
<div class="wri_top">
<img src="@/assets/images/project/add_3.png">
<el-input placeholder="新建一条跟进记录,如:周五上午预约客户上门拜访"></el-input>
</div>
<div class="wr_bot">
<el-select v-model="value" class="w128" placeholder="拜访方式">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_1.png"></i>
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
<el-input v-model="value" placeholder="拜访对象" style="width: 100px;">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i>
</el-input>
<el-input v-model="value" placeholder="客户职位" style="width: 100px;">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_3.png"></i>
</el-input>
<div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker class="w128"
v-model="value"
type="date"
placeholder="下次拜访时间">
</el-date-picker>
</div>
<div class="btn btn_primary h32 wc" :class="{'btn_disabled':value == ''}">完成</div>
</div>
</div>
</div>
<div class="recordlist">
<div class="rec_detail">
<div class="rec_time">
<i class="el-icon-time"></i>
<div>2018-04-03 10:20</div>
<div class="operate">
<!--<img src="@/assets/images/edit.png">第一期不做编辑-->
<img src="@/assets/images/delete.png">
</div>
</div>
<div class="rec_con">
<div><strong>李力</strong> <span>(线下拜访)</span></div>
<div><span>上门拜访了交通局杨科长,客户对公司认可度很高,希望做进一步的高层对话。</span></div>
<div class="rec_text">
<span>拜访对象:杨洋</span>
<span>职位:科长</span>
<span>拜访时间:2008-12-08</span>
<span>下次拜访时间:2008-12-08</span>
</div>
</div>
</div>
<div class="rec_detail">
<div class="rec_time">
<i class="el-icon-time"></i>
<div>2018-04-03 10:20</div>
<div class="operate">
<!--<img src="@/assets/images/edit.png">第一期不做编辑-->
<img src="@/assets/images/delete.png">
</div>
</div>
<div class="rec_con">
<div><strong>李力</strong> <span>(线下拜访)</span></div>
<div><span>上门拜访了交通局杨科长,客户对公司认可度很高,希望做进一步的高层对话。</span></div>
<div class="rec_text">
<span>拜访对象:杨洋</span>
<span>职位:科长</span>
<span>拜访时间:2008-12-08</span>
<span>下次拜访时间:2008-12-08</span>
</div>
</div>
</div>
</div>
</div>
<div class="delform">
<div class="words">是否删除该条记录</div>
<div>
<div class="btnsmall btn_primary h28">确定</div>
<div class="btnsmall btn_cancel h28">取消</div>
</div>
</div>
</el-card>
</div>
</template>
<script>
import "@/assets/styles/project.scss"
export default {
name: 'gjjl',
data(){
return{
isEdit:false,
value:''
}
},
methods:{
getEdit(){
this.isEdit = true;
this.value = ""
},
}
}
</script>
<style lang="scss" scoped>
.wc{
position: absolute;
right: 0;
bottom: 0;
}
.delform{
position: fixed; left:50%; top:50%; transform:translate(-50%,-50%)
}
</style>
<template>
<div>
<el-card class="box-card noborder">
<div class="cardtitles">跟进记录</div>
<div class="records">
<div class="writeIn">
<div class="default" v-if="isEdit == false" @click="getEdit">
<img src="@/assets/images/project/add_3.png">
<div>新建一条工作代办,如:周五上午预约客户上门拜访</div>
</div>
<div class="writting" v-if="isEdit == true">
<div class="wri_top">
<img src="@/assets/images/project/add_3.png">
<el-input placeholder="新建一条跟进记录,如:周五上午预约客户上门拜访"></el-input>
</div>
<div class="wr_bot">
<div class="times"><img src="@/assets/images/project/ico_4.png">
<el-date-picker
v-model="value"
type="date"
placeholder="待办时间">
</el-date-picker>
</div>
<el-input v-model="value" placeholder="拜访对象" style="width: 100px;">
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/ico_2.png"></i>
</el-input>
<div class="btn btn_primary h32 wc" :class="{'btn_disabled':value == ''}">完成</div>
</div>
</div>
</div>
<div class="tasktitle"><strong>我的任务</strong><span>4条已逾期</span></div>
<div class="tasklist">
<div class="task_name">周二拜访交通局李主任</div>
<div class="task_con"><span>发起时间:2023-01-24</span><span>关联客户:<font class="wordprimary">重庆市交通局</font></span><span>完成时间:2023-0.-03</span></div>
<div class="select">未完成</div>
</div>
<div class="tasklist">
<div class="task_name">周二拜访交通局李主任</div>
<div class="task_con"><span>发起时间:2023-01-24</span><span>关联客户:<font class="wordprimary">重庆市交通局</font></span><span>完成时间:2023-0.-03</span></div>
<div class="select">未完成</div>
</div>
</div>
</el-card>
</div>
</template>
<script>
import "@/assets/styles/project.scss"
export default {
name: 'gjjl',
data(){
return{
isEdit:false,
value:''
}
},
methods:{
getEdit(){
this.isEdit = true;
this.value = ""
},
}
}
</script>
<style lang="scss" scoped>
.wc{
position: absolute;
right: 0;
bottom: 0;
}
.times{
width: 100px;
margin-right: 12px;
}
</style>
......@@ -3,7 +3,7 @@
<div>
<el-card class="box-card noborder">
<div class="cardtitles">基本信息</div>
<div class="baseinfo">
<div class="baseinfo" style="padding-bottom: 8px">
<div class="row">
<div class="con">
<span>总投资额(万元) :</span>
......@@ -58,7 +58,13 @@
<el-card class="box-card noborder">
<div class="cardtitles">项目概况与建设规模</div>
<div class="baseinfo">
<el-input v-model="textarea" class="textarea" type="textarea" placeholder="请输入项目概况与建设规模详细信息" maxlength="500" show-word-limit="true" ></el-input>
<el-input v-model="textarea" @focus="nowedit = 9" class="textarea" type="textarea" placeholder="请输入项目概况与建设规模详细信息" maxlength="500" show-word-limit="true" ></el-input>
<div class="flex btns" v-if="nowedit == 9">
<div class="flex">
<div class="btnsmall btn_primary h28" style="width: 56px">确定</div>
<div class="cancels h28" @click="nowedit = -1" style="">取消</div>
</div>
</div>
</div>
</el-card>
<el-card class="box-card noborder">
......@@ -149,40 +155,14 @@
<script>
import "@/assets/styles/project.scss"
export default {
name: 'xmgl',
name: 'jsnr',
data(){
return{
textarea:"",
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
}
},
methods:{
//验证电话号码
isphone(value){
var regPartton = /1[3-8]+\d{9}/;
var regPartton1 = /^(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)$/;
if (!regPartton.test(value) && !regPartton1.test(value)) {
this.$message.error("请输入正确的电话");
} else {
}
},
//标签添加、删除
addtips(){
if(this.tipsvalue == "")
return false
if(this.tipslit.length>=30){
this.$message.error("最多能只能添加30个标签")
return false
}
this.tipslit.push(this.tipsvalue)
this.tipsvalue = ""
},
deltip(index){
this.tipslit.splice(index,1)
},
}
}
</script>
......
<template>
<div>
<el-card class="box-card noborder">
<div class="cardtitles">基本信息</div>
<div class="tables">
<el-table
:data="tableData"
stripe border
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
<template slot="empty">
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div>
</template>
<el-table-column
prop="date"
label="姓名"
width="113">
</el-table-column>
<el-table-column
prop="name"
label="操作"
width="118">
<template slot-scope="scope">
<div class="edit">
<img src="@/assets/images/project/edit.png">
<span>编辑</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="name"
label="角色"
sortable
width="146">
</el-table-column>
<el-table-column
prop="address"
label="公司/机关">
</el-table-column>
<el-table-column
prop="name"
label="职位"
width="125">
</el-table-column>
<el-table-column
prop="name"
label="联系方式"
width="175">
</el-table-column>
<el-table-column
prop="name"
label="内部维护人"
width="146">
</el-table-column>
</el-table>
<div class="bottems">
<div class="btn btn_primary h28" @click="opennew"><div class="img img1"></div>新增联系人</div>
<el-pagination
background
:page-size="20"
:current-page="1"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="1000">
</el-pagination>
</div>
</div>
<el-dialog
class="popups"
:visible.sync="dialogVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div>
<div class="popform">
<div class="row">
<span class="left">联系人姓名:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人角色:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">联系人职位:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人公司/机关:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">内部维护人:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系方式:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div>
</div>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import "@/assets/styles/project.scss"
export default {
name: 'lxr',
data(){
return{
dialogVisible:false,
textarea:"",
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
tableData: [
{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
}
},
methods:{
//翻页
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
cancel(){
this.dialogVisible = false
},
//打开新建窗口
opennew(){
this.dialogVisible = true
},
}
}
</script>
<style lang="scss" scoped>
.w102{
width: 102px;
}
.img.img1{
margin-right: 8px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
}
</style>
<template>
<div>
<el-card class="box-card noborder">
<div class="cardtitles">相关企业</div>
<div class="searchbtns">
<el-select class="select" placeholder="企业角色">
<option label="111" value="222"></option>
</el-select>
<div class="searchInput">
<el-input type="text" placeholder="输入关键词查询"></el-input>
<div class="btn">搜索</div>
</div>
<div class="btn btn_primary h32 b3" @click="opennew"><div class="img img1"></div>添加相关企业</div>
</div>
<div class="document">
<el-table
:data="tableData"
style="width: 100%"
>
<template slot="empty">
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div>
</template>
<el-table-column
prop="date"
label="企业名称"
>
<template slot-scope="scope">
<div class="wordprimary">集团投标常用资料</div>
</template>
</el-table-column>
<el-table-column
prop="name"
label="对接深度"
>
</el-table-column>
<el-table-column
prop="name"
label="企业角色"
sortable
width="">
</el-table-column>
<el-table-column
prop="name"
label="负责人"
width="">
</el-table-column>
</el-table>
<div class="tables">
<div class="bottems">
<el-pagination
background
:page-size="20"
:current-page="1"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="1000">
</el-pagination>
</div>
</div>
</div>
<el-dialog
class="popups"
:visible.sync="dialogVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>新建相关企业</span>
</div>
<div class="types">
<div :class="{'on':types==1}" @click="types=1"><i></i>业主单位</div>
<div :class="{'on':types==2}" @click="types=2"><i></i>合作伙伴</div>
<div :class="{'on':types==3}" @click="types=3"><i></i>竞争对手</div>
</div>
<div class="popform">
<div class="popbot" style="padding-right: 0">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32" @click="hzhbVisible=true">下一步</div>
</div>
</div>
</el-dialog>
<el-dialog
class="popups"
:visible.sync="hzhbVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>新建相关企业-{{types==1?"业主单位":""}}{{types==2?"合作伙伴":""}}{{types==3?"竞争对手":""}}</span>
</div>
<div class="popform i">
<div class="row">
<span class="left"><i>*</i>企业名称:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row" v-if="types == 1">
<span class="left">对接深度:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row" v-if="types == 2">
<span class="left">合作阶段:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row" v-if="types == 3">
<span class="left">竞争力度:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">企业角色:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">负责人:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">添加</div>
</div>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import "@/assets/styles/project.scss"
export default {
name: 'zlwd',
data(){
return{
types:1,
dialogVisible:false,
hzhbVisible:false,
textarea:"",
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
tableData: [
{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
}
},
methods:{
//翻页
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
cancel(){
this.dialogVisible = false
},
//打开新建窗口
opennew(){
this.dialogVisible = true
},
}
}
</script>
<style lang="scss" scoped>
.w102{
width: 102px;
}
.img.img1{
margin-right: 4px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
}
.img.img2{
margin-right: 4px;
background: url('../../../../../src/assets/images/upload.png')no-repeat center center;
}
.box-card{
position: relative;
}
</style>
......@@ -160,7 +160,7 @@
<script>
import "@/assets/styles/project.scss"
export default {
name: 'xmgl',
name: 'xmsl',
data(){
return{
nowedit:-1,//当前正在编辑的文本
......
<template>
<div>
<el-card class="box-card noborder">
<div class="cardtitles">资料文档</div>
<div class="searchbtns">
<div class="searchInput">
<el-input type="text" placeholder="输入关键词查询"></el-input>
<div class="btn">搜索</div>
</div>
<div class="btn btn_primary h32 b1"><div class="img img1"></div>新建文件夹</div>
<div class="btn btn_default h32 b2"><div class="img img2"></div>上传</div>
</div>
<div class="document">
<el-table
:data="tableData"
style="width: 100%"
>
<template slot="empty">
<div class="empty">
<img src="@/assets/images/project/empty.png">
<div class="p1">暂无数据展示</div>
<div class="p2">抱歉,你还未添加相关数据,快去添加吧</div>
<div class="btn btn_primary h36 w102" @click="opennew">新增联系人</div>
</div>
</template>
<el-table-column
prop="date"
label="文件名称"
>
<template slot-scope="scope">
<div>
<img class="img" src="@/assets/images/folder.png">
<!--<img class="img" src="@/assets/images/word.png">-->
<!--<img class="img" src="@/assets/images/pdf.png">-->
<!--<img class="img" src="@/assets/images/excel_1.png">-->
<span>集团投标常用资料</span>
</div>
</template>
</el-table-column>
<el-table-column
prop="name"
label="创建人"
>
</el-table-column>
<el-table-column
prop="name"
label="更新时间"
sortable
width="">
</el-table-column>
</el-table>
<div class="tables">
<div class="bottems">
<el-pagination
background
:page-size="20"
:current-page="1"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="1000">
</el-pagination>
</div>
</div>
</div>
<el-dialog
class="popups"
:visible.sync="dialogVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>重庆市轨道交通3号线二期工程4标段施工总承包</span>
</div>
<div class="popform">
<div class="row">
<span class="left">联系人姓名:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人角色:</span>
<el-select placeholder="请选择">
<el-option label="cccc" value="11"></el-option>
<el-option label="cccc" value="121"></el-option>
</el-select>
</div>
<div class="row">
<span class="left">联系人职位:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系人公司/机关:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">内部维护人:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="row">
<span class="left">联系方式:</span>
<el-input type="text" placeholder="请输入"></el-input>
</div>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32">保存</div>
</div>
</div>
</el-dialog>
</el-card>
</div>
</template>
<script>
import "@/assets/styles/project.scss"
export default {
name: 'zlwd',
data(){
return{
dialogVisible:false,
textarea:"",
nowedit:-1,//当前正在编辑的文本
tipslit:[],//项目标签
tipsvalue:"",//标签填写内容
tableData: [
{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
]
}
},
methods:{
//翻页
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
},
cancel(){
this.dialogVisible = false
},
//打开新建窗口
opennew(){
this.dialogVisible = true
},
}
}
</script>
<style lang="scss" scoped>
.w102{
width: 102px;
}
.img.img1{
margin-right: 4px;
background: url('../../../../../src/assets/images/project/add_2.png')no-repeat center center;
}
.img.img2{
margin-right: 4px;
background: url('../../../../../src/assets/images/upload.png')no-repeat center center;
}
.box-card{
position: relative;
}
</style>
......@@ -69,6 +69,16 @@
<xmsl v-if="thistag == 'xmsl'"></xmsl>
<!--建设内容-->
<jsnr v-if="thistag == 'jsnr'"></jsnr>
<!--联系人-->
<lxr v-if="thistag == 'lxr'"></lxr>
<!--跟进记录-->
<gjjl v-if="thistag == 'gjjl'"></gjjl>
<!--工作待办-->
<gzdb v-if="thistag == 'gzdb'"></gzdb>
<!--资料文档-->
<zlwd v-if="thistag == 'zlwd'"></zlwd>
<!--相关企业-->
<xgqy v-if="thistag == 'xgqy'"></xgqy>
</div>
</div>
</template>
......@@ -77,9 +87,14 @@
import "@/assets/styles/project.scss"
import xmsl from './component/xmsl.vue'
import jsnr from './component/jsnr.vue'
import lxr from './component/lxr.vue'
import gjjl from './component/gjjl.vue'
import gzdb from './component/gzdb.vue'
import zlwd from './component/zlwd.vue'
import xgqy from './component/xgqy.vue'
export default {
name: 'detail',
components: {xmsl,jsnr},
components: {xmsl,jsnr,lxr,gjjl,gzdb,zlwd,xgqy},
data(){
return {
schedulelist: ['立项审批','招标计划','招标公告','开标阶段','中标结果'],
......@@ -90,10 +105,11 @@
{tag:'jsnr',name:'建设内容'},
{tag:'lxr',name:'联系人'},
{tag:'gjjl',name:'跟进记录'},
{tag:'gzdb',name:'工作代办'},
{tag:'gzdb',name:'工作待办'},
{tag:'zlwd',name:'资料文档'},
{tag:'xgqy',name:'相关企业'},
],
thistag:'xmsl',
thistag:'xgqy',
islock:true,//仅自己可见
}
},
......
package com.dsk.system.domain;
import lombok.Data;
/**
* @author lxl
* @Description:
* @Date 2023/5/19 下午 5:58
**/
@Data
public class BusinessAddDto {
/**
* 项目名称
*/
private String projectName;
/**
* 用户id
*/
private Integer userId;
/**
* 项目类型
*/
private String projectType;
/**
* 项目类别
*/
private String projectCategory;
/**
* 投资估算
*/
private String investmentAmount;
/**
* 项目阶段
*/
private String projectStage;
/**
* 业主单位
*/
private String ownerCompany;
/**
* 单位id
*/
private Integer companyId;
/**
* 可见范围
*/
private Integer isPrivate;
/**
* 客户id
*/
private String customerId;
public Double getInvestmentAmount() {
return Double.parseDouble(investmentAmount);
}
}
package com.dsk.system.domain;
import lombok.Data;
/**
* @author lxl
* @Description:
* @Date 2023/5/13 下午 3:58
**/
@Data
public class BusinessIdDto {
/**
* 项目id
*/
private Integer businessId;
/**
* 项目标签名称
*/
private String label;
}
package com.dsk.system.domain;
import lombok.Data;
/**
* @author lxl
* @Description:
* @Date 2023/5/16 上午 9:10
**/
@Data
public class BusinessListDto {
/**
* 项目名称
*/
private String projectName;
/**
* 用户id
*/
private Integer userId;
/**
* 企业id
*/
private Integer deptId;
/**
* 省id
*/
private Integer provinceId;
/**
* 市id
*/
private Integer cityId;
/**
* 区id
*/
private Integer districtId;
/**
* 项目类型
*/
private String projectType;
/**
* 投资估算
*/
private String investmentAmount;
/**
* 项目阶段
*/
private String projectStage;
/**
* 最小金额
*/
private String minAmount;
/**
* 最大金额
*/
private String maxAmount;
/**
* 业主单位
*/
private String ownerCompany;
}
......@@ -36,13 +36,13 @@ public class Customer implements Serializable {
*/
private String legalPerson;
/**
* 注册资本(字符串)
* 注册资本
*/
private String registerCapitalStr;
private String registerCapital;
/**
* 注册资本
* 社会统一信用代码
*/
private Double registerCapital;
private String creditCode;
/**
* 企业性质(company_nature_type)
*/
......
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.dto;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* 客户跟进记录筛选对象
......@@ -11,7 +13,7 @@ import java.io.Serializable;
* @create 2023/5/18
*/
@Data
public class CustomerFollowRecordSearchDto implements Serializable {
public class CustomerFollowRecordSearchDto extends BaseEntity implements Serializable {
/**
* 客户id
......
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 {
/**
* 注册资本(字符串)
*/
private String registerCapitalStr;
private String registerCapital;
/**
* 社会统一信用代码
*/
private String creditCode;
/**
* 企业性质
*/
......
package com.dsk.system.domain.customer.vo;
import com.dsk.system.domain.customer.Customer;
import lombok.Data;
import java.io.Serializable;
/**
* 客户详情
*
* @author makejava
* @since 2023-05-16 09:27:55
*/
@Data
public class CustomerVo extends Customer implements Serializable {
/**
* 负责人id
*/
private Long userId;
}
package com.dsk.system.domain.vo;
import lombok.Data;
/**
* @author lxl
* @Description:
* @Date 2023/5/22 下午 5:19
**/
@Data
public class BusinessBrowseVo {
}
package com.dsk.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author lxl
* @Description:
* @Date 2023/5/19 下午 2:17
**/
@Data
public class BusinessListVo {
/**
* 项目id
*/
private Integer id;
/**
* 项目名称
*/
private String projectName;
/**
* 省
*/
private Integer provinceName;
/**
* 市
*/
private Integer cityName;
/**
* 区
*/
private Integer districtName;
/**
* 投资估算
*/
private Double investmentAmount;
/**
* 业主单位
*/
private String ownerCompany;
/**
* 最后跟进时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date followTime;
/**
* 跟进用户昵称
*/
private String nickName;
/**
* 项目标签
*/
private String label;
}
......@@ -77,6 +77,27 @@ public class EnterpriseService {
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeProvince(EnterpriseBidNoticePageBody body) throws Exception {
Map<String, String> headerMap = new HashMap<>();
headerMap.put("Api-Version", "1.0");
Map<String, Object> map = dskOpenApiUtil.requestBodyWithHeader("/api/jsk/enterpriseBusiness/selectBidProvinceByCompanyId", BeanUtil.beanToMap(body, false, false), headerMap);
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeTenderStage(EnterpriseBidNoticePageBody body) throws Exception {
Map<String, String> headerMap = new HashMap<>();
headerMap.put("Api-Version", "1.0");
Map<String, Object> map = dskOpenApiUtil.requestBodyWithHeader("/api/jsk/enterpriseBusiness/selectTenderStageByCompanyId", BeanUtil.beanToMap(body, false, false), headerMap);
return BeanUtil.toBean(map, R.class);
}
public R bidNoticeDeatil(EnterpriseBidNoticeDetailBody body) throws Exception {
Map<String, String> headerMap = new HashMap<>();
headerMap.put("Api-Version", "1.0");
Map<String, Object> map = dskOpenApiUtil.requestBodyWithHeader("/api/jsk/enterpriseBusiness/bid/detail", BeanUtil.beanToMap(body, false, false), headerMap);
return BeanUtil.toBean(map, R.class);
}
public R dynamicPage(EnterpriseDynamicPageBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/api/jsk/enterprise/dynamic", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
......@@ -96,4 +117,9 @@ public class EnterpriseService {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/keymembers", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
public R bestStockPage(EnterpriseKeymembersBody body) throws Exception {
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/enterprise/bestStockPage", BeanUtil.beanToMap(body, false, false));
return BeanUtil.toBean(map, R.class);
}
}
package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessBacklog;
import java.util.List;
/**
* 项目工作待办Mapper接口
*
* @author lxl
* @date 2023-05-17
*/
public interface BusinessBacklogMapper
{
/**
* 查询项目工作待办
*
* @param id 项目工作待办主键
* @return 项目工作待办
*/
public BusinessBacklog selectBusinessBacklogById(Long id);
/**
* 查询项目工作待办列表
*
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
*/
public List<BusinessBacklog> selectBusinessBacklogList(BusinessBacklog businessBacklog);
/**
* 新增项目工作待办
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
public int insertBusinessBacklog(BusinessBacklog businessBacklog);
/**
* 修改项目工作待办
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
public int updateBusinessBacklog(BusinessBacklog businessBacklog);
/**
* 删除项目工作待办
*
* @param id 项目工作待办主键
* @return 结果
*/
public int deleteBusinessBacklogById(Long id);
/**
* 批量删除项目工作待办
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessBacklogByIds(Long[] ids);
}
package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessContacts;
import java.util.List;
/**
* 项目联系人Mapper接口
*
* @author lxl
* @date 2023-05-17
*/
public interface BusinessContactsMapper
{
/**
* 查询项目联系人
*
* @param id 项目联系人主键
* @return 项目联系人
*/
public BusinessContacts selectBusinessContactsById(Long id);
/**
* 查询项目联系人列表
*
* @param businessContacts 项目联系人
* @return 项目联系人集合
*/
public List<BusinessContacts> selectBusinessContactsList(BusinessContacts businessContacts);
/**
* 新增项目联系人
*
* @param businessContacts 项目联系人
* @return 结果
*/
public int insertBusinessContacts(BusinessContacts businessContacts);
/**
* 修改项目联系人
*
* @param businessContacts 项目联系人
* @return 结果
*/
public int updateBusinessContacts(BusinessContacts businessContacts);
/**
* 删除项目联系人
*
* @param id 项目联系人主键
* @return 结果
*/
public int deleteBusinessContactsById(Long id);
/**
* 批量删除项目联系人
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessContactsByIds(Long[] ids);
}
package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import java.util.List;
/**
* 项目跟进记录Mapper接口
*
* @author lxl
* @date 2023-05-17
*/
public interface BusinessFollowRecordMapper
{
/**
* 查询项目跟进记录
*
* @param id 项目跟进记录主键
* @return 项目跟进记录
*/
public BusinessFollowRecord selectBusinessFollowRecordById(Long id);
/**
* 查询项目跟进记录列表
*
* @param businessFollowRecord 项目跟进记录
* @return 项目跟进记录集合
*/
public List<BusinessFollowRecord> selectBusinessFollowRecordList(BusinessFollowRecord businessFollowRecord);
/**
* 新增项目跟进记录
*
* @param businessFollowRecord 项目跟进记录
* @return 结果
*/
public int insertBusinessFollowRecord(BusinessFollowRecord businessFollowRecord);
/**
* 修改项目跟进记录
*
* @param businessFollowRecord 项目跟进记录
* @return 结果
*/
public int updateBusinessFollowRecord(BusinessFollowRecord businessFollowRecord);
/**
* 删除项目跟进记录
*
* @param id 项目跟进记录主键
* @return 结果
*/
public int deleteBusinessFollowRecordById(Long id);
/**
* 批量删除项目跟进记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessFollowRecordByIds(Long[] ids);
}
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.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.vo.BusinessListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 项目详情Mapper接口
*
* @author lxl
* @date 2023-05-17
*/
@Mapper
public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
{
/**
* 查询项目详情
*
* @param id 项目详情主键
* @return 项目详情
*/
public BusinessInfo selectBusinessInfoById(Long id);
/**
* 查询所有项目名称(支持模糊查询)
* @return
*/
List<String> queryprojectName(BusinessListDto dto);
/**
* 查询项目详情列表
*
* @param dto 项目详情
* @return 项目详情集合
*/
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto);
/**
* 新增项目详情
*
* @param businessInfo 项目详情
* @return 结果
*/
public int insertBusinessInfo(BusinessInfo businessInfo);
/**
* 修改项目详情
*
* @param businessInfo 项目详情
* @return 结果
*/
public int updateBusinessInfo(BusinessInfo businessInfo);
/**
* 删除项目详情
*
* @param id 项目详情主键
* @return 结果
*/
public int deleteBusinessInfoById(Long id);
/**
* 批量删除项目详情
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessInfoByIds(Long[] ids);
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 java.util.List;
/**
* 项目标签Mapper接口
*
* @author ruoyi
* @date 2023-05-17
*/
public interface BusinessLabelMapper
{
/**
* 查询项目标签
*
* @param id 项目标签主键
* @return 项目标签
*/
public BusinessLabel selectBusinessLabelById(Long id);
/**
* 查询项目标签列表
*
* @param businessLabel 项目标签
* @return 项目标签集合
*/
public List<BusinessLabel> selectBusinessLabelList(BusinessLabel businessLabel);
/**
* 新增项目标签
*
* @param businessLabel 项目标签
* @return 结果
*/
public int insertBusinessLabel(BusinessLabel businessLabel);
/**
* 修改项目标签
*
* @param businessLabel 项目标签
* @return 结果
*/
public int updateBusinessLabel(BusinessLabel businessLabel);
/**
* 删除项目标签
*
* @param dto 项目主键
* @return 结果
*/
public int deleteBusinessLabelById(BusinessIdDto dto);
/**
* 批量删除项目标签
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessLabelByIds(Long[] ids);
}
package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.system.domain.customer.CustomerDecisionChain;
import java.util.List;
/**
* 项目关联单位Mapper接口
*
* @author lxl
* @date 2023-05-17
*/
public interface BusinessRelateCompanyMapper extends BaseMapper<BusinessRelateCompany>
{
/**
* 查询项目关联单位
*
* @param id 项目关联单位主键
* @return 项目关联单位
*/
public BusinessRelateCompany selectBusinessRelateCompanyById(Long id);
/**
* 查询项目关联单位列表
*
* @param businessRelateCompany 项目关联单位
* @return 项目关联单位集合
*/
public List<BusinessRelateCompany> selectBusinessRelateCompanyList(BusinessRelateCompany businessRelateCompany);
/**
* 新增项目关联单位
*
* @param businessRelateCompany 项目关联单位
* @return 结果
*/
public int insertBusinessRelateCompany(BusinessRelateCompany businessRelateCompany);
/**
* 修改项目关联单位
*
* @param businessRelateCompany 项目关联单位
* @return 结果
*/
public int updateBusinessRelateCompany(BusinessRelateCompany businessRelateCompany);
/**
* 删除项目关联单位
*
* @param id 项目关联单位主键
* @return 结果
*/
public int deleteBusinessRelateCompanyById(Long id);
/**
* 批量删除项目关联单位
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessRelateCompanyByIds(Long[] ids);
}
package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessUser;
import java.util.List;
/**
* 项目用户关联Mapper接口
*
* @author lxl
* @date 2023-05-17
*/
public interface BusinessUserMapper
{
/**
* 查询项目用户关联
*
* @param id 项目用户关联主键
* @return 项目用户关联
*/
public BusinessUser selectBusinessUserById(Long id);
/**
* 查询项目用户关联列表
*
* @param businessUser 项目用户关联
* @return 项目用户关联集合
*/
public List<BusinessUser> selectBusinessUserList(BusinessUser businessUser);
/**
* 新增项目用户关联
*
* @param businessUser 项目用户关联
* @return 结果
*/
public int insertBusinessUser(BusinessUser businessUser);
/**
* 修改项目用户关联
*
* @param businessUser 项目用户关联
* @return 结果
*/
public int updateBusinessUser(BusinessUser businessUser);
/**
* 删除项目用户关联
*
* @param id 项目用户关联主键
* @return 结果
*/
public int deleteBusinessUserById(Long id);
/**
* 批量删除项目用户关联
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteBusinessUserByIds(Long[] ids);
}
......@@ -2,7 +2,11 @@ package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.system.domain.customer.CustomerFollowRecord;
import com.dsk.system.domain.customer.dto.CustomerFollowRecordSearchDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
......@@ -14,5 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CustomerFollowRecordMapper extends BaseMapper<CustomerFollowRecord> {
List<CustomerFollowRecord> selectList(@Param("dto") CustomerFollowRecordSearchDto dto);
}
......@@ -21,5 +21,9 @@ public interface CustomerMapper extends BaseMapper<Customer> {
List<CustomerListVo> selectList(@Param("dto") CustomerSearchDto dto);
List<Customer> selectUserList(Long userId);
Customer selectByCompanyIdAndUserId(@Param("companyId")Integer companyId,@Param("userId")Long userId);
}
package com.dsk.system.service;
import java.util.List;
import com.dsk.common.core.domain.entity.BusinessBacklog;
/**
* 项目工作待办Service接口
*
* @author llx
* @date 2023-05-17
*/
public interface IBusinessBacklogService
{
/**
* 查询项目工作待办
*
* @param id 项目工作待办主键
* @return 项目工作待办
*/
public BusinessBacklog selectBusinessBacklogById(Long id);
/**
* 查询项目工作待办列表
*
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
*/
public List<BusinessBacklog> selectBusinessBacklogList(BusinessBacklog businessBacklog);
/**
* 新增项目工作待办
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
public int insertBusinessBacklog(BusinessBacklog businessBacklog);
/**
* 修改项目工作待办
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
public int updateBusinessBacklog(BusinessBacklog businessBacklog);
/**
* 批量删除项目工作待办
*
* @param ids 需要删除的项目工作待办主键集合
* @return 结果
*/
public int deleteBusinessBacklogByIds(Long[] ids);
/**
* 删除项目工作待办信息
*
* @param id 项目工作待办主键
* @return 结果
*/
public int deleteBusinessBacklogById(Long id);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessContacts;
import java.util.List;
/**
* 项目联系人Service接口
*
* @author ruoyi
* @date 2023-05-17
*/
public interface IBusinessContactsService
{
/**
* 查询项目联系人
*
* @param id 项目联系人主键
* @return 项目联系人
*/
public BusinessContacts selectBusinessContactsById(Long id);
/**
* 查询项目联系人列表
*
* @param businessContacts 项目联系人
* @return 项目联系人集合
*/
public List<BusinessContacts> selectBusinessContactsList(BusinessContacts businessContacts);
/**
* 新增项目联系人
*
* @param businessContacts 项目联系人
* @return 结果
*/
public int insertBusinessContacts(BusinessContacts businessContacts);
/**
* 修改项目联系人
*
* @param businessContacts 项目联系人
* @return 结果
*/
public int updateBusinessContacts(BusinessContacts businessContacts);
/**
* 批量删除项目联系人
*
* @param ids 需要删除的项目联系人主键集合
* @return 结果
*/
public int deleteBusinessContactsByIds(Long[] ids);
/**
* 删除项目联系人信息
*
* @param id 项目联系人主键
* @return 结果
*/
public int deleteBusinessContactsById(Long id);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import java.util.List;
/**
* 项目跟进记录Service接口
*
* @author lxl
* @date 2023-05-17
*/
public interface IBusinessFollowRecordService
{
/**
* 查询项目跟进记录
*
* @param id 项目跟进记录主键
* @return 项目跟进记录
*/
public BusinessFollowRecord selectBusinessFollowRecordById(Long id);
/**
* 查询项目跟进记录列表
*
* @param businessFollowRecord 项目跟进记录
* @return 项目跟进记录集合
*/
public List<BusinessFollowRecord> selectBusinessFollowRecordList(BusinessFollowRecord businessFollowRecord);
/**
* 新增项目跟进记录
*
* @param businessFollowRecord 项目跟进记录
* @return 结果
*/
public int insertBusinessFollowRecord(BusinessFollowRecord businessFollowRecord);
/**
* 修改项目跟进记录
*
* @param businessFollowRecord 项目跟进记录
* @return 结果
*/
public int updateBusinessFollowRecord(BusinessFollowRecord businessFollowRecord);
/**
* 批量删除项目跟进记录
*
* @param ids 需要删除的项目跟进记录主键集合
* @return 结果
*/
public int deleteBusinessFollowRecordByIds(Long[] ids);
/**
* 删除项目跟进记录信息
*
* @param id 项目跟进记录主键
* @return 结果
*/
public int deleteBusinessFollowRecordById(Long id);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult;
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.customer.dto.CustomerBusinessSearchDto;
import com.dsk.system.domain.customer.vo.CustomerBusinessListVo;
import com.dsk.system.domain.vo.BusinessListVo;
import java.util.List;
/**
* 项目详情Service接口
*
* @author ruoyi
* @date 2023-05-17
*/
public interface IBusinessInfoService
{
/**
* 查询项目详情
*
* @param id 项目详情主键
* @return 项目详情
*/
public BusinessInfo selectBusinessInfoById(Long id);
/**
* 查询项目详情列表
*
* @param dto 项目详情
* @return 项目详情集合
*/
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto);
/**
* 查询所有项目名称(支持模糊查询)
* @return
*/
List<String> queryprojectName(BusinessListDto dto);
/**
* 新增项目详情
*
* @param dto 项目详情
* @return 结果
*/
public AjaxResult insertBusinessInfo(BusinessAddDto dto);
/**
* 修改项目详情
*
* @param businessInfo 项目详情
* @return 结果
*/
public int updateBusinessInfo(BusinessInfo businessInfo);
/**
* 批量删除项目详情
*
* @param ids 需要删除的项目详情主键集合
* @return 结果
*/
public int deleteBusinessInfoByIds(Long[] ids);
/**
* 删除项目详情信息
*
* @param id 项目详情主键
* @return 结果
*/
public int deleteBusinessInfoById(Long id);
int selectCountByStatusAndCustomerId(Integer status,String customerId);
List<CustomerBusinessListVo> selectCustomerBusinessList(CustomerBusinessSearchDto dto);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.system.domain.BusinessIdDto;
import java.util.List;
/**
* 项目标签Service接口
*
* @author ruoyi
* @date 2023-05-17
*/
public interface IBusinessLabelService
{
/**
* 查询项目标签
*
* @param id 项目标签主键
* @return 项目标签
*/
public BusinessLabel selectBusinessLabelById(Long id);
/**
* 查询项目标签列表
*
* @param businessLabel 项目标签
* @return 项目标签集合
*/
public List<BusinessLabel> selectBusinessLabelList(BusinessLabel businessLabel);
/**
* 新增项目标签
*
* @param businessLabel 项目标签
* @return 结果
*/
public int insertBusinessLabel(BusinessLabel businessLabel);
/**
* 修改项目标签
*
* @param businessLabel 项目标签
* @return 结果
*/
public int updateBusinessLabel(BusinessLabel businessLabel);
/**
* 批量删除项目标签
*
* @param ids 需要删除的项目标签主键集合
* @return 结果
*/
public int deleteBusinessLabelByIds(Long[] ids);
/**
* 删除项目标签信息
*
* @param dto 项目主键
* @return 结果
*/
public int deleteBusinessLabelById(BusinessIdDto dto);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.system.domain.BusinessIdDto;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 项目关联单位Service接口
*
* @author lxl
* @date 2023-05-17
*/
public interface IBusinessRelateCompanyService
{
/**
* 查询项目关联单位
*
* @param id 项目关联单位主键
* @return 项目关联单位
*/
public BusinessRelateCompany selectBusinessRelateCompanyById(Long id);
/**
* 查询项目关联单位列表
*
* @param businessRelateCompany 项目关联单位
* @return 项目关联单位集合
*/
public List<BusinessRelateCompany> selectBusinessRelateCompanyList(BusinessRelateCompany businessRelateCompany);
/**
* 新增项目关联单位
*
* @param businessRelateCompany 项目关联单位
* @return 结果
*/
public int insertBusinessRelateCompany(BusinessRelateCompany businessRelateCompany);
/**
* 修改项目关联单位
*
* @param businessRelateCompany 项目关联单位
* @return 结果
*/
public int updateBusinessRelateCompany(BusinessRelateCompany businessRelateCompany);
/**
* 批量删除项目关联单位
*
* @param ids 需要删除的项目关联单位主键集合
* @return 结果
*/
public int deleteBusinessRelateCompanyByIds(Long[] ids);
/**
* 删除项目关联单位信息
*
* @param id 项目关联单位主键
* @return 结果
*/
public int deleteBusinessRelateCompanyById(Long id);
/**
* 查询关联单位角色
*/
List<String> companyRoleList(BusinessIdDto dto);
}
package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessUser;
import java.util.List;
/**
* 项目用户关联Service接口
*
* @author lxl
* @date 2023-05-17
*/
public interface IBusinessUserService
{
/**
* 查询项目用户关联
*
* @param id 项目用户关联主键
* @return 项目用户关联
*/
public BusinessUser selectBusinessUserById(Long id);
/**
* 查询项目用户关联列表
*
* @param businessUser 项目用户关联
* @return 项目用户关联集合
*/
public List<BusinessUser> selectBusinessUserList(BusinessUser businessUser);
/**
* 新增项目用户关联
*
* @param businessUser 项目用户关联
* @return 结果
*/
public int insertBusinessUser(BusinessUser businessUser);
/**
* 修改项目用户关联
*
* @param businessUser 项目用户关联
* @return 结果
*/
public int updateBusinessUser(BusinessUser businessUser);
/**
* 批量删除项目用户关联
*
* @param ids 需要删除的项目用户关联主键集合
* @return 结果
*/
public int deleteBusinessUserByIds(Long[] ids);
/**
* 删除项目用户关联信息
*
* @param id 项目用户关联主键
* @return 结果
*/
public int deleteBusinessUserById(Long id);
}
package com.dsk.system.service;
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.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerVo;
import java.util.List;
......@@ -16,8 +19,14 @@ public interface ICustomerService {
List<CustomerListVo> selectList(CustomerSearchDto dto);
CustomerVo info(String customerId);
boolean add(Customer customer);
boolean edit(Customer customer);
List<Customer> selectUserList();
List<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto);
}
package com.dsk.system.service.impl;
import com.dsk.common.core.domain.entity.BusinessBacklog;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.mapper.BusinessBacklogMapper;
import com.dsk.system.service.IBusinessBacklogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 项目工作待办Service业务层处理
*
* @author lxl
* @date 2023-05-17
*/
@Service
public class BusinessBacklogServiceImpl implements IBusinessBacklogService
{
@Autowired
private BusinessBacklogMapper businessBacklogMapper;
/**
* 查询项目工作待办
*
* @param id 项目工作待办主键
* @return 项目工作待办
*/
@Override
public BusinessBacklog selectBusinessBacklogById(Long id)
{
return businessBacklogMapper.selectBusinessBacklogById(id);
}
/**
* 查询项目工作待办列表
*
* @param businessBacklog 项目工作待办
* @return 项目工作待办
*/
@Override
public List<BusinessBacklog> selectBusinessBacklogList(BusinessBacklog businessBacklog)
{
return businessBacklogMapper.selectBusinessBacklogList(businessBacklog);
}
/**
* 新增项目工作待办
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
@Override
public int insertBusinessBacklog(BusinessBacklog businessBacklog)
{
businessBacklog.setCreateTime(DateUtils.getNowDate());
//新增记录,默认未完成
businessBacklog.setState(0);
return businessBacklogMapper.insertBusinessBacklog(businessBacklog);
}
/**
* 修改项目工作待办
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
@Override
public int updateBusinessBacklog(BusinessBacklog businessBacklog)
{
businessBacklog.setUpdateTime(DateUtils.getNowDate());
return businessBacklogMapper.updateBusinessBacklog(businessBacklog);
}
/**
* 批量删除项目工作待办
*
* @param ids 需要删除的项目工作待办主键
* @return 结果
*/
@Override
public int deleteBusinessBacklogByIds(Long[] ids)
{
return businessBacklogMapper.deleteBusinessBacklogByIds(ids);
}
/**
* 删除项目工作待办信息
*
* @param id 项目工作待办主键
* @return 结果
*/
@Override
public int deleteBusinessBacklogById(Long id)
{
return businessBacklogMapper.deleteBusinessBacklogById(id);
}
}
package com.dsk.system.service.impl;
import java.util.List;
import com.dsk.common.core.domain.entity.BusinessContacts;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.mapper.BusinessContactsMapper;
import com.dsk.system.service.IBusinessContactsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 项目联系人Service业务层处理
*
* @author lxl
* @date 2023-05-17
*/
@Service
public class BusinessContactsServiceImpl implements IBusinessContactsService
{
@Autowired
private BusinessContactsMapper businessContactsMapper;
/**
* 查询项目联系人
*
* @param id 项目联系人主键
* @return 项目联系人
*/
@Override
public BusinessContacts selectBusinessContactsById(Long id)
{
return businessContactsMapper.selectBusinessContactsById(id);
}
/**
* 查询项目联系人列表
*
* @param businessContacts 项目联系人
* @return 项目联系人
*/
@Override
public List<BusinessContacts> selectBusinessContactsList(BusinessContacts businessContacts)
{
return businessContactsMapper.selectBusinessContactsList(businessContacts);
}
/**
* 新增项目联系人
*
* @param businessContacts 项目联系人
* @return 结果
*/
@Override
public int insertBusinessContacts(BusinessContacts businessContacts)
{
return businessContactsMapper.insertBusinessContacts(businessContacts);
}
/**
* 修改项目联系人
*
* @param businessContacts 项目联系人
* @return 结果
*/
@Override
public int updateBusinessContacts(BusinessContacts businessContacts)
{
businessContacts.setUpdateTime(DateUtils.getNowDate());
return businessContactsMapper.updateBusinessContacts(businessContacts);
}
/**
* 批量删除项目联系人
*
* @param ids 需要删除的项目联系人主键
* @return 结果
*/
@Override
public int deleteBusinessContactsByIds(Long[] ids)
{
return businessContactsMapper.deleteBusinessContactsByIds(ids);
}
/**
* 删除项目联系人信息
*
* @param id 项目联系人主键
* @return 结果
*/
@Override
public int deleteBusinessContactsById(Long id)
{
return businessContactsMapper.deleteBusinessContactsById(id);
}
}
package com.dsk.system.service.impl;
import java.util.List;
import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.mapper.BusinessFollowRecordMapper;
import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 项目跟进记录Service业务层处理
*
* @author lxl
* @date 2023-05-17
*/
@Service
public class BusinessFollowRecordServiceImpl implements IBusinessFollowRecordService
{
@Autowired
private BusinessFollowRecordMapper businessFollowRecordMapper;
/**
* 查询项目跟进记录
*
* @param id 项目跟进记录主键
* @return 项目跟进记录
*/
@Override
public BusinessFollowRecord selectBusinessFollowRecordById(Long id)
{
return businessFollowRecordMapper.selectBusinessFollowRecordById(id);
}
/**
* 查询项目跟进记录列表
*
* @param businessFollowRecord 项目跟进记录
* @return 项目跟进记录
*/
@Override
public List<BusinessFollowRecord> selectBusinessFollowRecordList(BusinessFollowRecord businessFollowRecord)
{
return businessFollowRecordMapper.selectBusinessFollowRecordList(businessFollowRecord);
}
/**
* 新增项目跟进记录
*
* @param businessFollowRecord 项目跟进记录
* @return 结果
*/
@Override
public int insertBusinessFollowRecord(BusinessFollowRecord businessFollowRecord)
{
return businessFollowRecordMapper.insertBusinessFollowRecord(businessFollowRecord);
}
/**
* 修改项目跟进记录
*
* @param businessFollowRecord 项目跟进记录
* @return 结果
*/
@Override
public int updateBusinessFollowRecord(BusinessFollowRecord businessFollowRecord)
{
businessFollowRecord.setUpdateTime(DateUtils.getNowDate());
return businessFollowRecordMapper.updateBusinessFollowRecord(businessFollowRecord);
}
/**
* 批量删除项目跟进记录
*
* @param ids 需要删除的项目跟进记录主键
* @return 结果
*/
@Override
public int deleteBusinessFollowRecordByIds(Long[] ids)
{
return businessFollowRecordMapper.deleteBusinessFollowRecordByIds(ids);
}
/**
* 删除项目跟进记录信息
*
* @param id 项目跟进记录主键
* @return 结果
*/
@Override
public int deleteBusinessFollowRecordById(Long id)
{
return businessFollowRecordMapper.deleteBusinessFollowRecordById(id);
}
}
package com.dsk.system.service.impl;
import java.util.Arrays;
import java.util.List;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.core.domain.entity.BusinessUser;
import com.dsk.common.dtos.BusinessInfoDto;
import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.BusinessAddDto;
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.BusinessListVo;
import com.dsk.system.mapper.BusinessInfoMapper;
import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* 项目详情Service业务层处理
*
* @author lxl
* @date 2023-05-17
*/
@Service
public class BusinessInfoServiceImpl implements IBusinessInfoService {
@Resource
private BusinessInfoMapper businessInfoMapper;
@Resource
private BusinessUserMapper businessUserMapper;
@Resource
private BusinessRelateCompanyMapper businessRelateCompanyMapper;
/**
* 查询项目详情
*
* @param id 项目详情主键
* @return 项目详情
*/
@Override
public BusinessInfo selectBusinessInfoById(Long id) {
return businessInfoMapper.selectBusinessInfoById(id);
}
/**
* 查询项目详情列表
*
* @param dto 项目详情
* @return 项目详情
*/
@Override
public List<BusinessListVo> selectBusinessInfoList(BusinessListDto dto) {
return businessInfoMapper.selectBusinessInfoList(dto);
}
@Override
public List<String> queryprojectName(BusinessListDto dto) {
return businessInfoMapper.queryprojectName(dto);
}
/**
* 新增项目详情
*
* @param dto 项目详情
* @return 结果
*/
@Override
@Transactional
public AjaxResult insertBusinessInfo(BusinessAddDto dto) {
//新增项目主信息
BusinessInfo businessInfo = new BusinessInfo();
BeanUtil.copyProperties(dto, businessInfo);
int addBusiness = businessInfoMapper.insertBusinessInfo(businessInfo);
if (addBusiness > 0) {
//获取登陆用户的部门id
// Long deptId = SecurityUtils.getLoginUser().getDeptId();
Long deptId = 100l;
//新增用户-项目关系信息
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(), "业主"));
return addbusinessUser > 0 && addRelateCompany > 0 ? AjaxResult.success() : AjaxResult.error();
}
return AjaxResult.error();
}
/**
* 修改项目详情
*
* @param businessInfo 项目详情
* @return 结果
*/
@Override
public int updateBusinessInfo(BusinessInfo businessInfo) {
businessInfo.setUpdateTime(DateUtils.getNowDate());
return businessInfoMapper.updateBusinessInfo(businessInfo);
}
/**
* 批量删除项目详情
*
* @param ids 需要删除的项目详情主键
* @return 结果
*/
@Override
public int deleteBusinessInfoByIds(Long[] ids) {
return businessInfoMapper.deleteBusinessInfoByIds(ids);
}
/**
* 删除项目详情信息
*
* @param id 项目详情主键
* @return 结果
*/
@Override
public int deleteBusinessInfoById(Long 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);
}
}
package com.dsk.system.service.impl;
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.mapper.BusinessLabelMapper;
import com.dsk.system.service.IBusinessLabelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 项目标签Service业务层处理
*
* @author ruoyi
* @date 2023-05-17
*/
@Service
public class BusinessLabelServiceImpl implements IBusinessLabelService
{
@Autowired
private BusinessLabelMapper businessLabelMapper;
/**
* 查询项目标签
*
* @param id 项目标签主键
* @return 项目标签
*/
@Override
public BusinessLabel selectBusinessLabelById(Long id)
{
return businessLabelMapper.selectBusinessLabelById(id);
}
/**
* 查询项目标签列表
*
* @param businessLabel 项目标签
* @return 项目标签
*/
@Override
public List<BusinessLabel> selectBusinessLabelList(BusinessLabel businessLabel)
{
return businessLabelMapper.selectBusinessLabelList(businessLabel);
}
/**
* 新增项目标签
*
* @param businessLabel 项目标签
* @return 结果
*/
@Override
public int insertBusinessLabel(BusinessLabel businessLabel)
{
businessLabel.setCreateTime(DateUtils.getNowDate());
return businessLabelMapper.insertBusinessLabel(businessLabel);
}
/**
* 修改项目标签
*
* @param businessLabel 项目标签
* @return 结果
*/
@Override
public int updateBusinessLabel(BusinessLabel businessLabel)
{
businessLabel.setUpdateTime(DateUtils.getNowDate());
return businessLabelMapper.updateBusinessLabel(businessLabel);
}
/**
* 批量删除项目标签
*
* @param ids 需要删除的项目标签主键
* @return 结果
*/
@Override
public int deleteBusinessLabelByIds(Long[] ids)
{
return businessLabelMapper.deleteBusinessLabelByIds(ids);
}
/**
* 删除项目标签信息
*
* @param dto 项目主键
* @return 结果
*/
@Override
public int deleteBusinessLabelById(BusinessIdDto dto)
{
return businessLabelMapper.deleteBusinessLabelById(dto);
}
}
package com.dsk.system.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.mapper.BusinessRelateCompanyMapper;
import com.dsk.system.service.IBusinessRelateCompanyService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 项目关联单位Service业务层处理
*
* @author lxl
* @date 2023-05-17
*/
@Service
public class BusinessRelateCompanyServiceImpl implements IBusinessRelateCompanyService
{
@Resource
private BusinessRelateCompanyMapper businessRelateCompanyMapper;
/**
* 查询项目关联单位
*
* @param id 项目关联单位主键
* @return 项目关联单位
*/
@Override
public BusinessRelateCompany selectBusinessRelateCompanyById(Long id)
{
return businessRelateCompanyMapper.selectBusinessRelateCompanyById(id);
}
/**
* 查询项目关联单位列表
*
* @param businessRelateCompany 项目关联单位
* @return 项目关联单位
*/
@Override
public List<BusinessRelateCompany> selectBusinessRelateCompanyList(BusinessRelateCompany businessRelateCompany)
{
return businessRelateCompanyMapper.selectBusinessRelateCompanyList(businessRelateCompany);
}
/**
* 新增项目关联单位
*
* @param businessRelateCompany 项目关联单位
* @return 结果
*/
@Override
public int insertBusinessRelateCompany(BusinessRelateCompany businessRelateCompany)
{
businessRelateCompany.setCreateTime(DateUtils.getNowDate());
return businessRelateCompanyMapper.insertBusinessRelateCompany(businessRelateCompany);
}
/**
* 修改项目关联单位
*
* @param businessRelateCompany 项目关联单位
* @return 结果
*/
@Override
public int updateBusinessRelateCompany(BusinessRelateCompany businessRelateCompany)
{
businessRelateCompany.setUpdateTime(DateUtils.getNowDate());
return businessRelateCompanyMapper.updateBusinessRelateCompany(businessRelateCompany);
}
/**
* 批量删除项目关联单位
*
* @param ids 需要删除的项目关联单位主键
* @return 结果
*/
@Override
public int deleteBusinessRelateCompanyByIds(Long[] ids)
{
return businessRelateCompanyMapper.deleteBusinessRelateCompanyByIds(ids);
}
/**
* 删除项目关联单位信息
*
* @param id 项目关联单位主键
* @return 结果
*/
@Override
public int deleteBusinessRelateCompanyById(Long id)
{
return businessRelateCompanyMapper.deleteBusinessRelateCompanyById(id);
}
@Override
public List<String> companyRoleList(BusinessIdDto dto) {
List<BusinessRelateCompany> roleList = businessRelateCompanyMapper.selectList(Wrappers.<BusinessRelateCompany>lambdaQuery()
.select(BusinessRelateCompany::getCompanyRole)
.eq(BusinessRelateCompany::getBusinessId, dto.getBusinessId())
.groupBy(BusinessRelateCompany::getCompanyRole)
.orderByDesc(BusinessRelateCompany::getCreateTime));
return roleList.stream().map(p ->p.getCompanyRole()).collect(Collectors.toList());
}
}
package com.dsk.system.service.impl;
import java.util.List;
import com.dsk.common.core.domain.entity.BusinessUser;
import com.dsk.common.utils.DateUtils;
import com.dsk.system.mapper.BusinessUserMapper;
import com.dsk.system.service.IBusinessUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 项目用户关联Service业务层处理
*
* @author lxl
* @date 2023-05-17
*/
@Service
public class BusinessUserServiceImpl implements IBusinessUserService
{
@Autowired
private BusinessUserMapper businessUserMapper;
/**
* 查询项目用户关联
*
* @param id 项目用户关联主键
* @return 项目用户关联
*/
@Override
public BusinessUser selectBusinessUserById(Long id)
{
return businessUserMapper.selectBusinessUserById(id);
}
/**
* 查询项目用户关联列表
*
* @param businessUser 项目用户关联
* @return 项目用户关联
*/
@Override
public List<BusinessUser> selectBusinessUserList(BusinessUser businessUser)
{
return businessUserMapper.selectBusinessUserList(businessUser);
}
/**
* 新增项目用户关联
*
* @param businessUser 项目用户关联
* @return 结果
*/
@Override
public int insertBusinessUser(BusinessUser businessUser)
{
businessUser.setCreateTime(DateUtils.getNowDate());
return businessUserMapper.insertBusinessUser(businessUser);
}
/**
* 修改项目用户关联
*
* @param businessUser 项目用户关联
* @return 结果
*/
@Override
public int updateBusinessUser(BusinessUser businessUser)
{
businessUser.setUpdateTime(DateUtils.getNowDate());
return businessUserMapper.updateBusinessUser(businessUser);
}
/**
* 批量删除项目用户关联
*
* @param ids 需要删除的项目用户关联主键
* @return 结果
*/
@Override
public int deleteBusinessUserByIds(Long[] ids)
{
return businessUserMapper.deleteBusinessUserByIds(ids);
}
/**
* 删除项目用户关联信息
*
* @param id 项目用户关联主键
* @return 结果
*/
@Override
public int deleteBusinessUserById(Long id)
{
return businessUserMapper.deleteBusinessUserById(id);
}
}
......@@ -3,6 +3,7 @@ package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.annotation.DataScope;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.customer.CustomerFollowRecord;
import com.dsk.system.domain.customer.dto.CustomerFollowRecordSearchDto;
......@@ -29,6 +30,7 @@ public class CustomerFollowRecordServiceImpl implements ICustomerFollowRecordSer
private CustomerFollowRecordMapper baseMapper;
@Override
// @DataScope(deptAlias = "d",userAlias = "u")
public List<CustomerFollowRecord> selectList(CustomerFollowRecordSearchDto dto) {
LambdaQueryWrapper<CustomerFollowRecord> wrapper = Wrappers.lambdaQuery();
if (!ObjectUtils.isEmpty(dto.getCustomerId())) {
......@@ -37,6 +39,9 @@ public class CustomerFollowRecordServiceImpl implements ICustomerFollowRecordSer
wrapper.eq(CustomerFollowRecord::getUserId, SecurityUtils.getUserId())
.orderByDesc(CustomerFollowRecord::getCreateTime);
return baseMapper.selectList(wrapper);
// dto.setUserId(SecurityUtils.getUserId());
// return baseMapper.selectList(dto);
}
@Override
......
package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanException;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.customer.Customer;
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.vo.CustomerBusinessListVo;
import com.dsk.system.domain.customer.vo.CustomerListVo;
import com.dsk.system.domain.customer.vo.CustomerVo;
import com.dsk.system.mapper.CustomerMapper;
import com.dsk.system.mapper.CustomerUserMapper;
import com.dsk.system.service.IBusinessInfoService;
import com.dsk.system.service.ICustomerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
......@@ -30,32 +37,47 @@ public class CustomerServiceImpl implements ICustomerService {
private CustomerMapper baseMapper;
@Resource
private CustomerUserMapper customerUserMapper;
@Autowired
private IBusinessInfoService businessInfoService;
@Override
public List<CustomerListVo> selectList(CustomerSearchDto dto) {
dto.setUserId(SecurityUtils.getUserId());
List<CustomerListVo> vos = baseMapper.selectList(dto);
for (CustomerListVo vo : vos) {
//TODO 客户项目相关统计
vos.parallelStream().forEach(vo -> {
//合作项目
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;
}
@Override
public CustomerVo info(String customerId) {
CustomerVo vo = new CustomerVo();
BeanUtil.copyProperties(baseMapper.selectById(customerId), vo);
CustomerUser customerUser = customerUserMapper.selectOne(Wrappers.<CustomerUser>lambdaQuery()
.eq(CustomerUser::getCustomerId, customerId));
vo.setUserId(customerUser.getUserId());
return vo;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean add(Customer customer) {
if (ObjectUtils.isEmpty(customer.getCompanyName())) throw new BeanException("企业名称不能为空");
if (ObjectUtils.isEmpty(customer.getCompanyId())) throw new BeanException("企业id不能为空");
final Long userId = SecurityUtils.getUserId();
customer.setCreateId(userId);
customer.setUpdateId(userId);
//TODO 查询企业id
customer.setCompanyId(0);
//查重
Customer verifyCustomer = baseMapper.selectByCompanyIdAndUserId(customer.getCompanyId(), userId);
if (!ObjectUtils.isEmpty(verifyCustomer)) {
throw new ServiceException("当前客户信息已存在,请勿重复添加!");
}
int i = baseMapper.insert(customer);
if (i == 0) throw new ServiceException("客户信息添加错误!");
......@@ -74,4 +96,16 @@ public class CustomerServiceImpl implements ICustomerService {
int u = baseMapper.updateById(customer);
return u != 0;
}
@Override
public List<Customer> selectUserList() {
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);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessBacklogMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessBacklog" id="BusinessBacklogResult">
<result property="id" column="id"/>
<result property="businessId" column="business_id"/>
<result property="target" column="target"/>
<result property="task" column="task"/>
<result property="finishTime" column="finish_time"/>
<result property="state" column="state"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectBusinessBacklogVo">
select id,
business_id,
target,
task,
finish_time,
state,
create_time,
update_time
from business_backlog
</sql>
<select id="selectBusinessBacklogList" parameterType="com.dsk.common.core.domain.entity.BusinessBacklog"
resultMap="BusinessBacklogResult">
<include refid="selectBusinessBacklogVo"/>
<where>
<if test="businessId != null ">and business_id = #{businessId}</if>
<if test="target != null and target != ''">and target = #{target}</if>
<if test="task != null and task != ''">and task = #{task}</if>
<if test="finishTime != null ">and finish_time = #{finishTime}</if>
<if test="state != null ">and state = #{state}</if>
</where>
ORDER BY create_time DESC
</select>
<select id="selectBusinessBacklogById" parameterType="Long" resultMap="BusinessBacklogResult">
<include refid="selectBusinessBacklogVo"/>
where id = #{id}
</select>
<insert id="insertBusinessBacklog" parameterType="com.dsk.common.core.domain.entity.BusinessBacklog"
useGeneratedKeys="true" keyProperty="id">
insert into business_backlog
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if>
<if test="target != null">target,</if>
<if test="task != null">task,</if>
<if test="finishTime != null">finish_time,</if>
<if test="state != null">state,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if>
<if test="target != null">#{target},</if>
<if test="task != null">#{task},</if>
<if test="finishTime != null">#{finishTime},</if>
<if test="state != null">#{state},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBusinessBacklog" parameterType="com.dsk.common.core.domain.entity.BusinessBacklog">
update business_backlog
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="target != null">target = #{target},</if>
<if test="task != null">task = #{task},</if>
<if test="finishTime != null">finish_time = #{finishTime},</if>
<if test="state != null">state = #{state},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessBacklogById" parameterType="Long">
delete
from business_backlog
where id = #{id}
</delete>
<delete id="deleteBusinessBacklogByIds" parameterType="String">
delete from business_backlog where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessContactsMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessContacts" id="BusinessContactsResult">
<result property="id" column="id"/>
<result property="businessId" column="business_id"/>
<result property="name" column="name"/>
<result property="role" column="role"/>
<result property="office" column="office"/>
<result property="position" column="position"/>
<result property="phone" column="phone"/>
<result property="accendant" column="accendant"/>
<result property="creatTime" column="creat_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectBusinessContactsVo">
select id,
business_id,
name,
role,
office,
position,
phone,
accendant,
creat_time,
update_time
from business_contacts
</sql>
<select id="selectBusinessContactsList" parameterType="com.dsk.common.core.domain.entity.BusinessContacts" resultMap="BusinessContactsResult">
<include refid="selectBusinessContactsVo"/>
<where>
<if test="businessId != null ">and business_id = #{businessId}</if>
<if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
<if test="role != null and role != ''">and role = #{role}</if>
<if test="office != null and office != ''">and office = #{office}</if>
<if test="position != null and position != ''">and position = #{position}</if>
<if test="phone != null and phone != ''">and phone = #{phone}</if>
<if test="accendant != null and accendant != ''">and accendant = #{accendant}</if>
<if test="creatTime != null ">and creat_time = #{creatTime}</if>
</where>
</select>
<select id="selectBusinessContactsById" parameterType="Long" resultMap="BusinessContactsResult">
<include refid="selectBusinessContactsVo"/>
where id = #{id}
</select>
<insert id="insertBusinessContacts" parameterType="com.dsk.common.core.domain.entity.BusinessContacts" useGeneratedKeys="true" keyProperty="id">
insert into business_contacts
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if>
<if test="name != null">name,</if>
<if test="role != null">role,</if>
<if test="office != null">office,</if>
<if test="position != null">position,</if>
<if test="phone != null">phone,</if>
<if test="accendant != null">accendant,</if>
<if test="creatTime != null">creat_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if>
<if test="name != null">#{name},</if>
<if test="role != null">#{role},</if>
<if test="office != null">#{office},</if>
<if test="position != null">#{position},</if>
<if test="phone != null">#{phone},</if>
<if test="accendant != null">#{accendant},</if>
<if test="creatTime != null">#{creatTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBusinessContacts" parameterType="com.dsk.common.core.domain.entity.BusinessContacts">
update business_contacts
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="name != null">name = #{name},</if>
<if test="role != null">role = #{role},</if>
<if test="office != null">office = #{office},</if>
<if test="position != null">position = #{position},</if>
<if test="phone != null">phone = #{phone},</if>
<if test="accendant != null">accendant = #{accendant},</if>
<if test="creatTime != null">creat_time = #{creatTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessContactsById" parameterType="Long">
delete
from business_contacts
where id = #{id}
</delete>
<delete id="deleteBusinessContactsByIds" parameterType="String">
delete from business_contacts where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessFollowRecordMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessFollowRecord" id="BusinessFollowRecordResult">
<result property="id" column="id"/>
<result property="businessId" column="business_id"/>
<result property="userId" column="user_id"/>
<result property="visitPerson" column="visit_person"/>
<result property="position" column="position"/>
<result property="visitTime" column="visit_time"/>
<result property="nextVisitTime" column="next_visit_time"/>
<result property="recordInfo" column="record_info"/>
<result property="visitWay" column="visit_way"/>
<result property="creatTime" column="creat_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectBusinessFollowRecordVo">
select id,
business_id,
user_id,
visit_person,
position,
visit_time,
next_visit_time,
record_info,
visit_way,
creat_time,
update_time
from business_follow_record
</sql>
<select id="selectBusinessFollowRecordList" parameterType="com.dsk.common.core.domain.entity.BusinessFollowRecord">
select f.*,u.nick_name as nickName
from business_follow_record f
left join sys_user u on f.user_id = u.user_id
<where>
<if test="businessId != null ">and f.business_id = #{businessId}</if>
<if test="userId != null ">and f.user_id = #{userId}</if>
<if test="visitPerson != null and visitPerson != ''">and f.visit_person = #{visitPerson}</if>
<if test="position != null and position != ''">and f.position = #{position}</if>
<if test="visitTime != null ">and f.visit_time = #{visitTime}</if>
<if test="nextVisitTime != null ">and f.next_visit_time = #{nextVisitTime}</if>
<if test="recordInfo != null and recordInfo != ''">and f.record_info = #{recordInfo}</if>
<if test="visitWay != null and visitWay != ''">and f.visit_way = #{visitWay}</if>
<if test="creatTime != null ">and f.creat_time = #{creatTime}</if>
</where>
ORDER BY create_time DESC
</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"
keyProperty="id">
insert into business_follow_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if>
<if test="userId != null">user_id,</if>
<if test="visitPerson != null and visitPerson != ''">visit_person,</if>
<if test="position != null and position != ''">position,</if>
<if test="visitTime != null">visit_time,</if>
<if test="nextVisitTime != null">next_visit_time,</if>
<if test="recordInfo != null">record_info,</if>
<if test="visitWay != null">visit_way,</if>
<if test="creatTime != null">creat_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if>
<if test="userId != null">#{userId},</if>
<if test="visitPerson != null and visitPerson != ''">#{visitPerson},</if>
<if test="position != null and position != ''">#{position},</if>
<if test="visitTime != null">#{visitTime},</if>
<if test="nextVisitTime != null">#{nextVisitTime},</if>
<if test="recordInfo != null">#{recordInfo},</if>
<if test="visitWay != null">#{visitWay},</if>
<if test="creatTime != null">#{creatTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBusinessFollowRecord" parameterType="com.dsk.common.core.domain.entity.BusinessFollowRecord">
update business_follow_record
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="visitPerson != null and visitPerson != ''">visit_person = #{visitPerson},</if>
<if test="position != null and position != ''">position = #{position},</if>
<if test="visitTime != null">visit_time = #{visitTime},</if>
<if test="nextVisitTime != null">next_visit_time = #{nextVisitTime},</if>
<if test="recordInfo != null">record_info = #{recordInfo},</if>
<if test="visitWay != null">visit_way = #{visitWay},</if>
<if test="creatTime != null">creat_time = #{creatTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessFollowRecordById" parameterType="Long">
delete
from business_follow_record
where id = #{id}
</delete>
<delete id="deleteBusinessFollowRecordByIds" parameterType="String">
delete from business_follow_record where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessInfoMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessInfo" id="BusinessInfoResult">
<result property="id" column="id"/>
<result property="projectName" column="project_name"/>
<result property="investmentAmount" column="investment_amount"/>
<result property="amountSource" column="amount_source"/>
<result property="planBidTime" column="plan_bid_time"/>
<result property="planStartTime" column="plan_start_time"/>
<result property="projectLevel" column="project_level"/>
<result property="projectStage" column="project_stage"/>
<result property="buildProperty" column="build_property"/>
<result property="planCompleteTime" column="plan_complete_time"/>
<result property="projectDetails" column="project_details"/>
<result property="provinceName" column="province_name"/>
<result property="provinceId" column="province_id"/>
<result property="cityName" column="city_name"/>
<result property="cityId" column="city_id"/>
<result property="districtName" column="district_name"/>
<result property="districtId" column="district_id"/>
<result property="projectType" column="project_type"/>
<result property="projectCategory" column="project_category"/>
<result property="team" column="team"/>
<result property="isPrivate" column="is_private"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="status" column="status"/>
<result property="customerId" column="customer_id"/>
</resultMap>
<sql id="selectBusinessInfoVo">
select id,
project_name,
investment_amount,
amount_source,
plan_bid_time,
plan_start_time,
project_level,
project_stage,
build_property,
plan_complete_time,
project_details,
province_name,
province_id,
city_name,
city_id,
district_name,
district_id,
project_type,
project_category,
team,
is_private,
create_time,
update_time,
status,
customer_id
from business_info
</sql>
<select id="selectBusinessInfoList" resultType="com.dsk.system.domain.vo.BusinessListVo">
SELECT
i.id,
i.project_name projectName,
i.province_name provinceName,
i.city_name cityName,
i.district_name districtName,
i.investment_amount investmentAmount,
GROUP_CONCAT(DISTINCT r.company_name) ownerCompany,
MAX(f.creat_time) followTime,
u.nick_name nickName,
GROUP_CONCAT(DISTINCT l.label) label
FROM business_info i
LEFT JOIN business_follow_record f on f.business_id = i.id
LEFT JOIN (SELECT business_id,company_name FROM business_relate_company WHERE company_role LIKE '%业主%' ) r on r.business_id = i.id
LEFT JOIN business_label l on l.business_id = i.id
LEFT JOIN business_user bu on bu.business_id = i.id
LEFT JOIN sys_user u on u.user_id = f.user_id
<where>
<if test="provinceId != null">
and i.province_id = #{provinceId}
</if>
<if test="cityId != null">
and i.city_id = #{cityId}
</if>
<if test="districtId != null">
and i.district_id = #{districtId}
</if>
<if test="projectType != null and projectType != ''">
and i.project_type = #{projectType}
</if>
<if test="minAmount != null and minAmount != '' and maxAmount != minAmount">
and i.investment_amount &gt;= #{minAmount}
</if>
<if test="maxAmount != null and maxAmount != '' and maxAmount != minAmount">
and i.investment_amount &lt;= #{maxAmount}
</if>
<if test="minAmount != null and minAmount != '' and maxAmount != null and maxAmount != '' and maxAmount == minAmount">
and i.investment_amount = #{minAmount}
</if>
<if test="projectStage != null and projectStage != ''">
and i.project_stage = #{projectStage}
</if>
<if test="projectName != null and projectName != ''">
and i.project_name like concat('%',#{projectName},'%')
</if>
<if test="ownerCompany != null and ownerCompany != ''">
or r.company_name like concat('%',#{ownerCompany},'%')
</if>
<if test="userId != null">
and bu.user_id = #{userId}
</if>
<if test="deptId != null">
and bu.dept_id = #{deptId} and i.is_private = 1
</if>
</where>
GROUP BY i.id
ORDER BY i.create_time DESC
</select>
<select id="queryprojectName" 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>
<select id="selectBusinessInfoById" parameterType="Long" resultMap="BusinessInfoResult">
<include refid="selectBusinessInfoVo"/>
where id = #{id}
</select>
<insert id="insertBusinessInfo" parameterType="com.dsk.common.core.domain.entity.BusinessInfo" useGeneratedKeys="true" keyProperty="id">
insert into business_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectName != null">project_name,</if>
<if test="investmentAmount != null">investment_amount,</if>
<if test="amountSource != null">amount_source,</if>
<if test="planBidTime != null">plan_bid_time,</if>
<if test="planStartTime != null">plan_start_time,</if>
<if test="projectLevel != null">project_level,</if>
<if test="projectStage != null">project_stage,</if>
<if test="buildProperty != null">build_property,</if>
<if test="planCompleteTime != null">plan_complete_time,</if>
<if test="projectDetails != null">project_details,</if>
<if test="provinceName != null">province_name,</if>
<if test="provinceId != null">province_id,</if>
<if test="cityName != null">city_name,</if>
<if test="cityId != null">city_id,</if>
<if test="districtName != null">district_name,</if>
<if test="districtId != null">district_id,</if>
<if test="projectType != null">project_type,</if>
<if test="projectCategory != null">project_category,</if>
<if test="team != null">team,</if>
<if test="isPrivate != null">is_private,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="status != null">status,</if>
<if test="customerId != null">customer_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectName != null">#{projectName},</if>
<if test="investmentAmount != null">#{investmentAmount},</if>
<if test="amountSource != null">#{amountSource},</if>
<if test="planBidTime != null">#{planBidTime},</if>
<if test="planStartTime != null">#{planStartTime},</if>
<if test="projectLevel != null">#{projectLevel},</if>
<if test="projectStage != null">#{projectStage},</if>
<if test="buildProperty != null">#{buildProperty},</if>
<if test="planCompleteTime != null">#{planCompleteTime},</if>
<if test="projectDetails != null">#{projectDetails},</if>
<if test="provinceName != null">#{provinceName},</if>
<if test="provinceId != null">#{provinceId},</if>
<if test="cityName != null">#{cityName},</if>
<if test="cityId != null">#{cityId},</if>
<if test="districtName != null">#{districtName},</if>
<if test="districtId != null">#{districtId},</if>
<if test="projectType != null">#{projectType},</if>
<if test="projectCategory != null">#{projectCategory},</if>
<if test="team != null">#{team},</if>
<if test="isPrivate != null">#{isPrivate},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="status != null">#{status},</if>
<if test="customerId != null">#{customerId},</if>
</trim>
</insert>
<update id="updateBusinessInfo" parameterType="com.dsk.common.core.domain.entity.BusinessInfo">
update business_info
<trim prefix="SET" suffixOverrides=",">
<if test="projectName != null">project_name = #{projectName},</if>
<if test="investmentAmount != null">investment_amount = #{investmentAmount},</if>
<if test="amountSource != null">amount_source = #{amountSource},</if>
<if test="planBidTime != null">plan_bid_time = #{planBidTime},</if>
<if test="planStartTime != null">plan_start_time = #{planStartTime},</if>
<if test="projectLevel != null">project_level = #{projectLevel},</if>
<if test="projectStage != null">project_stage = #{projectStage},</if>
<if test="buildProperty != null">build_property = #{buildProperty},</if>
<if test="planCompleteTime != null">plan_complete_time = #{planCompleteTime},</if>
<if test="projectDetails != null">project_details = #{projectDetails},</if>
<if test="provinceName != null">province_name = #{provinceName},</if>
<if test="provinceId != null">province_id = #{provinceId},</if>
<if test="cityName != null">city_name = #{cityName},</if>
<if test="cityId != null">city_id = #{cityId},</if>
<if test="districtName != null">district_name = #{districtName},</if>
<if test="districtId != null">district_id = #{districtId},</if>
<if test="projectType != null">project_type = #{projectType},</if>
<if test="projectCategory != null">project_category = #{projectCategory},</if>
<if test="team != null">team = #{team},</if>
<if test="isPrivate != null">is_private = #{isPrivate},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="status != null">status = #{status},</if>
<if test="customerId != null">customer_id = #{customerId},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessInfoById" parameterType="Long">
delete
from business_info
where id = #{id}
</delete>
<delete id="deleteBusinessInfoByIds" parameterType="Long">
delete from business_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</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>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessLabelMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessLabel" id="BusinessLabelResult">
<result property="id" column="id"/>
<result property="businessId" column="business_id"/>
<result property="label" column="label"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectBusinessLabelVo">
select id, business_id, label, create_time, update_time
from business_label
</sql>
<select id="selectBusinessLabelList" parameterType="com.dsk.common.core.domain.entity.BusinessLabel"
resultMap="BusinessLabelResult">
<include refid="selectBusinessLabelVo"/>
<where>
<if test="businessId != null ">and business_id = #{businessId}</if>
<if test="label != null and label != ''">and label = #{label}</if>
</where>
</select>
<select id="selectBusinessLabelById" parameterType="Long" resultMap="BusinessLabelResult">
<include refid="selectBusinessLabelVo"/>
where id = #{id}
</select>
<insert id="insertBusinessLabel" parameterType="com.dsk.common.core.domain.entity.BusinessLabel"
useGeneratedKeys="true" keyProperty="id">
insert into business_label
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if>
<if test="label != null">label,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if>
<if test="label != null">#{label},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBusinessLabel" parameterType="com.dsk.common.core.domain.entity.BusinessLabel">
update business_label
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="label != null">label = #{label},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessLabelById">
delete
from business_label
where business_id = #{businessId} and label = #{label}
</delete>
<delete id="deleteBusinessLabelByIds" parameterType="String">
delete from business_label where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessRelateCompanyMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessRelateCompany" id="BusinessRelateCompanyResult">
<result property="id" column="id"/>
<result property="businessId" column="business_id"/>
<result property="companyId" column="company_id"/>
<result property="companyName" column="company_name"/>
<result property="companyRole" column="company_role"/>
<result property="responsiblePerson" column="responsible_person"/>
<result property="phone" column="phone"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="depth" column="depth"/>
</resultMap>
<sql id="selectBusinessRelateCompanyVo">
select id,
business_id,
company_id,
company_name,
company_role,
responsible_person,
phone,
depth,
create_time,
update_time
from business_relate_company
</sql>
<select id="selectBusinessRelateCompanyList" parameterType="com.dsk.common.core.domain.entity.BusinessRelateCompany"
resultMap="BusinessRelateCompanyResult">
<include refid="selectBusinessRelateCompanyVo"/>
<where>
<if test="businessId != null ">and business_id = #{businessId}</if>
<if test="companyId != null ">and company_id = #{companyId}</if>
<if test="companyName != null and companyName != ''">and company_name like concat('%', #{companyName},
'%')
</if>
<if test="companyRole != null and companyRole != ''">and company_role = #{companyRole}</if>
<if test="depth != null and depth != ''">and depth = #{depth}</if>
<if test="responsiblePerson != null and responsiblePerson != ''">and responsible_person =
#{responsiblePerson}
</if>
<if test="phone != null and phone != ''">and phone = #{phone}</if>
</where>
</select>
<select id="selectBusinessRelateCompanyById" parameterType="Long" resultMap="BusinessRelateCompanyResult">
<include refid="selectBusinessRelateCompanyVo"/>
where id = #{id}
</select>
<insert id="insertBusinessRelateCompany" parameterType="com.dsk.common.core.domain.entity.BusinessRelateCompany" useGeneratedKeys="true"
keyProperty="id">
insert into business_relate_company
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if>
<if test="companyId != null">company_id,</if>
<if test="companyName != null">company_name,</if>
<if test="depth != null">depth,</if>
<if test="companyRole != null">company_role,</if>
<if test="responsiblePerson != null">responsible_person,</if>
<if test="phone != null">phone,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if>
<if test="companyId != null">#{companyId},</if>
<if test="companyName != null">#{companyName},</if>
<if test="depth != null">#{depth},</if>
<if test="companyRole != null">#{companyRole},</if>
<if test="responsiblePerson != null">#{responsiblePerson},</if>
<if test="phone != null">#{phone},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBusinessRelateCompany" parameterType="com.dsk.common.core.domain.entity.BusinessRelateCompany">
update business_relate_company
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="companyId != null">company_id = #{companyId},</if>
<if test="companyName != null">company_name = #{companyName},</if>
<if test="depth != null">depth = #{depth},</if>
<if test="companyRole != null">company_role = #{companyRole},</if>
<if test="responsiblePerson != null">responsible_person = #{responsiblePerson},</if>
<if test="phone != null">phone = #{phone},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessRelateCompanyById" parameterType="Long">
delete
from business_relate_company
where id = #{id}
</delete>
<delete id="deleteBusinessRelateCompanyByIds" parameterType="String">
delete from business_relate_company where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessUserMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessUser" id="BusinessUserResult">
<result property="id" column="id"/>
<result property="businessId" column="business_id"/>
<result property="deptId" column="dept_id"/>
<result property="userId" column="user_id"/>
<result property="isFounder" column="is_founder"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="selectBusinessUserVo">
select id, business_id, dept_id, user_id, is_founder, create_time, update_time
from business_user
</sql>
<select id="selectBusinessUserList" parameterType="com.dsk.common.core.domain.entity.BusinessUser" resultMap="BusinessUserResult">
<include refid="selectBusinessUserVo"/>
<where>
<if test="businessId != null ">and business_id = #{businessId}</if>
<if test="deptId != null ">and company_id = #{deptId}</if>
<if test="userId != null ">and user_id = #{userId}</if>
<if test="isFounder != null ">and is_founder = #{isFounder}</if>
</where>
</select>
<select id="selectBusinessUserById" parameterType="Long" resultMap="BusinessUserResult">
<include refid="selectBusinessUserVo"/>
where id = #{id}
</select>
<insert id="insertBusinessUser" parameterType="com.dsk.common.core.domain.entity.BusinessUser" useGeneratedKeys="true" keyProperty="id">
insert into business_user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if>
<if test="deptId != null">dept_id,</if>
<if test="userId != null">user_id,</if>
<if test="isFounder != null">is_founder,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if>
<if test="deptId != null">#{deptId},</if>
<if test="userId != null">#{userId},</if>
<if test="isFounder != null">#{isFounder},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
<update id="updateBusinessUser" parameterType="com.dsk.common.core.domain.entity.BusinessUser">
update business_user
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="isFounder != null">is_founder = #{isFounder},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteBusinessUserById" parameterType="Long">
delete
from business_user
where id = #{id}
</delete>
<delete id="deleteBusinessUserByIds" parameterType="String">
delete from business_user where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
......@@ -2,6 +2,23 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.CustomerFollowRecordMapper">
<sql id="Base_Bean">
cfr.id, cfr.customer_id, cfr.user_id, cfr.visit_mode, cfr.next_visit_time, cfr.name, cfr.position,
cfr.content, cfr.create_time
</sql>
<select id="selectList" resultType="com.dsk.system.domain.customer.CustomerFollowRecord">
select
<include refid="Base_Bean"></include>
from customer_follow_record cfr
join sys_user u on u.user_id = cfr.user_id
join sys_dept d on d.dept_id = u.dept_id
where cfr.user_id = #{dto.userId}
<if test="dto.customerId != null and dto.customerId != '' "> and cfr.customer_id = #{dto.customerId} </if>
<!-- 数据范围过滤 -->
${params.dataScope}
order by cfr.create_time desc
</select>
</mapper>
......@@ -2,13 +2,18 @@
<!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">
<sql id="Base_Bean">
ct.customer_id, ct.company_id, ct.company_name, ct.legal_person, ct.credit_code,
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.business_characteristic, ct.decision_chain, ct.bid_characteristic, ct.performance_characteristic,
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
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.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.other_ms_characteistic, u.nick_name followUser
u.nick_name followUser,
<include refid="Base_Bean"></include>
from customer ct
join customer_user ctu on ct.customer_id = ctu.customer_id
join sys_user u on ctu.user_id = u.user_id
......@@ -16,5 +21,21 @@
<if test="dto.companyName != null and dto.companyName != '' "> and ct.company_name like concat('%',#{dto.companyName},'%')</if>
</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>
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