Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
dsk-cr20g
Commits
e06ec2e9
Commit
e06ec2e9
authored
Jul 26, 2023
by
yht15023815643
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev20230707' of
http://192.168.60.201/root/dsk-operate-sys
into dev20230707
parents
e47f5a90
8414a28f
Changes
62
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
62 changed files
with
1739 additions
and
800 deletions
+1739
-800
BusinessBacklogController.java
...sk/web/controller/business/BusinessBacklogController.java
+11
-5
ContactInfoController.java
...om/dsk/web/controller/customer/ContactInfoController.java
+77
-0
CustomerController.java
...a/com/dsk/web/controller/customer/CustomerController.java
+18
-57
BusinessOpportunityRadarController.java
...search/controller/BusinessOpportunityRadarController.java
+1
-3
CompanySearchController.java
...controller/search/controller/CompanySearchController.java
+1
-1
MarketAnalysisController.java
...ontroller/search/controller/MarketAnalysisController.java
+1
-2
BusinessOpportunityRadarService.java
...oller/search/service/BusinessOpportunityRadarService.java
+41
-41
MarketAnalysisService.java
.../web/controller/search/service/MarketAnalysisService.java
+27
-27
BusinessOpportunityRadarServiceImpl.java
...rch/service/impl/BusinessOpportunityRadarServiceImpl.java
+109
-109
MarketAnalysisServiceImpl.java
...roller/search/service/impl/MarketAnalysisServiceImpl.java
+69
-69
application-pre.yml
dsk-admin/src/main/resources/application-pre.yml
+6
-6
application.yml
dsk-admin/src/main/resources/application.yml
+1
-1
BusinessUser.java
.../java/com/dsk/common/core/domain/entity/BusinessUser.java
+14
-62
EnterpriseProjectApprovalProjectPageBody.java
...omain/model/EnterpriseProjectApprovalProjectPageBody.java
+5
-2
project.js
dsk-operate-ui/src/api/project/project.js
+9
-0
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+18
-4
index.vue
dsk-operate-ui/src/layout/components/Sidebar/index.vue
+16
-4
index.vue
dsk-operate-ui/src/layout/components/TagsView/index.vue
+2
-2
index.vue
dsk-operate-ui/src/views/custom/customList/index.vue
+13
-4
index.vue
...operate-ui/src/views/custom/historicalCustomers/index.vue
+8
-3
index.vue
dsk-operate-ui/src/views/custom/overview/index.vue
+8
-8
Sidebar.vue
...operate-ui/src/views/detail/party-a/component/Sidebar.vue
+1
-1
index.vue
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
+11
-0
index.vue
...rate-ui/src/views/detail/party-a/decisionMaking/index.vue
+76
-70
busclue.vue
...i/src/views/detail/party-a/overview/component/busclue.vue
+1
-1
regionalEconomies.vue
...iews/detail/party-a/urbanLnvestment/regionalEconomies.vue
+14
-0
industrialStructure.vue
...c/views/macro/economies/component/industrialStructure.vue
+17
-6
index.vue
dsk-operate-ui/src/views/macro/enterprises/index.vue
+8
-3
index.vue
dsk-operate-ui/src/views/macro/financing/index.vue
+9
-12
economies-detail.vue
...ws/macro/nationalEconomies/component/economies-detail.vue
+1
-1
zhaobiao.vue
.../src/views/macro/nationalEconomies/component/zhaobiao.vue
+7
-2
index.vue
dsk-operate-ui/src/views/macro/urban/index.vue
+6
-1
index.vue
dsk-operate-ui/src/views/project/overview/index.vue
+2
-5
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+38
-5
gzdb.vue
...erate-ui/src/views/project/projectList/component/gzdb.vue
+93
-35
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+37
-20
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+122
-68
xmsl.vue
...erate-ui/src/views/project/projectList/component/xmsl.vue
+3
-3
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+11
-2
BusinessAddDto.java
...m/src/main/java/com/dsk/system/domain/BusinessAddDto.java
+1
-1
BusinessBacklog.java
.../java/com/dsk/system/domain/business/BusinessBacklog.java
+52
-0
BusinessBacklogListVo.java
.../dsk/system/domain/business/vo/BusinessBacklogListVo.java
+45
-0
ContactInfo.java
...main/java/com/dsk/system/domain/customer/ContactInfo.java
+84
-0
ContactInfoSearchDto.java
.../dsk/system/domain/customer/dto/ContactInfoSearchDto.java
+26
-0
CustomerSearchDto.java
...com/dsk/system/domain/customer/dto/CustomerSearchDto.java
+12
-0
ContactInfoListVo.java
.../com/dsk/system/domain/customer/vo/ContactInfoListVo.java
+76
-0
BusinessBacklogMapper.java
...ain/java/com/dsk/system/mapper/BusinessBacklogMapper.java
+13
-15
BusinessInfoMapper.java
...c/main/java/com/dsk/system/mapper/BusinessInfoMapper.java
+5
-5
ContactInfoMapper.java
...rc/main/java/com/dsk/system/mapper/ContactInfoMapper.java
+24
-0
BusinessOpportunityRadarService.java
...system/searchService/BusinessOpportunityRadarService.java
+90
-0
MarketAnalysisService.java
...a/com/dsk/system/searchService/MarketAnalysisService.java
+57
-0
IBusinessBacklogService.java
.../java/com/dsk/system/service/IBusinessBacklogService.java
+14
-10
IContactInfoService.java
...main/java/com/dsk/system/service/IContactInfoService.java
+53
-0
ICustomerService.java
...rc/main/java/com/dsk/system/service/ICustomerService.java
+2
-0
BusinessBacklogServiceImpl.java
...m/dsk/system/service/impl/BusinessBacklogServiceImpl.java
+35
-35
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+84
-43
ContactInfoServiceImpl.java
...a/com/dsk/system/service/impl/ContactInfoServiceImpl.java
+69
-0
CustomerServiceImpl.java
...java/com/dsk/system/service/impl/CustomerServiceImpl.java
+44
-0
BusinessBacklogMapper.xml
.../main/resources/mapper/business/BusinessBacklogMapper.xml
+20
-39
BusinessInfoMapper.xml
...src/main/resources/mapper/business/BusinessInfoMapper.xml
+0
-2
BusinessRelateCompanyMapper.xml
...resources/mapper/business/BusinessRelateCompanyMapper.xml
+1
-5
ContactInfoMapper.xml
...in/resources/mapper/system/customer/ContactInfoMapper.xml
+20
-0
No files found.
dsk-admin/src/main/java/com/dsk/web/controller/business/BusinessBacklogController.java
View file @
e06ec2e9
...
...
@@ -2,7 +2,7 @@ package com.dsk.web.controller.business;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.
common.core.domain.entity
.BusinessBacklog
;
import
com.dsk.
system.domain.business
.BusinessBacklog
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
io.swagger.annotations.Api
;
...
...
@@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 项目工作待办Controller
*
...
...
@@ -36,8 +34,7 @@ public class BusinessBacklogController extends BaseController
public
TableDataInfo
list
(
BusinessBacklog
businessBacklog
)
{
startPage
();
List
<
BusinessBacklog
>
list
=
businessBacklogService
.
selectBusinessBacklogList
(
businessBacklog
);
return
getDataTable
(
list
);
return
getDataTable
(
businessBacklogService
.
selectBusinessBacklogList
(
businessBacklog
));
}
/**
...
...
@@ -63,6 +60,15 @@ public class BusinessBacklogController extends BaseController
return
toAjax
(
businessBacklogService
.
updateBusinessBacklog
(
businessBacklog
));
}
/**
* 获取项目工作代办逾期数量
*/
@GetMapping
(
"/overdue/count/{businessId}"
)
public
AjaxResult
overdueCount
(
@PathVariable
Integer
businessId
)
{
return
AjaxResult
.
success
(
businessBacklogService
.
overdueCount
(
businessId
));
}
// /**
// * 导出项目工作待办列表
// */
...
...
dsk-admin/src/main/java/com/dsk/web/controller/customer/ContactInfoController.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
web
.
controller
.
customer
;
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.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.service.IContactInfoService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* 联系人(ContactInfo)表控制层
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@RestController
@RequestMapping
(
"/contact/info"
)
public
class
ContactInfoController
extends
BaseController
{
/**
* 服务对象
*/
@Autowired
private
IContactInfoService
baseService
;
/**
* 联系人列表
*/
// @PreAuthorize("@ss.hasPermi('contact:list')")
@GetMapping
(
"/list"
)
public
TableDataInfo
selectPageList
(
ContactInfoSearchDto
dto
){
startPage
();
return
getDataTable
(
baseService
.
selectList
(
dto
));
}
/**
* 联系人详情
*/
// @PreAuthorize("@ss.hasPermi('contact:info')")
@GetMapping
(
"/{id}"
)
public
AjaxResult
info
(
@PathVariable
Long
id
){
return
AjaxResult
.
success
(
baseService
.
selectById
(
id
));
}
/**
* 添加用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:add')")
@PostMapping
()
@RepeatSubmit
()
public
AjaxResult
add
(
@RequestBody
ContactInfo
baen
){
return
AjaxResult
.
success
(
baseService
.
insert
(
baen
));
}
/**
* 编辑用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:edit')")
@PutMapping
()
@RepeatSubmit
()
public
AjaxResult
edit
(
@RequestBody
ContactInfo
baen
){
return
AjaxResult
.
success
(
baseService
.
update
(
baen
));
}
/**
* 删除用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:del')")
@DeleteMapping
(
"/{id}"
)
@RepeatSubmit
()
public
AjaxResult
del
(
@PathVariable
(
"id"
)
Long
id
){
return
AjaxResult
.
success
(
baseService
.
deleteById
(
id
));
}
}
dsk-admin/src/main/java/com/dsk/web/controller/customer/CustomerController.java
View file @
e06ec2e9
...
...
@@ -14,8 +14,8 @@ import com.dsk.common.utils.poi.ExcelUtil;
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.searchService.BusinessOpportunityRadarService
;
import
com.dsk.system.service.ICustomerService
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -39,8 +39,8 @@ public class CustomerController extends BaseController {
@Autowired
private
ICustomerService
baseService
;
@Autowired
private
BusinessOpportunityRadarService
opportunityRadarService
;
//
@Autowired
//
private BusinessOpportunityRadarService opportunityRadarService;
/**
* 查询客户列表
...
...
@@ -68,7 +68,6 @@ public class CustomerController extends BaseController {
@PostMapping
()
@RepeatSubmit
public
AjaxResult
add
(
@RequestBody
Customer
customer
)
{
dealWithcustomerData
(
customer
);
return
toAjax
(
baseService
.
add
(
customer
));
}
...
...
@@ -80,7 +79,6 @@ public class CustomerController extends BaseController {
@RepeatSubmit
public
AjaxResult
claim
(
@RequestBody
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
throw
new
BeanException
(
"城投uipId不能为空"
);
dealWithcustomerData
(
customer
);
boolean
add
=
baseService
.
add
(
customer
);
if
(
add
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
...
...
@@ -90,43 +88,6 @@ public class CustomerController extends BaseController {
return
AjaxResult
.
error
();
}
private
void
dealWithcustomerData
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCompanyName
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
customer
.
setCompanyId
(
MapUtil
.
getInt
(
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
)),
"jskEid"
));
if
(
ObjectUtils
.
isEmpty
(
customer
.
getLegalPerson
()))
{
customer
.
setLegalPerson
(
MapUtil
.
getStr
(
map
,
"legalPerson"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterCapital
()))
{
customer
.
setRegisterCapital
(
MapUtil
.
getStr
(
map
,
"registeredCapitalStr"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getProvinceId
()))
{
customer
.
setProvinceId
(
MapUtil
.
getInt
(
map
,
"provinceId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCityId
()))
{
customer
.
setCityId
(
MapUtil
.
getInt
(
map
,
"cityId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getDistrictId
()))
{
customer
.
setDistrictId
(
MapUtil
.
getInt
(
map
,
"countyId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterAddress
()))
{
customer
.
setRegisterAddress
(
MapUtil
.
getStr
(
map
,
"domicile"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCreditCode
()))
{
customer
.
setCreditCode
(
MapUtil
.
getStr
(
map
,
"creditCode"
));
}
}
}
catch
(
Exception
e
)
{
logger
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
/**
* 编辑客户
*/
...
...
@@ -167,21 +128,21 @@ public class CustomerController extends BaseController {
continue
;
}
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCompanyName
());
if
(
ObjectUtils
.
isEmpty
(
map
))
{
throw
new
HttpException
(
"远程调用匹配接口失败!"
);
}
Map
<
String
,
Object
>
obj
=
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
));
if
(!
ObjectUtils
.
isEmpty
(
obj
))
{
customer
.
setCompanyId
(
MapUtil
.
getInt
(
obj
,
"jskEid"
));
customer
.
setLegalPerson
(
MapUtil
.
getStr
(
obj
,
"legalPerson"
));
customer
.
setRegisterCapital
(
MapUtil
.
getStr
(
obj
,
"registeredCapitalStr"
));
customer
.
setProvinceId
(
MapUtil
.
getInt
(
obj
,
"provinceId"
));
customer
.
setCityId
(
MapUtil
.
getInt
(
obj
,
"cityId"
));
customer
.
setDistrictId
(
MapUtil
.
getInt
(
obj
,
"countyId"
));
customer
.
setRegisterAddress
(
MapUtil
.
getStr
(
obj
,
"domicile"
));
customer
.
setCreditCode
(
MapUtil
.
getStr
(
obj
,
"creditCode"
));
}
//
Map<String, Object> map = opportunityRadarService.enterpriseByName(customer.getCompanyName());
//
if (ObjectUtils.isEmpty(map)) {
//
throw new HttpException("远程调用匹配接口失败!");
//
}
//
Map<String, Object> obj = BeanUtil.beanToMap(map.get("data"));
//
if (!ObjectUtils.isEmpty(obj)) {
//
customer.setCompanyId(MapUtil.getInt(obj, "jskEid"));
//
customer.setLegalPerson(MapUtil.getStr(obj, "legalPerson"));
//
customer.setRegisterCapital(MapUtil.getStr(obj, "registeredCapitalStr"));
//
customer.setProvinceId(MapUtil.getInt(obj, "provinceId"));
//
customer.setCityId(MapUtil.getInt(obj, "cityId"));
//
customer.setDistrictId(MapUtil.getInt(obj, "countyId"));
//
customer.setRegisterAddress(MapUtil.getStr(obj, "domicile"));
//
customer.setCreditCode(MapUtil.getStr(obj, "creditCode"));
//
}
baseService
.
add
(
customer
);
successCount
++;
}
catch
(
Exception
e
)
{
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/BusinessOpportunityRadarController.java
View file @
e06ec2e9
...
...
@@ -3,9 +3,7 @@ package com.dsk.web.controller.search.controller;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.dtos.Page
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
com.dsk.system.searchService.BusinessOpportunityRadarService
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/CompanySearchController.java
View file @
e06ec2e9
...
...
@@ -4,7 +4,7 @@ import cn.hutool.json.JSONUtil;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.
web.controller.search.s
ervice.BusinessOpportunityRadarService
;
import
com.dsk.
system.searchS
ervice.BusinessOpportunityRadarService
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/controller/MarketAnalysisController.java
View file @
e06ec2e9
...
...
@@ -4,8 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
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.dtos.ComposeQueryDto
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
com.dsk.system.searchService.MarketAnalysisService
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
dsk-admin/src/main/java/com/dsk/web/controller/search/service/BusinessOpportunityRadarService.java
View file @
e06ec2e9
package
com
.
dsk
.
web
.
controller
.
search
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
/**
* @Author liujie
* @ClassName MarketAnalysisService
* @Date 2023/5/15 16:39
**/
public
interface
BusinessOpportunityRadarService
{
AjaxResult
jskBidNewsPage
(
JSONObject
object
);
AjaxResult
jskBidTenderPage
(
JSONObject
object
);
AjaxResult
jskBidPage
(
JSONObject
object
);
AjaxResult
landMarketPage
(
JSONObject
object
);
AjaxResult
establishmentPage
(
JSONObject
object
);
AjaxResult
enterpriseIndex
(
JSONObject
object
);
AjaxResult
enterpriseByName
(
String
keyword
);
AjaxResult
enterprisePage
(
JSONObject
object
);
AjaxResult
bondProjectPage
(
JSONObject
object
);
AjaxResult
jskBidPlanPage
(
JSONObject
object
);
AjaxResult
getCapitalSourceSelect
();
AjaxResult
keywordList
();
AjaxResult
bidSourceList
(
JSONObject
object
);
}
//
package com.dsk.web.controller.search.service;
//
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisService
//
* @Date 2023/5/15 16:39
//
**/
//
public interface BusinessOpportunityRadarService {
//
//
//
AjaxResult jskBidNewsPage(JSONObject object);
//
//
AjaxResult jskBidTenderPage(JSONObject object);
//
//
AjaxResult jskBidPage(JSONObject object);
//
//
AjaxResult landMarketPage( JSONObject object);
//
//
AjaxResult establishmentPage(JSONObject object);
//
//
AjaxResult enterpriseIndex(JSONObject object);
//
//
AjaxResult enterpriseByName(String keyword);
//
//
AjaxResult enterprisePage(JSONObject object);
//
//
AjaxResult bondProjectPage( JSONObject object);
//
//
AjaxResult jskBidPlanPage( JSONObject object);
//
//
AjaxResult getCapitalSourceSelect();
//
//
AjaxResult keywordList();
//
//
AjaxResult bidSourceList( JSONObject object);
//
//
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/MarketAnalysisService.java
View file @
e06ec2e9
package
com
.
dsk
.
web
.
controller
.
search
.
service
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
/**
* @Author liujie
* @ClassName MarketAnalysisService
* @Date 2023/5/15 16:39
**/
public
interface
MarketAnalysisService
{
AjaxResult
areaGroupByProvince
();
AjaxResult
certGroupByMajorAndLevel
();
AjaxResult
certGroupByMajorProvinceLevel
();
AjaxResult
countGroupByProvince
(
JSONObject
object
);
AjaxResult
countGroupByMonth
(
JSONObject
object
);
AjaxResult
bidMoneyGroupByProjectType
(
JSONObject
object
);
AjaxResult
bidGroupCountByProjectType
(
JSONObject
object
);
}
//
package com.dsk.web.controller.search.service;
//
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisService
//
* @Date 2023/5/15 16:39
//
**/
//
public interface MarketAnalysisService {
//
//
AjaxResult areaGroupByProvince();
//
//
AjaxResult certGroupByMajorAndLevel();
//
//
AjaxResult certGroupByMajorProvinceLevel();
//
//
AjaxResult countGroupByProvince(JSONObject object);
//
//
AjaxResult countGroupByMonth(JSONObject object);
//
//
AjaxResult bidMoneyGroupByProjectType(JSONObject object);
//
//
AjaxResult bidGroupCountByProjectType(JSONObject object);
//
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/impl/BusinessOpportunityRadarServiceImpl.java
View file @
e06ec2e9
package
com
.
dsk
.
web
.
controller
.
search
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.web.controller.search.service.BusinessOpportunityRadarService
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
BusinessOpportunityRadarServiceImpl
implements
BusinessOpportunityRadarService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
@Override
public
AjaxResult
jskBidNewsPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidTenderPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidTender/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
establishmentPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/establishment/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
landMarketPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/landMarket/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterpriseIndex
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/index"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
enterpriseByName
(
String
keyword
){
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"keyword"
,
keyword
);
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/findByName"
,
params
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bondProjectPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/bondProject/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
jskBidPlanPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
getCapitalSourceSelect
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/getCapitalSourceSelect"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
keywordList
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/project/keywordList"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bidSourceList
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/source"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
//
package com.dsk.web.controller.search.service.impl;
//
//
import cn.hutool.core.bean.BeanUtil;
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
import com.dsk.common.utils.DskOpenApiUtil;
//
import com.dsk.web.controller.search.service.BusinessOpportunityRadarService;
//
import com.dsk.web.controller.search.service.MarketAnalysisService;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.stereotype.Service;
//
//
import java.util.HashMap;
//
import java.util.Map;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisServiceImpl
//
* @Date 2023/5/15 16:40
//
**/
//
@Service
//
public class BusinessOpportunityRadarServiceImpl implements BusinessOpportunityRadarService {
//
//
@Autowired
//
private DskOpenApiUtil dskOpenApiUtil;
//
//
//
@Override
//
public AjaxResult jskBidNewsPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/news/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult jskBidTenderPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidTender/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult establishmentPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/establishment/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult jskBidPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/page",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult landMarketPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/landMarket/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult enterpriseIndex(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/index", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult enterprisePage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/page",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult enterpriseByName(String keyword){
//
Map<String,Object> params = new HashMap<>();
//
params.put("keyword",keyword);
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/enterprice/findByName", params);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult bondProjectPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/bondProject/page", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult jskBidPlanPage(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/page",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult getCapitalSourceSelect() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBidPlan/getCapitalSourceSelect", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult keywordList() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/project/keywordList", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult bidSourceList(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/jskBid/source",object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
}
dsk-admin/src/main/java/com/dsk/web/controller/search/service/impl/MarketAnalysisServiceImpl.java
View file @
e06ec2e9
package
com
.
dsk
.
web
.
controller
.
search
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.dtos.ComposeQueryDto
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
com.dsk.common.utils.http.HttpUtils
;
import
com.dsk.web.controller.search.service.MarketAnalysisService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
MarketAnalysisServiceImpl
implements
MarketAnalysisService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
@Override
public
AjaxResult
areaGroupByProvince
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/areaGroupByProvince"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
certGroupByMajorAndLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorAndLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
certGroupByMajorProvinceLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorProvinceLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bidMoneyGroupByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidMoneyGroupByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
bidGroupCountByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidGroupCountByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
countGroupByProvince
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByProvince"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
@Override
public
AjaxResult
countGroupByMonth
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByMonth"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
//
package com.dsk.web.controller.search.service.impl;
//
//
import cn.hutool.core.bean.BeanUtil;
//
import com.alibaba.fastjson2.JSONObject;
//
import com.dsk.common.core.domain.AjaxResult;
//
import com.dsk.common.core.domain.R;
//
import com.dsk.common.dtos.ComposeQueryDto;
//
import com.dsk.common.utils.DskOpenApiUtil;
//
import com.dsk.common.utils.http.HttpUtils;
//
import com.dsk.web.controller.search.service.MarketAnalysisService;
//
import org.springframework.beans.factory.annotation.Autowired;
//
import org.springframework.stereotype.Service;
//
//
import java.util.Map;
//
/
//
**
//
* @Author liujie
//
* @ClassName MarketAnalysisServiceImpl
//
* @Date 2023/5/15 16:40
//
**/
//
@Service
//
public class MarketAnalysisServiceImpl implements MarketAnalysisService {
//
//
@Autowired
//
private DskOpenApiUtil dskOpenApiUtil;
//
@Override
//
public AjaxResult areaGroupByProvince() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/areaGroupByProvince", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult certGroupByMajorAndLevel() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/certGroupByMajorAndLevel", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult certGroupByMajorProvinceLevel() {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/certGroupByMajorProvinceLevel", null);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
//
@Override
//
public AjaxResult bidMoneyGroupByProjectType(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/bidMoneyGroupByProjectType", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult bidGroupCountByProjectType(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/bidGroupCountByProjectType", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult countGroupByProvince(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByProvince", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
//
@Override
//
public AjaxResult countGroupByMonth(JSONObject object) {
//
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByMonth", object);
//
return BeanUtil.toBean(map, AjaxResult.class);
//
}
//
}
dsk-admin/src/main/resources/application-pre.yml
View file @
e06ec2e9
...
...
@@ -194,11 +194,11 @@ xss:
dsk
:
open
:
endPoint
:
120.27.13.145:8865
accessKeyId
:
aec7b3ff2y2q8x6t49a7e2c463ce21912
accessKeySecret
:
ee8a53c7ea04eb3ac311406c8f56f95b
protocol
:
http
# endPoint: openapi.jiansheku.com
# endPoint: 120.27.13.145:8865
# accessKeyId: aec7b3ff2y2q8x6t49a7e2c463ce21912
# accessKeySecret: ee8a53c7ea04eb3ac311406c8f56f95b
# protocol: https
# protocol: http
endPoint
:
openapi.jiansheku.com
accessKeyId
:
aec7b3ff2y2q8x6t49a7e2c463ce21912
accessKeySecret
:
ee8a53c7ea04eb3ac311406c8f56f95b
protocol
:
https
dsk-admin/src/main/resources/application.yml
View file @
e06ec2e9
spring
:
profiles
:
active
:
pre
active
:
test
# MyBatisPlus配置
# https://baomidou.com/config/
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/entity/BusinessUser.java
View file @
e06ec2e9
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
...
...
@@ -11,11 +17,16 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl
* @date 2023-05-17
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"business_user"
)
public
class
BusinessUser
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** $column.columnComment */
@TableId
(
value
=
"id"
,
type
=
IdType
.
INPUT
)
private
Integer
id
;
/** 项目id(business_info表id) */
...
...
@@ -24,76 +35,17 @@ public class BusinessUser extends BaseEntity
/** 部门id */
@Excel
(
name
=
"部门id"
)
private
Integer
deptId
;
private
Long
deptId
;
/** 用户id */
@Excel
(
name
=
"用户id"
)
private
Integer
userId
;
private
Long
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
)
{
public
BusinessUser
(
Integer
businessId
,
Long
deptId
,
Long
userId
,
Integer
isFounder
)
{
this
.
businessId
=
businessId
;
this
.
deptId
=
deptId
;
this
.
userId
=
userId
;
...
...
dsk-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseProjectApprovalProjectPageBody.java
View file @
e06ec2e9
...
...
@@ -5,9 +5,7 @@ import lombok.EqualsAndHashCode;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
javax.validation.constraints.AssertFalse
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@ToString
...
...
@@ -25,6 +23,11 @@ public class EnterpriseProjectApprovalProjectPageBody extends BasePage {
*/
private
String
keys
;
/**
* 是否为民介0(否),1(是)
*/
private
String
isProject
;
/*
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
...
...
dsk-operate-ui/src/api/project/project.js
View file @
e06ec2e9
...
...
@@ -158,6 +158,15 @@ export function addXGQY(param) {
})
}
//编辑相关企业
export
function
saveXGQY
(
param
)
{
return
request
({
url
:
'/business/company/edit'
,
method
:
'POST'
,
data
:
param
})
}
//删除相关企业
export
function
delXGQY
(
param
)
{
return
request
({
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
e06ec2e9
...
...
@@ -33,7 +33,7 @@
box-shadow
:
0px
0px
8px
0px
rgba
(
0
,
0
,
0
,
0
.12
);
border-radius
:
2px
;
position
:
absolute
;
z-index
:
3
;
z-index
:
20
;
text-align
:
center
;
.words
{
padding
:
24px
0
;
...
...
@@ -459,10 +459,10 @@
opacity
:
0
.8
;
padding
:
0
;
}
.el-input
{
.el-input
,
.el-textarea
{
display
:
inline-block
;
width
:
240px
;
.el-input__inner
{
.el-input__inner
,
.el-textarea__inner
{
width
:
100%
;
height
:
32px
;
border-radius
:
0px
;
...
...
@@ -471,6 +471,11 @@
border-color
:
#0081FF
;
}
}
.el-textarea__inner
{
height
:
90px
;
font-family
:
inherit
;
color
:
#000
;
}
.el-input__suffix
{
height
:
32px
;
}
...
...
@@ -500,9 +505,15 @@
width
:
80px
;
}
}
.row.i
{
.el-form-item__label
{
line-height
:
18px
;
text-align
:
left
;
}
}
}
.popform.i
{
.el-input
{
.el-input
,
.el-textarea
{
width
:
335px
;
}
}
...
...
@@ -907,6 +918,9 @@
.xz
{
opacity
:
0
.8
;
}
.xg
{
//color: #FF3C3C;
}
.sc
{
color
:
#FF3C3C
;
}
...
...
dsk-operate-ui/src/layout/components/Sidebar/index.vue
View file @
e06ec2e9
...
...
@@ -13,8 +13,8 @@
mode=
"vertical"
>
<sidebar-item
v-for=
"(route, index) in
sidebarRouters
"
v-for=
"(route, index) in
hidechildren
"
:key=
"route.path + index"
:is-collapse=
"isCollapse"
:active-menu=
"activeMenu"
...
...
@@ -22,7 +22,7 @@
:base-path=
"route.path"
:class=
"route.fixed&&route.fixed.isFixed?'sideFoot':''"
:style=
"route.fixed&&route.fixed.isFixed?
{'bottom': route.fixed.number*50+'px'}: bottomMenu
&&
index==routes.length-bottomMenu-2?{'padding-bottom': bottomMenu*50+'px'}:''"
/>
</el-menu>
</el-scrollbar>
...
...
@@ -39,7 +39,7 @@ import SidebarItem from "./SidebarItem";
import
variables
from
"@/assets/styles/variables.scss"
;
export
default
{
components
:
{
SidebarItem
,
Logo
},
data
()
{
return
{
...
...
@@ -49,6 +49,18 @@ export default {
computed
:
{
...
mapState
([
"settings"
]),
...
mapGetters
([
"sidebarRouters"
,
"sidebar"
]),
hidechildren
(){
return
this
.
sidebarRouters
.
map
(
item
=>
{
if
(
item
.
children
?.
length
){
item
.
children
=
item
.
children
.
filter
(
i
=>
{
if
(
typeof
(
i
.
hidden
)
==
'boolean'
&&
i
.
hidden
==
false
||
i
.
path
==
"index"
){
return
i
}
})
}
return
item
})
},
activeMenu
()
{
const
route
=
this
.
$route
;
const
{
meta
,
path
}
=
route
;
...
...
dsk-operate-ui/src/layout/components/TagsView/index.vue
View file @
e06ec2e9
...
...
@@ -390,8 +390,8 @@ export default {
height
:
17px
;
justify-content
:
center
;
width
:
36px
;
right
:
-
46
px
;
bottom
:
1
0px
;
right
:
-
130
px
;
bottom
:
0px
;
cursor
:
pointer
;
text-align
:
center
;
&
:hover
{
...
...
dsk-operate-ui/src/views/custom/customList/index.vue
View file @
e06ec2e9
...
...
@@ -104,7 +104,7 @@
label=
"注册资本金(万元)"
width=
"140"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
registerCapital
||
'--'
}}
<span
v-if=
"scope.row.registerCapital && scope.row.registerCapital>0"
>
{{
scope
.
row
.
registerCapital
}}
</span><span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -313,9 +313,18 @@
}
},
created
()
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
prvinceTree
()
this
.
$watch
(
()
=>
this
.
$route
.
params
,
()
=>
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
prvinceTree
()
this
.
searchParam
.
companyName
=
''
},
// 组件创建完后获取数据,
// 此时 data 已经被 observed 了
{
immediate
:
true
}
)
},
methods
:{
sq1
(
item
,
sq
){
...
...
dsk-operate-ui/src/views/custom/historicalCustomers/index.vue
View file @
e06ec2e9
...
...
@@ -93,7 +93,7 @@
label=
"注册资本金(万元)"
width=
"140"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
registerCapital
||
'--'
}}
<span
v-if=
"scope.row.registerCapital && scope.row.registerCapital>0"
>
{{
scope
.
row
.
registerCapital
}}
</span><span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -243,8 +243,13 @@ export default {
}
},
created
()
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
$watch
(
()
=>
this
.
$route
.
params
,
()
=>
{
this
.
getCustomerList
()
this
.
getDictType
()
this
.
searchParam
.
companyName
=
''
},{
immediate
:
true
})
},
methods
:{
sq1
(
item
,
sq
){
...
...
dsk-operate-ui/src/views/custom/overview/index.vue
View file @
e06ec2e9
...
...
@@ -22,7 +22,7 @@
<img
class=
"icon_img"
src=
"@/assets/images/project/icon_3.png"
>
</div>
<div
class=
"icons"
>
<div
class=
"name"
>
今日
紧
进客户
</div>
<div
class=
"name"
>
今日
跟
进客户
</div>
<div
class=
"count"
>
30
</div>
<img
class=
"icon_img"
src=
"@/assets/images/project/icon_4.png"
>
</div>
...
...
@@ -33,7 +33,7 @@
</div>
</div>
<div
class=
"flex"
>
<el-card
class=
"box-card noborder left"
style=
"position: relative"
>
<el-card
class=
"box-card noborder left"
style=
"position: relative
;padding-bottom: 0
"
>
<div
class=
"cardtitles"
>
客户级别
</div>
<div
class=
"chartsum"
>
<div
class=
"sum"
>
23家
</div>
...
...
@@ -67,7 +67,7 @@
</el-card>
<el-card
class=
"box-card noborder right"
>
<el-card
class=
"box-card noborder right"
style=
"padding-bottom: 0"
>
<div
class=
"cardtitles"
>
客户跟进动态
<div
class=
"labels"
>
<div
:class=
"
{'on':datatype==1}" @click="getDT(1)">周
</div>
...
...
@@ -259,11 +259,11 @@
{
name
:
''
,
type
:
'bar'
,
barWidth
:
'1
2
px'
,
barWidth
:
'1
8
px'
,
data
:
[
100
,
152
,
200
,
334
,
390
,
330
,
220
,
256
,
178
],
itemStyle
:{
normal
:
{
barBorderRadius
:
[
4
,
4
,
0
,
0
],
barBorderRadius
:
[
9
,
9
,
0
,
0
],
color
:
'#165DFF'
}
}
...
...
@@ -316,11 +316,11 @@
{
name
:
''
,
type
:
'bar'
,
barWidth
:
'1
2
px'
,
barWidth
:
'1
8
px'
,
data
:
[
110
,
112
,
190
,
234
,
310
,
350
,
220
,
276
,
198
],
itemStyle
:{
normal
:{
barBorderRadius
:[
4
,
4
,
0
,
0
],
barBorderRadius
:[
9
,
9
,
0
,
0
],
color
:
'#14C9C9'
},
}
...
...
@@ -367,7 +367,7 @@
left
:
'8%'
,
top
:
'8%'
,
right
:
'5%'
,
bottom
:
'
10%
'
,
bottom
:
'
42px
'
,
},
tooltip
:{
axisPointer
:{
//悬浮于圆点展示标签
...
...
dsk-operate-ui/src/views/detail/party-a/component/Sidebar.vue
View file @
e06ec2e9
...
...
@@ -107,7 +107,7 @@ export default {
{
title
:
'商务信息'
,
pathName
:
'business'
},
{
title
:
'招标偏好'
,
pathName
:
'preference'
},
{
title
:
'合作情况'
,
pathName
:
'cooperate'
},
{
title
:
'
决策链条
'
,
pathName
:
'decisionMaking'
},
{
title
:
'
联系人
'
,
pathName
:
'decisionMaking'
},
{
title
:
'跟进记录'
,
pathName
:
'gjjl'
}
],
defaultRoute
:
[],
...
...
dsk-operate-ui/src/views/detail/party-a/cooperate/index.vue
View file @
e06ec2e9
...
...
@@ -266,6 +266,17 @@ export default {
this
.
ifEmpty
=
true
}
this
.
tableData
=
res
.
rows
this
.
tableData
.
forEach
(
item
=>
{
let
investmentAmount
=
item
.
investmentAmount
if
(
investmentAmount
){
investmentAmount
=
parseFloat
(
investmentAmount
)
if
(
investmentAmount
<=
0
){
item
.
investmentAmount
=
null
}
}
else
{
item
.
investmentAmount
=
null
}
})
this
.
tableDataTotal
=
res
.
total
this
.
tableLoading
=
false
}
...
...
dsk-operate-ui/src/views/detail/party-a/decisionMaking/index.vue
View file @
e06ec2e9
...
...
@@ -33,7 +33,7 @@
<!-- 弹窗添加联系人 -->
<el-dialog
class=
"popups
1
"
class=
"popups"
:visible
.
sync=
"dialogVisible"
:before-close=
"cancel"
width=
"464px"
>
...
...
@@ -41,25 +41,28 @@
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
{{ companyInfo
&&
companyInfo.companyName || customerInfo.companyName }}
</span>
</div>
<el-form
:model=
"addRorm"
:rules=
"addRules"
ref=
"addRorm"
class=
"popform"
label-width=
"
90
px"
>
<el-form-item
label=
"
姓名:"
prop=
"name
"
>
<el-form
:model=
"addRorm"
:rules=
"addRules"
ref=
"addRorm"
class=
"popform"
label-width=
"
137
px"
>
<el-form-item
label=
"
联系人姓名:"
prop=
"name"
class=
"row
"
>
<el-input
v-model=
"addRorm.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"角色:"
prop=
"role"
>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
<el-radio-group
v-model=
"addRorm.sex"
>
<el-radio
label=
1
>
男
</el-radio>
<el-radio
label=
0
>
女
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"联系人角色:"
prop=
"role"
class=
"row"
>
<el-input
v-model=
"addRorm.role"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"
职位:"
prop=
"workUnit
"
>
<el-input
v-model=
"addRorm.workUnit
"
placeholder=
"请输入"
></el-input>
<el-form-item
label=
"
关联企业:"
class=
"row
"
>
<el-input
type=
"text"
v-model=
"addRorm.office
"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"
公司/机关:"
prop=
"position
"
>
<el-form-item
label=
"
联系人职位:"
prop=
"workUnit"
class=
"row
"
>
<el-input
v-model=
"addRorm.position"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系方式:"
prop=
"contactInformation"
>
<el-form-item
label=
"联系方式:"
prop=
"contactInformation"
class=
"row"
>
<el-input
v-model=
"addRorm.contactInformation"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
v-model=
"addRorm.remark"
placeholder=
"请输入"
></el-input>
</el-form-item>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel"
>
返回
</div>
<div
class=
"btn btn_primary h32"
@
click=
"add"
>
保存
</div>
...
...
@@ -93,20 +96,21 @@ export default {
forData
:
[
{
label
:
'姓名'
,
prop
:
'name'
,
width
:
'124'
},
{
label
:
'角色'
,
prop
:
'role'
,
width
:
'110'
},
{
label
:
'公司/机关'
,
prop
:
'position'
,
width
:
'268'
},
{
label
:
'职位'
,
prop
:
'
workUnit
'
,
width
:
'110'
},
//
{label: '公司/机关', prop: 'position', width: '268'},
{
label
:
'职位'
,
prop
:
'
position
'
,
width
:
'110'
},
{
label
:
'联系方式'
,
prop
:
'contactInformation'
,
width
:
'105'
},
{
label
:
'内部维护人'
,
prop
:
'updateBy'
,
width
:
'100'
},
{
label
:
'
备注
'
,
prop
:
'remark'
},
{
label
:
'
来源
'
,
prop
:
'remark'
},
],
addRorm
:
{
customerId
:
this
.
customerIds
,
name
:
''
,
role
:
''
,
workUnit
:
''
,
sex
:
"1"
,
position
:
''
,
// position:'',
contactInformation
:
''
,
remark
:
''
,
//
remark:'',
},
addRules
:{
name
:
[
...
...
@@ -151,7 +155,9 @@ export default {
add
(){
this
.
$refs
.
addRorm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
addChain
(
this
.
addRorm
).
then
((
res
)
=>
{
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addRorm
))
param
.
sex
=
parseInt
(
param
.
sex
)
addChain
(
param
).
then
((
res
)
=>
{
if
(
res
.
data
){
this
.
$message
({
message
:
'新增成功'
,
...
...
@@ -263,59 +269,59 @@ export default {
margin-top
:
10px
;
}
// 弹窗
.popups1
{
.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
;
}
}
::v-deep
.el-dialog__body
{
padding
:
24px
24px
18px
;
}
.popform
{
padding-top
:
14px
;
::v-deep
.el-form-item__label
{
padding
:
0
;
}
.row
{
padding-bottom
:
16px
;
.left
{
width
:
137px
;
display
:
inline-block
;
text-align
:
right
;
opacity
:
0
.8
;
}
::v-deep
.el-input
{
display
:
inline-block
;
width
:
240px
;
}
}
.popbot
{
text-align
:
right
;
padding-top
:
8px
;
}
}
}
/*.popups1{*/
/*.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;*/
/*}*/
/*}*/
/*::v-deep .el-dialog__body{*/
/*padding: 24px 24px 18px;*/
/*}*/
/*.popform {*/
/*padding-top: 14px;*/
/*::v-deep .el-form-item__label{*/
/*padding:0;*/
/*}*/
/*.row {*/
/*padding-bottom: 16px;*/
/*.left {*/
/*width: 137px;*/
/*display: inline-block;*/
/*text-align: right;*/
/*opacity: 0.8;*/
/*}*/
/*::v-deep .el-input {*/
/*display: inline-block;*/
/*width: 240px;*/
/*}*/
/*}*/
/*.popbot {*/
/*text-align: right;*/
/*padding-top: 8px;*/
/*}*/
/*}*/
/*}*/
}
::v-deep
.el-table__fixed
::before
,
::v-deep
.el-table__fixed-right
::before
{
background-color
:unset
;
...
...
dsk-operate-ui/src/views/detail/party-a/overview/component/busclue.vue
View file @
e06ec2e9
...
...
@@ -7,7 +7,7 @@
</el-tabs>
<div
class=
"flex-box clue-box"
>
<div
class=
"clue-echarts"
v-if=
"viewData.length>0"
><div
id=
"echartsClue"
style=
"width: 100%;height:300px; margin: 0 auto;"
></div></div>
<div
class=
"table-item"
v-if=
"viewData.length>0"
>
<el-table
v-if=
"viewData.length>0"
...
...
dsk-operate-ui/src/views/detail/party-a/urbanLnvestment/regionalEconomies.vue
View file @
e06ec2e9
...
...
@@ -283,6 +283,20 @@ export default {
}
::v-deep
.table-item
{
.el-table
{
overflow
:visible
;
.el-table__body-wrapper
{
overflow
:visible
;
}
.el-table__body
{
tr
:first-child
{
position
:
sticky
;
top
:
56px
;
z-index
:
9
;
}
}
td
.el-table__cell
{
border-bottom
:
0
;
}
.el-table__body-wrapper
{
tr
{
&
:first-child
{
...
...
dsk-operate-ui/src/views/macro/economies/component/industrialStructure.vue
View file @
e06ec2e9
...
...
@@ -114,14 +114,23 @@ export default {
}
bidMoneyGroupByProjectType
(
params
).
then
(
res
=>
{
if
(
res
.
data
.
length
>
0
){
let
list
=
res
.
data
[
1
].
type
for
(
let
i
=
0
;
i
<
res
.
data
[
0
].
type
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
list
.
length
;
j
++
){
if
(
res
.
data
[
0
].
type
[
i
].
projectType
===
list
[
j
].
projectType
){
list
[
j
].
lastMoney
=
res
.
data
[
0
].
type
[
i
].
money
;
list
[
j
].
lastRate
=
res
.
data
[
0
].
type
[
i
].
rate
;
let
list
=
[]
if
(
res
.
data
.
length
>
1
){
list
=
res
.
data
[
1
].
type
for
(
let
i
=
0
;
i
<
res
.
data
[
0
].
type
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
list
.
length
;
j
++
){
if
(
res
.
data
[
0
].
type
[
i
].
projectType
===
list
[
j
].
projectType
){
list
[
j
].
lastMoney
=
res
.
data
[
0
].
type
[
i
].
money
;
list
[
j
].
lastRate
=
res
.
data
[
0
].
type
[
i
].
rate
;
}
}
}
}
else
{
list
=
res
.
data
[
0
].
type
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
){
list
[
i
].
lastMoney
=
0
;
list
[
i
].
lastRate
=
0
;
}
}
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
){
list
[
i
].
money
=
list
[
i
].
money
?
Number
(
list
[
i
].
money
).
toFixed
(
2
)
:
'-'
;
...
...
@@ -189,6 +198,8 @@ export default {
//鼠标悬停时显示的样式
tooltip
:
{
extraCssText
:
'width:120px!important;'
,
backgroundColor
:
"rgba(255, 255, 255, 0.8)"
,
borderWidth
:
'0'
,
formatter
:
function
(
params
){
var
result
=
''
result
+=
'<p style="color: rgba(35,35,35,0.8);padding: 0;margin: 0;">'
+
params
.
name
+
'</p>'
...
...
dsk-operate-ui/src/views/macro/enterprises/index.vue
View file @
e06ec2e9
...
...
@@ -384,13 +384,18 @@ export default {
.el-input__suffix
{
margin-top
:
-1px
;
}
.el-input__inner
:focus
{
border-color
:
#e0e0e0
;
}
.el-input-group__append
{
width
:
59px
;
width
:
60px
;
padding
:
0
;
text-align
:
center
;
background
:
#F5F5F5
;
color
:
#0081FF
;
border-left
:
0
;
padding
:
0
;
text-align
:
center
;
border-radius
:
0
;
border-right
:
0
;
}
}
.total
{
...
...
dsk-operate-ui/src/views/macro/financing/index.vue
View file @
e06ec2e9
<
template
>
<div
class=
"app-container qyzx"
>
<Region
v-if=
"province"
:province=
"province"
:dataQuery=
"dataQuery"
@
addressListbtn=
"addressListbtn"
></Region>
<div
class=
"content"
>
<skeleton
v-if=
"isSkeleton"
style=
"padding: 16px"
></skeleton>
<div
v-if=
"!isSkeleton"
class=
"content"
>
<div
class=
"common-title"
>
专项债项目
</div>
<div
class=
"content-box"
v-if=
"!state"
>
<div
class=
"box-left"
>
...
...
@@ -14,7 +15,7 @@
border
:summary-method=
"getSummaries"
show-summary
height=
"400"
max-
height=
"400"
fit
@
sort-change=
"sortChange"
highlight-current-row
...
...
@@ -34,7 +35,7 @@
</div>
</div>
</div>
<div
class=
"content"
>
<div
v-if=
"!isSkeleton"
class=
"content"
>
<div
class=
"common-title flex-box"
>
<div
class=
"flex-box"
>
项目明细
</div>
<div
class=
"flex-box query-ability"
>
...
...
@@ -44,7 +45,6 @@
</div>
<div
class=
"table-item"
>
<el-table
v-loading=
"tableLoading"
:data=
"listData"
element-loading-text=
"Loading"
@
sort-change=
"sortChange1"
...
...
@@ -85,10 +85,11 @@
import
*
as
echarts
from
'echarts'
;
import
{
statistics
,
projectsPage
,
location
}
from
'@/api/macro/macro'
import
Region
from
'../component/region'
import
skeleton
from
'../component/skeleton'
export
default
{
name
:
'Financing'
,
components
:
{
Region
Region
,
skeleton
},
data
()
{
return
{
...
...
@@ -96,7 +97,6 @@ export default {
tableParams
:{},
tableData
:[],
listData
:[],
tableLoading
:
false
,
pageIndex
:
1
,
pageSize
:
10
,
tableDataTotal
:
0
,
...
...
@@ -106,6 +106,7 @@ export default {
province
:
''
,
provinceId
:[],
state
:
false
,
isSkeleton
:
true
}
},
created
()
{
...
...
@@ -157,7 +158,7 @@ export default {
},
methods
:
{
getData
(){
this
.
tableLoading
=
true
this
.
isSkeleton
=
true
let
params
=
{
pageNum
:
this
.
pageIndex
,
pageSize
:
this
.
pageSize
}
if
(
this
.
tableParams
.
field
){
params
.
field
=
this
.
tableParams
.
field
...
...
@@ -175,14 +176,10 @@ export default {
params
.
areaId
=
this
.
provinceId
[
2
]
}
projectsPage
(
params
).
then
(
res
=>
{
this
.
tableLoading
=
false
this
.
isSkeleton
=
false
this
.
listData
=
res
.
data
.
list
;
this
.
tableDataTotal
=
res
.
data
.
totalCount
})
// 延迟关闭加载效果
// setTimeout(() => {
// this.tableLoading = false
// }, 200)
},
getStatistics
(){
let
params
=
{};
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/economies-detail.vue
View file @
e06ec2e9
...
...
@@ -53,7 +53,7 @@ export default {
},
{
prop
:
'gdpGrowth'
,
label
:
'GDP增速'
,
label
:
'GDP增速
(%)
'
,
},
{
prop
:
'gdpPerCapita'
,
...
...
dsk-operate-ui/src/views/macro/nationalEconomies/component/zhaobiao.vue
View file @
e06ec2e9
...
...
@@ -15,14 +15,14 @@
<div
class=
"main2"
>
<div
class=
"flex-box query-box head"
>
<span>
{{
value
}}
全国招标总数
<span
class=
"number"
>
{{
totalCount
}}
</span>
万个
</span>
<div
class=
"select-popper"
style=
"position: relative;"
>
<div
class=
"select-popper"
style=
"position: relative;
margin-right:0;
"
>
<el-dropdown
@
command=
"handleDate"
trigger=
"click"
ref=
"punishDateShowPopper"
:hide-on-click=
"false"
>
<span
class=
"el-dropdown-link"
:class=
"punishDateValue ? 'color_text' : ''"
>
{{
punishDateValue
}}
<i
class=
"el-icon-
caret-bottom
"
></i></span>
<span
class=
"el-dropdown-link"
:class=
"punishDateValue ? 'color_text' : ''"
>
{{
punishDateValue
}}
<i
class=
"el-icon-
arrow-down"
style=
"color:#313131;
"
></i></span>
<div>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
...
...
@@ -625,5 +625,10 @@ export default {
}
}
}
::v-deep
.el-input--medium
{
.el-input__icon
{
line-height
:
32px
;
}
}
}
</
style
>
dsk-operate-ui/src/views/macro/urban/index.vue
View file @
e06ec2e9
...
...
@@ -831,6 +831,9 @@ export default {
border-radius
:
4px
;
.search
{
margin-top
:
22px
;
::v-deep
.el-radio
{
margin-right
:
16px
;
}
.search-box
{
display
:
inline-block
;
margin-right
:
32px
;
...
...
@@ -918,7 +921,7 @@ export default {
height
:
32px
;
line-height
:
32px
;
font-size
:
12px
;
padding-left
:
6
px
;
padding-left
:
8
px
;
border-right
:
0
;
}
.el-input__suffix
{
...
...
@@ -931,6 +934,8 @@ export default {
background
:
#F5F5F5
;
color
:
#0081FF
;
border-left
:
0
;
border-radius
:
0
;
border-right
:
0
;
}
/*}*/
}
...
...
dsk-operate-ui/src/views/project/overview/index.vue
View file @
e06ec2e9
...
...
@@ -253,7 +253,6 @@ export default {
weekdata1
.
length
=
time
weekdata2
.
length
=
time
weekdata3
.
length
=
time
console
.
log
(
time
)
for
(
var
i
=
0
;
i
<
7
;
i
++
){
if
(
i
>
time
){
weekdata1
.
push
(
''
)
...
...
@@ -304,8 +303,6 @@ export default {
default
:
break
;
}
console
.
log
(
datas
)
console
.
log
(
labels
)
this
.
initDT
(
datas
,
labels
)
},
resizeEcharts
(){
...
...
@@ -350,8 +347,8 @@ export default {
// trigger: 'axis'
},
legend
:
{
right
:
'
20
px'
,
top
:
"
30
px"
,
right
:
'
155
px'
,
top
:
"
2
px"
,
data
:
[
'成交金额'
,
'储备项目'
,
'跟进动态'
],
itemHeight
:
8
,
// 修改icon图形大小
itemGap
:
20
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
e06ec2e9
...
...
@@ -12,10 +12,13 @@
</div>
<el-form
class=
"popform j"
:model=
"queryParam"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"130px"
>
<el-form-item
label=
"项目名称:"
class=
"row"
prop=
"projectName"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
></el-input>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.projectName"
@
input=
"getProject"
></el-input>
<div
class=
"resultlist"
v-if=
"proList.length>0"
id=
"box1"
>
<div
v-for=
"(item,index) in proList"
@
click=
"selProject(item)"
><span
v-html=
"item"
></span></div>
</div>
</el-form-item>
<el-form-item
label=
"业主单位:"
class=
"row"
prop=
"ownerCompany"
>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.ownerCompany"
@
input=
"getCompany"
></el-input>
<el-input
type=
"text"
placeholder=
"请输入"
v-model=
"queryParam.ownerCompany"
@
input=
"getCompany"
:
ο
nkeyup=
"queryParam.ownerCompany=queryParam.ownerCompany.replace(/^\s+|\s+$/g,'')"
></el-input>
<div
class=
"resultlist"
v-if=
"showlist"
id=
"box"
>
<div
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
</div>
...
...
@@ -56,6 +59,7 @@
<
script
>
import
{
getEnterprise
,
getDictType
,}
from
'@/api/main'
import
{
addProject
}
from
'@/api/project/project'
import
{
queryProject
}
from
'@/api/detail/party-a/cooperate'
export
default
{
name
:
'addProject'
,
data
(){
...
...
@@ -90,6 +94,7 @@
projectStage
:[],
//项目阶段
projectType
:[],
//项目类型
projectCategory
:[],
//项目类别
proList
:[],
//项目列表
}
},
mounted
(){
...
...
@@ -110,6 +115,7 @@
},
methods
:{
toradar
(){
this
.
resetForm
()
this
.
$router
.
push
({
path
:
'/radar'
})
},
handleALL
(
event
){
...
...
@@ -119,6 +125,12 @@
this
.
showlist
=
false
}
}
var
two
=
document
.
getElementById
(
"box1"
);
if
(
two
){
if
(
!
two
.
contains
(
event
.
target
)){
this
.
proList
=
[]
}
}
},
//获取建设库客户
getCompany
(
value
){
...
...
@@ -139,19 +151,40 @@
})
}
},
//获取项目名称
getProject
(
value
){
// if (value.length>=2){
// let param = {
// projectName:value,
// }
// queryProject(JSON.stringify(param)).then(result=>{
// if(result.code != 200){
// this.proList = []
// return false
// }
// this.proList = result.data
// })
// }
},
selCompany
(
item
){
this
.
queryParam
.
companyId
=
item
.
jskEid
this
.
queryParam
.
ownerCompany
=
item
.
name
.
replace
(
/<
[^
>
]
+>/g
,
''
)
this
.
showlist
=
false
},
selProject
(
item
){
// this.queryParam.companyId = item.jskEid
// this.queryParam.ownerCompany = item.name.replace(/
<
[
^>
]
+>
/g, ''
)
this
.
proList
=
[]
},
//添加客户
submitForm
(
formName
)
{
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
if
(
this
.
queryParam
.
investmentAmount
!=
""
)
this
.
queryParam
.
investmentAmount
=
parseFloat
(
this
.
queryParam
.
investmentAmount
)
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
addProject
(
this
.
queryParam
).
then
(
result
=>
{
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
if
(
param
.
investmentAmount
!=
""
)
param
.
investmentAmount
=
parseFloat
(
param
.
investmentAmount
)
addProject
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
resetForm
(
'ruleForm'
)
...
...
dsk-operate-ui/src/views/project/projectList/component/gzdb.vue
View file @
e06ec2e9
...
...
@@ -15,39 +15,51 @@
</div>
<div
class=
"wr_bot"
>
<div
class=
"times"
><img
src=
"@/assets/images/project/ico_4.png"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
v-model=
"queryParam.
finish
Time"
type=
"date"
placeholder=
"
完成
时间"
>
<el-date-picker
value-format=
"yyyy-MM-dd
HH:mm:ss
"
v-model=
"queryParam.
due
Time"
type=
"date
time
"
placeholder=
"
截止
时间"
>
</el-date-picker>
</div>
<div
class=
"sels"
>
<img
src=
"@/assets/images/project/ico_2.png"
>
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
style=
"width: 100px;"
>
<el-input
v-model=
"queryParam.target"
placeholder=
"拜访对象"
maxlength=
"500"
style=
"width: 100px;"
>
</el-input>
</div>
<div
class=
"btn btn_primary h32 wc"
@
click=
"add"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
<div
class=
"wc"
>
<div
class=
"btn btn_primary h32 "
@
click=
"add"
:class=
"
{'btn_disabled':queryParam.task == ''}">完成
</div>
<div
class=
"btn btn_primary h32"
style=
"border: 1px solid #D3D3D3;background: #ffffff;color:rgba(35,35,35,0.8);"
@
click=
"cancel"
:class=
"
{'btn_disabled':queryParam.task == ''}">取消
</div>
</div>
</div>
</div>
</div>
<skeleton
v-if=
"isSkeleton"
style=
"padding-top: 16px"
></skeleton>
<div
v-else
>
<div
class=
"tasktitle"
><strong>
我的任务
</strong><span
@
click=
"getYQ"
>
{{
yqnum
}}
条已逾期
</span>
<!--
<span
class=
"on"
>
4条已逾期
</span>
-->
</div>
<div
class=
"tabList"
v-else
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"进行中任务"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"已完成任务"
name=
"second"
></el-tab-pane>
<el-tab-pane
:label=
"yqnum"
name=
"third"
></el-tab-pane>
</el-tabs>
<div
class=
"tasklist"
v-for=
"(item,index) in datalist.rows"
>
<div
class=
"task_name"
>
{{
item
.
task
}}
</div>
<div
class=
"task_con"
><span>
发起时间:
{{
item
.
createTime
}}
</span><span
v-if=
"item.target"
>
关联客户:
<font
class=
"wordprimary"
>
{{
item
.
target
}}
</font></span><span
v-if=
"item.finishTime"
>
完成时间:
{{
item
.
finishTime
}}
</span></div>
<div
class=
"select"
:class=
"
{'on':item.state ==
2
}">
<div
class=
"select"
:class=
"
{'on':item.state ==
1
}">
<div
class=
"select-popper"
>
<span>
{{
item
.
state
==
2
?
"已完成"
:
"未完成
"
}}
{{
item
.
state
==
1
?
"已完成"
:
"进行中
"
}}
<i
class=
"el-icon-caret-bottom"
></i>
</span>
<el-select
v-if=
"isDisableds == false"
placeholder=
"请选择"
v-model=
"item.state"
class=
"select-multiple"
@
change=
"changes(item.id,$event)"
>
<el-option
label=
"
未完成"
value=
"1
"
></el-option>
<el-option
label=
"已完成"
value=
"
2
"
></el-option>
<el-option
label=
"
进行中"
value=
"0
"
></el-option>
<el-option
label=
"已完成"
value=
"
1
"
></el-option>
</el-select>
</div></div>
</div>
<!--
<div
class=
"tasktitle"
><strong>
已完成
</strong></div>
-->
<!---->
<!--
<div
class=
"tasktitle"
><strong>
进行中
</strong><span
@
click=
"getYQ"
>
{{
yqnum
}}
条已逾期
</span>
<
!
–
<span
class=
"on"
>
4条已逾期
</span>
–>
</div>
-->
<div
class=
"tables"
v-if=
"datalist.total>searchPram.pageSize"
>
<div
class=
"bottems"
>
...
...
@@ -85,6 +97,7 @@
},
data
(){
return
{
activeName
:
'first'
,
isEdit
:
false
,
value
:
''
,
status
:
0
,
...
...
@@ -92,22 +105,33 @@
businessId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
//项目详情id
target
:
''
,
task
:
''
,
finish
Time
:
''
,
due
Time
:
''
,
},
searchPram
:{
businessId
:
this
.
detailId
?
this
.
detailId
:
parseInt
(
this
.
$route
.
query
.
id
),
pageSize
:
20
,
pageNum
:
1
,
state
:
null
,
},
datalist
:[],
yqnum
:
0
,
//已逾期数量
yqnum
:
''
,
//已逾期数量
isDisableds
:
this
.
isDisabled
,
isSkeleton
:
true
,
}
},
created
(){
this
.
getList
()
let
params
=
{
...
this
.
searchPram
,
state
:
2
,
// cancelHttp: true
}
getGZDB
(
params
).
then
(
result
=>
{
this
.
datalist
=
result
.
code
==
200
?
result
:[]
console
.
log
(
this
.
datalist
.
rows
)
if
(
this
.
datalist
){
this
.
yqnum
=
`已逾期
${
this
.
datalist
.
rows
.
length
}
条`
;
}
})
},
methods
:{
getEdit
(){
...
...
@@ -115,37 +139,46 @@
this
.
value
=
""
},
add
(){
if
(
this
.
queryParam
.
task
==
''
||
this
.
queryParam
.
finishTime
==
''
)
// if(this.queryParam.task == '' || this.queryParam.dueTime == '')
if
(
this
.
queryParam
.
task
==
''
)
return
this
.
$message
.
warning
(
'时间和内容需填写完整!'
)
addGZDB
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
"添加成功!"
)
this
.
getList
()
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
finishTime
=
''
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
addGZDB
(
this
.
queryParam
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
"添加成功!"
)
this
.
getList
()
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
dueTime
=
''
}
else
{
this
.
$message
.
error
(
result
.
msg
)
}
})
},
cancel
(){
this
.
isEdit
=
false
;
this
.
queryParam
.
target
=
''
this
.
queryParam
.
task
=
''
this
.
queryParam
.
dueTime
=
''
},
getList
(){
this
.
isSkeleton
=
true
getGZDB
(
this
.
searchPram
).
then
(
result
=>
{
let
params
=
{
...
this
.
searchPram
,
state
:
this
.
activeName
===
'first'
?
0
:
this
.
activeName
===
'second'
?
1
:
2
,
// cancelHttp: true
}
getGZDB
(
params
).
then
(
result
=>
{
this
.
isSkeleton
=
false
this
.
datalist
=
result
.
code
==
200
?
result
:[]
let
num
=
0
this
.
datalist
.
rows
.
forEach
(
item
=>
{
if
(
item
.
state
==
0
)
num
++
;
})
this
.
yqnum
=
num
})
},
handleCurrentChange
(
val
){
this
.
searchPram
.
pageNum
=
val
this
.
getList
()
},
handleClick
(){
this
.
getList
()
},
changes
(
id
,
state
){
let
param
=
{
id
:
id
,
...
...
@@ -162,7 +195,7 @@
},
getYQ
(){
let
state
=
this
.
searchPram
.
state
this
.
searchPram
.
state
=
state
==
0
?
null
:
0
this
.
searchPram
.
state
=
state
==
2
?
null
:
2
this
.
handleCurrentChange
(
1
)
},
}
...
...
@@ -170,6 +203,31 @@
</
script
>
<
style
lang=
"scss"
scoped
>
.records
{
.tasklist
{
.select
{
background
:
#FFEBEB
;
color
:
#FF3C3C
;
.select-popper
{
color
:
#FF3C3C
;
}
}
}
}
.tabList
{
margin-top
:
18px
;
::v-deep
.el-tabs
{
.el-tabs__header
{
margin
:
0
;
}
.el-tabs__active-bar
{
height
:
1px
;
}
.
el-tabs__nav-wrap
:
:
after
{
height
:
1px
;
}
}
}
.wc
{
position
:
absolute
;
right
:
0
;
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
e06ec2e9
...
...
@@ -106,8 +106,8 @@
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
{{projectname}}
</span>
</div>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-form
class=
"popform"
:model=
"queryParam"
ref=
"ruleForm"
label-width=
"137px"
:rules=
"rules"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
prop=
"name"
>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
...
...
@@ -157,6 +157,9 @@
},
data
(){
return
{
rules
:{
name
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
},
dialogVisible
:
false
,
isnew
:
true
,
//是否新增
textarea
:
""
,
...
...
@@ -200,26 +203,40 @@
})
},
save
(){
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
this
.
isnew
==
false
){
editLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
this
.
$refs
[
'ruleForm'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
!
this
.
queryParam
.
phone
)
{
this
.
$message
.
error
(
'请输入电话号码'
)
return
false
}
})
}
if
(
this
.
isnew
==
true
){
addLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
var
regPartton
=
/1
[
3-9
]
+
\d{9}
/
;
var
regPartton1
=
/0
\d{2,3}
-
\d{7,8}
|
\(?
0
\d{2,3}[
)-
]?\d{7,8}
|
\(?
0
\d{2,3}[
)-
]
*
\d{7,8}
/
;
if
(
!
regPartton
.
test
(
this
.
queryParam
.
phone
)
&&
!
regPartton1
.
test
(
this
.
queryParam
.
phone
))
{
this
.
$message
.
error
(
"请输入正确的电话"
);
return
false
}
})
}
if
(
this
.
isnew
==
false
)
{
editLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
{
this
.
$message
.
success
(
'保存成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
if
(
this
.
isnew
==
true
)
{
addLXR
(
param
).
then
(
result
=>
{
if
(
result
.
code
==
200
)
{
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
dialogVisible
=
false
}
})
}
}
})
},
//翻页
handleCurrentChange
(
val
)
{
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
e06ec2e9
This diff is collapsed.
Click to expand it.
dsk-operate-ui/src/views/project/projectList/component/xmsl.vue
View file @
e06ec2e9
...
...
@@ -64,7 +64,7 @@
</div>
</div>
<div
class=
"con i"
>
<span>
建设
单位 :
</span>
<span>
业主
单位 :
</span>
<div
class=
"inputxt"
id=
"inputxt3"
:style=
"
{width:rig1}">
<div
class=
"flex"
v-if=
"nowedit == 3 && isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionUnit"
></el-input>
...
...
@@ -93,7 +93,7 @@
</div>
</div>
<div
class=
"con i"
>
<span>
建设
单位负责人 :
</span>
<span>
业主
单位负责人 :
</span>
<div
class=
"inputxt"
id=
"inputxt5"
>
<div
class=
"flex"
v-if=
"nowedit == 5 && isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPrincipal"
></el-input>
...
...
@@ -121,7 +121,7 @@
</div>
</div>
<div
class=
"con i"
>
<span>
建设
单位联系电话 :
</span>
<span>
业主
单位联系电话 :
</span>
<div
class=
"inputxt"
id=
"inputxt7"
>
<div
class=
"flex"
v-if=
"nowedit == 7 && isDisabled == false"
>
<el-input
placeholder=
"待添加"
v-model=
"xmsldata.constructionPhone"
></el-input>
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
e06ec2e9
...
...
@@ -129,7 +129,7 @@
<span>
项目类型:
</span>
<span>
{{
item
.
projectType
}}
</span>
</div>
<div
class=
"det-con"
v-if=
"item.investmentAmount"
>
<div
class=
"det-con"
v-if=
"item.investmentAmount
&&item.investmentAmount>0
"
>
<span>
投资估算(万元):
</span>
<span>
{{
item
.
investmentAmount
}}
</span>
</div>
...
...
@@ -139,7 +139,7 @@
</div>
<div
class=
"det-con"
v-if=
"item.ownerCompany "
>
<span>
业主单位:
</span>
<span
class=
"wordprimary"
>
{{
item
.
ownerCompany
}}
</span>
<span
class=
"wordprimary"
@
click=
"toEnterprise(item)"
>
{{
item
.
ownerCompany
}}
</span>
</div>
</div>
<el-divider
v-if=
"index != datalist.length-1"
></el-divider>
...
...
@@ -185,11 +185,13 @@
import
addproject
from
'./component/addProject'
import
batchimport
from
'./component/batchImport'
import
skeleton
from
'./component/skeleton'
import
{
encodeStr
}
from
"@/assets/js/common.js"
export
default
{
name
:
'ProjectList'
,
components
:{
addproject
,
batchimport
,
skeleton
},
data
()
{
return
{
encodeStr
,
types
:
'project'
,
props
:{
multiple
:
true
},
activeName
:
'first'
,
...
...
@@ -387,6 +389,13 @@ export default {
toDetail
(
id
,
tag
){
this
.
$router
.
push
({
path
:
'/project/projectList/detail'
,
query
:
{
id
:
id
,
tag
:
tag
}
});
},
toEnterprise
(
item
){
if
(
item
.
ownerCompanyUipId
){
this
.
$router
.
push
({
path
:
'/enterprise/'
+
this
.
encodeStr
(
item
.
ownerCompanyUipId
)});
}
else
{
this
.
$router
.
push
({
path
:
'/company/'
+
this
.
encodeStr
(
item
.
ownerCompanyCid
)});
}
},
handleClick
(){
this
.
reset
()
},
...
...
dsk-system/src/main/java/com/dsk/system/domain/BusinessAddDto.java
View file @
e06ec2e9
...
...
@@ -18,7 +18,7 @@ public class BusinessAddDto {
/**
* 用户id
*/
private
Integer
userId
;
private
Long
userId
;
/**
* 项目类型
...
...
dsk-
common/src/main/java/com/dsk/common/core/domain/entity
/BusinessBacklog.java
→
dsk-
system/src/main/java/com/dsk/system/domain/business
/BusinessBacklog.java
View file @
e06ec2e9
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
package
com
.
dsk
.
system
.
domain
.
business
;
import
java.util.Date
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.dsk.common.annotation.Excel
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
...
...
@@ -14,6 +15,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl
* @date 2023-05-17
*/
@Data
public
class
BusinessBacklog
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -34,82 +36,17 @@ public class BusinessBacklog extends BaseEntity
private
String
task
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd
HH:mm:ss
"
)
private
Date
finishTime
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"到期时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
dueTime
;
/** 状态(2已完成,1进行中,0逾期) */
@Excel
(
name
=
"状态
(2已完成,1进行中,0逾期)
"
)
@Excel
(
name
=
"状态
0:进行中 1:已到期
"
)
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
();
}
}
dsk-system/src/main/java/com/dsk/system/domain/business/vo/BusinessBacklogListVo.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
domain
.
business
.
vo
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 项目工作待办对象 business_backlog
*
* @author lxl
* @date 2023-05-17
*/
@Data
public
class
BusinessBacklogListVo
{
private
static
final
long
serialVersionUID
=
1L
;
/** $column.columnComment */
private
Integer
id
;
/** 项目id */
private
Integer
businessId
;
/** 关联客户 */
private
String
target
;
/** 待办工作内容 */
private
String
task
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
finishTime
;
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"到期时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
dueTime
;
/** 状态(2已完成,1进行中,0逾期) */
@Excel
(
name
=
"状态 0:进行中 1:已到期 2:已逾期"
)
private
Integer
state
;
}
dsk-system/src/main/java/com/dsk/system/domain/customer/ContactInfo.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
domain
.
customer
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"contact_info"
)
public
class
ContactInfo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
22461377492423075L
;
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 项目id
*/
private
Integer
projectId
;
/**
* 姓名
*/
private
String
name
;
/**
* 性别
*/
private
String
sex
;
/**
* 角色
*/
private
String
role
;
/**
* 职位
*/
private
String
position
;
/**
* 联系方式
*/
private
String
contactInformation
;
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 备注
*/
private
String
remark
;
private
String
createBy
;
private
Date
createTime
;
private
String
updateBy
;
private
Long
updateId
;
private
Date
updateTime
;
}
dsk-system/src/main/java/com/dsk/system/domain/customer/dto/ContactInfoSearchDto.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
domain
.
customer
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
public
class
ContactInfoSearchDto
implements
Serializable
{
/**
* 项目id
*/
private
Integer
projectId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 客户id
*/
private
String
customerId
;
}
dsk-system/src/main/java/com/dsk/system/domain/customer/dto/CustomerSearchDto.java
View file @
e06ec2e9
...
...
@@ -10,10 +10,22 @@ import java.io.Serializable;
*/
@Data
public
class
CustomerSearchDto
implements
Serializable
{
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 用户id
*/
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/vo/ContactInfoListVo.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
domain
.
customer
.
vo
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
public
class
ContactInfoListVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
22461377492423075L
;
private
Long
id
;
/**
* 客户id
*/
private
String
customerId
;
/**
* 项目id
*/
private
Integer
projectId
;
/**
* 项目名称
*/
private
String
projectName
;
/**
* 姓名
*/
private
String
name
;
/**
* 性别
*/
private
String
sex
;
/**
* 角色
*/
private
String
role
;
/**
* 职位
*/
private
String
position
;
/**
* 联系方式
*/
private
String
contactInformation
;
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
* 企业名称
*/
private
String
companyName
;
/**
* 更新人
*/
private
String
updateBy
;
}
dsk-system/src/main/java/com/dsk/system/mapper/BusinessBacklogMapper.java
View file @
e06ec2e9
package
com
.
dsk
.
system
.
mapper
;
import
com.dsk.common.core.domain.entity.BusinessBacklog
;
import
com.dsk.system.domain.business.BusinessBacklog
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
java.util.List
;
/**
* 项目工作待办Mapper接口
*
*
* @author lxl
* @date 2023-05-17
*/
public
interface
BusinessBacklogMapper
public
interface
BusinessBacklogMapper
{
/**
* 查询项目工作待办
*
*
* @param id 项目工作待办主键
* @return 项目工作待办
*/
...
...
@@ -22,15 +23,15 @@ public interface BusinessBacklogMapper
/**
* 查询项目工作待办列表
*
*
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
*/
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
public
List
<
BusinessBacklog
ListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
/**
* 新增项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
...
...
@@ -38,7 +39,7 @@ public interface BusinessBacklogMapper
/**
* 修改项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
...
...
@@ -46,7 +47,7 @@ public interface BusinessBacklogMapper
/**
* 删除项目工作待办
*
*
* @param id 项目工作待办主键
* @return 结果
*/
...
...
@@ -54,15 +55,12 @@ public interface BusinessBacklogMapper
/**
* 批量删除项目工作待办
*
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
);
/**
* 修改工作待办逾期状态
* @return
*/
int
updateBacklogState
();
Integer
overdueCount
(
Integer
businessId
);
}
dsk-system/src/main/java/com/dsk/system/mapper/BusinessInfoMapper.java
View file @
e06ec2e9
...
...
@@ -14,7 +14,7 @@ import java.util.List;
/**
* 项目详情Mapper接口
*
*
* @author lxl
* @date 2023-05-17
*/
...
...
@@ -23,7 +23,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
{
/**
* 查询项目详情
*
*
* @param id 项目详情主键
* @return 项目详情
*/
...
...
@@ -45,7 +45,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 查询项目详情列表
*
*
* @param dto 项目详情
* @return 项目详情集合
*/
...
...
@@ -53,7 +53,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
/**
* 新增项目详情
*
*
* @param businessInfo 项目详情
* @return 结果
*/
...
...
@@ -96,7 +96,7 @@ public interface BusinessInfoMapper extends BaseMapper<BusinessInfo>
* @param userId
* @return
*/
int
isRepetitionProjectName
(
@Param
(
"projectName"
)
String
projectName
,
@Param
(
"userId"
)
Integer
userId
);
int
isRepetitionProjectName
(
@Param
(
"projectName"
)
String
projectName
,
@Param
(
"userId"
)
Long
userId
);
int
selectCountByStatusAndCustomerId
(
@Param
(
"status"
)
Integer
status
,
@Param
(
"customerId"
)
String
customerId
);
...
...
dsk-system/src/main/java/com/dsk/system/mapper/ContactInfoMapper.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.domain.customer.vo.ContactInfoListVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* 用户联系人(CustomerContact)表数据库访问层
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
@Mapper
public
interface
ContactInfoMapper
extends
BaseMapper
<
ContactInfo
>
{
List
<
ContactInfoListVo
>
selectPageList
(
ContactInfoSearchDto
dto
);
}
dsk-system/src/main/java/com/dsk/system/searchService/BusinessOpportunityRadarService.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
searchService
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
BusinessOpportunityRadarService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
public
AjaxResult
jskBidNewsPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/news/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
jskBidTenderPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidTender/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
establishmentPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/establishment/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
jskBidPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
landMarketPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/landMarket/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
enterpriseIndex
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/index"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
enterprisePage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
enterpriseByName
(
String
keyword
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"keyword"
,
keyword
);
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/enterprice/findByName"
,
params
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bondProjectPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/bondProject/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
jskBidPlanPage
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/page"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
getCapitalSourceSelect
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBidPlan/getCapitalSourceSelect"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
keywordList
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/project/keywordList"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidSourceList
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/jskBid/source"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/java/com/dsk/system/searchService/MarketAnalysisService.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
searchService
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.utils.DskOpenApiUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
/**
* @Author liujie
* @ClassName MarketAnalysisServiceImpl
* @Date 2023/5/15 16:40
**/
@Service
public
class
MarketAnalysisService
{
@Autowired
private
DskOpenApiUtil
dskOpenApiUtil
;
public
AjaxResult
areaGroupByProvince
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/areaGroupByProvince"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
certGroupByMajorAndLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorAndLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
certGroupByMajorProvinceLevel
()
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/certGroupByMajorProvinceLevel"
,
null
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidMoneyGroupByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidMoneyGroupByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
bidGroupCountByProjectType
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/bidGroupCountByProjectType"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countGroupByProvince
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByProvince"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
public
AjaxResult
countGroupByMonth
(
JSONObject
object
)
{
Map
<
String
,
Object
>
map
=
dskOpenApiUtil
.
requestBody
(
"/nationzj/marketAnalysis/countGroupByMonth"
,
object
);
return
BeanUtil
.
toBean
(
map
,
AjaxResult
.
class
);
}
}
dsk-system/src/main/java/com/dsk/system/service/IBusinessBacklogService.java
View file @
e06ec2e9
package
com
.
dsk
.
system
.
service
;
import
com.dsk.common.core.domain.entity.BusinessBacklog
;
import
com.dsk.system.domain.business.BusinessBacklog
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
java.util.List
;
/**
* 项目工作待办Service接口
*
*
* @author llx
* @date 2023-05-17
*/
public
interface
IBusinessBacklogService
public
interface
IBusinessBacklogService
{
/**
* 查询项目工作待办
*
*
* @param id 项目工作待办主键
* @return 项目工作待办
*/
...
...
@@ -22,15 +23,15 @@ public interface IBusinessBacklogService
/**
* 查询项目工作待办列表
*
*
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
*/
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
public
List
<
BusinessBacklog
ListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
/**
* 新增项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
...
...
@@ -38,7 +39,7 @@ public interface IBusinessBacklogService
/**
* 修改项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @return 结果
*/
...
...
@@ -46,7 +47,7 @@ public interface IBusinessBacklogService
/**
* 批量删除项目工作待办
*
*
* @param ids 需要删除的项目工作待办主键集合
* @return 结果
*/
...
...
@@ -54,9 +55,12 @@ public interface IBusinessBacklogService
/**
* 删除项目工作待办信息
*
*
* @param id 项目工作待办主键
* @return 结果
*/
public
int
deleteBusinessBacklogById
(
Long
id
);
Integer
overdueCount
(
Integer
businessId
);
}
dsk-system/src/main/java/com/dsk/system/service/IContactInfoService.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
service
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.domain.customer.vo.ContactInfoListVo
;
import
java.util.List
;
/**
* 用户联系人(CustomerContact)表服务接口
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
public
interface
IContactInfoService
{
/**
* 查询数据列表
*/
List
<
ContactInfoListVo
>
selectList
(
ContactInfoSearchDto
dto
);
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ContactInfo
selectById
(
Long
id
);
/**
* 新增数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean
insert
(
ContactInfo
bean
);
/**
* 修改数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean
update
(
ContactInfo
bean
);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean
deleteById
(
Long
id
);
}
dsk-system/src/main/java/com/dsk/system/service/ICustomerService.java
View file @
e06ec2e9
...
...
@@ -39,4 +39,6 @@ public interface ICustomerService {
boolean
historyClaim
(
String
companyName
);
Customer
selectByCompanyNameAndUserId
(
String
companyName
);
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessBacklogServiceImpl.java
View file @
e06ec2e9
package
com
.
dsk
.
system
.
service
.
impl
;
import
com.dsk.common.core.domain.entity.BusinessBacklog
;
import
cn.hutool.core.bean.BeanException
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.dsk.system.domain.business.BusinessBacklog
;
import
com.dsk.common.exception.base.BaseException
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
com.dsk.system.mapper.BusinessBacklogMapper
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -22,9 +25,8 @@ import java.util.List;
*/
@Service
@Slf4j
public
class
BusinessBacklogServiceImpl
implements
IBusinessBacklogService
{
@Autowired
public
class
BusinessBacklogServiceImpl
implements
IBusinessBacklogService
{
@Resource
private
BusinessBacklogMapper
businessBacklogMapper
;
/**
...
...
@@ -34,8 +36,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办
*/
@Override
public
BusinessBacklog
selectBusinessBacklogById
(
Integer
id
)
{
public
BusinessBacklog
selectBusinessBacklogById
(
Integer
id
)
{
return
businessBacklogMapper
.
selectBusinessBacklogById
(
id
);
}
...
...
@@ -46,8 +47,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办
*/
@Override
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
)
{
public
List
<
BusinessBacklogListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
)
{
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getBusinessId
()))
{
throw
new
BeanException
(
"项目id不能为空!"
);
}
return
businessBacklogMapper
.
selectBusinessBacklogList
(
businessBacklog
);
}
...
...
@@ -59,12 +62,8 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/
@Override
@Transactional
public
int
insertBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
if
(
businessBacklog
.
getFinishTime
().
before
(
new
Date
()))
throw
new
BaseException
(
"完成时间必须大于当前时间"
);
businessBacklog
.
setCreateTime
(
DateUtils
.
getNowDate
());
//新增记录,状态默认 进行中
businessBacklog
.
setState
(
1
);
public
int
insertBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
if
(
businessBacklog
.
getDueTime
().
before
(
new
Date
()))
throw
new
BaseException
(
"到期时间必须大于当前时间"
);
return
businessBacklogMapper
.
insertBusinessBacklog
(
businessBacklog
);
}
...
...
@@ -76,16 +75,23 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/
@Override
@Transactional
public
int
updateBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
//从完成状态修改到为完成,判断是否已逾期
BusinessBacklog
backlog
=
selectBusinessBacklogById
(
businessBacklog
.
getId
());
if
(
businessBacklog
.
getState
()
==
1
&&
backlog
.
getState
()
==
2
&&
backlog
.
getFinishTime
().
before
(
new
Date
()))
{
businessBacklog
.
setState
(
0
);
businessBacklog
.
setUpdateTime
(
new
Date
());
return
businessBacklogMapper
.
updateBusinessBacklog
(
businessBacklog
);
public
int
updateBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getId
()))
{
throw
new
BeanException
(
"id不能为空!"
);
}
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getState
()))
{
throw
new
BeanException
(
"状态不能为空!"
);
}
switch
(
businessBacklog
.
getState
())
{
case
0
:
businessBacklog
.
setFinishTime
(
null
);
break
;
case
1
:
businessBacklog
.
setFinishTime
(
new
Date
());
break
;
default
:
throw
new
BeanException
(
"状态参数错误!"
);
}
businessBacklog
.
setUpdateTime
(
new
Date
());
return
businessBacklogMapper
.
updateBusinessBacklog
(
businessBacklog
);
}
...
...
@@ -96,8 +102,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果
*/
@Override
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
)
{
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
)
{
return
businessBacklogMapper
.
deleteBusinessBacklogByIds
(
ids
);
}
...
...
@@ -108,17 +113,12 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果
*/
@Override
public
int
deleteBusinessBacklogById
(
Long
id
)
{
public
int
deleteBusinessBacklogById
(
Long
id
)
{
return
businessBacklogMapper
.
deleteBusinessBacklogById
(
id
);
}
/**
* 定时修改工作待办逾期状态
*/
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
//每天凌晨0点执行一次
public
void
judgeOverdue
()
{
int
updateBacklogState
=
businessBacklogMapper
.
updateBacklogState
();
if
(
updateBacklogState
>
1
)
log
.
info
(
"定时修改工作待办逾期状态"
);
@Override
public
Integer
overdueCount
(
Integer
businessId
)
{
return
businessBacklogMapper
.
overdueCount
(
businessId
);
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
e06ec2e9
This diff is collapsed.
Click to expand it.
dsk-system/src/main/java/com/dsk/system/service/impl/ContactInfoServiceImpl.java
0 → 100644
View file @
e06ec2e9
package
com
.
dsk
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanException
;
import
com.dsk.common.core.domain.model.LoginUser
;
import
com.dsk.common.utils.SecurityUtils
;
import
com.dsk.system.domain.customer.ContactInfo
;
import
com.dsk.system.domain.customer.dto.ContactInfoSearchDto
;
import
com.dsk.system.domain.customer.vo.ContactInfoListVo
;
import
com.dsk.system.mapper.ContactInfoMapper
;
import
com.dsk.system.service.IContactInfoService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 用户联系人(CustomerContact)表服务实现类
*
* @author makejava
* @since 2023-07-25 17:18:04
*/
@Slf4j
@Service
public
class
ContactInfoServiceImpl
implements
IContactInfoService
{
@Resource
private
ContactInfoMapper
baseMapper
;
@Override
public
List
<
ContactInfoListVo
>
selectList
(
ContactInfoSearchDto
dto
)
{
return
baseMapper
.
selectPageList
(
dto
);
}
@Override
public
ContactInfo
selectById
(
Long
id
)
{
return
baseMapper
.
selectById
(
id
);
}
@Override
public
boolean
insert
(
ContactInfo
bean
)
{
verifyParameter
(
bean
);
return
baseMapper
.
insert
(
bean
)
>
0
;
}
@Override
public
boolean
update
(
ContactInfo
bean
)
{
if
(
ObjectUtils
.
isEmpty
(
bean
.
getId
()))
throw
new
BeanException
(
"id不能为空!"
);
verifyParameter
(
bean
);
return
baseMapper
.
updateById
(
bean
)
>
0
;
}
@Override
public
boolean
deleteById
(
Long
id
)
{
return
baseMapper
.
deleteById
(
id
)
>
0
;
}
/**
* 参数验证
*/
private
void
verifyParameter
(
ContactInfo
bean
)
{
// if (ObjectUtils.isEmpty(bean.getCustomerId())) throw new BeanException("客户id不能为空!");
LoginUser
loginUser
=
SecurityUtils
.
getLoginUser
();
bean
.
setCreateBy
(
loginUser
.
getUser
().
getNickName
());
bean
.
setUpdateId
(
loginUser
.
getUserId
());
bean
.
setUpdateBy
(
loginUser
.
getUser
().
getNickName
());
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/CustomerServiceImpl.java
View file @
e06ec2e9
...
...
@@ -15,6 +15,7 @@ import com.dsk.system.domain.customer.vo.*;
import
com.dsk.system.dskService.EnterpriseService
;
import
com.dsk.system.mapper.CustomerMapper
;
import
com.dsk.system.mapper.CustomerUserMapper
;
import
com.dsk.system.searchService.BusinessOpportunityRadarService
;
import
com.dsk.system.service.IBusinessInfoService
;
import
com.dsk.system.service.ICustomerService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -25,6 +26,7 @@ import org.springframework.util.ObjectUtils;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
/**
* 客户信息表(Customer)表服务实现类
...
...
@@ -44,6 +46,8 @@ public class CustomerServiceImpl implements ICustomerService {
private
IBusinessInfoService
businessInfoService
;
@Autowired
private
EnterpriseService
enterpriseService
;
@Autowired
private
BusinessOpportunityRadarService
opportunityRadarService
;
@Override
public
List
<
CustomerListVo
>
selectList
(
CustomerSearchDto
dto
)
{
...
...
@@ -65,6 +69,7 @@ public class CustomerServiceImpl implements ICustomerService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
add
(
Customer
customer
)
{
dealWithcustomerData
(
customer
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getUipId
()))
{
try
{
R
res
=
enterpriseService
.
getUipId
(
customer
.
getCompanyName
());
...
...
@@ -153,6 +158,11 @@ public class CustomerServiceImpl implements ICustomerService {
return
updateClaimStatus
(
companyName
,
0
);
}
@Override
public
Customer
selectByCompanyNameAndUserId
(
String
companyName
)
{
return
baseMapper
.
selectByCompanyNameAndUserId
(
companyName
,
SecurityUtils
.
getUserId
());
}
//修改客户认领状态
private
boolean
updateClaimStatus
(
String
companyName
,
Integer
status
)
{
Customer
cus
=
baseMapper
.
selectByCompanyNameAndUserId
(
companyName
,
SecurityUtils
.
getUserId
());
...
...
@@ -167,5 +177,39 @@ public class CustomerServiceImpl implements ICustomerService {
return
customerUserMapper
.
updateById
(
customerUser
)
==
1
;
}
private
void
dealWithcustomerData
(
Customer
customer
)
{
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyName
()))
throw
new
BeanException
(
"企业名称不能为空"
);
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCompanyId
()))
{
try
{
Map
<
String
,
Object
>
map
=
opportunityRadarService
.
enterpriseByName
(
customer
.
getCompanyName
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"data"
)))
{
customer
.
setCompanyId
(
MapUtil
.
getInt
(
BeanUtil
.
beanToMap
(
map
.
get
(
"data"
)),
"jskEid"
));
if
(
ObjectUtils
.
isEmpty
(
customer
.
getLegalPerson
()))
{
customer
.
setLegalPerson
(
MapUtil
.
getStr
(
map
,
"legalPerson"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterCapital
()))
{
customer
.
setRegisterCapital
(
MapUtil
.
getStr
(
map
,
"registeredCapitalStr"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getProvinceId
()))
{
customer
.
setProvinceId
(
MapUtil
.
getInt
(
map
,
"provinceId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCityId
()))
{
customer
.
setCityId
(
MapUtil
.
getInt
(
map
,
"cityId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getDistrictId
()))
{
customer
.
setDistrictId
(
MapUtil
.
getInt
(
map
,
"countyId"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getRegisterAddress
()))
{
customer
.
setRegisterAddress
(
MapUtil
.
getStr
(
map
,
"domicile"
));
}
if
(
ObjectUtils
.
isEmpty
(
customer
.
getCreditCode
()))
{
customer
.
setCreditCode
(
MapUtil
.
getStr
(
map
,
"creditCode"
));
}
}
}
catch
(
Exception
e
)
{
log
.
debug
(
"获取企业id错误!error:{}"
,
e
.
getMessage
());
}
}
}
}
dsk-system/src/main/resources/mapper/business/BusinessBacklogMapper.xml
View file @
e06ec2e9
...
...
@@ -4,7 +4,7 @@
"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"
>
<resultMap
type=
"com.dsk.
system.domain.business
.BusinessBacklog"
id=
"BusinessBacklogResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"businessId"
column=
"business_id"
/>
<result
property=
"target"
column=
"target"
/>
...
...
@@ -21,71 +21,48 @@
target,
task,
finish_time,
state,
due_time,
if(due_time
<
now() and state = 0, 2 ,state) state,
create_time,
update_time
from business_backlog
</sql>
<select
id=
"selectBusinessBacklogList"
parameterType=
"com.dsk.
common.core.domain.entity.BusinessBacklog
"
<select
id=
"selectBusinessBacklogList"
parameterType=
"com.dsk.
system.domain.business.vo.BusinessBacklogListVo
"
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>
where business_id = #{businessId}
<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>
ORDER BY create_time DESC
</select>
<select
id=
"selectBusinessBacklogById"
parameterType=
"Long"
resultMap=
"BusinessBacklogResult"
>
<select
id=
"selectBusinessBacklogById"
resultMap=
"BusinessBacklogResult"
>
<include
refid=
"selectBusinessBacklogVo"
/>
where id = #{id}
</select>
<insert
id=
"insertBusinessBacklog"
parameterType=
"com.dsk.
common.core.domain.entity
.BusinessBacklog"
<insert
id=
"insertBusinessBacklog"
parameterType=
"com.dsk.
system.domain.business
.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>
<if
test=
"dueTime != null"
>
due_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>
<if
test=
"dueTime != null"
>
#{dueTime},
</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>
<update
id=
"updateBacklogState"
>
update business_backlog
set state = 0
where state = 1
and finish_time
<
CURRENT_TIMESTAMP
<update
id=
"updateBusinessBacklog"
parameterType=
"com.dsk.system.domain.business.BusinessBacklog"
>
update business_backlog set finish_time = #{finishTime}, state = #{state} where id = #{id}
</update>
<delete
id=
"deleteBusinessBacklogById"
parameterType=
"Long"
>
...
...
@@ -100,4 +77,8 @@
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
<select
id=
"overdueCount"
resultType=
"java.lang.Integer"
>
select count(id) from business_backlog where business_id = #{businessId} and due_time
<
now() and state = 0
</select>
</mapper>
dsk-system/src/main/resources/mapper/business/BusinessInfoMapper.xml
View file @
e06ec2e9
...
...
@@ -356,8 +356,6 @@
<if
test=
"projectType != null"
>
project_type = #{projectType},
</if>
<if
test=
"projectCategory != null"
>
project_category = #{projectCategory},
</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>
<if
test=
"evaluationBidWay != null"
>
evaluation_bid_way = #{evaluationBidWay},
</if>
...
...
dsk-system/src/main/resources/mapper/business/BusinessRelateCompanyMapper.xml
View file @
e06ec2e9
...
...
@@ -70,8 +70,6 @@
<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>
<if
test=
"companyType != null"
>
company_type,
</if>
<if
test=
"companyUipId != null"
>
company_uip_id,
</if>
</trim>
...
...
@@ -83,8 +81,6 @@
<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>
<if
test=
"companyType != null"
>
#{companyType},
</if>
<if
test=
"companyUipId != null"
>
#{companyUipId},
</if>
</trim>
...
...
@@ -120,4 +116,4 @@
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
</mapper>
dsk-system/src/main/resources/mapper/system/customer/ContactInfoMapper.xml
0 → 100644
View file @
e06ec2e9
<?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.ContactInfoMapper"
>
<select
id=
"selectPageList"
resultType=
"com.dsk.system.domain.customer.vo.ContactInfoListVo"
>
select
cc.id, cc.customer_id, cc.project_id, bi.project_name, cc.name, cc.sex, cc.role,
cc.position, cc.contact_information, cc.company_id, cc.uip_id, cc.company_name,
cc.update_by
from contact_info cc
left join business_info bi on cc.project_id = bi.id
<where>
<if
test=
"cc.customerId != null and cc.customerId !='' "
>
and (cc.customer_id = #{customerId} or cc.company_name =#{companyName})
</if>
<if
test=
"cc.projectId != null "
>
and cc.project_id = #{projectId}
</if>
</where>
order by cc.create_time desc
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment