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
8414a28f
Commit
8414a28f
authored
Jul 26, 2023
by
danfuman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev20230707' of
http://192.168.60.201/root/dsk-operate-sys
into dev20230707
parents
5e3ac391
a61d231c
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
728 additions
and
164 deletions
+728
-164
BusinessBacklogController.java
...sk/web/controller/business/BusinessBacklogController.java
+11
-5
ContactInfoController.java
...om/dsk/web/controller/customer/ContactInfoController.java
+77
-0
EnterpriseProjectApprovalProjectPageBody.java
...omain/model/EnterpriseProjectApprovalProjectPageBody.java
+5
-2
project.scss
dsk-operate-ui/src/assets/styles/project.scss
+8
-3
index.vue
dsk-operate-ui/src/layout/components/Sidebar/index.vue
+16
-4
index.vue
dsk-operate-ui/src/views/custom/overview/index.vue
+1
-1
addProject.vue
...ui/src/views/project/projectList/component/addProject.vue
+6
-4
lxr.vue
...perate-ui/src/views/project/projectList/component/lxr.vue
+37
-30
xgqy.vue
...erate-ui/src/views/project/projectList/component/xgqy.vue
+24
-14
index.vue
dsk-operate-ui/src/views/project/projectList/index.vue
+1
-0
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
ContactInfoMapper.java
...rc/main/java/com/dsk/system/mapper/ContactInfoMapper.java
+24
-0
IBusinessBacklogService.java
.../java/com/dsk/system/service/IBusinessBacklogService.java
+14
-10
IContactInfoService.java
...main/java/com/dsk/system/service/IContactInfoService.java
+53
-0
BusinessBacklogServiceImpl.java
...m/dsk/system/service/impl/BusinessBacklogServiceImpl.java
+35
-35
BusinessInfoServiceImpl.java
.../com/dsk/system/service/impl/BusinessInfoServiceImpl.java
+0
-1
ContactInfoServiceImpl.java
...a/com/dsk/system/service/impl/ContactInfoServiceImpl.java
+69
-0
BusinessBacklogMapper.xml
.../main/resources/mapper/business/BusinessBacklogMapper.xml
+19
-38
BusinessInfoMapper.xml
...src/main/resources/mapper/business/BusinessInfoMapper.xml
+0
-2
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 @
8414a28f
...
@@ -2,7 +2,7 @@ package com.dsk.web.controller.business;
...
@@ -2,7 +2,7 @@ package com.dsk.web.controller.business;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.common.core.domain.AjaxResult
;
import
com.dsk.
common.core.domain.entity
.BusinessBacklog
;
import
com.dsk.
system.domain.business
.BusinessBacklog
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
/**
* 项目工作待办Controller
* 项目工作待办Controller
*
*
...
@@ -36,8 +34,7 @@ public class BusinessBacklogController extends BaseController
...
@@ -36,8 +34,7 @@ public class BusinessBacklogController extends BaseController
public
TableDataInfo
list
(
BusinessBacklog
businessBacklog
)
public
TableDataInfo
list
(
BusinessBacklog
businessBacklog
)
{
{
startPage
();
startPage
();
List
<
BusinessBacklog
>
list
=
businessBacklogService
.
selectBusinessBacklogList
(
businessBacklog
);
return
getDataTable
(
businessBacklogService
.
selectBusinessBacklogList
(
businessBacklog
));
return
getDataTable
(
list
);
}
}
/**
/**
...
@@ -63,6 +60,15 @@ public class BusinessBacklogController extends BaseController
...
@@ -63,6 +60,15 @@ public class BusinessBacklogController extends BaseController
return
toAjax
(
businessBacklogService
.
updateBusinessBacklog
(
businessBacklog
));
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 @
8414a28f
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-common/src/main/java/com/dsk/common/core/domain/model/EnterpriseProjectApprovalProjectPageBody.java
View file @
8414a28f
...
@@ -5,9 +5,7 @@ import lombok.EqualsAndHashCode;
...
@@ -5,9 +5,7 @@ import lombok.EqualsAndHashCode;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
lombok.ToString
;
import
lombok.ToString
;
import
javax.validation.constraints.AssertFalse
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
@Data
@Data
@ToString
@ToString
...
@@ -25,6 +23,11 @@ public class EnterpriseProjectApprovalProjectPageBody extends BasePage {
...
@@ -25,6 +23,11 @@ public class EnterpriseProjectApprovalProjectPageBody extends BasePage {
*/
*/
private
String
keys
;
private
String
keys
;
/**
* 是否为民介0(否),1(是)
*/
private
String
isProject
;
/*
/*
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
* 1金额倒序,2金额正序,3计划开工时间倒序,4计划开工时间正序,13计划完工时间倒序,14计划完工时间正序
...
...
dsk-operate-ui/src/assets/styles/project.scss
View file @
8414a28f
...
@@ -459,10 +459,10 @@
...
@@ -459,10 +459,10 @@
opacity
:
0
.8
;
opacity
:
0
.8
;
padding
:
0
;
padding
:
0
;
}
}
.el-input
{
.el-input
,
.el-textarea
{
display
:
inline-block
;
display
:
inline-block
;
width
:
240px
;
width
:
240px
;
.el-input__inner
{
.el-input__inner
,
.el-textarea__inner
{
width
:
100%
;
width
:
100%
;
height
:
32px
;
height
:
32px
;
border-radius
:
0px
;
border-radius
:
0px
;
...
@@ -471,6 +471,11 @@
...
@@ -471,6 +471,11 @@
border-color
:
#0081FF
;
border-color
:
#0081FF
;
}
}
}
}
.el-textarea__inner
{
height
:
90px
;
font-family
:
inherit
;
color
:
#000
;
}
.el-input__suffix
{
.el-input__suffix
{
height
:
32px
;
height
:
32px
;
}
}
...
@@ -508,7 +513,7 @@
...
@@ -508,7 +513,7 @@
}
}
}
}
.popform.i
{
.popform.i
{
.el-input
{
.el-input
,
.el-textarea
{
width
:
335px
;
width
:
335px
;
}
}
}
}
...
...
dsk-operate-ui/src/layout/components/Sidebar/index.vue
View file @
8414a28f
...
@@ -13,8 +13,8 @@
...
@@ -13,8 +13,8 @@
mode=
"vertical"
mode=
"vertical"
>
>
<sidebar-item
<sidebar-item
v-for=
"(route, index) in
sidebarRouters
"
v-for=
"(route, index) in
hidechildren
"
:key=
"route.path + index"
:key=
"route.path + index"
:is-collapse=
"isCollapse"
:is-collapse=
"isCollapse"
:active-menu=
"activeMenu"
:active-menu=
"activeMenu"
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
:base-path=
"route.path"
:base-path=
"route.path"
:class=
"route.fixed&&route.fixed.isFixed?'sideFoot':''"
: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'}:''"
: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-menu>
</el-scrollbar>
</el-scrollbar>
...
@@ -39,7 +39,7 @@ import SidebarItem from "./SidebarItem";
...
@@ -39,7 +39,7 @@ import SidebarItem from "./SidebarItem";
import
variables
from
"@/assets/styles/variables.scss"
;
import
variables
from
"@/assets/styles/variables.scss"
;
export
default
{
export
default
{
components
:
{
SidebarItem
,
Logo
},
components
:
{
SidebarItem
,
Logo
},
data
()
{
data
()
{
return
{
return
{
...
@@ -49,6 +49,18 @@ export default {
...
@@ -49,6 +49,18 @@ export default {
computed
:
{
computed
:
{
...
mapState
([
"settings"
]),
...
mapState
([
"settings"
]),
...
mapGetters
([
"sidebarRouters"
,
"sidebar"
]),
...
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
()
{
activeMenu
()
{
const
route
=
this
.
$route
;
const
route
=
this
.
$route
;
const
{
meta
,
path
}
=
route
;
const
{
meta
,
path
}
=
route
;
...
...
dsk-operate-ui/src/views/custom/overview/index.vue
View file @
8414a28f
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
<img
class=
"icon_img"
src=
"@/assets/images/project/icon_3.png"
>
<img
class=
"icon_img"
src=
"@/assets/images/project/icon_3.png"
>
</div>
</div>
<div
class=
"icons"
>
<div
class=
"icons"
>
<div
class=
"name"
>
今日
紧
进客户
</div>
<div
class=
"name"
>
今日
跟
进客户
</div>
<div
class=
"count"
>
30
</div>
<div
class=
"count"
>
30
</div>
<img
class=
"icon_img"
src=
"@/assets/images/project/icon_4.png"
>
<img
class=
"icon_img"
src=
"@/assets/images/project/icon_4.png"
>
</div>
</div>
...
...
dsk-operate-ui/src/views/project/projectList/component/addProject.vue
View file @
8414a28f
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"业主单位:"
class=
"row"
prop=
"ownerCompany"
>
<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
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
v-for=
"(item,index) in companData"
@
click=
"selCompany(item)"
><span
v-html=
"item.name"
></span></div>
</div>
</div>
...
@@ -115,6 +115,7 @@
...
@@ -115,6 +115,7 @@
},
},
methods
:{
methods
:{
toradar
(){
toradar
(){
this
.
resetForm
()
this
.
$router
.
push
({
path
:
'/radar'
})
this
.
$router
.
push
({
path
:
'/radar'
})
},
},
handleALL
(
event
){
handleALL
(
event
){
...
@@ -178,11 +179,12 @@
...
@@ -178,11 +179,12 @@
//添加客户
//添加客户
submitForm
(
formName
)
{
submitForm
(
formName
)
{
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
this
.
queryParam
.
userId
=
this
.
$store
.
state
.
user
.
userId
if
(
this
.
queryParam
.
investmentAmount
!=
""
)
this
.
queryParam
.
investmentAmount
=
parseFloat
(
this
.
queryParam
.
investmentAmount
)
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
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
){
if
(
result
.
code
==
200
){
this
.
$message
.
success
(
'添加成功!'
)
this
.
$message
.
success
(
'添加成功!'
)
this
.
resetForm
(
'ruleForm'
)
this
.
resetForm
(
'ruleForm'
)
...
...
dsk-operate-ui/src/views/project/projectList/component/lxr.vue
View file @
8414a28f
...
@@ -106,8 +106,8 @@
...
@@ -106,8 +106,8 @@
<img
src=
"@/assets/images/economies/icon.png"
>
<img
src=
"@/assets/images/economies/icon.png"
>
<span>
{{projectname}}
</span>
<span>
{{projectname}}
</span>
</div>
</div>
<el-form
class=
"popform"
label-width=
"137px"
>
<el-form
class=
"popform"
:model=
"queryParam"
ref=
"ruleForm"
label-width=
"137px"
:rules=
"rules"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
>
<el-form-item
label=
"联系人姓名:"
class=
"row"
prop=
"name"
>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.name"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
<el-form-item
label=
"联系人性别:"
class=
"row"
>
...
@@ -157,6 +157,9 @@
...
@@ -157,6 +157,9 @@
},
},
data
(){
data
(){
return
{
return
{
rules
:{
name
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
},
dialogVisible
:
false
,
dialogVisible
:
false
,
isnew
:
true
,
//是否新增
isnew
:
true
,
//是否新增
textarea
:
""
,
textarea
:
""
,
...
@@ -200,36 +203,40 @@
...
@@ -200,36 +203,40 @@
})
})
},
},
save
(){
save
(){
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
this
.
$refs
[
'ruleForm'
].
validate
((
valid
)
=>
{
param
.
sex
=
parseInt
(
param
.
sex
)
if
(
valid
)
{
if
(
!
this
.
queryParam
.
phone
){
let
param
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryParam
))
this
.
$message
.
error
(
'请输入电话号码'
)
param
.
sex
=
parseInt
(
param
.
sex
)
return
false
if
(
!
this
.
queryParam
.
phone
)
{
}
this
.
$message
.
error
(
'请输入电话号码'
)
var
regPartton
=
/1
[
3-9
]
+
\d{9}
/
;
return
false
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
}
}
})
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
(
this
.
isnew
==
true
){
if
(
!
regPartton
.
test
(
this
.
queryParam
.
phone
)
&&
!
regPartton1
.
test
(
this
.
queryParam
.
phone
))
{
addLXR
(
param
).
then
(
result
=>
{
this
.
$message
.
error
(
"请输入正确的电话"
);
if
(
result
.
code
==
200
){
return
false
this
.
$message
.
success
(
'新增成功!'
)
this
.
getList
()
this
.
dialogVisible
=
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
)
{
handleCurrentChange
(
val
)
{
...
...
dsk-operate-ui/src/views/project/projectList/component/xgqy.vue
View file @
8414a28f
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<el-card
class=
"box-card noborder"
>
<el-card
class=
"box-card noborder"
>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"cardtitles"
>
相关企业
</div>
<div
class=
"searchbtns"
>
<div
class=
"searchbtns"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
v-model=
"searchParam.company
Typ
e"
@
change=
"handleCurrentChange(1)"
>
<el-select
class=
"select"
placeholder=
"企业类型"
clearable
v-model=
"searchParam.company
Rol
e"
@
change=
"handleCurrentChange(1)"
>
<el-option
v-for=
"(item,index) in companytype"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
<el-option
v-for=
"(item,index) in companytype"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
<div
class=
"searchInput small"
>
<div
class=
"searchInput small"
>
...
@@ -73,9 +73,9 @@
...
@@ -73,9 +73,9 @@
label=
"备注"
label=
"备注"
width=
""
>
width=
""
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<
el-tooltip
v-if=
"scope.row.responsiblePerson"
class=
"item"
effect=
"dark"
:content=
"scope.row.responsiblePerson"
placement=
"top
"
>
<
div
class=
"showremark"
v-if=
"scope.row.remark
"
>
<
div
class=
"showremark"
>
{{
scope
.
row
.
responsiblePerson
}}
</div
>
<
el-tooltip
class=
"item"
effect=
"dark"
:content=
"scope.row.remark"
placement=
"top"
><span>
{{
scope
.
row
.
remark
}}
</span></el-tooltip
>
</
el-tooltip
>
</
div
>
<div
v-else
>
--
</div>
<div
v-else
>
--
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -141,8 +141,8 @@
...
@@ -141,8 +141,8 @@
<span>
新建相关企业
</span>
<span>
新建相关企业
</span>
</div>
</div>
<el-form
class=
"popform i"
:model=
"queryParam"
label-width=
"85px"
:rules=
"rules"
ref=
"ruleForm"
>
<el-form
class=
"popform i"
:model=
"queryParam"
label-width=
"85px"
:rules=
"rules"
ref=
"ruleForm"
>
<el-form-item
label=
"企业角色:"
prop=
"company
Typ
e"
class=
"row"
>
<el-form-item
label=
"企业角色:"
prop=
"company
Rol
e"
class=
"row"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.company
Typ
e"
>
<el-select
placeholder=
"请选择"
v-model=
"queryParam.company
Rol
e"
>
<el-option
v-for=
"(item,index) in companytype"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
<el-option
v-for=
"(item,index) in companytype"
:key=
"index"
:label=
"item.dictLabel"
:value=
"item.dictValue"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -162,7 +162,14 @@
...
@@ -162,7 +162,14 @@
<el-input
type=
"text"
v-model=
"queryParam.phonenumber"
placeholder=
"请输入"
></el-input>
<el-input
type=
"text"
v-model=
"queryParam.phonenumber"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注说明:"
class=
"row"
>
<el-form-item
label=
"备注说明:"
class=
"row"
>
<el-input
type=
"text"
v-model=
"queryParam.responsiblePerson"
placeholder=
"请输入"
></el-input>
<el-input
type=
"textarea"
placeholder=
"请输入"
v-model=
"queryParam.remark"
maxlength=
"200"
show-word-limit
>
</el-input>
</el-form-item>
</el-form-item>
<div
class=
"popbot"
>
<div
class=
"popbot"
>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel()"
>
返回
</div>
<div
class=
"btn btn_cancel h32"
@
click=
"cancel()"
>
返回
</div>
...
@@ -176,10 +183,11 @@
...
@@ -176,10 +183,11 @@
</template>
</template>
<
script
>
<
script
>
import
"@/assets/styles/project.scss"
import
'@/assets/styles/project.scss'
import
{
getXGQY
,
addXGQY
,
delXGQY
,
saveXGQY
}
from
'@/api/project/project'
import
{
addXGQY
,
delXGQY
,
getXGQY
,
saveXGQY
}
from
'@/api/project/project'
import
{
getDictType
,
getEnterprise
}
from
'@/api/main'
import
{
getDictType
,
getEnterprise
}
from
'@/api/main'
import
skeleton
from
'./skeleton'
import
skeleton
from
'./skeleton'
export
default
{
export
default
{
components
:{
skeleton
},
components
:{
skeleton
},
name
:
'xgqy'
,
name
:
'xgqy'
,
...
@@ -200,7 +208,7 @@
...
@@ -200,7 +208,7 @@
tableData
:
[],
tableData
:
[],
typename
:
"对接深度/竞争力度"
,
typename
:
"对接深度/竞争力度"
,
rules
:{
rules
:{
company
Typ
e
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
company
Rol
e
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
companyName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
companyName
:[{
required
:
true
,
message
:
'请输入非空格字符!'
,
trigger
:
'blur'
},],
phonenumber
:
[
phonenumber
:
[
{
{
...
@@ -215,15 +223,16 @@
...
@@ -215,15 +223,16 @@
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
companyId
:
''
,
companyId
:
''
,
companyName
:
''
,
companyName
:
''
,
company
Typ
e
:
''
,
company
Rol
e
:
''
,
responsiblePerson
:
''
,
responsiblePerson
:
''
,
depth
:
''
,
depth
:
''
,
remark
:
''
,
},
},
searchParam
:{
searchParam
:{
pageSize
:
20
,
pageSize
:
20
,
pageNum
:
1
,
pageNum
:
1
,
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
company
Typ
e
:
""
,
company
Rol
e
:
""
,
companyName
:
''
,
companyName
:
''
,
},
},
ondel
:
-
1
,
ondel
:
-
1
,
...
@@ -336,9 +345,10 @@
...
@@ -336,9 +345,10 @@
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
businessId
:
this
.
detailId
?
this
.
detailId
:
this
.
$route
.
query
.
id
,
companyId
:
''
,
companyId
:
''
,
companyName
:
''
,
companyName
:
''
,
company
Typ
e
:
''
,
company
Rol
e
:
''
,
responsiblePerson
:
''
,
responsiblePerson
:
''
,
depth
:
''
,
depth
:
''
,
remark
:
''
,
}
}
},
},
}
}
...
...
dsk-operate-ui/src/views/project/projectList/index.vue
View file @
8414a28f
...
@@ -191,6 +191,7 @@ export default {
...
@@ -191,6 +191,7 @@ export default {
components
:{
addproject
,
batchimport
,
skeleton
},
components
:{
addproject
,
batchimport
,
skeleton
},
data
()
{
data
()
{
return
{
return
{
encodeStr
,
types
:
'project'
,
types
:
'project'
,
props
:{
multiple
:
true
},
props
:{
multiple
:
true
},
activeName
:
'first'
,
activeName
:
'first'
,
...
...
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 @
8414a28f
package
com
.
dsk
.
common
.
core
.
domain
.
entity
;
package
com
.
dsk
.
system
.
domain
.
business
;
import
java.util.Date
;
import
java.util.Date
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.annotation.Excel
;
import
lombok.Data
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
...
@@ -14,6 +15,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
...
@@ -14,6 +15,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl
* @author lxl
* @date 2023-05-17
* @date 2023-05-17
*/
*/
@Data
public
class
BusinessBacklog
extends
BaseEntity
public
class
BusinessBacklog
extends
BaseEntity
{
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -34,82 +36,17 @@ public class BusinessBacklog extends BaseEntity
...
@@ -34,82 +36,17 @@ public class BusinessBacklog extends BaseEntity
private
String
task
;
private
String
task
;
/** 完成时间 */
/** 完成时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"完成时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd
HH:mm:ss
"
)
private
Date
finishTime
;
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逾期) */
/** 状态(2已完成,1进行中,0逾期) */
@Excel
(
name
=
"状态
(2已完成,1进行中,0逾期)
"
)
@Excel
(
name
=
"状态
0:进行中 1:已到期
"
)
private
Integer
state
;
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 @
8414a28f
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 @
8414a28f
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 @
8414a28f
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 @
8414a28f
...
@@ -10,10 +10,22 @@ import java.io.Serializable;
...
@@ -10,10 +10,22 @@ import java.io.Serializable;
*/
*/
@Data
@Data
public
class
CustomerSearchDto
implements
Serializable
{
public
class
CustomerSearchDto
implements
Serializable
{
/**
* 企业id
*/
private
Integer
companyId
;
/**
* 城投企业id
*/
private
String
uipId
;
/**
/**
* 企业名称
* 企业名称
*/
*/
private
String
companyName
;
private
String
companyName
;
/**
* 客户id
*/
private
String
customerId
;
/**
/**
* 用户id
* 用户id
*/
*/
...
...
dsk-system/src/main/java/com/dsk/system/domain/customer/vo/ContactInfoListVo.java
0 → 100644
View file @
8414a28f
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 @
8414a28f
package
com
.
dsk
.
system
.
mapper
;
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
;
import
java.util.List
;
/**
/**
* 项目工作待办Mapper接口
* 项目工作待办Mapper接口
*
*
* @author lxl
* @author lxl
* @date 2023-05-17
* @date 2023-05-17
*/
*/
public
interface
BusinessBacklogMapper
public
interface
BusinessBacklogMapper
{
{
/**
/**
* 查询项目工作待办
* 查询项目工作待办
*
*
* @param id 项目工作待办主键
* @param id 项目工作待办主键
* @return 项目工作待办
* @return 项目工作待办
*/
*/
...
@@ -22,15 +23,15 @@ public interface BusinessBacklogMapper
...
@@ -22,15 +23,15 @@ public interface BusinessBacklogMapper
/**
/**
* 查询项目工作待办列表
* 查询项目工作待办列表
*
*
* @param businessBacklog 项目工作待办
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
* @return 项目工作待办集合
*/
*/
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
public
List
<
BusinessBacklog
ListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
/**
/**
* 新增项目工作待办
* 新增项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @param businessBacklog 项目工作待办
* @return 结果
* @return 结果
*/
*/
...
@@ -38,7 +39,7 @@ public interface BusinessBacklogMapper
...
@@ -38,7 +39,7 @@ public interface BusinessBacklogMapper
/**
/**
* 修改项目工作待办
* 修改项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @param businessBacklog 项目工作待办
* @return 结果
* @return 结果
*/
*/
...
@@ -46,7 +47,7 @@ public interface BusinessBacklogMapper
...
@@ -46,7 +47,7 @@ public interface BusinessBacklogMapper
/**
/**
* 删除项目工作待办
* 删除项目工作待办
*
*
* @param id 项目工作待办主键
* @param id 项目工作待办主键
* @return 结果
* @return 结果
*/
*/
...
@@ -54,15 +55,12 @@ public interface BusinessBacklogMapper
...
@@ -54,15 +55,12 @@ public interface BusinessBacklogMapper
/**
/**
* 批量删除项目工作待办
* 批量删除项目工作待办
*
*
* @param ids 需要删除的数据主键集合
* @param ids 需要删除的数据主键集合
* @return 结果
* @return 结果
*/
*/
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
);
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
);
/**
Integer
overdueCount
(
Integer
businessId
);
* 修改工作待办逾期状态
* @return
*/
int
updateBacklogState
();
}
}
dsk-system/src/main/java/com/dsk/system/mapper/ContactInfoMapper.java
0 → 100644
View file @
8414a28f
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/service/IBusinessBacklogService.java
View file @
8414a28f
package
com
.
dsk
.
system
.
service
;
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
;
import
java.util.List
;
/**
/**
* 项目工作待办Service接口
* 项目工作待办Service接口
*
*
* @author llx
* @author llx
* @date 2023-05-17
* @date 2023-05-17
*/
*/
public
interface
IBusinessBacklogService
public
interface
IBusinessBacklogService
{
{
/**
/**
* 查询项目工作待办
* 查询项目工作待办
*
*
* @param id 项目工作待办主键
* @param id 项目工作待办主键
* @return 项目工作待办
* @return 项目工作待办
*/
*/
...
@@ -22,15 +23,15 @@ public interface IBusinessBacklogService
...
@@ -22,15 +23,15 @@ public interface IBusinessBacklogService
/**
/**
* 查询项目工作待办列表
* 查询项目工作待办列表
*
*
* @param businessBacklog 项目工作待办
* @param businessBacklog 项目工作待办
* @return 项目工作待办集合
* @return 项目工作待办集合
*/
*/
public
List
<
BusinessBacklog
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
public
List
<
BusinessBacklog
ListVo
>
selectBusinessBacklogList
(
BusinessBacklog
businessBacklog
);
/**
/**
* 新增项目工作待办
* 新增项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @param businessBacklog 项目工作待办
* @return 结果
* @return 结果
*/
*/
...
@@ -38,7 +39,7 @@ public interface IBusinessBacklogService
...
@@ -38,7 +39,7 @@ public interface IBusinessBacklogService
/**
/**
* 修改项目工作待办
* 修改项目工作待办
*
*
* @param businessBacklog 项目工作待办
* @param businessBacklog 项目工作待办
* @return 结果
* @return 结果
*/
*/
...
@@ -46,7 +47,7 @@ public interface IBusinessBacklogService
...
@@ -46,7 +47,7 @@ public interface IBusinessBacklogService
/**
/**
* 批量删除项目工作待办
* 批量删除项目工作待办
*
*
* @param ids 需要删除的项目工作待办主键集合
* @param ids 需要删除的项目工作待办主键集合
* @return 结果
* @return 结果
*/
*/
...
@@ -54,9 +55,12 @@ public interface IBusinessBacklogService
...
@@ -54,9 +55,12 @@ public interface IBusinessBacklogService
/**
/**
* 删除项目工作待办信息
* 删除项目工作待办信息
*
*
* @param id 项目工作待办主键
* @param id 项目工作待办主键
* @return 结果
* @return 结果
*/
*/
public
int
deleteBusinessBacklogById
(
Long
id
);
public
int
deleteBusinessBacklogById
(
Long
id
);
Integer
overdueCount
(
Integer
businessId
);
}
}
dsk-system/src/main/java/com/dsk/system/service/IContactInfoService.java
0 → 100644
View file @
8414a28f
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/impl/BusinessBacklogServiceImpl.java
View file @
8414a28f
package
com
.
dsk
.
system
.
service
.
impl
;
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.exception.base.BaseException
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.common.utils.DateUtils
;
import
com.dsk.system.domain.business.vo.BusinessBacklogListVo
;
import
com.dsk.system.mapper.BusinessBacklogMapper
;
import
com.dsk.system.mapper.BusinessBacklogMapper
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
com.dsk.system.service.IBusinessBacklogService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
...
@@ -22,9 +25,8 @@ import java.util.List;
...
@@ -22,9 +25,8 @@ import java.util.List;
*/
*/
@Service
@Service
@Slf4j
@Slf4j
public
class
BusinessBacklogServiceImpl
implements
IBusinessBacklogService
public
class
BusinessBacklogServiceImpl
implements
IBusinessBacklogService
{
{
@Resource
@Autowired
private
BusinessBacklogMapper
businessBacklogMapper
;
private
BusinessBacklogMapper
businessBacklogMapper
;
/**
/**
...
@@ -34,8 +36,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
...
@@ -34,8 +36,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办
* @return 项目工作待办
*/
*/
@Override
@Override
public
BusinessBacklog
selectBusinessBacklogById
(
Integer
id
)
public
BusinessBacklog
selectBusinessBacklogById
(
Integer
id
)
{
{
return
businessBacklogMapper
.
selectBusinessBacklogById
(
id
);
return
businessBacklogMapper
.
selectBusinessBacklogById
(
id
);
}
}
...
@@ -46,8 +47,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
...
@@ -46,8 +47,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办
* @return 项目工作待办
*/
*/
@Override
@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
);
return
businessBacklogMapper
.
selectBusinessBacklogList
(
businessBacklog
);
}
}
...
@@ -59,12 +62,8 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
...
@@ -59,12 +62,8 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/
*/
@Override
@Override
@Transactional
@Transactional
public
int
insertBusinessBacklog
(
BusinessBacklog
businessBacklog
)
public
int
insertBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
{
if
(
businessBacklog
.
getDueTime
().
before
(
new
Date
()))
throw
new
BaseException
(
"到期时间必须大于当前时间"
);
if
(
businessBacklog
.
getFinishTime
().
before
(
new
Date
()))
throw
new
BaseException
(
"完成时间必须大于当前时间"
);
businessBacklog
.
setCreateTime
(
DateUtils
.
getNowDate
());
//新增记录,状态默认 进行中
businessBacklog
.
setState
(
1
);
return
businessBacklogMapper
.
insertBusinessBacklog
(
businessBacklog
);
return
businessBacklogMapper
.
insertBusinessBacklog
(
businessBacklog
);
}
}
...
@@ -76,16 +75,23 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
...
@@ -76,16 +75,23 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/
*/
@Override
@Override
@Transactional
@Transactional
public
int
updateBusinessBacklog
(
BusinessBacklog
businessBacklog
)
public
int
updateBusinessBacklog
(
BusinessBacklog
businessBacklog
)
{
{
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getId
()))
{
//从完成状态修改到为完成,判断是否已逾期
throw
new
BeanException
(
"id不能为空!"
);
BusinessBacklog
backlog
=
selectBusinessBacklogById
(
businessBacklog
.
getId
());
}
if
(
businessBacklog
.
getState
()
==
1
&&
backlog
.
getState
()
==
2
&&
backlog
.
getFinishTime
().
before
(
new
Date
()))
{
if
(
ObjectUtil
.
isEmpty
(
businessBacklog
.
getState
()))
{
businessBacklog
.
setState
(
0
);
throw
new
BeanException
(
"状态不能为空!"
);
businessBacklog
.
setUpdateTime
(
new
Date
());
}
return
businessBacklogMapper
.
updateBusinessBacklog
(
businessBacklog
);
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
);
return
businessBacklogMapper
.
updateBusinessBacklog
(
businessBacklog
);
}
}
...
@@ -96,8 +102,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
...
@@ -96,8 +102,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
)
public
int
deleteBusinessBacklogByIds
(
Long
[]
ids
)
{
{
return
businessBacklogMapper
.
deleteBusinessBacklogByIds
(
ids
);
return
businessBacklogMapper
.
deleteBusinessBacklogByIds
(
ids
);
}
}
...
@@ -108,17 +113,12 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
...
@@ -108,17 +113,12 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果
* @return 结果
*/
*/
@Override
@Override
public
int
deleteBusinessBacklogById
(
Long
id
)
public
int
deleteBusinessBacklogById
(
Long
id
)
{
{
return
businessBacklogMapper
.
deleteBusinessBacklogById
(
id
);
return
businessBacklogMapper
.
deleteBusinessBacklogById
(
id
);
}
}
/**
@Override
* 定时修改工作待办逾期状态
public
Integer
overdueCount
(
Integer
businessId
)
{
*/
return
businessBacklogMapper
.
overdueCount
(
businessId
);
@Scheduled
(
cron
=
"0 0 0 * * ?"
)
//每天凌晨0点执行一次
public
void
judgeOverdue
()
{
int
updateBacklogState
=
businessBacklogMapper
.
updateBacklogState
();
if
(
updateBacklogState
>
1
)
log
.
info
(
"定时修改工作待办逾期状态"
);
}
}
}
}
dsk-system/src/main/java/com/dsk/system/service/impl/BusinessInfoServiceImpl.java
View file @
8414a28f
...
@@ -264,7 +264,6 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
...
@@ -264,7 +264,6 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if
(!
CheckUtils
.
isPhone
(
businessInfo
.
getConstructionPhone
())
||
!
CheckUtils
.
isPhone
(
businessInfo
.
getSupervisorPhone
()))
if
(!
CheckUtils
.
isPhone
(
businessInfo
.
getConstructionPhone
())
||
!
CheckUtils
.
isPhone
(
businessInfo
.
getSupervisorPhone
()))
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
throw
new
BaseException
(
"500"
,
"请输入正确的电话号码"
);
}
}
businessInfo
.
setUpdateTime
(
DateUtils
.
getNowDate
());
//查询企业的城投id和建设库id
//查询企业的城投id和建设库id
Map
map
=
queryUipIdOrCid
(
businessInfo
.
getConstructionUnit
());
Map
map
=
queryUipIdOrCid
(
businessInfo
.
getConstructionUnit
());
if
(
map
.
containsKey
(
"jskEid"
))
{
if
(
map
.
containsKey
(
"jskEid"
))
{
...
...
dsk-system/src/main/java/com/dsk/system/service/impl/ContactInfoServiceImpl.java
0 → 100644
View file @
8414a28f
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/resources/mapper/business/BusinessBacklogMapper.xml
View file @
8414a28f
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.dsk.system.mapper.BusinessBacklogMapper"
>
<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=
"id"
column=
"id"
/>
<result
property=
"businessId"
column=
"business_id"
/>
<result
property=
"businessId"
column=
"business_id"
/>
<result
property=
"target"
column=
"target"
/>
<result
property=
"target"
column=
"target"
/>
...
@@ -21,22 +21,21 @@
...
@@ -21,22 +21,21 @@
target,
target,
task,
task,
finish_time,
finish_time,
state,
due_time,
if(due_time
<
now() and state = 0, 2 ,state) state,
create_time,
create_time,
update_time
update_time
from business_backlog
from business_backlog
</sql>
</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"
>
resultMap=
"BusinessBacklogResult"
>
<include
refid=
"selectBusinessBacklogVo"
/>
<include
refid=
"selectBusinessBacklogVo"
/>
<where>
where business_id = #{businessId}
<if
test=
"businessId != null "
>
and business_id = #{businessId}
</if>
<if
test=
"target != null and target != ''"
>
and target = #{target}
</if>
<if
test=
"target != null and target != ''"
>
and target = #{target}
</if>
<if
test=
"task != null and task != ''"
>
and task = #{task}
</if>
<if
test=
"task != null and task != ''"
>
and task = #{task}
</if>
<if
test=
"finishTime != null "
>
and finish_time = #{finishTime}
</if>
<if
test=
"finishTime != null "
>
and finish_time = #{finishTime}
</if>
<if
test=
"state != null "
>
and state = #{state}
</if>
<if
test=
"state != null "
>
and state = #{state}
</if>
</where>
ORDER BY create_time DESC
ORDER BY create_time DESC
</select>
</select>
...
@@ -45,47 +44,25 @@
...
@@ -45,47 +44,25 @@
where id = #{id}
where id = #{id}
</select>
</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"
>
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into business_backlog
insert into business_backlog
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
business_id,
</if>
<if
test=
"businessId != null"
>
business_id,
</if>
<if
test=
"target != null"
>
target,
</if>
<if
test=
"target != null"
>
target,
</if>
<if
test=
"task != null"
>
task,
</if>
<if
test=
"task != null"
>
task,
</if>
<if
test=
"finishTime != null"
>
finish_time,
</if>
<if
test=
"dueTime != null"
>
due_time,
</if>
<if
test=
"state != null"
>
state,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
<if
test=
"updateTime != null"
>
update_time,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"businessId != null"
>
#{businessId},
</if>
<if
test=
"businessId != null"
>
#{businessId},
</if>
<if
test=
"target != null"
>
#{target},
</if>
<if
test=
"target != null"
>
#{target},
</if>
<if
test=
"task != null"
>
#{task},
</if>
<if
test=
"task != null"
>
#{task},
</if>
<if
test=
"finishTime != null"
>
#{finishTime},
</if>
<if
test=
"dueTime != null"
>
#{dueTime},
</if>
<if
test=
"state != null"
>
#{state},
</if>
<if
test=
"createTime != null"
>
#{createTime},
</if>
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
</trim>
</trim>
</insert>
</insert>
<update
id=
"updateBusinessBacklog"
parameterType=
"com.dsk.common.core.domain.entity.BusinessBacklog"
>
<update
id=
"updateBusinessBacklog"
parameterType=
"com.dsk.system.domain.business.BusinessBacklog"
>
update business_backlog
update business_backlog set finish_time = #{finishTime}, state = #{state} where id = #{id}
<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>
</update>
<delete
id=
"deleteBusinessBacklogById"
parameterType=
"Long"
>
<delete
id=
"deleteBusinessBacklogById"
parameterType=
"Long"
>
...
@@ -100,4 +77,8 @@
...
@@ -100,4 +77,8 @@
#{id}
#{id}
</foreach>
</foreach>
</delete>
</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 @
8414a28f
...
@@ -356,8 +356,6 @@
...
@@ -356,8 +356,6 @@
<if
test=
"projectType != null"
>
project_type = #{projectType},
</if>
<if
test=
"projectType != null"
>
project_type = #{projectType},
</if>
<if
test=
"projectCategory != null"
>
project_category = #{projectCategory},
</if>
<if
test=
"projectCategory != null"
>
project_category = #{projectCategory},
</if>
<if
test=
"isPrivate != null"
>
is_private = #{isPrivate},
</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=
"status != null"
>
status = #{status},
</if>
<if
test=
"customerId != null"
>
customer_id = #{customerId},
</if>
<if
test=
"customerId != null"
>
customer_id = #{customerId},
</if>
<if
test=
"evaluationBidWay != null"
>
evaluation_bid_way = #{evaluationBidWay},
</if>
<if
test=
"evaluationBidWay != null"
>
evaluation_bid_way = #{evaluationBidWay},
</if>
...
...
dsk-system/src/main/resources/mapper/system/customer/ContactInfoMapper.xml
0 → 100644
View file @
8414a28f
<?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