Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjsgfa_mysql
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiangyun
zjsgfa_mysql
Commits
0399f36b
Commit
0399f36b
authored
Feb 13, 2026
by
jiang'yun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
60d42294
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1223 additions
and
97 deletions
+1223
-97
pom.xml
+57
-0
src/main/java/com/zjsgfa/project/system/service/ISysUserService.java
+1
-0
src/main/java/com/zjsgfa/project/system/service/impl/SysUserServiceImpl.java
+13
-0
src/main/java/com/zjsgfa/project/zjsgfa/controller/BizTodoItemController.java
+2
-0
src/main/java/com/zjsgfa/project/zjsgfa/controller/DjjcLcController.java
+760
-0
src/main/java/com/zjsgfa/project/zjsgfa/controller/SjDjjcController.java
+33
-34
src/main/java/com/zjsgfa/project/zjsgfa/domain/BizTodoItem.java
+4
-0
src/main/java/com/zjsgfa/project/zjsgfa/domain/SjDjjc.java
+37
-1
src/main/java/com/zjsgfa/project/zjsgfa/mapper/BizTodoItemMapper.java
+3
-0
src/main/java/com/zjsgfa/project/zjsgfa/mapper/SjDjjcMapper.java
+5
-0
src/main/java/com/zjsgfa/project/zjsgfa/service/IBizTodoItemService.java
+5
-1
src/main/java/com/zjsgfa/project/zjsgfa/service/ProcessService.java
+10
-0
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/BizTodoItemServiceImpl.java
+66
-56
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/ProcessServiceImpl.java
+86
-0
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/SjFdsgcsServiceImpl.java
+2
-2
src/main/resources/mybatis/zjsgfa/BizTodoItemMapper.xml
+34
-1
src/main/resources/mybatis/zjsgfa/SjDjjcMapper.xml
+105
-2
No files found.
pom.xml
View file @
0399f36b
...
@@ -40,6 +40,9 @@
...
@@ -40,6 +40,9 @@
<logback.version>
1.2.13
</logback.version>
<logback.version>
1.2.13
</logback.version>
<spring-security.version>
5.7.12
</spring-security.version>
<spring-security.version>
5.7.12
</spring-security.version>
<spring-framework.version>
5.3.39
</spring-framework.version>
<spring-framework.version>
5.3.39
</spring-framework.version>
<activiti-spring-boot-starter.version>
7.1.0.M6
</activiti-spring-boot-starter.version>
<batik-transcoder.version>
1.17
</batik-transcoder.version>
<batik-codec.version>
1.17
</batik-codec.version>
</properties>
</properties>
<dependencies>
<dependencies>
...
@@ -323,6 +326,60 @@
...
@@ -323,6 +326,60 @@
<artifactId>
httpclient5
</artifactId>
<artifactId>
httpclient5
</artifactId>
</dependency>
</dependency>
<!-- activiti -->
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-spring-boot-starter
</artifactId>
<version>
${activiti-spring-boot-starter.version}
</version>
<exclusions>
<exclusion>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-actuator-autoconfigure
</artifactId>
</exclusion>
<exclusion>
<artifactId>
mybatis
</artifactId>
<groupId>
org.mybatis
</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- activiti json 转换器 -->
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-json-converter
</artifactId>
<version>
${activiti-spring-boot-starter.version}
</version>
</dependency>
<!-- 流程图预览 -->
<dependency>
<groupId>
org.activiti
</groupId>
<artifactId>
activiti-image-generator
</artifactId>
<version>
${activiti-spring-boot-starter.version}
</version>
<exclusions>
<exclusion>
<groupId>
org.apache.xmlgraphics
</groupId>
<artifactId>
batik-awt-util
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.apache.xmlgraphics
</groupId>
<artifactId>
batik-dom
</artifactId>
</exclusion>
<exclusion>
<groupId>
org.apache.xmlgraphics
</groupId>
<artifactId>
batik-svggen
</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 流程图设计 -->
<dependency>
<groupId>
org.apache.xmlgraphics
</groupId>
<artifactId>
batik-transcoder
</artifactId>
<version>
${batik-transcoder.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.xmlgraphics
</groupId>
<artifactId>
batik-codec
</artifactId>
<version>
${batik-codec.version}
</version>
</dependency>
</dependencies>
</dependencies>
...
...
src/main/java/com/zjsgfa/project/system/service/ISysUserService.java
View file @
0399f36b
...
@@ -208,4 +208,5 @@ public interface ISysUserService
...
@@ -208,4 +208,5 @@ public interface ISysUserService
List
<
String
>
selectUserLoginNamesByRoleKeyDept
(
Long
secondaryUnit
,
String
lcsp1
);
List
<
String
>
selectUserLoginNamesByRoleKeyDept
(
Long
secondaryUnit
,
String
lcsp1
);
List
<
String
>
selectUserLoginNamesByRoleKeyDept2
(
Long
secondaryUnit
,
String
s
);
}
}
src/main/java/com/zjsgfa/project/system/service/impl/SysUserServiceImpl.java
View file @
0399f36b
...
@@ -557,6 +557,19 @@ public class SysUserServiceImpl implements ISysUserService
...
@@ -557,6 +557,19 @@ public class SysUserServiceImpl implements ISysUserService
public
List
<
String
>
selectUserLoginNamesByRoleKeyDept
(
Long
deptId
,
String
roleKey
)
{
public
List
<
String
>
selectUserLoginNamesByRoleKeyDept
(
Long
deptId
,
String
roleKey
)
{
List
<
SysUser
>
userList
=
userMapper
.
selectUserLoginNamesByRoleKeyDept
(
deptId
,
roleKey
);
List
<
SysUser
>
userList
=
userMapper
.
selectUserLoginNamesByRoleKeyDept
(
deptId
,
roleKey
);
List
<
String
>
collect
=
userList
.
stream
().
map
(
SysUser:
:
getUserName
).
collect
(
Collectors
.
toList
());
List
<
String
>
collect
=
userList
.
stream
().
map
(
SysUser:
:
getUserName
).
collect
(
Collectors
.
toList
());
if
(
collect
.
size
()==
0
){
collect
.
add
(
"chenggq58"
);
}
return
collect
;
}
@Override
public
List
<
String
>
selectUserLoginNamesByRoleKeyDept2
(
Long
deptId
,
String
roleKey
)
{
List
<
SysUser
>
userList
=
userMapper
.
selectUserLoginNamesByRoleKeyDept
(
deptId
,
roleKey
);
List
<
String
>
collect
=
userList
.
stream
().
map
(
SysUser:
:
getNickName
).
collect
(
Collectors
.
toList
());
if
(
collect
.
size
()==
0
){
collect
.
add
(
"成冠琪"
);
}
return
collect
;
return
collect
;
}
}
}
}
src/main/java/com/zjsgfa/project/zjsgfa/controller/BizTodoItemController.java
View file @
0399f36b
...
@@ -46,6 +46,7 @@ public class BizTodoItemController extends BaseController
...
@@ -46,6 +46,7 @@ public class BizTodoItemController extends BaseController
startPage
();
startPage
();
bizTodoItem
.
setIsHandle
(
"0"
);
bizTodoItem
.
setIsHandle
(
"0"
);
bizTodoItem
.
setTodoUserId
(
SecurityUtils
.
getUsername
());
bizTodoItem
.
setTodoUserId
(
SecurityUtils
.
getUsername
());
bizTodoItem
.
setOrderBy
(
"todo_time"
);
List
<
BizTodoItem
>
list
=
bizTodoItemService
.
selectBizTodoItemList
(
bizTodoItem
);
List
<
BizTodoItem
>
list
=
bizTodoItemService
.
selectBizTodoItemList
(
bizTodoItem
);
return
getDataTable
(
list
);
return
getDataTable
(
list
);
}
}
...
@@ -57,6 +58,7 @@ public class BizTodoItemController extends BaseController
...
@@ -57,6 +58,7 @@ public class BizTodoItemController extends BaseController
startPage
();
startPage
();
bizTodoItem
.
setIsHandle
(
"1"
);
bizTodoItem
.
setIsHandle
(
"1"
);
bizTodoItem
.
setTodoUserId
(
SecurityUtils
.
getUsername
());
bizTodoItem
.
setTodoUserId
(
SecurityUtils
.
getUsername
());
bizTodoItem
.
setOrderBy
(
"handle_time"
);
List
<
BizTodoItem
>
list
=
bizTodoItemService
.
selectBizTodoItemList
(
bizTodoItem
);
List
<
BizTodoItem
>
list
=
bizTodoItemService
.
selectBizTodoItemList
(
bizTodoItem
);
return
getDataTable
(
list
);
return
getDataTable
(
list
);
}
}
...
...
src/main/java/com/zjsgfa/project/zjsgfa/controller/DjjcLcController.java
0 → 100644
View file @
0399f36b
package
com
.
zjsgfa
.
project
.
zjsgfa
.
controller
;
import
com.zjsgfa.common.utils.DateUtils
;
import
com.zjsgfa.common.utils.SecurityUtils
;
import
com.zjsgfa.common.utils.ServletUtils
;
import
com.zjsgfa.common.utils.StringUtils
;
import
com.zjsgfa.framework.web.domain.AjaxResult
;
import
com.zjsgfa.project.system.domain.SysDept
;
import
com.zjsgfa.project.system.mapper.SysDeptMapper
;
import
com.zjsgfa.project.system.service.ISysUserService
;
import
com.zjsgfa.project.zjsgfa.domain.BizTodoItem
;
import
com.zjsgfa.project.zjsgfa.domain.SjDjjc
;
import
com.zjsgfa.project.zjsgfa.mapper.SjDjjcMapper
;
import
com.zjsgfa.project.zjsgfa.service.IBizTodoItemService
;
import
com.zjsgfa.project.zjsgfa.service.ProcessService
;
import
org.activiti.engine.RuntimeService
;
import
org.activiti.engine.TaskService
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.engine.task.Task
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.xml.ws.soap.Addressing
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@RestController
@RequestMapping
(
"/sjdjlc"
)
public
class
DjjcLcController
{
//流程id
private
String
processDefinitionKey
=
"_e666525e-07bb-11f1-9537-803049cc3d25"
;
//钻井液
private
String
processDefinitionKeyZjy
=
"_f2e34959-07db-11f1-9537-803049cc3d25"
;
private
String
processTrend
=
"flowTrend"
;
/** 流程节点 任务书编辑 参数名 */
private
String
taskEditParamName
=
"editor"
;
private
String
Complete_Module
=
"system/sjdjlc"
;
/** 流程节点 审核节点 审核人 参数名 */
private
String
paramName_audit_user
=
"assigneeList"
;
public
static
final
String
GC_AQSP
=
"gc_aqsp"
;
/**
* 工程_站长审批
*/
public
static
final
String
GC_ZZSP
=
"gc_zzsp"
;
/**
* 工程_专家审批
*/
public
static
final
String
GC_ZJSP
=
"gc_zjsp"
;
/**
* 工程_首席专家
*/
public
static
final
String
GC_SXZJ
=
"gc_sxzj"
;
/**
* 工程_分管领导
*/
public
static
final
String
GC_FGLD
=
"gc_fgld"
;
/**
* 钻井液_安全审批
*/
public
static
final
String
ZJY_AQSP
=
"zjy_aqsp"
;
/**
* 钻井液_站长审批
*/
public
static
final
String
ZJY_ZZSP
=
"zjy_zzsp"
;
/**
* 钻井液_专家审批
*/
public
static
final
String
ZJY_ZJSP
=
"zjy_zjsp"
;
/**
* 钻井液_首席专家
*/
public
static
final
String
ZJY_SXZJ
=
"zjy_sxzj"
;
/**
* 钻井液_分管领导
*/
public
static
final
String
ZJY_FGLD
=
"zjy_fgld"
;
@Autowired
private
SjDjjcMapper
sjDjjcMapper
;
@Autowired
RuntimeService
runtimeService
;
@Autowired
private
TaskService
taskService
;
@Autowired
private
ISysUserService
userService
;
@Autowired
private
SysDeptMapper
sysDeptMapper
;
@Autowired
private
IBizTodoItemService
bizTodoItemService
;
@Autowired
private
ProcessService
processService
;
/**
* 根据流程id查询详情
* @param instanceId
* @return
*/
@GetMapping
(
"/getInfo/{instanceId}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"instanceId"
)
String
instanceId
)
{
SjDjjc
sjDjjc
=
sjDjjcMapper
.
selectSjDjjcByinstanceId
(
instanceId
);
return
AjaxResult
.
success
(
sjDjjc
);
}
/**
* 根据流程id查询详情
* @param instanceId
* @return
*/
@GetMapping
(
"/getInfoZjy/{instanceId}"
)
public
AjaxResult
getInfoZjy
(
@PathVariable
(
"instanceId"
)
String
instanceId
)
{
SjDjjc
sjDjjc
=
sjDjjcMapper
.
selectSjDjjcByinstanceIdZjy
(
instanceId
);
return
AjaxResult
.
success
(
sjDjjc
);
}
@GetMapping
(
"/submitApply"
)
public
AjaxResult
getDjjcLc
(
Long
ID
)
{
SjDjjc
sjDjjc
=
sjDjjcMapper
.
selectSjDjjcById
(
ID
);
String
businessKey
=
sjDjjc
.
getId
().
toString
();
String
applyUserId
=
SecurityUtils
.
getUsername
();
String
itemName
=
"工程方案审核"
;
String
itemContent
=
sjDjjc
.
getJh
()+
"工程方案审核"
;
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
// 设置下一节点处理人
// 下一节点任务书编辑 处理人为提交者
variables
.
put
(
taskEditParamName
,
applyUserId
);
// 设置下一节点审核人 设置userId
// 启动流程时设置业务 key
ProcessInstance
instance
=
runtimeService
.
startProcessInstanceByKey
(
processDefinitionKey
,
businessKey
,
variables
);
String
processInstanceId
=
instance
.
getId
();
sjDjjc
.
setInstanceId
(
processInstanceId
);
// 建立双向关系
sjDjjc
.
setApplyUser
(
applyUserId
);
sjDjjc
.
setApplyTime
(
DateUtils
.
getNowDate
());
sjDjjc
.
setProcessStatus
(
"审核中"
);
//流程状态1 已经提交
sjDjjc
.
setType
(
processDefinitionKey
);
//流程定义key
sjDjjcMapper
.
updateSjDjjc
(
sjDjjc
);
String
comment
=
""
;
// 下一节点处理人待办事项
bizTodoItemService
.
insertTodoItem
(
instance
.
getProcessInstanceId
(),
itemName
,
itemContent
,
Complete_Module
,
comment
);
autoCompleteFirstSubmit
(
applyUserId
,
processDefinitionKey
,
processInstanceId
,
sjDjjc
);
return
AjaxResult
.
success
();
}
/**
* 完成任务
* @param sjDjjc
* @return
*/
@PostMapping
(
"/complete"
)
public
AjaxResult
complete
(
@RequestBody
SjDjjc
sjDjjc
)
{
try
{
SjDjjc
entity
=
sjDjjcMapper
.
selectSjDjjcByinstanceId
(
sjDjjc
.
getInstanceId
());
String
taskId
=
sjDjjc
.
getTaskId
();
String
instanceId
=
sjDjjc
.
getInstanceId
();
// 使用任务ID,查询任务对象
Task
task
=
taskService
.
createTaskQuery
().
taskId
(
taskId
).
singleResult
();
// 获取当前节点 活动id
String
act_id
=
task
.
getTaskDefinitionKey
();
// 获取审核用户选择的走向 同意 退修 驳回
String
flowTrendOption
=
sjDjjc
.
getFlowTrendOption
();
// 流程的显示标题 取课题名称接后缀任务书审核
String
itemName
=
"工程方案审核"
;
String
itemContent
=
entity
.
getJh
()+
"工程方案审核"
;
// 审核节点每次提交,需要更新业务表信息
SjDjjc
tmpProject
=
new
SjDjjc
();
tmpProject
.
setId
(
entity
.
getId
());
// 获取流程发起人、和所属部门id
String
applyUserId
=
entity
.
getApplyUser
();
Long
applyUserDeptId
=
userService
.
selectUserByLoginName
(
applyUserId
).
getDeptId
();
SysDept
sysDept
=
sysDeptMapper
.
selectDeptById
(
applyUserDeptId
);
Long
secondaryUnit
=
getSecondaryUnit
(
applyUserDeptId
,
sysDept
.
getAncestors
());
if
(
secondaryUnit
==
null
){
secondaryUnit
=
applyUserDeptId
;
}
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
String
ndxsjg
=
entity
.
getNdxsjg
();
if
(
StringUtils
.
isEmpty
(
ndxsjg
)){
ndxsjg
=
"3"
;
}
// 先判断走向
if
(
"back"
.
equals
(
flowTrendOption
))
{
// 退修
variables
.
put
(
processTrend
,
"退修"
);
// 下一节点任务书编辑 处理人为提交者
variables
.
put
(
taskEditParamName
,
entity
.
getApplyUser
());
// 设置下一节点审核人 设置userId
// 更新 驳回原因字段 存放退修原因
tmpProject
.
setRefuseContent
(
sjDjjc
.
getP_COM_comment
());
tmpProject
.
setProcessStatus
(
"退修"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
if
(
"true"
.
equals
(
flowTrendOption
))
{
// 同意
variables
.
put
(
processTrend
,
"同意"
);
// 根据当前不同的节点,下一节点不同,需要设置的处理人不同
// 下一节点审核节点 处理人为根据角色code取多人 一人处理即可通过
if
(
GC_AQSP
.
equals
(
act_id
))
{
//当前节点 安全审批
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
GC_AQSP
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
else
if
(
GC_ZZSP
.
equals
(
act_id
))
{
//当前节点 站长审批
if
(
ndxsjg
.
equals
(
"3"
)){
variables
.
put
(
processTrend
,
"结束"
);
tmpProject
.
setProcessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
{
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
GC_ZZSP
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
}
else
if
(
GC_ZJSP
.
equals
(
act_id
))
{
//当前节点 站长审批
if
(
ndxsjg
.
equals
(
"5"
)){
variables
.
put
(
processTrend
,
"结束"
);
tmpProject
.
setProcessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
{
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
GC_ZJSP
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
}
else
if
(
GC_SXZJ
.
equals
(
act_id
))
{
//当前节点 站长审批
if
(
ndxsjg
.
equals
(
"7"
)){
variables
.
put
(
processTrend
,
"结束"
);
tmpProject
.
setProcessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
{
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
GC_SXZJ
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
}
else
if
(
GC_FGLD
.
equals
(
act_id
))
{
//当前节点 站长审批
tmpProject
.
setProcessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
}
String
comment
=
""
;
if
(
"true"
.
equals
(
flowTrendOption
))
{
comment
=
"【同意】"
+
sjDjjc
.
getP_COM_comment
();
}
else
if
(
"back"
.
equals
(
flowTrendOption
))
{
comment
=
"【退修】"
+
sjDjjc
.
getP_COM_comment
();
}
else
if
(
"reject"
.
equals
(
flowTrendOption
))
{
comment
=
"【驳回】"
+
sjDjjc
.
getP_COM_comment
();
}
else
{
comment
=
"【提交】"
+
sjDjjc
.
getP_COM_comment
();
}
processService
.
complete
(
sjDjjc
.
getTaskId
(),
instanceId
,
itemName
,
itemContent
,
Complete_Module
,
variables
,
ServletUtils
.
getRequest
(),
comment
);
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"办理失败"
);
}
return
AjaxResult
.
success
();
}
@GetMapping
(
"/submitApplyZjy"
)
public
AjaxResult
submitApplyZjy
(
Long
ID
)
{
try
{
SjDjjc
sjDjjc
=
sjDjjcMapper
.
selectSjDjjcById
(
ID
);
String
businessKey
=
sjDjjc
.
getId
().
toString
();
String
applyUserId
=
SecurityUtils
.
getUsername
();
String
itemName
=
"钻井液方案审核"
;
String
itemContent
=
sjDjjc
.
getJh
()+
"钻井液方案审核"
;
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
// 设置下一节点处理人
// 下一节点任务书编辑 处理人为提交者
variables
.
put
(
taskEditParamName
,
applyUserId
);
// 设置下一节点审核人 设置userId
// 启动流程时设置业务 key
ProcessInstance
instance
=
runtimeService
.
startProcessInstanceByKey
(
processDefinitionKeyZjy
,
businessKey
,
variables
);
String
processInstanceId
=
instance
.
getId
();
sjDjjc
.
setZjyinstanceId
(
processInstanceId
);
// 建立双向关系
sjDjjc
.
setZjyapplyUser
(
applyUserId
);
sjDjjc
.
setZjyapplyTime
(
DateUtils
.
getNowDate
());
sjDjjc
.
setZjyprocessStatus
(
"审核中"
);
//流程状态1 已经提交
sjDjjc
.
setZjytype
(
processDefinitionKeyZjy
);
//流程定义key
sjDjjcMapper
.
updateSjDjjc
(
sjDjjc
);
String
comment
=
""
;
// 下一节点处理人待办事项
bizTodoItemService
.
insertTodoItem
(
instance
.
getProcessInstanceId
(),
itemName
,
itemContent
,
Complete_Module
,
comment
);
autoCompleteFirstSubmitZjy
(
applyUserId
,
processDefinitionKeyZjy
,
processInstanceId
,
sjDjjc
);
return
AjaxResult
.
success
();
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"提交失败"
);
}
}
/**
* 完成任务
* @param sjDjjc
* @return
*/
@PostMapping
(
"/completeZjy"
)
public
AjaxResult
completeZjy
(
@RequestBody
SjDjjc
sjDjjc
)
{
try
{
SjDjjc
entity
=
sjDjjcMapper
.
selectSjDjjcByinstanceIdZjy
(
sjDjjc
.
getInstanceId
());
String
taskId
=
sjDjjc
.
getTaskId
();
String
instanceId
=
sjDjjc
.
getInstanceId
();
// 使用任务ID,查询任务对象
Task
task
=
taskService
.
createTaskQuery
().
taskId
(
taskId
).
singleResult
();
// 获取当前节点 活动id
String
act_id
=
task
.
getTaskDefinitionKey
();
// 获取审核用户选择的走向 同意 退修 驳回
String
flowTrendOption
=
sjDjjc
.
getFlowTrendOption
();
// 流程的显示标题 取课题名称接后缀任务书审核
String
itemName
=
"钻井液方案审核"
;
String
itemContent
=
entity
.
getJh
()+
"钻井液方案审核"
;
// 审核节点每次提交,需要更新业务表信息
SjDjjc
tmpProject
=
new
SjDjjc
();
tmpProject
.
setId
(
entity
.
getId
());
// 获取流程发起人、和所属部门id
String
applyUserId
=
entity
.
getZjyapplyUser
();
Long
applyUserDeptId
=
userService
.
selectUserByLoginName
(
applyUserId
).
getDeptId
();
SysDept
sysDept
=
sysDeptMapper
.
selectDeptById
(
applyUserDeptId
);
Long
secondaryUnit
=
getSecondaryUnit
(
applyUserDeptId
,
sysDept
.
getAncestors
());
if
(
secondaryUnit
==
null
){
secondaryUnit
=
applyUserDeptId
;
}
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
String
ndxsjg
=
entity
.
getNdxsjg
();
if
(
StringUtils
.
isEmpty
(
ndxsjg
)){
ndxsjg
=
"3"
;
}
// 先判断走向
if
(
"back"
.
equals
(
flowTrendOption
))
{
// 退修
variables
.
put
(
processTrend
,
"退修"
);
// 下一节点任务书编辑 处理人为提交者
variables
.
put
(
taskEditParamName
,
entity
.
getApplyUser
());
// 设置下一节点审核人 设置userId
// 更新 驳回原因字段 存放退修原因
tmpProject
.
setZjyrefuseContent
(
sjDjjc
.
getP_COM_comment
());
tmpProject
.
setZjyprocessStatus
(
"退修"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
if
(
"true"
.
equals
(
flowTrendOption
))
{
// 同意
variables
.
put
(
processTrend
,
"同意"
);
// 根据当前不同的节点,下一节点不同,需要设置的处理人不同
// 下一节点审核节点 处理人为根据角色code取多人 一人处理即可通过
if
(
ZJY_AQSP
.
equals
(
act_id
))
{
//当前节点 安全审批
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
ZJY_AQSP
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
else
if
(
ZJY_ZZSP
.
equals
(
act_id
))
{
//当前节点 站长审批
if
(
ndxsjg
.
equals
(
"3"
)){
variables
.
put
(
processTrend
,
"结束"
);
tmpProject
.
setZjyprocessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
{
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
ZJY_ZZSP
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
}
else
if
(
ZJY_ZJSP
.
equals
(
act_id
))
{
//当前节点 站长审批
if
(
ndxsjg
.
equals
(
"5"
)){
variables
.
put
(
processTrend
,
"结束"
);
tmpProject
.
setZjyprocessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
{
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
ZJY_ZJSP
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
}
else
if
(
ZJY_SXZJ
.
equals
(
act_id
))
{
//当前节点 站长审批
if
(
ndxsjg
.
equals
(
"7"
)){
variables
.
put
(
processTrend
,
"结束"
);
tmpProject
.
setZjyprocessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
else
{
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
ZJY_SXZJ
);
variables
.
put
(
paramName_audit_user
,
assignee
);
}
}
else
if
(
ZJY_FGLD
.
equals
(
act_id
))
{
//当前节点 站长审批
tmpProject
.
setZjyprocessStatus
(
"通过"
);
sjDjjcMapper
.
updateSjDjjcById
(
tmpProject
);
}
}
String
comment
=
""
;
if
(
"true"
.
equals
(
flowTrendOption
))
{
comment
=
"【同意】"
+
sjDjjc
.
getP_COM_comment
();
}
else
if
(
"back"
.
equals
(
flowTrendOption
))
{
comment
=
"【退修】"
+
sjDjjc
.
getP_COM_comment
();
}
else
if
(
"reject"
.
equals
(
flowTrendOption
))
{
comment
=
"【驳回】"
+
sjDjjc
.
getP_COM_comment
();
}
else
{
comment
=
"【提交】"
+
sjDjjc
.
getP_COM_comment
();
}
processService
.
complete
(
sjDjjc
.
getTaskId
(),
instanceId
,
itemName
,
itemContent
,
Complete_Module
,
variables
,
ServletUtils
.
getRequest
(),
comment
);
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
"办理失败"
);
}
return
AjaxResult
.
success
();
}
/**
* 获取流程历史
* @param instanceId
* @return
*/
@GetMapping
(
"/getLcls/{instanceId}"
)
public
AjaxResult
getLcls
(
@PathVariable
(
"instanceId"
)
String
instanceId
)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
// 获取审批历史表格数据
List
<
BizTodoItem
>
bizTodoItems
=
getApprovalHistory
(
instanceId
);
resultMap
.
put
(
"table"
,
bizTodoItems
);
if
(
bizTodoItems
.
isEmpty
())
{
return
AjaxResult
.
success
(
resultMap
);
}
String
type
=
bizTodoItems
.
get
(
0
).
getItemName
();
boolean
isEngineeringType
=
"工程方案审核"
.
equals
(
type
);
// 获取审批相关信息
ApprovalInfo
approvalInfo
=
getApprovalInfo
(
instanceId
,
isEngineeringType
);
String
ndjg
=
StringUtils
.
isEmpty
(
approvalInfo
.
getNdxsjg
())
?
"3"
:
approvalInfo
.
getNdxsjg
();
// 构建流程节点列表
List
<
Map
<
String
,
Object
>>
jdList
=
buildProcessNodes
(
isEngineeringType
,
ndjg
,
approvalInfo
.
getApplyUserName
());
// 查询审批人员并设置节点状态
populateNodeUserInfo
(
jdList
,
bizTodoItems
,
approvalInfo
.
getSecondaryUnit
());
resultMap
.
put
(
"jdList"
,
jdList
);
return
AjaxResult
.
success
(
resultMap
);
}
/**
* 获取审批历史记录
*/
private
List
<
BizTodoItem
>
getApprovalHistory
(
String
instanceId
)
{
BizTodoItem
bizTodoItem
=
new
BizTodoItem
();
bizTodoItem
.
setInstanceId
(
instanceId
);
List
<
BizTodoItem
>
bizTodoItems
=
bizTodoItemService
.
selectBizTodoItemList2
(
bizTodoItem
);
return
bizTodoItems
;
}
/**
* 审批信息封装类
*/
private
static
class
ApprovalInfo
{
private
String
ndxsjg
;
private
String
applyUserName
;
private
Long
secondaryUnit
;
// getters and setters
public
String
getNdxsjg
()
{
return
ndxsjg
;
}
public
void
setNdxsjg
(
String
ndxsjg
)
{
this
.
ndxsjg
=
ndxsjg
;
}
public
String
getApplyUserName
()
{
return
applyUserName
;
}
public
void
setApplyUserName
(
String
applyUserName
)
{
this
.
applyUserName
=
applyUserName
;
}
public
Long
getSecondaryUnit
()
{
return
secondaryUnit
;
}
public
void
setSecondaryUnit
(
Long
secondaryUnit
)
{
this
.
secondaryUnit
=
secondaryUnit
;
}
}
/**
* 获取审批相关信息
*/
private
ApprovalInfo
getApprovalInfo
(
String
instanceId
,
boolean
isEngineeringType
)
{
ApprovalInfo
info
=
new
ApprovalInfo
();
SjDjjc
sjDjjc
=
isEngineeringType
?
sjDjjcMapper
.
selectSjDjjcByinstanceId
(
instanceId
)
:
sjDjjcMapper
.
selectSjDjjcByinstanceIdZjy
(
instanceId
);
info
.
setNdxsjg
(
sjDjjc
.
getNdxsjg
());
String
applyUserId
=
isEngineeringType
?
sjDjjc
.
getApplyUser
()
:
sjDjjc
.
getZjyapplyUser
();
info
.
setApplyUserName
(
isEngineeringType
?
sjDjjc
.
getApplyUserName
()
:
sjDjjc
.
getZjyapplyUserName
());
// 获取二级单位
Long
applyUserDeptId
=
userService
.
selectUserByLoginName
(
applyUserId
).
getDeptId
();
SysDept
sysDept
=
sysDeptMapper
.
selectDeptById
(
applyUserDeptId
);
Long
secondaryUnit
=
getSecondaryUnit
(
applyUserDeptId
,
sysDept
.
getAncestors
());
info
.
setSecondaryUnit
(
secondaryUnit
!=
null
?
secondaryUnit
:
applyUserDeptId
);
return
info
;
}
/**
* 构建流程节点列表
*/
private
List
<
Map
<
String
,
Object
>>
buildProcessNodes
(
boolean
isEngineeringType
,
String
ndjg
,
String
applyUserName
)
{
List
<
Map
<
String
,
Object
>>
jdList
=
new
ArrayList
<>();
// 开始节点
jdList
.
add
(
createNode
(
"开始"
,
isEngineeringType
?
GC_AQSP
:
ZJY_AQSP
,
Arrays
.
asList
(
applyUserName
)));
// 安全审批节点
jdList
.
add
(
createNode
(
"安全审批"
,
isEngineeringType
?
GC_AQSP
:
ZJY_AQSP
,
null
));
// 站长审批节点
jdList
.
add
(
createNode
(
"站长审批"
,
isEngineeringType
?
GC_ZZSP
:
ZJY_ZZSP
,
null
));
// 根据ndjg值添加相应节点
switch
(
ndjg
)
{
case
"5"
:
jdList
.
add
(
createNode
(
"专家审批"
,
isEngineeringType
?
GC_ZJSP
:
ZJY_ZJSP
,
null
));
break
;
case
"7"
:
jdList
.
add
(
createNode
(
"专家审批"
,
isEngineeringType
?
GC_ZJSP
:
ZJY_ZJSP
,
null
));
jdList
.
add
(
createNode
(
"首席专家"
,
isEngineeringType
?
GC_SXZJ
:
ZJY_SXZJ
,
null
));
break
;
case
"8"
:
jdList
.
add
(
createNode
(
"专家审批"
,
isEngineeringType
?
GC_ZJSP
:
ZJY_ZJSP
,
null
));
jdList
.
add
(
createNode
(
"首席专家"
,
isEngineeringType
?
GC_SXZJ
:
ZJY_SXZJ
,
null
));
jdList
.
add
(
createNode
(
"分管领导"
,
isEngineeringType
?
GC_FGLD
:
ZJY_FGLD
,
null
));
break
;
}
return
jdList
;
}
/**
* 创建节点
*/
private
Map
<
String
,
Object
>
createNode
(
String
name
,
String
roleKey
,
List
<
String
>
userList
)
{
Map
<
String
,
Object
>
node
=
new
HashMap
<>();
node
.
put
(
"name"
,
name
);
node
.
put
(
"roleKye"
,
roleKey
);
if
(
userList
!=
null
)
{
node
.
put
(
"userList"
,
userList
);
}
return
node
;
}
/**
* 填充节点用户信息和状态
*/
private
void
populateNodeUserInfo
(
List
<
Map
<
String
,
Object
>>
jdList
,
List
<
BizTodoItem
>
bizTodoItems
,
Long
secondaryUnit
)
{
for
(
Map
<
String
,
Object
>
item
:
jdList
)
{
String
nodeName
=
item
.
get
(
"name"
).
toString
();
// 设置审批人员(除开始节点外)
if
(!
"开始"
.
equals
(
nodeName
))
{
String
roleKey
=
item
.
get
(
"roleKye"
).
toString
();
List
<
String
>
userList
=
userService
.
selectUserLoginNamesByRoleKeyDept2
(
secondaryUnit
,
roleKey
);
item
.
put
(
"userList"
,
userList
);
// 设置节点执行状态
boolean
isExecuted
=
bizTodoItems
.
stream
()
.
anyMatch
(
todo
->
todo
.
getNodeName
().
equals
(
nodeName
)
&&
"1"
.
equals
(
todo
.
getIsHandle
()));
item
.
put
(
"jdxz"
,
isExecuted
);
}
else
{
item
.
put
(
"jdxz"
,
true
);
}
}
}
/**
* 特殊化
* 自动完成第一个节点(任务书填报)的提交
*/
private
void
autoCompleteFirstSubmit
(
String
userId
,
String
key
,
String
processInstanceId
,
SjDjjc
entity
)
{
// 根据当前人的ID查询
List
<
Task
>
todoList
=
taskService
.
createTaskQuery
()
.
processDefinitionKey
(
key
)
.
taskAssignee
(
userId
)
.
processInstanceId
(
processInstanceId
)
.
list
();
// 获取task
if
(
todoList
.
size
()
<=
0
)
{
//没有待办 流程实例异常
System
.
out
.
println
(
"\n流程实例异常!没有生成Task数据。autoCompleteFirstSubmit()方法。\n"
);
return
;
}
Task
task
=
todoList
.
get
(
0
);
String
taskId
=
task
.
getId
();
// 流程的显示标题 取课题名称接后缀任务书审核
String
itemName
=
"工程方案审核"
;
String
itemContent
=
entity
.
getJh
()+
"工程方案审核"
;
// 获取流程发起人、和所属部门id
String
applyUserId
=
entity
.
getApplyUser
();
Long
applyUserDeptId
=
userService
.
selectUserByLoginName
(
applyUserId
).
getDeptId
();
SysDept
sysDept
=
sysDeptMapper
.
selectDeptById
(
applyUserDeptId
);
Long
secondaryUnit
=
getSecondaryUnit
(
applyUserDeptId
,
sysDept
.
getAncestors
());
// 设置下一节点处理人
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
GC_AQSP
);
// 下一节点审核节点 处理人为根据角色code取多人 一人处理即可通过
variables
.
put
(
paramName_audit_user
,
assignee
);
// 设置下一节点审核人 设置userId
String
comment
=
"【提交】"
;
processService
.
complete
(
taskId
,
processInstanceId
,
itemName
,
itemContent
,
Complete_Module
,
variables
,
ServletUtils
.
getRequest
(),
comment
);
}
/**
* 特殊化
* 自动完成第一个节点(任务书填报)的提交
*/
private
void
autoCompleteFirstSubmitZjy
(
String
userId
,
String
key
,
String
processInstanceId
,
SjDjjc
entity
)
{
// 根据当前人的ID查询
List
<
Task
>
todoList
=
taskService
.
createTaskQuery
()
.
processDefinitionKey
(
key
)
.
taskAssignee
(
userId
)
.
processInstanceId
(
processInstanceId
)
.
list
();
// 获取task
if
(
todoList
.
size
()
<=
0
)
{
//没有待办 流程实例异常
System
.
out
.
println
(
"\n流程实例异常!没有生成Task数据。autoCompleteFirstSubmit()方法。\n"
);
return
;
}
Task
task
=
todoList
.
get
(
0
);
String
taskId
=
task
.
getId
();
// 流程的显示标题 取课题名称接后缀任务书审核
String
itemName
=
"钻井液方案审核"
;
String
itemContent
=
entity
.
getJh
()+
"钻井液方案审核"
;
// 获取流程发起人、和所属部门id
String
applyUserId
=
entity
.
getZjyapplyUser
();
Long
applyUserDeptId
=
userService
.
selectUserByLoginName
(
applyUserId
).
getDeptId
();
SysDept
sysDept
=
sysDeptMapper
.
selectDeptById
(
applyUserDeptId
);
Long
secondaryUnit
=
getSecondaryUnit
(
applyUserDeptId
,
sysDept
.
getAncestors
());
// 设置下一节点处理人
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
List
<
String
>
assignee
=
userService
.
selectUserLoginNamesByRoleKeyDept
(
secondaryUnit
,
GC_AQSP
);
// 下一节点审核节点 处理人为根据角色code取多人 一人处理即可通过
variables
.
put
(
paramName_audit_user
,
assignee
);
// 设置下一节点审核人 设置userId
String
comment
=
"【提交】"
;
processService
.
complete
(
taskId
,
processInstanceId
,
itemName
,
itemContent
,
Complete_Module
,
variables
,
ServletUtils
.
getRequest
(),
comment
);
}
/**
* 根据传入的 deptId 和 ancestors 字符串,获取对应的二级单位 ID
*
* @param deptId 当前部门ID
* @param ancestors 祖先部门ID字符串,以逗号分隔,如 "0,100,101" 或 "0,100"
* @return 二级单位ID:
* - 若 ancestors 长度大于2(即包含超过2个ID),则返回第三个ID(索引为2)
* - 若 ancestors 长度等于2,则返回 deptId
* - 若 ancestors 格式不合法,则返回 null
*/
public
static
Long
getSecondaryUnit
(
Long
deptId
,
String
ancestors
)
{
if
(
ancestors
==
null
||
ancestors
.
isEmpty
())
{
return
null
;
}
// 1. 分割字符串并转换为数字列表
List
<
Long
>
ancestorList
=
Arrays
.
stream
(
ancestors
.
split
(
","
))
.
map
(
String:
:
trim
)
.
filter
(
s
->
!
s
.
isEmpty
())
.
map
(
Long:
:
parseLong
)
.
collect
(
Collectors
.
toList
());
// 2. 根据列表长度判断返回值
if
(
ancestorList
.
size
()
>
2
)
{
// 祖先列表长度大于2,返回第三个元素(索引2)
return
ancestorList
.
get
(
2
);
}
else
if
(
ancestorList
.
size
()
==
2
)
{
// 祖先列表长度等于2,返回传入的 deptId
return
deptId
;
}
else
{
// 格式不合法,返回null
return
null
;
}
}
}
src/main/java/com/zjsgfa/project/zjsgfa/controller/SjDjjcController.java
View file @
0399f36b
...
@@ -416,13 +416,12 @@ public class SjDjjcController extends BaseController
...
@@ -416,13 +416,12 @@ public class SjDjjcController extends BaseController
@ResponseBody
@ResponseBody
public
AjaxResult
importData
(
MultipartFile
file
,
boolean
updateSupport
,
SjDjjc
sjDjjc
)
throws
Exception
public
AjaxResult
importData
(
MultipartFile
file
,
boolean
updateSupport
,
SjDjjc
sjDjjc
)
throws
Exception
{
{
System
.
out
.
println
(
"--------------执行插入"
);
SjDjjc
sjDjjc1
=
sjDjjcService
.
selectSjDjjcById
(
sjDjjc
.
getId
());
SjDjjc
sjDjjc1
=
sjDjjcService
.
selectSjDjjcById
(
sjDjjc
.
getId
());
XSSFWorkbook
workbook
=
null
;
XSSFWorkbook
workbook
=
null
;
try
{
//
try {
//装载流
//装载流
workbook
=
new
XSSFWorkbook
(
file
.
getInputStream
());
workbook
=
new
XSSFWorkbook
(
file
.
getInputStream
());
// 获取井基础信息表,下标从0开始
// 获取井基础信息表,下标从0开始
...
@@ -454,47 +453,47 @@ public class SjDjjcController extends BaseController
...
@@ -454,47 +453,47 @@ public class SjDjjcController extends BaseController
// }
// }
info
.
setJh
(
jh
);
info
.
setJh
(
jh
);
String
qk
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
1
));
String
qk
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
1
));
if
(
StringUtils
.
isEmpty
(
qk
)){
//
if(StringUtils.isEmpty(qk)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行区块不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行区块不能为空");
}
//
}
info
.
setQk
(
qk
);
info
.
setQk
(
qk
);
String
jb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
2
));
String
jb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
2
));
if
(
StringUtils
.
isEmpty
(
jb
)){
//
if(StringUtils.isEmpty(jb)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行井别不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行井别不能为空");
}
//
}
info
.
setJb
(
jb
);
info
.
setJb
(
jb
);
String
jx
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
3
));
String
jx
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
3
));
if
(
StringUtils
.
isEmpty
(
jx
)){
//
if(StringUtils.isEmpty(jx)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行井型不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行井型不能为空");
}
//
}
info
.
setJx
(
jx
);
info
.
setJx
(
jx
);
String
jkhzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
4
));
String
jkhzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
4
));
if
(
StringUtils
.
isEmpty
(
jkhzb
)){
//
if(StringUtils.isEmpty(jkhzb)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行井口横坐标不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行井口横坐标不能为空");
}
//
}
info
.
setJkhzb
(
Double
.
parseDouble
(
jkhzb
));
info
.
setJkhzb
(
Double
.
parseDouble
(
jkhzb
));
jkhzbB
=
jkhzbB
+
Double
.
parseDouble
(
jkhzb
);
jkhzbB
=
jkhzbB
+
Double
.
parseDouble
(
jkhzb
);
String
jkzzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
5
));
String
jkzzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
5
));
if
(
StringUtils
.
isEmpty
(
jkzzb
)){
//
if(StringUtils.isEmpty(jkzzb)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行井口纵坐标不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行井口纵坐标不能为空");
}
//
}
info
.
setJkzzb
(
Double
.
parseDouble
(
jkzzb
));
info
.
setJkzzb
(
Double
.
parseDouble
(
jkzzb
));
jkzzbB
=
jkzzbB
+
Double
.
parseDouble
(
jkzzb
);
jkzzbB
=
jkzzbB
+
Double
.
parseDouble
(
jkzzb
);
String
jdhzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
6
));
String
jdhzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
6
));
if
(
StringUtils
.
isEmpty
(
jdhzb
)){
//
if(StringUtils.isEmpty(jdhzb)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行井底横坐标不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行井底横坐标不能为空");
}
//
}
info
.
setJdhzb
(
Double
.
parseDouble
(
jdhzb
));
info
.
setJdhzb
(
Double
.
parseDouble
(
jdhzb
));
jdhzbB
=
jdhzbB
+
Double
.
parseDouble
(
jdhzb
);
jdhzbB
=
jdhzbB
+
Double
.
parseDouble
(
jdhzb
);
String
jdzzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
7
));
String
jdzzb
=
new
DataFormatter
().
formatCellValue
(
row
.
getCell
(
7
));
if
(
StringUtils
.
isEmpty
(
jdzzb
)){
//
if(StringUtils.isEmpty(jdzzb)){
return
AjaxResult
.
error
(
"井基础信息中第"
+(
i
+
1
)+
"行井底纵坐标不能为空"
);
//
return AjaxResult.error("井基础信息中第"+(i+1)+"行井底纵坐标不能为空");
}
//
}
info
.
setJdzzb
(
Double
.
parseDouble
(
jdzzb
));
info
.
setJdzzb
(
Double
.
parseDouble
(
jdzzb
));
jdzzbB
=
jdzzbB
+
Double
.
parseDouble
(
jdzzb
);
jdzzbB
=
jdzzbB
+
Double
.
parseDouble
(
jdzzb
);
...
@@ -1955,14 +1954,14 @@ public class SjDjjcController extends BaseController
...
@@ -1955,14 +1954,14 @@ public class SjDjjcController extends BaseController
//高指标井
//高指标井
sjDjjcService
.
getGzbjList
(
jh
);
sjDjjcService
.
getGzbjList
(
jh
);
}
catch
(
IOException
e
)
{
//
} catch (IOException e) {
e
.
getMessage
();
//
e.getMessage();
e
.
printStackTrace
();
//
e.printStackTrace();
throw
new
Exception
(
"导入Excel失败,请联系网站管理员!"
);
//
throw new Exception("导入Excel失败,请联系网站管理员!");
//
}
finally
{
//
} finally {
workbook
.
close
();
//
workbook.close();
}
//
}
...
@@ -2177,8 +2176,8 @@ public class SjDjjcController extends BaseController
...
@@ -2177,8 +2176,8 @@ public class SjDjjcController extends BaseController
String
param
=
gson
.
toJson
(
map2
);
String
param
=
gson
.
toJson
(
map2
);
// System.out.println("最终参数"+param);
// System.out.println("最终参数"+param);
//调用接口
//调用接口
// String body = HttpRequest.post("http://10.68.202.238:12001/api/pdf2xlsx").body(param).execute().body();
String
body
=
HttpRequest
.
post
(
"http://10.68.202.238:12001/api/pdf2xlsx"
).
body
(
param
).
execute
().
body
();
//测试
String
body
=
HttpRequest
.
post
(
"http://10.68.249.11:12001/api/pdf2xlsx"
).
body
(
param
).
execute
().
body
();
// String body = HttpRequest.post("http://10.68.249.11:5174/api/pdf2xlsx").body(param).execute().body();//正式
System
.
out
.
println
(
"接口返回数据"
+
body
);
System
.
out
.
println
(
"接口返回数据"
+
body
);
JsonObject
root
=
gson
.
fromJson
(
body
,
JsonObject
.
class
);
JsonObject
root
=
gson
.
fromJson
(
body
,
JsonObject
.
class
);
JsonObject
outerData
=
root
.
getAsJsonObject
(
"message"
);
JsonObject
outerData
=
root
.
getAsJsonObject
(
"message"
);
...
...
src/main/java/com/zjsgfa/project/zjsgfa/domain/BizTodoItem.java
View file @
0399f36b
...
@@ -82,7 +82,11 @@ public class BizTodoItem extends BaseEntity
...
@@ -82,7 +82,11 @@ public class BizTodoItem extends BaseEntity
@Excel
(
name
=
"处理时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"处理时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
handleTime
;
private
Date
handleTime
;
private
String
comment
;
private
String
searchOtherTodoFlag
;
private
String
searchOtherTodoFlag
;
private
String
orderBy
;
}
}
src/main/java/com/zjsgfa/project/zjsgfa/domain/SjDjjc.java
View file @
0399f36b
...
@@ -215,7 +215,7 @@ public class SjDjjc extends ProcessBaseEntity
...
@@ -215,7 +215,7 @@ public class SjDjjc extends ProcessBaseEntity
private
String
applyUser
;
private
String
applyUser
;
/** 申请时间 流程 */
/** 申请时间 流程 */
@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")
private
Date
applyTime
;
private
Date
applyTime
;
...
@@ -224,5 +224,41 @@ public class SjDjjc extends ProcessBaseEntity
...
@@ -224,5 +224,41 @@ public class SjDjjc extends ProcessBaseEntity
private
String
taskId
;
private
String
taskId
;
private
String
applyUserName
;
private
String
zjyapplyUserName
;
private
String
ndxsjg
;
/** 钻井液流程实例id */
@Excel
(
name
=
"钻井液流程实例id"
)
private
String
zjyinstanceId
;
/** 钻井液流程状态 */
@Excel
(
name
=
"钻井液流程状态"
)
private
String
zjyprocessStatus
;
/** 钻井液驳回意见原因 */
@Excel
(
name
=
"钻井液驳回意见原因"
)
private
String
zjyrefuseContent
;
/** 钻井液类型 流程 */
@Excel
(
name
=
"钻井液类型 流程"
)
private
String
zjytype
;
/** 钻井液申请人 流程 */
@Excel
(
name
=
"钻井液申请人 流程"
)
private
String
zjyapplyUser
;
/** 钻井液申请时间 流程 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"钻井液申请时间 流程"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
private
Date
zjyapplyTime
;
}
}
src/main/java/com/zjsgfa/project/zjsgfa/mapper/BizTodoItemMapper.java
View file @
0399f36b
...
@@ -66,4 +66,7 @@ public interface BizTodoItemMapper
...
@@ -66,4 +66,7 @@ public interface BizTodoItemMapper
String
selectTodoUserByTaskId
(
String
taskId
);
String
selectTodoUserByTaskId
(
String
taskId
);
List
<
BizTodoItem
>
selectBizTodoItemList2
(
BizTodoItem
bizTodoItem
);
}
}
src/main/java/com/zjsgfa/project/zjsgfa/mapper/SjDjjcMapper.java
View file @
0399f36b
...
@@ -67,4 +67,9 @@ public interface SjDjjcMapper
...
@@ -67,4 +67,9 @@ public interface SjDjjcMapper
SjDjjc
selectSjDjjcByinstanceId
(
String
instanceId
);
SjDjjc
selectSjDjjcByinstanceId
(
String
instanceId
);
int
updateSjDjjcById
(
SjDjjc
sjDjjc
);
SjDjjc
selectSjDjjcByinstanceIdZjy
(
String
instanceId
);
}
}
src/main/java/com/zjsgfa/project/zjsgfa/service/IBizTodoItemService.java
View file @
0399f36b
...
@@ -60,5 +60,9 @@ public interface IBizTodoItemService
...
@@ -60,5 +60,9 @@ public interface IBizTodoItemService
public
int
deleteBizTodoItemById
(
Long
id
);
public
int
deleteBizTodoItemById
(
Long
id
);
// int insertTodoItem(String instanceId, String itemName, String itemContent, String module);
int
insertTodoItem
(
String
instanceId
,
String
itemName
,
String
itemContent
,
String
module
,
String
comment
);
List
<
BizTodoItem
>
selectBizTodoItemList2
(
BizTodoItem
bizTodoItem
);
}
}
src/main/java/com/zjsgfa/project/zjsgfa/service/ProcessService.java
0 → 100644
View file @
0399f36b
package
com
.
zjsgfa
.
project
.
zjsgfa
.
service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
public
interface
ProcessService
{
void
complete
(
String
taskId
,
String
processInstanceId
,
String
itemName
,
String
itemContent
,
String
complete_module
,
Map
<
String
,
Object
>
variables
,
HttpServletRequest
request
,
String
comment
);
}
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/BizTodoItemServiceImpl.java
View file @
0399f36b
...
@@ -6,6 +6,8 @@ import com.zjsgfa.common.utils.DateUtils;
...
@@ -6,6 +6,8 @@ import com.zjsgfa.common.utils.DateUtils;
import
com.zjsgfa.common.utils.StringUtils
;
import
com.zjsgfa.common.utils.StringUtils
;
import
com.zjsgfa.project.system.domain.SysUser
;
import
com.zjsgfa.project.system.domain.SysUser
;
import
com.zjsgfa.project.system.mapper.SysUserMapper
;
import
com.zjsgfa.project.system.mapper.SysUserMapper
;
import
org.activiti.engine.TaskService
;
import
org.activiti.engine.task.Task
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -26,8 +28,8 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService
...
@@ -26,8 +28,8 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService
@Autowired
@Autowired
private
BizTodoItemMapper
bizTodoItemMapper
;
private
BizTodoItemMapper
bizTodoItemMapper
;
//
@Autowired
@Autowired
//
private TaskService taskService;
private
TaskService
taskService
;
@Autowired
@Autowired
private
SysUserMapper
userMapper
;
private
SysUserMapper
userMapper
;
...
@@ -104,58 +106,66 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService
...
@@ -104,58 +106,66 @@ public class BizTodoItemServiceImpl implements IBizTodoItemService
return
bizTodoItemMapper
.
deleteBizTodoItemById
(
id
);
return
bizTodoItemMapper
.
deleteBizTodoItemById
(
id
);
}
}
// @Override
@Override
// public int insertTodoItem(String instanceId, String itemName, String itemContent, String module) {
public
int
insertTodoItem
(
String
instanceId
,
String
itemName
,
String
itemContent
,
String
module
,
String
comment
)
{
// BizTodoItem todoItem = new BizTodoItem();
BizTodoItem
todoItem
=
new
BizTodoItem
();
// todoItem.setItemName(itemName);
todoItem
.
setItemName
(
itemName
);
// todoItem.setItemContent(itemContent);
todoItem
.
setItemContent
(
itemContent
);
// todoItem.setIsView("0");
todoItem
.
setIsView
(
"0"
);
// todoItem.setIsHandle("0");
todoItem
.
setIsHandle
(
"0"
);
// todoItem.setModule(module);
todoItem
.
setModule
(
module
);
// todoItem.setTodoTime(DateUtils.getNowDate());
todoItem
.
setTodoTime
(
DateUtils
.
getNowDate
());
// List<Task> taskList = taskService.createTaskQuery().processInstanceId(instanceId).active().list();
List
<
Task
>
taskList
=
taskService
.
createTaskQuery
().
processInstanceId
(
instanceId
).
active
().
list
();
// int counter = 0;
int
counter
=
0
;
// for (Task task: taskList) {
for
(
Task
task:
taskList
)
{
//
// // todoitem 去重
// todoitem 去重
// BizTodoItem bizTodoItem = bizTodoItemMapper.selectTodoItemByTaskId(task.getId());
BizTodoItem
bizTodoItem
=
bizTodoItemMapper
.
selectTodoItemByTaskId
(
task
.
getId
());
// if (bizTodoItem != null) continue;
if
(
bizTodoItem
!=
null
)
continue
;
//
// BizTodoItem newItem = new BizTodoItem();
BizTodoItem
newItem
=
new
BizTodoItem
();
// BeanUtils.copyProperties(todoItem, newItem);
BeanUtils
.
copyProperties
(
todoItem
,
newItem
);
// newItem.setInstanceId(instanceId);
newItem
.
setInstanceId
(
instanceId
);
// newItem.setTaskId(task.getId());
newItem
.
setTaskId
(
task
.
getId
());
// newItem.setTaskName("task" + task.getTaskDefinitionKey().substring(0, 1).toUpperCase() + task.getTaskDefinitionKey().substring(1));
newItem
.
setTaskName
(
"task"
+
task
.
getTaskDefinitionKey
().
substring
(
0
,
1
).
toUpperCase
()
+
task
.
getTaskDefinitionKey
().
substring
(
1
));
// newItem.setNodeName(task.getName());
newItem
.
setNodeName
(
task
.
getName
());
// String assignee = task.getAssignee();
String
assignee
=
task
.
getAssignee
();
// if (StringUtils.isNotBlank(assignee)) {
if
(
StringUtils
.
isNotBlank
(
assignee
))
{
// newItem.setTodoUserId(assignee);
newItem
.
setTodoUserId
(
assignee
);
// SysUser user = userMapper.selectUserByLoginName(assignee);
SysUser
user
=
userMapper
.
selectUserByLoginName
(
assignee
);
// newItem.setTodoUserName(user.getNickName());
newItem
.
setTodoUserName
(
user
.
getNickName
());
// bizTodoItemMapper.insertBizTodoItem(newItem);
newItem
.
setComment
(
comment
);
// counter++;
bizTodoItemMapper
.
insertBizTodoItem
(
newItem
);
// } else {
counter
++;
// // 查询候选用户组
}
else
{
// List<String> todoUserIdList = bizTodoItemMapper.selectTodoUserListByTaskId(task.getId());
// 查询候选用户组
// if (!CollectionUtils.isEmpty(todoUserIdList)) {
List
<
String
>
todoUserIdList
=
bizTodoItemMapper
.
selectTodoUserListByTaskId
(
task
.
getId
());
// for (String todoUserId: todoUserIdList) {
if
(!
CollectionUtils
.
isEmpty
(
todoUserIdList
))
{
// SysUser todoUser = userMapper.selectUserByLoginName(todoUserId);
for
(
String
todoUserId:
todoUserIdList
)
{
// newItem.setTodoUserId(todoUser.getUserName());
SysUser
todoUser
=
userMapper
.
selectUserByLoginName
(
todoUserId
);
// newItem.setTodoUserName(todoUser.getNickName());
newItem
.
setTodoUserId
(
todoUser
.
getUserName
());
// bizTodoItemMapper.insertBizTodoItem(newItem);
newItem
.
setTodoUserName
(
todoUser
.
getNickName
());
// counter++;
newItem
.
setComment
(
comment
);
// }
bizTodoItemMapper
.
insertBizTodoItem
(
newItem
);
// } else {
counter
++;
// // 查询候选用户
}
// String todoUserId = bizTodoItemMapper.selectTodoUserByTaskId(task.getId());
}
else
{
// SysUser todoUser = userMapper.selectUserByLoginName(todoUserId);
// 查询候选用户
// newItem.setTodoUserId(todoUser.getUserName());
String
todoUserId
=
bizTodoItemMapper
.
selectTodoUserByTaskId
(
task
.
getId
());
// newItem.setTodoUserName(todoUser.getNickName());
SysUser
todoUser
=
userMapper
.
selectUserByLoginName
(
todoUserId
);
// bizTodoItemMapper.insertBizTodoItem(newItem);
newItem
.
setTodoUserId
(
todoUser
.
getUserName
());
// counter++;
newItem
.
setTodoUserName
(
todoUser
.
getNickName
());
// }
newItem
.
setComment
(
comment
);
// }
bizTodoItemMapper
.
insertBizTodoItem
(
newItem
);
// }
counter
++;
// return counter;
}
// }
}
}
return
counter
;
}
@Override
public
List
<
BizTodoItem
>
selectBizTodoItemList2
(
BizTodoItem
bizTodoItem
)
{
return
bizTodoItemMapper
.
selectBizTodoItemList2
(
bizTodoItem
);
}
}
}
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/ProcessServiceImpl.java
0 → 100644
View file @
0399f36b
package
com
.
zjsgfa
.
project
.
zjsgfa
.
service
.
impl
;
import
com.zjsgfa.common.utils.DateUtils
;
import
com.zjsgfa.common.utils.SecurityUtils
;
import
com.zjsgfa.common.utils.StringUtils
;
import
com.zjsgfa.project.zjsgfa.domain.BizTodoItem
;
import
com.zjsgfa.project.zjsgfa.service.IBizTodoItemService
;
import
com.zjsgfa.project.zjsgfa.service.ProcessService
;
import
org.activiti.engine.TaskService
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.SimpleDateFormat
;
import
java.util.Enumeration
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
ProcessServiceImpl
implements
ProcessService
{
protected
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ProcessServiceImpl
.
class
);
@Autowired
private
TaskService
taskService
;
@Autowired
private
IBizTodoItemService
bizTodoItemService
;
@Override
public
void
complete
(
String
taskId
,
String
instanceId
,
String
itemName
,
String
itemContent
,
String
module
,
Map
<
String
,
Object
>
variables
,
HttpServletRequest
request
,
String
comment
)
{
Enumeration
<
String
>
parameterNames
=
request
.
getParameterNames
();
boolean
agree
=
true
;
// taskService.addComment(taskId, instanceId, comment);
// 被委派人处理完成任务
// p.s. 被委托的流程需要先 resolved 这个任务再提交。
// 所以在 complete 之前需要先 resolved
// resolveTask() 要在 claim() 之前,不然 act_hi_taskinst 表的 assignee 字段会为 null
taskService
.
resolveTask
(
taskId
,
variables
);
// 只有签收任务,act_hi_taskinst 表的 assignee 字段才不为 null (经过测试这里有点慢)
taskService
.
claim
(
taskId
,
SecurityUtils
.
getUsername
());
taskService
.
complete
(
taskId
,
variables
);
//慢
// 更新待办事项状态
BizTodoItem
query
=
new
BizTodoItem
();
/* 2021/12/28 edit by wj 同一个节点多处理人时,task_id 是相同的,无法用来查询当前节点的其他待办,需要单独写查询条件。 start */
// query.setTaskId(taskId);
query
.
setSearchOtherTodoFlag
(
taskId
);
// 查询其他待办任务 flag 。有值时 表示:传入task_id查询当前节点的其他处理人的待办数据
query
.
setOrderBy
(
"todo_time"
);
// 查询其他待办任务 flag 。有值时 表示:传入task_id查询当前节点的其他处理人的待办数据
/* 2021/12/28 edit by wj 同一个节点多处理人时,task_id 是相同的,无法用来查询当前节点的其他待办,需要单独写查询条件。 end */
// 考虑到候选用户组,会有多个 todoitem 办理同个 task
List
<
BizTodoItem
>
updateList
=
CollectionUtils
.
isEmpty
(
bizTodoItemService
.
selectBizTodoItemList
(
query
))
?
null
:
bizTodoItemService
.
selectBizTodoItemList
(
query
);
for
(
BizTodoItem
update:
updateList
)
{
// 找到当前登录用户的 todoitem,置为已办
if
(
update
.
getTodoUserId
().
equals
(
SecurityUtils
.
getUsername
()))
{
update
.
setIsView
(
"1"
);
update
.
setIsHandle
(
"1"
);
update
.
setHandleUserId
(
SecurityUtils
.
getUsername
());
update
.
setHandleUserName
(
SecurityUtils
.
getLoginUser
().
getUser
().
getNickName
());
update
.
setHandleTime
(
DateUtils
.
getNowDate
());
update
.
setComment
(
comment
);
bizTodoItemService
.
updateBizTodoItem
(
update
);
}
else
{
/* 2021/12/28 edit by wj 其他处理人不删除而是置位已办。 start */
// bizTodoItemService.deleteBizTodoItemById(update.getId()); // 删除候选用户组其他 todoitem
update
.
setIsHandle
(
"1"
);
// update.setHandleUserId(ShiroUtils.getLoginName());
// update.setHandleUserName(ShiroUtils.getSysUser().getUserName());
bizTodoItemService
.
updateBizTodoItem
(
update
);
/* 2021/12/28 edit by wj 其他处理人不删除而是置位已办。 end */
}
}
// 下一节点处理人待办事项
bizTodoItemService
.
insertTodoItem
(
instanceId
,
itemName
,
itemContent
,
module
,
null
);
}
}
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/SjFdsgcsServiceImpl.java
View file @
0399f36b
...
@@ -329,8 +329,8 @@ public class SjFdsgcsServiceImpl implements ISjFdsgcsService
...
@@ -329,8 +329,8 @@ public class SjFdsgcsServiceImpl implements ISjFdsgcsService
Gson
gson
=
new
GsonBuilder
().
setPrettyPrinting
().
create
();
Gson
gson
=
new
GsonBuilder
().
setPrettyPrinting
().
create
();
String
json
=
gson
.
toJson
(
map
);
String
json
=
gson
.
toJson
(
map
);
//调用httpsPost请求获取数据
//调用httpsPost请求获取数据
// String url = "https://10.68.249.59
:12001/api/ljzjymd";
String
url
=
"http://10.68.202.238
:12001/api/ljzjymd"
;
String
url
=
"http://10.68.249.11:12001
/api/ljzjymd"
;
// String url = "http://10.68.249.11:5174
/api/ljzjymd";
System
.
out
.
println
(
json
);
System
.
out
.
println
(
json
);
String
result
=
HttpRequest
.
post
(
url
).
body
(
json
).
execute
().
body
();
String
result
=
HttpRequest
.
post
(
url
).
body
(
json
).
execute
().
body
();
System
.
out
.
println
(
result
);
System
.
out
.
println
(
result
);
...
...
src/main/resources/mybatis/zjsgfa/BizTodoItemMapper.xml
View file @
0399f36b
...
@@ -21,10 +21,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -21,10 +21,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"handleUserName"
column=
"handle_user_name"
/>
<result
property=
"handleUserName"
column=
"handle_user_name"
/>
<result
property=
"todoTime"
column=
"todo_time"
/>
<result
property=
"todoTime"
column=
"todo_time"
/>
<result
property=
"handleTime"
column=
"handle_time"
/>
<result
property=
"handleTime"
column=
"handle_time"
/>
<result
property=
"comment"
column=
"comment"
/>
</resultMap>
</resultMap>
<sql
id=
"selectBizTodoItemVo"
>
<sql
id=
"selectBizTodoItemVo"
>
select id, item_name, item_content, module, task_id, instance_id, task_name, node_name, is_view, is_handle, todo_user_id, todo_user_name, handle_user_id, handle_user_name, todo_time, handle_time from biz_todo_item
select id, item_name, item_content, module, task_id, instance_id, task_name, node_name, is_view, is_handle, todo_user_id, todo_user_name, handle_user_id, handle_user_name, todo_time, handle_time
,comment
from biz_todo_item
</sql>
</sql>
<select
id=
"selectBizTodoItemList"
parameterType=
"BizTodoItem"
resultMap=
"BizTodoItemResult"
>
<select
id=
"selectBizTodoItemList"
parameterType=
"BizTodoItem"
resultMap=
"BizTodoItemResult"
>
...
@@ -45,12 +46,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -45,12 +46,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"handleUserName != null and handleUserName != ''"
>
and handle_user_name like concat('%', #{handleUserName}, '%')
</if>
<if
test=
"handleUserName != null and handleUserName != ''"
>
and handle_user_name like concat('%', #{handleUserName}, '%')
</if>
<if
test=
"todoTime != null "
>
and todo_time = #{todoTime}
</if>
<if
test=
"todoTime != null "
>
and todo_time = #{todoTime}
</if>
<if
test=
"handleTime != null "
>
and handle_time = #{handleTime}
</if>
<if
test=
"handleTime != null "
>
and handle_time = #{handleTime}
</if>
<if
test=
"comment != null and comment!='' "
>
and comment = #{comment}
</if>
<if
test=
"searchOtherTodoFlag != null and searchOtherTodoFlag != ''"
>
<if
test=
"searchOtherTodoFlag != null and searchOtherTodoFlag != ''"
>
and instance_id = ( select instance_id from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and instance_id = ( select instance_id from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and task_name = ( select task_name from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and task_name = ( select task_name from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and node_name = ( select node_name from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and node_name = ( select node_name from biz_todo_item where task_id = #{searchOtherTodoFlag} )
</if>
</if>
</where>
</where>
order by ${orderBy} desc
</select>
</select>
<select
id=
"selectBizTodoItemById"
parameterType=
"Long"
resultMap=
"BizTodoItemResult"
>
<select
id=
"selectBizTodoItemById"
parameterType=
"Long"
resultMap=
"BizTodoItemResult"
>
...
@@ -68,6 +71,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -68,6 +71,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select
id=
"selectTodoUserByTaskId"
resultType=
"java.lang.String"
>
<select
id=
"selectTodoUserByTaskId"
resultType=
"java.lang.String"
>
SELECT USER_ID_ FROM ACT_ID_MEMBERSHIP WHERE USER_ID_ = (SELECT USER_ID_ FROM ACT_RU_IDENTITYLINK WHERE TASK_ID_ = #{taskId})
SELECT USER_ID_ FROM ACT_ID_MEMBERSHIP WHERE USER_ID_ = (SELECT USER_ID_ FROM ACT_RU_IDENTITYLINK WHERE TASK_ID_ = #{taskId})
</select>
</select>
<select
id=
"selectBizTodoItemList2"
resultType=
"com.zjsgfa.project.zjsgfa.domain.BizTodoItem"
>
<include
refid=
"selectBizTodoItemVo"
/>
<where>
<if
test=
"itemName != null and itemName != ''"
>
and item_name like concat('%', #{itemName}, '%')
</if>
<if
test=
"itemContent != null and itemContent != ''"
>
and item_content like concat('%', #{itemContent}, '%')
</if>
<if
test=
"module != null and module != ''"
>
and module = #{module}
</if>
<if
test=
"taskId != null and taskId != ''"
>
and task_id = #{taskId}
</if>
<if
test=
"instanceId != null and instanceId != ''"
>
and instance_id = #{instanceId}
</if>
<if
test=
"taskName != null and taskName != ''"
>
and task_name like concat('%', #{taskName}, '%')
</if>
<if
test=
"nodeName != null and nodeName != ''"
>
and node_name like concat('%', #{nodeName}, '%')
</if>
<if
test=
"isView != null and isView != ''"
>
and is_view = #{isView}
</if>
<if
test=
"isHandle != null and isHandle != ''"
>
and is_handle = #{isHandle}
</if>
<if
test=
"todoUserId != null and todoUserId != ''"
>
and todo_user_id = #{todoUserId}
</if>
<if
test=
"todoUserName != null and todoUserName != ''"
>
and todo_user_name like concat('%', #{todoUserName}, '%')
</if>
<if
test=
"handleUserId != null and handleUserId != ''"
>
and handle_user_id = #{handleUserId}
</if>
<if
test=
"handleUserName != null and handleUserName != ''"
>
and handle_user_name like concat('%', #{handleUserName}, '%')
</if>
<if
test=
"todoTime != null "
>
and todo_time = #{todoTime}
</if>
<if
test=
"handleTime != null "
>
and handle_time = #{handleTime}
</if>
<if
test=
"comment != null and comment!='' "
>
and comment = #{comment}
</if>
<if
test=
"searchOtherTodoFlag != null and searchOtherTodoFlag != ''"
>
and instance_id = ( select instance_id from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and task_name = ( select task_name from biz_todo_item where task_id = #{searchOtherTodoFlag} )
and node_name = ( select node_name from biz_todo_item where task_id = #{searchOtherTodoFlag} )
</if>
</where>
ORDER BY handle_time IS NULL DESC, handle_time DESC
</select>
<insert
id=
"insertBizTodoItem"
parameterType=
"BizTodoItem"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insertBizTodoItem"
parameterType=
"BizTodoItem"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into biz_todo_item
insert into biz_todo_item
...
@@ -87,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -87,6 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"handleUserName != null"
>
handle_user_name,
</if>
<if
test=
"handleUserName != null"
>
handle_user_name,
</if>
<if
test=
"todoTime != null"
>
todo_time,
</if>
<if
test=
"todoTime != null"
>
todo_time,
</if>
<if
test=
"handleTime != null"
>
handle_time,
</if>
<if
test=
"handleTime != null"
>
handle_time,
</if>
<if
test=
"comment != null"
>
comment,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"itemName != null"
>
#{itemName},
</if>
<if
test=
"itemName != null"
>
#{itemName},
</if>
...
@@ -104,6 +135,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -104,6 +135,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"handleUserName != null"
>
#{handleUserName},
</if>
<if
test=
"handleUserName != null"
>
#{handleUserName},
</if>
<if
test=
"todoTime != null"
>
#{todoTime},
</if>
<if
test=
"todoTime != null"
>
#{todoTime},
</if>
<if
test=
"handleTime != null"
>
#{handleTime},
</if>
<if
test=
"handleTime != null"
>
#{handleTime},
</if>
<if
test=
"comment != null"
>
#{comment},
</if>
</trim>
</trim>
</insert>
</insert>
...
@@ -125,6 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -125,6 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"handleUserName != null"
>
handle_user_name = #{handleUserName},
</if>
<if
test=
"handleUserName != null"
>
handle_user_name = #{handleUserName},
</if>
<if
test=
"todoTime != null"
>
todo_time = #{todoTime},
</if>
<if
test=
"todoTime != null"
>
todo_time = #{todoTime},
</if>
<if
test=
"handleTime != null"
>
handle_time = #{handleTime},
</if>
<if
test=
"handleTime != null"
>
handle_time = #{handleTime},
</if>
<if
test=
"comment != null"
>
comment = #{comment},
</if>
</trim>
</trim>
where id = #{id}
where id = #{id}
</update>
</update>
...
...
src/main/resources/mybatis/zjsgfa/SjDjjcMapper.xml
View file @
0399f36b
...
@@ -55,13 +55,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -55,13 +55,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"type"
column=
"type"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"applyUser"
column=
"apply_user"
/>
<result
property=
"applyUser"
column=
"apply_user"
/>
<result
property=
"applyTime"
column=
"apply_time"
/>
<result
property=
"applyTime"
column=
"apply_time"
/>
<result
property=
"applyUserName"
column=
"apply_user_name"
/>
<result
property=
"ndxsjg"
column=
"ndxsjg"
/>
<result
property=
"zjyinstanceId"
column=
"zjyinstance_id"
/>
<result
property=
"zjyprocessStatus"
column=
"zjyprocess_status"
/>
<result
property=
"zjyrefuseContent"
column=
"zjyrefuse_content"
/>
<result
property=
"zjytype"
column=
"zjytype"
/>
<result
property=
"zjyapplyUser"
column=
"zjyapply_user"
/>
<result
property=
"zjyapplyTime"
column=
"zjyapply_time"
/>
<result
property=
"zjyapplyUserName"
column=
"zjyapply_user_name"
/>
</resultMap>
</resultMap>
<sql
id=
"selectSjDjjcVo"
>
<sql
id=
"selectSjDjjcVo"
>
select a.id,
select a.id,
jh,
jh,
jb,
jb,
jx,
a.
jx,
jkhzb,
jkhzb,
jkzzb,
jkzzb,
gzwz,
gzwz,
...
@@ -90,10 +101,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -90,10 +101,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hsezt,
hsezt,
jhjdzt,
jhjdzt,
flzt,
flzt,
faid,famc,u.nick_name as cjrmc,a.deptid,d.dept_name, jfdw, bxg, yctglrgd, dlwz, gzmc, ahzb, azzb, bhzb, bzzb, instance_id, process_status, refuse_content, type, apply_user, apply_time
faid,famc,u.nick_name as cjrmc,a.deptid,d.dept_name, jfdw, bxg, yctglrgd, dlwz, gzmc,
ahzb, azzb, bhzb, bzzb, instance_id, process_status, refuse_content, type, apply_user, apply_time,u1.nick_name apply_user_name,n.ndxsjg
, zjyinstance_id, zjyprocess_status, zjyrefuse_content, zjytype, zjyapply_user, zjyapply_time,u2.nick_name zjyapply_user_name
from sj_djjc a left join jcxx_jdxx b on a.zjd=b.id
from sj_djjc a left join jcxx_jdxx b on a.zjd=b.id
left join sys_user u on a.created_by=u.user_name
left join sys_user u on a.created_by=u.user_name
left join sys_user u1 on a.apply_user=u1.user_name
left join sys_user u2 on a.zjyapply_user=u2.user_name
left join sys_dept d on a.deptid = d.dept_id
left join sys_dept d on a.deptid = d.dept_id
left join sj_ndxm n on a.id = n.zbid
</sql>
</sql>
<select
id=
"selectSjDjjcList"
parameterType=
"SjDjjc"
resultMap=
"SjDjjcResult"
>
<select
id=
"selectSjDjjcList"
parameterType=
"SjDjjc"
resultMap=
"SjDjjcResult"
>
...
@@ -143,6 +159,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -143,6 +159,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"type != null and type != ''"
>
and type = #{type}
</if>
<if
test=
"type != null and type != ''"
>
and type = #{type}
</if>
<if
test=
"applyUser != null and applyUser != ''"
>
and apply_user = #{applyUser}
</if>
<if
test=
"applyUser != null and applyUser != ''"
>
and apply_user = #{applyUser}
</if>
<if
test=
"applyTime != null "
>
and apply_time = #{applyTime}
</if>
<if
test=
"applyTime != null "
>
and apply_time = #{applyTime}
</if>
<if
test=
"zjyinstanceId != null and zjyinstanceId != ''"
>
and zjyinstance_id = #{zjyinstanceId}
</if>
<if
test=
"zjyprocessStatus != null and zjyprocessStatus != ''"
>
and zjyprocess_status = #{zjyprocessStatus}
</if>
<if
test=
"zjyrefuseContent != null and zjyrefuseContent != ''"
>
and zjyrefuse_content = #{zjyrefuseContent}
</if>
<if
test=
"zjytype != null and zjytype != ''"
>
and zjytype = #{zjytype}
</if>
<if
test=
"zjyapplyUser != null and zjyapplyUser != ''"
>
and zjyapply_user = #{zjyapplyUser}
</if>
<if
test=
"zjyapplyTime != null "
>
and zjyapply_time = #{zjyapplyTime}
</if>
<!-- 数据范围过滤 -->
<!-- 数据范围过滤 -->
${params.dataScope}
${params.dataScope}
</where>
</where>
...
@@ -162,6 +184,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -162,6 +184,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include
refid=
"selectSjDjjcVo"
/>
<include
refid=
"selectSjDjjcVo"
/>
where a.instance_id = #{instanceId}
where a.instance_id = #{instanceId}
</select>
</select>
<select
id=
"selectSjDjjcByinstanceIdZjy"
resultType=
"com.zjsgfa.project.zjsgfa.domain.SjDjjc"
>
<include
refid=
"selectSjDjjcVo"
/>
where a.zjyinstance_id = #{instanceId}
</select>
<insert
id=
"insertSjDjjc"
parameterType=
"SjDjjc"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insertSjDjjc"
parameterType=
"SjDjjc"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into sj_djjc
insert into sj_djjc
...
@@ -214,6 +240,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -214,6 +240,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"type != null"
>
type,
</if>
<if
test=
"type != null"
>
type,
</if>
<if
test=
"applyUser != null"
>
apply_user,
</if>
<if
test=
"applyUser != null"
>
apply_user,
</if>
<if
test=
"applyTime != null"
>
apply_time,
</if>
<if
test=
"applyTime != null"
>
apply_time,
</if>
<if
test=
"zjyinstanceId != null"
>
zjyinstance_id,
</if>
<if
test=
"zjyprocessStatus != null"
>
zjyprocess_status,
</if>
<if
test=
"zjyrefuseContent != null"
>
zjyrefuse_content,
</if>
<if
test=
"zjytype != null"
>
zjytype,
</if>
<if
test=
"zjyapplyUser != null"
>
zjyapply_user,
</if>
<if
test=
"zjyapplyTime != null"
>
zjyapply_time,
</if>
</trim>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"jh != null"
>
#{jh},
</if>
<if
test=
"jh != null"
>
#{jh},
</if>
...
@@ -264,6 +296,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -264,6 +296,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"type != null"
>
#{type},
</if>
<if
test=
"type != null"
>
#{type},
</if>
<if
test=
"applyUser != null"
>
#{applyUser},
</if>
<if
test=
"applyUser != null"
>
#{applyUser},
</if>
<if
test=
"applyTime != null"
>
#{applyTime},
</if>
<if
test=
"applyTime != null"
>
#{applyTime},
</if>
<if
test=
"zjyinstanceId != null"
>
#{zjyinstanceId},
</if>
<if
test=
"zjyprocessStatus != null"
>
#{zjyprocessStatus},
</if>
<if
test=
"zjyrefuseContent != null"
>
#{zjyrefuseContent},
</if>
<if
test=
"zjytype != null"
>
#{zjytype},
</if>
<if
test=
"zjyapplyUser != null"
>
#{zjyapplyUser},
</if>
<if
test=
"zjyapplyTime != null"
>
#{zjyapplyTime},
</if>
</trim>
</trim>
</insert>
</insert>
...
@@ -317,9 +355,74 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -317,9 +355,74 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"type != null"
>
type = #{type},
</if>
<if
test=
"type != null"
>
type = #{type},
</if>
<if
test=
"applyUser != null"
>
apply_user = #{applyUser},
</if>
<if
test=
"applyUser != null"
>
apply_user = #{applyUser},
</if>
<if
test=
"applyTime != null"
>
apply_time = #{applyTime},
</if>
<if
test=
"applyTime != null"
>
apply_time = #{applyTime},
</if>
<if
test=
"zjyinstanceId != null"
>
zjyinstance_id = #{zjyinstanceId},
</if>
<if
test=
"zjyprocessStatus != null"
>
zjyprocess_status = #{zjyprocessStatus},
</if>
<if
test=
"zjyrefuseContent != null"
>
zjyrefuse_content = #{zjyrefuseContent},
</if>
<if
test=
"zjytype != null"
>
zjytype = #{zjytype},
</if>
<if
test=
"zjyapplyUser != null"
>
zjyapply_user = #{zjyapplyUser},
</if>
<if
test=
"zjyapplyTime != null"
>
zjyapply_time = #{zjyapplyTime},
</if>
</trim>
</trim>
where jh = #{jh}
where jh = #{jh}
</update>
</update>
<update
id=
"updateSjDjjcById"
>
update sj_djjc
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"jb != null"
>
jb = #{jb},
</if>
<if
test=
"jx != null"
>
jx = #{jx},
</if>
<if
test=
"jkhzb != null"
>
jkhzb = #{jkhzb},
</if>
<if
test=
"jkzzb != null"
>
jkzzb = #{jkzzb},
</if>
<if
test=
"gzwz != null"
>
gzwz = #{gzwz},
</if>
<if
test=
"wzcw != null"
>
wzcw = #{wzcw},
</if>
<if
test=
"ztmd != null"
>
ztmd = #{ztmd},
</if>
<if
test=
"wzyz != null"
>
wzyz = #{wzyz},
</if>
<if
test=
"wjfa != null"
>
wjfa = #{wjfa},
</if>
<if
test=
"createdBy != null"
>
created_by = #{createdBy},
</if>
<if
test=
"createdTime != null"
>
created_time = #{createdTime},
</if>
<if
test=
"updateBy != null"
>
update_by = #{updateBy},
</if>
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"zjgs != null"
>
zjgs = #{zjgs},
</if>
<if
test=
"zjd != null"
>
zjd = #{zjd},
</if>
<if
test=
"jdhzb != null"
>
jdhzb = #{jdhzb},
</if>
<if
test=
"jdzzb != null"
>
jdzzb = #{jdzzb},
</if>
<if
test=
"zt != null"
>
zt = #{zt},
</if>
<if
test=
"qk != null"
>
qk = #{qk},
</if>
<if
test=
"sjzt != null"
>
sjzt = #{sjzt},
</if>
<if
test=
"ljzlzt != null"
>
ljzlzt = #{ljzlzt},
</if>
<if
test=
"dzfxzt != null"
>
dzfxzt = #{dzfxzt},
</if>
<if
test=
"fxtszt != null"
>
fxtszt = #{fxtszt},
</if>
<if
test=
"sggyzt != null"
>
sggyzt = #{sggyzt},
</if>
<if
test=
"fdsgzt != null"
>
fdsgzt = #{fdsgzt},
</if>
<if
test=
"jkzt != null"
>
jkzt = #{jkzt},
</if>
<if
test=
"hsezt != null"
>
hsezt = #{hsezt},
</if>
<if
test=
"jhjdzt != null"
>
jhjdzt = #{jhjdzt},
</if>
<if
test=
"flzt != null"
>
flzt = #{flzt},
</if>
<if
test=
"faid != null"
>
faid = #{faid},
</if>
<if
test=
"famc != null"
>
famc = #{famc},
</if>
<if
test=
"deptid != null"
>
deptid = #{deptid},
</if>
<if
test=
"jfdw != null"
>
jfdw = #{jfdw},
</if>
<if
test=
"bxg != null"
>
bxg = #{bxg},
</if>
<if
test=
"yctglrgd != null"
>
yctglrgd = #{yctglrgd},
</if>
<if
test=
"dlwz != null"
>
dlwz = #{dlwz},
</if>
<if
test=
"gzmc != null"
>
gzmc = #{gzmc},
</if>
<if
test=
"ahzb != null"
>
ahzb = #{ahzb},
</if>
<if
test=
"azzb != null"
>
azzb = #{azzb},
</if>
<if
test=
"bhzb != null"
>
bhzb = #{bhzb},
</if>
<if
test=
"bzzb != null"
>
bzzb = #{bzzb},
</if>
<if
test=
"instanceId != null"
>
instance_id = #{instanceId},
</if>
<if
test=
"processStatus != null"
>
process_status = #{processStatus},
</if>
<if
test=
"refuseContent != null"
>
refuse_content = #{refuseContent},
</if>
<if
test=
"type != null"
>
type = #{type},
</if>
<if
test=
"applyUser != null"
>
apply_user = #{applyUser},
</if>
<if
test=
"applyTime != null"
>
apply_time = #{applyTime},
</if>
<if
test=
"zjyinstanceId != null"
>
zjyinstance_id = #{zjyinstanceId},
</if>
<if
test=
"zjyprocessStatus != null"
>
zjyprocess_status = #{zjyprocessStatus},
</if>
<if
test=
"zjyrefuseContent != null"
>
zjyrefuse_content = #{zjyrefuseContent},
</if>
<if
test=
"zjytype != null"
>
zjytype = #{zjytype},
</if>
<if
test=
"zjyapplyUser != null"
>
zjyapply_user = #{zjyapplyUser},
</if>
<if
test=
"zjyapplyTime != null"
>
zjyapply_time = #{zjyapplyTime},
</if>
</trim>
where id = #{id}
</update>
<delete
id=
"deleteSjDjjcById"
parameterType=
"Long"
>
<delete
id=
"deleteSjDjjcById"
parameterType=
"Long"
>
delete from sj_djjc where id = #{id}
delete from sj_djjc where id = #{id}
...
...
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