Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
baifang-java
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
单欣鑫
baifang-java
Commits
1d3a503e
Commit
1d3a503e
authored
Jun 13, 2025
by
法拉51246
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页修改,createTime隐藏
parent
e5f38da7
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
61 additions
and
45 deletions
+61
-45
InfoRespVO.java
...dao/module/visit/controller/admin/info/vo/InfoRespVO.java
+2
-2
InfoMapper.java
...iocoder/yudao/module/visit/dal/mysql/info/InfoMapper.java
+1
-1
HomeServiceImpl.java
...oder/yudao/module/visit/service/home/HomeServiceImpl.java
+38
-22
InfoForm.vue
...-ui/yudao-ui-admin-vue3/src/views/visit/info/InfoForm.vue
+1
-1
index.vue
yudao-ui/yudao-ui-admin-vue3/src/views/visit/info/index.vue
+19
-19
No files found.
yudao-module-visit/src/main/java/cn/iocoder/yudao/module/visit/controller/admin/info/vo/InfoRespVO.java
View file @
1d3a503e
...
...
@@ -22,7 +22,7 @@ import javax.validation.constraints.NotNull;
public
class
InfoRespVO
{
@Schema
(
description
=
"主键ID"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
,
example
=
"1"
)
@ExcelProperty
(
"主键ID"
)
//
@ExcelProperty("主键ID")
private
Long
id
;
@Schema
(
description
=
"客户姓名"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
...
...
@@ -95,7 +95,7 @@ public class InfoRespVO {
private
Integer
visitType
;
@Schema
(
description
=
"创建时间"
,
requiredMode
=
Schema
.
RequiredMode
.
REQUIRED
)
@ExcelProperty
(
"创建时间"
)
//
@ExcelProperty("创建时间")
private
LocalDateTime
createTime
;
@Schema
(
description
=
"服务内容"
)
...
...
yudao-module-visit/src/main/java/cn/iocoder/yudao/module/visit/dal/mysql/info/InfoMapper.java
View file @
1d3a503e
...
...
@@ -31,7 +31,7 @@ public interface InfoMapper extends BaseMapperX<InfoDO> {
.
eqIfPresent
(
InfoDO:
:
getVisitType
,
reqVO
.
getVisitType
())
.
eqIfPresent
(
InfoDO:
:
getCompanyId
,
companyId
)
.
betweenIfPresent
(
InfoDO:
:
getCreateTime
,
reqVO
.
getCreateTime
())
.
orderByDesc
(
InfoDO:
:
get
Id
));
.
orderByDesc
(
InfoDO:
:
get
VisitDate
));
}
default
PageResult
<
InfoDO
>
selectHomePage
(
InfoPageReqVO
reqVO
)
{
Long
companyId
=
SecurityFrameworkUtils
.
getLoginUserDeptId
();
...
...
yudao-module-visit/src/main/java/cn/iocoder/yudao/module/visit/service/home/HomeServiceImpl.java
View file @
1d3a503e
...
...
@@ -60,28 +60,7 @@ public class HomeServiceImpl implements HomeService {
@Override
public
HomeFirstRespVO
getHomeInfoFirst
(
HomeReqVO
reqVO
)
{
HomeFirstRespVO
homeFirstRespVO
=
new
HomeFirstRespVO
();
//业务员数量(不按时间)
Long
loginUserDeptId
=
SecurityFrameworkUtils
.
getLoginUserDeptId
();
//查出登录用户的deptId
Set
<
Long
>
deptCondition
=
Collections
.
emptySet
();
//默认不限制
if
(
loginUserDeptId
==
null
||
!
loginUserDeptId
.
equals
(
100L
))
{
//说明是总公司,不限制
deptCondition
=
getDeptCondition
(
loginUserDeptId
);
//不是总公司了,就递归查询该部门以及子部门的所有id
}
List
<
AdminUserDO
>
userDOS
=
userMapper
.
selectListInDeptIds
(
deptCondition
);
homeFirstRespVO
.
setYwysl
(
String
.
valueOf
(
userDOS
.
size
()));
//按创建时间查这段时间的客户数量
CustomerInfoPageReqVO
customerInfoPageReqVO
=
new
CustomerInfoPageReqVO
();
customerInfoPageReqVO
.
setCreateTime
(
reqVO
.
getSearchTime
());
customerInfoPageReqVO
.
setPageSize
(-
1
);
//不分页
customerInfoPageReqVO
.
setCompanyName
(
reqVO
.
getCompanyName
());
PageResult
<
CustomerInfoDO
>
customerInfoDOPageResult
=
customerInfoMapper
.
selectHomePage
(
customerInfoPageReqVO
);
//精准查询
//拜访客户总数量
homeFirstRespVO
.
setBfkhsl
(
String
.
valueOf
(
customerInfoDOPageResult
.
getTotal
()));
//商业客户数量
String
sykhsl
=
customerInfoDOPageResult
.
getList
().
stream
().
filter
(
customerInfoDO
->
customerInfoDO
.
getCustomerType
()
==
0
).
count
()
+
""
;
//医疗客户数量
String
ylkhsl
=
customerInfoDOPageResult
.
getList
().
stream
().
filter
(
customerInfoDO
->
customerInfoDO
.
getCustomerType
()
==
1
).
count
()
+
""
;
homeFirstRespVO
.
setSykhsl
(
sykhsl
);
homeFirstRespVO
.
setYlkhsl
(
ylkhsl
);
//按拜访时间查这段时间的拜访次数
InfoPageReqVO
infoPageReqVO
=
new
InfoPageReqVO
();
infoPageReqVO
.
setVisitDate
(
reqVO
.
getSearchTime
());
...
...
@@ -102,6 +81,43 @@ public class HomeServiceImpl implements HomeService {
list
.
stream
()
.
filter
(
infoDO
->
Integer
.
valueOf
(
1
).
equals
(
infoDO
.
getVisitType
()))
.
count
()));
//业务员数量(不按时间)
// Long loginUserDeptId = SecurityFrameworkUtils.getLoginUserDeptId();//查出登录用户的deptId
// Set<Long> deptCondition = Collections.emptySet();//默认不限制
// if (loginUserDeptId == null || !loginUserDeptId.equals(100L)) {//说明是总公司,不限制
// deptCondition = getDeptCondition(loginUserDeptId);//不是总公司了,就递归查询该部门以及子部门的所有id
// }
// List<AdminUserDO> userDOS = userMapper.selectListInDeptIds(deptCondition);
long
count
=
list
.
stream
()
.
map
(
InfoDO:
:
getCreator
)
// 提取 creator 字段
.
filter
(
Objects:
:
nonNull
)
// 可选:过滤掉 null
.
distinct
()
// 去重
.
count
();
// 统计个数
homeFirstRespVO
.
setYwysl
(
String
.
valueOf
(
count
));
//按创建时间查这段时间的客户数量
// CustomerInfoPageReqVO customerInfoPageReqVO = new CustomerInfoPageReqVO();
// customerInfoPageReqVO.setCreateTime(reqVO.getSearchTime());
// customerInfoPageReqVO.setPageSize(-1);//不分页
// customerInfoPageReqVO.setCompanyName(reqVO.getCompanyName());
// PageResult<CustomerInfoDO> customerInfoDOPageResult = customerInfoMapper.selectHomePage(customerInfoPageReqVO);//精准查询
//按拜访记录中客户的数量
long
companyCount
=
list
.
stream
()
.
map
(
InfoDO:
:
getCompanyName
)
// 提取 companyName 字段
.
filter
(
Objects:
:
nonNull
)
// 可选:过滤掉 null
.
distinct
()
// 去重
.
count
();
// 统计个数
//拜访客户总数量
homeFirstRespVO
.
setBfkhsl
(
String
.
valueOf
(
companyCount
));
//商业客户数量
// String sykhsl = customerInfoDOPageResult.getList().stream().filter(customerInfoDO -> customerInfoDO.getCustomerType() == 0).count() + "";
String
sykhsl
=
list
.
stream
().
filter
(
infoDO
->
infoDO
.
getCustomerStatus
()
==
0
).
map
(
InfoDO:
:
getCompanyName
).
filter
(
Objects:
:
nonNull
).
distinct
().
count
()+
""
;
//医疗客户数量
// String ylkhsl = customerInfoDOPageResult.getList().stream().filter(customerInfoDO -> customerInfoDO.getCustomerType() == 1).count() + "";
String
ylkhsl
=
list
.
stream
().
filter
(
infoDO
->
infoDO
.
getCustomerStatus
()
==
1
).
map
(
InfoDO:
:
getCompanyName
).
filter
(
Objects:
:
nonNull
).
distinct
().
count
()+
""
;
homeFirstRespVO
.
setSykhsl
(
sykhsl
);
homeFirstRespVO
.
setYlkhsl
(
ylkhsl
);
return
homeFirstRespVO
;
}
/**
...
...
yudao-ui/yudao-ui-admin-vue3/src/views/visit/info/InfoForm.vue
View file @
1d3a503e
...
...
@@ -55,7 +55,7 @@
<el-form-item
label=
"拜访日期"
prop=
"visitDate"
>
<el-date-picker
v-model=
"formData.visitDate"
type=
"date
time
"
type=
"date"
value-format=
"x"
placeholder=
"选择拜访日期"
/>
...
...
yudao-ui/yudao-ui-admin-vue3/src/views/visit/info/index.vue
View file @
1d3a503e
...
...
@@ -95,17 +95,17 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"创建时间"
prop=
"createTime"
>
<el-date-picker
v-model=
"queryParams.createTime"
value-format=
"YYYY-MM-DD HH:mm:ss"
type=
"daterange"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class=
"!w-220px"
/
>
</el-form-item
>
<!--
<el-form-item
label=
"创建时间"
prop=
"createTime"
>
--
>
<!--
<el-date-picker-->
<!-- v-model="queryParams.createTime"-->
<!-- value-format="YYYY-MM-DD HH:mm:ss"-->
<!-- type="daterange"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"-->
<!-- class="!w-220px"-->
<!-- />--
>
<!--
</el-form-item>
--
>
<el-form-item>
<el-button
@
click=
"handleQuery"
><Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
</el-button>
<el-button
@
click=
"resetQuery"
><Icon
icon=
"ep:refresh"
class=
"mr-5px"
/>
重置
</el-button>
...
...
@@ -169,7 +169,7 @@
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:stripe=
"true"
:show-overflow-tooltip=
"true"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
label=
"主键ID"
align=
"center"
prop=
"id"
/
>
<!--
<el-table-column
label=
"主键ID"
align=
"center"
prop=
"id"
/>
--
>
<el-table-column
label=
"拜访人姓名"
align=
"center"
prop=
"customerName"
width=
"100px"
/>
<el-table-column
label=
"联系方式"
align=
"center"
prop=
"contact"
width=
"120px"
/>
<el-table-column
label=
"客户公司名称"
align=
"center"
prop=
"companyName"
width=
"240px"
/>
...
...
@@ -201,13 +201,13 @@
<dict-tag
:type=
"DICT_TYPE.VISIT_TYPE"
:value=
"scope.row.visitType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
:formatter=
"dateFormatter2"
width=
"180px"
/
>
<!-- <el-table-column-->
<!-- label="创建时间"-->
<!-- align="center"-->
<!-- prop="createTime"-->
<!-- :formatter="dateFormatter2"-->
<!-- width="180px"-->
<!-- />--
>
<el-table-column
label=
"操作"
align=
"center"
min-width=
"180px"
fixed=
"right"
>
<
template
#default
="
scope
"
>
<el-button
...
...
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