Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zrch-risk-39
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
zrch-risk-39
Commits
e2396e12
提交
e2396e12
authored
4月 23, 2026
作者:
whydesc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
--流程抄送处理
上级
d6807a14
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
874 行增加
和
4 行删除
+874
-4
MyTaskFlowCc.api.ts
...risk-client-39/src/views/mytaskflowcc/MyTaskFlowCc.api.ts
+64
-0
MyTaskFlowCc.data.ts
...isk-client-39/src/views/mytaskflowcc/MyTaskFlowCc.data.ts
+251
-0
MyTaskFlowCcList.vue
...isk-client-39/src/views/mytaskflowcc/MyTaskFlowCcList.vue
+0
-0
MyTaskFlowCcForm.vue
...39/src/views/mytaskflowcc/components/MyTaskFlowCcForm.vue
+71
-0
MyTaskFlowCcModal.vue
...9/src/views/mytaskflowcc/components/MyTaskFlowCcModal.vue
+101
-0
StPlanMan.data - 副本-1.ts
...client-39/src/views/project/plan/StPlanMan.data - 副本-1.ts
+0
-0
StPlanMan.data.ts
zrch-risk-client-39/src/views/project/plan/StPlanMan.data.ts
+7
-0
SysDeployFormMapper.xml
...able/apithird/business/mapper/xml/SysDeployFormMapper.xml
+7
-1
ProcessConstants.java
...cg/modules/flowable/common/constant/ProcessConstants.java
+4
-0
IFlowTaskService.java
.../org/jeecg/modules/flowable/service/IFlowTaskService.java
+2
-2
FlowDefinitionServiceImpl.java
...ules/flowable/service/impl/FlowDefinitionServiceImpl.java
+5
-1
FlowTaskServiceImpl.java
...cg/modules/flowable/service/impl/FlowTaskServiceImpl.java
+0
-0
MyTaskFlowCcController.java
...ecg/modules/stm/my/controller/MyTaskFlowCcController.java
+182
-0
MyTaskFlowCc.java
...in/java/org/jeecg/modules/stm/my/entity/MyTaskFlowCc.java
+121
-0
MyTaskFlowCcMapper.java
...a/org/jeecg/modules/stm/my/mapper/MyTaskFlowCcMapper.java
+17
-0
IMyTaskFlowCcService.java
...rg/jeecg/modules/stm/my/service/IMyTaskFlowCcService.java
+14
-0
MyTaskFlowCcServiceImpl.java
.../modules/stm/my/service/impl/MyTaskFlowCcServiceImpl.java
+19
-0
StPlanMan.java
...ava/org/jeecg/modules/stm/plan/main/entity/StPlanMan.java
+3
-0
MyTaskFlowCcMapper.xml
...-stm/src/main/resources/mapping/my/MyTaskFlowCcMapper.xml
+6
-0
没有找到文件。
zrch-risk-client-39/src/views/mytaskflowcc/MyTaskFlowCc.api.ts
0 → 100644
浏览文件 @
e2396e12
import
{
defHttp
}
from
'/@/utils/http/axios'
;
import
{
useMessage
}
from
"/@/hooks/web/useMessage"
;
const
{
createConfirm
}
=
useMessage
();
enum
Api
{
list
=
'/my/myTaskFlowCc/list'
,
save
=
'/my/myTaskFlowCc/add'
,
edit
=
'/my/myTaskFlowCc/edit'
,
deleteOne
=
'/my/myTaskFlowCc/delete'
,
deleteBatch
=
'/my/myTaskFlowCc/deleteBatch'
,
importExcel
=
'/my/myTaskFlowCc/importExcel'
,
exportXls
=
'/my/myTaskFlowCc/exportXls'
,
}
/**
* 导出api
* @param params
*/
export
const
getExportUrl
=
Api
.
exportXls
;
/**
* 导入api
*/
export
const
getImportUrl
=
Api
.
importExcel
;
/**
* 列表接口
* @param params
*/
export
const
list
=
(
params
)
=>
defHttp
.
get
({
url
:
Api
.
list
,
params
});
/**
* 删除单个
*/
export
const
deleteOne
=
(
params
,
handleSuccess
)
=>
{
return
defHttp
.
delete
({
url
:
Api
.
deleteOne
,
params
},
{
joinParamsToUrl
:
true
}).
then
(()
=>
{
handleSuccess
();
});
}
/**
* 批量删除
* @param params
*/
export
const
batchDelete
=
(
params
,
handleSuccess
)
=>
{
createConfirm
({
iconType
:
'warning'
,
title
:
'确认删除'
,
content
:
'是否删除选中数据'
,
okText
:
'确认'
,
cancelText
:
'取消'
,
onOk
:
()
=>
{
return
defHttp
.
delete
({
url
:
Api
.
deleteBatch
,
data
:
params
},
{
joinParamsToUrl
:
true
}).
then
(()
=>
{
handleSuccess
();
});
}
});
}
/**
* 保存或者更新
* @param params
*/
export
const
saveOrUpdate
=
(
params
,
isUpdate
)
=>
{
let
url
=
isUpdate
?
Api
.
edit
:
Api
.
save
;
return
defHttp
.
post
({
url
:
url
,
params
});
}
zrch-risk-client-39/src/views/mytaskflowcc/MyTaskFlowCc.data.ts
0 → 100644
浏览文件 @
e2396e12
import
{
BasicColumn
}
from
'/@/components/Table'
;
import
{
FormSchema
}
from
'/@/components/Table'
;
import
{
rules
}
from
'/@/utils/helper/validator'
;
import
{
render
}
from
'/@/utils/common/renderUtils'
;
import
{
getWeekMonthQuarterYear
}
from
'/@/utils'
;
//列表数据
export
const
columns
:
BasicColumn
[]
=
[
/**
{
title: '表单的表名ID',
align:"center",
dataIndex: 'formTableName'
},
{
title: '业务主表ID',
align:"center",
dataIndex: 'targetId'
},
{
title: '部署ID',
align:"center",
dataIndex: 'deployId'
},
{
title: '任务ID',
align:"center",
dataIndex: 'taskId'
},
{
title: '实例ID',
align:"center",
dataIndex: 'procInsId'
},
{
title: '执行ID',
align:"center",
dataIndex: 'executionId'
},
{
title: '流程定义ID',
align:"center",
dataIndex: 'procDefId'
},
{
title: '代办角色',
align:"center",
dataIndex: 'roleid'
},
{
title: '抄送人',
align:"center",
dataIndex: 'ccid'
},
{
title: '抄送角色',
align:"center",
dataIndex: 'ccroleid'
},
{
title: '节点ID',
align:"center",
dataIndex: 'taskDefinitionKey'
},
*/
{
title
:
'流程名称'
,
align
:
"center"
,
dataIndex
:
'flowName'
},
{
title
:
'标题'
,
align
:
"center"
,
dataIndex
:
'taskTitle'
},
{
title
:
'节点名称'
,
align
:
"center"
,
dataIndex
:
'taskDefinitionName'
},
{
title
:
'待办类型'
,
align
:
"center"
,
dataIndex
:
'uidType'
},
{
title
:
'状态'
,
align
:
"center"
,
dataIndex
:
'status'
,
customRender
:
({
text
})
=>
{
const
color
=
text
==
'0'
?
'red'
:
text
==
'1'
?
'green'
:
'blue'
;
return
render
.
renderTag
(
text
==
'0'
?
'未查看'
:
text
==
'1'
?
'已查看'
:
''
,
color
);
},
},
{
title
:
'发送人'
,
align
:
"center"
,
dataIndex
:
'uid_dictText'
},
{
title
:
'发送时间'
,
align
:
"center"
,
dataIndex
:
'ccTime'
},
{
title
:
'浏览时间'
,
align
:
"center"
,
dataIndex
:
'readTime'
},
];
//查询数据
export
const
searchFormSchema
:
FormSchema
[]
=
[
];
//表单数据
export
const
formSchema
:
FormSchema
[]
=
[
{
label
:
'表单的表名ID'
,
field
:
'formTableName'
,
component
:
'Input'
,
},
{
label
:
'业务主表ID'
,
field
:
'targetId'
,
component
:
'Input'
,
},
{
label
:
'部署ID'
,
field
:
'deployId'
,
component
:
'Input'
,
},
{
label
:
'任务ID'
,
field
:
'taskId'
,
component
:
'Input'
,
},
{
label
:
'实例ID'
,
field
:
'procInsId'
,
component
:
'Input'
,
},
{
label
:
'执行ID'
,
field
:
'executionId'
,
component
:
'Input'
,
},
{
label
:
'流程定义ID'
,
field
:
'procDefId'
,
component
:
'Input'
,
},
{
label
:
'待办人'
,
field
:
'uid'
,
component
:
'Input'
,
},
{
label
:
'代办角色'
,
field
:
'roleid'
,
component
:
'Input'
,
},
{
label
:
'抄送人'
,
field
:
'ccid'
,
component
:
'Input'
,
},
{
label
:
'抄送角色'
,
field
:
'ccroleid'
,
component
:
'Input'
,
},
{
label
:
'节点ID'
,
field
:
'taskDefinitionKey'
,
component
:
'Input'
,
},
{
label
:
'节点名称'
,
field
:
'taskDefinitionName'
,
component
:
'Input'
,
},
{
label
:
'待办类型:2 抄送 3 转阅'
,
field
:
'uidType'
,
component
:
'Input'
,
},
{
label
:
'状态 0 未看 1 已看'
,
field
:
'status'
,
component
:
'Input'
,
},
{
label
:
'抄送操作时间'
,
field
:
'ccTime'
,
component
:
'DatePicker'
,
componentProps
:
{
showTime
:
true
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
{
label
:
'浏览操作时间'
,
field
:
'readTime'
,
component
:
'DatePicker'
,
componentProps
:
{
showTime
:
true
,
valueFormat
:
'YYYY-MM-DD HH:mm:ss'
},
},
// TODO 主键隐藏字段,目前写死为ID
{
label
:
''
,
field
:
'id'
,
component
:
'Input'
,
show
:
false
},
];
// 高级查询数据
export
const
superQuerySchema
=
{
/**
formTableName: {title: '表单的表名ID',order: 0,view: 'text', type: 'string',},
targetId: {title: '业务主表ID',order: 1,view: 'text', type: 'string',},
deployId: {title: '部署ID',order: 2,view: 'text', type: 'string',},
taskId: {title: '任务ID',order: 3,view: 'text', type: 'string',},
procInsId: {title: '实例ID',order: 4,view: 'text', type: 'string',},
executionId: {title: '执行ID',order: 5,view: 'text', type: 'string',},
procDefId: {title: '流程定义ID',order: 6,view: 'text', type: 'string',},
uid: {title: '待办人',order: 7,view: 'text', type: 'string',},
roleid: {title: '代办角色',order: 8,view: 'text', type: 'string',},
ccid: {title: '抄送人',order: 9,view: 'text', type: 'string',},
ccroleid: {title: '抄送角色',order: 10,view: 'text', type: 'string',},
taskDefinitionKey: {title: '节点ID',order: 11,view: 'text', type: 'string',},
*/
flowName
:
{
title
:
'流程名称'
,
order
:
10
,
view
:
'text'
,
type
:
'string'
,},
taskTitle
:
{
title
:
'标题'
,
order
:
11
,
view
:
'text'
,
type
:
'string'
,},
taskDefinitionName
:
{
title
:
'节点名称'
,
order
:
12
,
view
:
'text'
,
type
:
'string'
,},
uidType
:
{
title
:
'待办类型'
,
order
:
13
,
view
:
'text'
,
type
:
'string'
,},
status
:
{
title
:
'状态'
,
order
:
14
,
view
:
'text'
,
type
:
'string'
,},
ccTime
:
{
title
:
'发送时间'
,
order
:
15
,
view
:
'datetime'
,
type
:
'string'
,},
readTime
:
{
title
:
'浏览时间'
,
order
:
16
,
view
:
'datetime'
,
type
:
'string'
,},
};
/**
* 流程表单调用这个方法获取formSchema
* @param param
*/
export
function
getBpmFormSchema
(
_formData
):
FormSchema
[]{
// 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
return
formSchema
;
}
\ No newline at end of file
zrch-risk-client-39/src/views/mytaskflowcc/MyTaskFlowCcList.vue
0 → 100644
浏览文件 @
e2396e12
差异被折叠。
点击展开。
zrch-risk-client-39/src/views/mytaskflowcc/components/MyTaskFlowCcForm.vue
0 → 100644
浏览文件 @
e2396e12
<
template
>
<div
style=
"min-height: 400px"
>
<BasicForm
@
register=
"registerForm"
></BasicForm>
<div
style=
"width: 100%;text-align: center"
v-if=
"!formDisabled"
>
<a-button
@
click=
"submitForm"
pre-icon=
"ant-design:check"
type=
"primary"
>
提 交
</a-button>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
BasicForm
,
useForm
}
from
'/@/components/Form/index'
;
import
{
computed
,
defineComponent
}
from
'vue'
;
import
{
defHttp
}
from
'/@/utils/http/axios'
;
import
{
propTypes
}
from
'/@/utils/propTypes'
;
import
{
getBpmFormSchema
}
from
'../MyTaskFlowCc.data'
;
import
{
saveOrUpdate
}
from
'../MyTaskFlowCc.api'
;
export
default
defineComponent
({
name
:
"MyTaskFlowCcForm"
,
components
:{
BasicForm
},
props
:{
formData
:
propTypes
.
object
.
def
({}),
formBpm
:
propTypes
.
bool
.
def
(
true
),
},
setup
(
props
){
const
[
registerForm
,
{
setFieldsValue
,
setProps
,
getFieldsValue
}]
=
useForm
({
labelWidth
:
150
,
schemas
:
getBpmFormSchema
(
props
.
formData
),
showActionButtonGroup
:
false
,
baseColProps
:
{
span
:
24
}
});
const
formDisabled
=
computed
(()
=>
{
if
(
props
.
formData
.
disabled
===
false
){
return
false
;
}
return
true
;
});
let
formData
=
{};
const
queryByIdUrl
=
'/my/myTaskFlowCc/queryById'
;
async
function
initFormData
(){
let
params
=
{
id
:
props
.
formData
.
dataId
};
const
data
=
await
defHttp
.
get
({
url
:
queryByIdUrl
,
params
});
formData
=
{...
data
}
//设置表单的值
await
setFieldsValue
(
formData
);
//默认是禁用
await
setProps
({
disabled
:
formDisabled
.
value
})
}
async
function
submitForm
()
{
let
data
=
getFieldsValue
();
let
params
=
Object
.
assign
({},
formData
,
data
);
console
.
log
(
'表单数据'
,
params
)
await
saveOrUpdate
(
params
,
true
)
}
initFormData
();
return
{
registerForm
,
formDisabled
,
submitForm
,
}
}
});
</
script
>
\ No newline at end of file
zrch-risk-client-39/src/views/mytaskflowcc/components/MyTaskFlowCcModal.vue
0 → 100644
浏览文件 @
e2396e12
<
template
>
<BasicModal
v-bind=
"$attrs"
@
register=
"registerModal"
destroyOnClose
:title=
"title"
:maxHeight=
"500"
:width=
"800"
@
ok=
"handleSubmit"
>
<BasicForm
@
register=
"registerForm"
name=
"MyTaskFlowCcForm"
/>
</BasicModal>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
,
unref
,
reactive
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'/@/components/Modal'
;
import
{
BasicForm
,
useForm
}
from
'/@/components/Form/index'
;
import
{
formSchema
}
from
'../MyTaskFlowCc.data'
;
import
{
saveOrUpdate
}
from
'../MyTaskFlowCc.api'
;
import
{
useMessage
}
from
'/@/hooks/web/useMessage'
;
import
{
getDateByPicker
}
from
'/@/utils'
;
const
{
createMessage
}
=
useMessage
();
// Emits声明
const
emit
=
defineEmits
([
'register'
,
'success'
]);
const
isUpdate
=
ref
(
true
);
const
isDetail
=
ref
(
false
);
//表单配置
const
[
registerForm
,
{
setProps
,
resetFields
,
setFieldsValue
,
validate
,
scrollToField
}]
=
useForm
({
labelWidth
:
150
,
schemas
:
formSchema
,
showActionButtonGroup
:
false
,
baseColProps
:
{
span
:
24
},
baseRowStyle
:
{
padding
:
"0 20px"
}
});
//表单赋值
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
//重置表单
await
resetFields
();
setModalProps
({
confirmLoading
:
false
,
showCancelBtn
:
!!
data
?.
showFooter
,
showOkBtn
:
!!
data
?.
showFooter
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isDetail
.
value
=
!!
data
?.
showFooter
;
if
(
unref
(
isUpdate
))
{
//表单赋值
await
setFieldsValue
({
...
data
.
record
,
});
}
// 隐藏底部时禁用整个表单
setProps
({
disabled
:
!
data
?.
showFooter
})
});
//日期个性化选择
const
fieldPickers
=
reactive
({
});
//设置标题
const
title
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'新增'
:
!
unref
(
isDetail
)
?
'详情'
:
'编辑'
));
//表单提交事件
async
function
handleSubmit
(
v
)
{
try
{
let
values
=
await
validate
();
// 预处理日期数据
changeDateValue
(
values
);
setModalProps
({
confirmLoading
:
true
});
//提交表单
await
saveOrUpdate
(
values
,
isUpdate
.
value
);
//关闭弹窗
closeModal
();
//刷新列表
emit
(
'success'
);
}
catch
({
errorFields
})
{
if
(
errorFields
)
{
const
firstField
=
errorFields
[
0
];
if
(
firstField
)
{
scrollToField
(
firstField
.
name
,
{
behavior
:
'smooth'
,
block
:
'center'
});
}
}
return
Promise
.
reject
(
errorFields
);
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
/**
* 处理日期值
* @param formData 表单数据
*/
const
changeDateValue
=
(
formData
)
=>
{
if
(
formData
&&
fieldPickers
)
{
for
(
let
key
in
fieldPickers
)
{
if
(
formData
[
key
])
{
formData
[
key
]
=
getDateByPicker
(
formData
[
key
],
fieldPickers
[
key
]);
}
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/** 时间和数字输入框样式 */
:deep(.ant-input-number) {
width: 100%;
}
:deep(.ant-calendar-picker) {
width: 100%;
}
</
style
>
\ No newline at end of file
zrch-risk-client-39/src/views/project/plan/StPlanMan.data - 副本-1.ts
0 → 100644
浏览文件 @
e2396e12
差异被折叠。
点击展开。
zrch-risk-client-39/src/views/project/plan/StPlanMan.data.ts
浏览文件 @
e2396e12
...
...
@@ -113,6 +113,13 @@ export const columns: BasicColumn[] = [
return
render
.
renderDict
(
text
,
'bpm_status'
)
||
'-'
;
},
},
{
title
:
'当前节点'
,
align
:
'center'
,
dataIndex
:
'flowtaskName'
,
width
:
100
,
ellipsis
:
true
,
},
// 隐藏列,用于内部使用
{
title
:
''
,
...
...
zrch-risk-server-39/jeecg-module-system/jeecg-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/mapper/xml/SysDeployFormMapper.xml
浏览文件 @
e2396e12
...
...
@@ -17,8 +17,14 @@
<if
test=
"formTp != null and formTp != ''"
>
bpm_status=#{formTp},
</if>
<if
test=
"formRules != null and formRules != ''"
>
flowtask_name=#{formRules},
</if>
<if
test=
"formRules != null and formRules == ''"
>
flowtask_name=null,
</if>
<if
test=
"formTp != null and formTp == ''"
>
bpm_status=NULL,deploy_id=null
bpm_status=NULL,deploy_id=null
,flowtask_name=null
</if>
<if
test=
"formUrl != null and formUrl != ''"
>
deploy_id=#{formUrl}
...
...
zrch-risk-server-39/jeecg-module-system/jeecg-module-flowable/src/main/java/org/jeecg/modules/flowable/common/constant/ProcessConstants.java
浏览文件 @
e2396e12
...
...
@@ -114,6 +114,10 @@ public class ProcessConstants {
* 操作类型-驳回
*/
public
static
final
String
OPTION_TYPE_REJECT
=
"驳回"
;
/**
* 操作类型-抄送
*/
public
static
final
String
OPTION_TYPE_CC
=
"抄送"
;
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-flowable/src/main/java/org/jeecg/modules/flowable/service/IFlowTaskService.java
浏览文件 @
e2396e12
...
...
@@ -181,7 +181,7 @@ public interface IFlowTaskService {
public
Result
<
List
<
String
>>
todoListAll
();
public
void
saveMyTaskFlow
(
String
thistaskId
,
Task
nextTask
,
String
userType
,
String
approvalId
,
String
messageTaskName
);
public
void
saveMyTaskFlowHis
(
Task
task
,
String
userType
,
String
approvalId
,
Date
cdate
,
String
loginUserid
,
String
taskType
,
String
OptionType
);
public
void
saveMyTaskFlow
(
String
thistaskId
,
Task
nextTask
,
String
userType
,
String
approvalId
,
String
messageTaskName
,
String
copyUser
);
public
void
saveMyTaskFlowHis
(
Task
task
,
String
userType
,
String
approvalId
,
Date
cdate
,
String
loginUserid
,
String
taskType
,
String
OptionType
,
String
copyUser
,
String
copyType
);
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowDefinitionServiceImpl.java
浏览文件 @
e2396e12
...
...
@@ -394,6 +394,7 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
// 流程发起时 跳过发起人节点
ProcessInstance
processInstance
=
runtimeService
.
startProcessInstanceById
(
procDefId
,
variables
);
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstance
.
getProcessInstanceId
()).
active
().
singleResult
();
taskService
.
setAssignee
(
task
.
getId
(),
sysUser
.
getId
());
String
OptionType
=
""
;
Boolean
isnodeisApprove
=
false
;
FlowNextDto
flowtDto
=
flowTaskService
.
getFlowNodeType
(
task
.
getId
());
...
...
@@ -465,6 +466,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
flowFormben
.
setFormContent
(
formContent
);
flowFormben
.
setFormTp
(
"2"
);
flowFormben
.
setFormUrl
(
DeployId
);
flowFormben
.
setFormRules
(
task
.
getName
());
//formRules 传递节点名
sysDeployFormService
.
updateBisTabBpmStatus
(
flowFormben
);
...
...
@@ -473,7 +476,8 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
String
userType
=
"user"
;
String
approvalId
=
sysUser
.
getId
();
flowTaskService
.
saveMyTaskFlowHis
(
task
,
userType
,
approvalId
,
cdate
,
sysUser
.
getId
(),
ProcessConstants
.
TASK_TYPE_START
,
OptionType
);
flowTaskService
.
saveMyTaskFlow
(
task
.
getId
(),
task
,
userType
,
approvalId
,
task
.
getName
(),
null
);
flowTaskService
.
saveMyTaskFlowHis
(
task
,
userType
,
approvalId
,
cdate
,
sysUser
.
getId
(),
ProcessConstants
.
TASK_TYPE_START
,
OptionType
,
null
,
null
);
/**
MyTaskFlowHis taskFlowHis=new MyTaskFlowHis();
...
...
zrch-risk-server-39/jeecg-module-system/jeecg-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java
浏览文件 @
e2396e12
差异被折叠。
点击展开。
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/my/controller/MyTaskFlowCcController.java
0 → 100644
浏览文件 @
e2396e12
package
org
.
jeecg
.
modules
.
stm
.
my
.
controller
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.io.IOException
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URLDecoder
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletResponse
;
import
org.jeecg.common.api.vo.Result
;
import
org.jeecg.common.system.query.QueryGenerator
;
import
org.jeecg.common.system.query.QueryRuleEnum
;
import
org.jeecg.common.util.oConvertUtils
;
import
org.jeecg.modules.stm.my.entity.MyTaskFlowCc
;
import
org.jeecg.modules.stm.my.service.IMyTaskFlowCcService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecgframework.poi.excel.ExcelImportUtil
;
import
org.jeecgframework.poi.excel.def.NormalExcelConstants
;
import
org.jeecgframework.poi.excel.entity.ExportParams
;
import
org.jeecgframework.poi.excel.entity.ImportParams
;
import
org.jeecgframework.poi.excel.view.JeecgEntityExcelView
;
import
org.jeecg.common.system.base.controller.JeecgController
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartHttpServletRequest
;
import
org.springframework.web.servlet.ModelAndView
;
import
com.alibaba.fastjson.JSON
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
io.swagger.v3.oas.annotations.Operation
;
import
org.jeecg.common.aspect.annotation.AutoLog
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
/**
* @Description: my_task_flow_cc
* @Author: jeecg-boot
* @Date: 2026-04-21
* @Version: V1.0
*/
@Tag
(
name
=
"my_task_flow_cc"
)
@RestController
@RequestMapping
(
"/my/myTaskFlowCc"
)
@Slf4j
public
class
MyTaskFlowCcController
extends
JeecgController
<
MyTaskFlowCc
,
IMyTaskFlowCcService
>
{
@Autowired
private
IMyTaskFlowCcService
myTaskFlowCcService
;
/**
* 分页列表查询
*
* @param myTaskFlowCc
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "my_task_flow_cc-分页列表查询")
@Operation
(
summary
=
"my_task_flow_cc-分页列表查询"
)
@GetMapping
(
value
=
"/list"
)
public
Result
<
IPage
<
MyTaskFlowCc
>>
queryPageList
(
MyTaskFlowCc
myTaskFlowCc
,
@RequestParam
(
name
=
"pageNo"
,
defaultValue
=
"1"
)
Integer
pageNo
,
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
,
HttpServletRequest
req
)
{
QueryWrapper
<
MyTaskFlowCc
>
queryWrapper
=
QueryGenerator
.
initQueryWrapper
(
myTaskFlowCc
,
req
.
getParameterMap
());
Page
<
MyTaskFlowCc
>
page
=
new
Page
<
MyTaskFlowCc
>(
pageNo
,
pageSize
);
IPage
<
MyTaskFlowCc
>
pageList
=
myTaskFlowCcService
.
page
(
page
,
queryWrapper
);
return
Result
.
OK
(
pageList
);
}
/**
* 添加
*
* @param myTaskFlowCc
* @return
*/
@AutoLog
(
value
=
"my_task_flow_cc-添加"
)
@Operation
(
summary
=
"my_task_flow_cc-添加"
)
@RequiresPermissions
(
"my:my_task_flow_cc:add"
)
@PostMapping
(
value
=
"/add"
)
public
Result
<
String
>
add
(
@RequestBody
MyTaskFlowCc
myTaskFlowCc
)
{
myTaskFlowCcService
.
save
(
myTaskFlowCc
);
return
Result
.
OK
(
"添加成功!"
);
}
/**
* 编辑
*
* @param myTaskFlowCc
* @return
*/
@AutoLog
(
value
=
"my_task_flow_cc-编辑"
)
@Operation
(
summary
=
"my_task_flow_cc-编辑"
)
@RequiresPermissions
(
"my:my_task_flow_cc:edit"
)
@RequestMapping
(
value
=
"/edit"
,
method
=
{
RequestMethod
.
PUT
,
RequestMethod
.
POST
})
public
Result
<
String
>
edit
(
@RequestBody
MyTaskFlowCc
myTaskFlowCc
)
{
myTaskFlowCcService
.
updateById
(
myTaskFlowCc
);
return
Result
.
OK
(
"编辑成功!"
);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog
(
value
=
"my_task_flow_cc-通过id删除"
)
@Operation
(
summary
=
"my_task_flow_cc-通过id删除"
)
@RequiresPermissions
(
"my:my_task_flow_cc:delete"
)
@DeleteMapping
(
value
=
"/delete"
)
public
Result
<
String
>
delete
(
@RequestParam
(
name
=
"id"
,
required
=
true
)
String
id
)
{
myTaskFlowCcService
.
removeById
(
id
);
return
Result
.
OK
(
"删除成功!"
);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog
(
value
=
"my_task_flow_cc-批量删除"
)
@Operation
(
summary
=
"my_task_flow_cc-批量删除"
)
@RequiresPermissions
(
"my:my_task_flow_cc:deleteBatch"
)
@DeleteMapping
(
value
=
"/deleteBatch"
)
public
Result
<
String
>
deleteBatch
(
@RequestParam
(
name
=
"ids"
,
required
=
true
)
String
ids
)
{
this
.
myTaskFlowCcService
.
removeByIds
(
Arrays
.
asList
(
ids
.
split
(
","
)));
return
Result
.
OK
(
"批量删除成功!"
);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "my_task_flow_cc-通过id查询")
@Operation
(
summary
=
"my_task_flow_cc-通过id查询"
)
@GetMapping
(
value
=
"/queryById"
)
public
Result
<
MyTaskFlowCc
>
queryById
(
@RequestParam
(
name
=
"id"
,
required
=
true
)
String
id
)
{
MyTaskFlowCc
myTaskFlowCc
=
myTaskFlowCcService
.
getById
(
id
);
if
(
myTaskFlowCc
==
null
)
{
return
Result
.
error
(
"未找到对应数据"
);
}
return
Result
.
OK
(
myTaskFlowCc
);
}
/**
* 导出excel
*
* @param request
* @param myTaskFlowCc
*/
@RequiresPermissions
(
"my:my_task_flow_cc:exportXls"
)
@RequestMapping
(
value
=
"/exportXls"
)
public
ModelAndView
exportXls
(
HttpServletRequest
request
,
MyTaskFlowCc
myTaskFlowCc
)
{
return
super
.
exportXls
(
request
,
myTaskFlowCc
,
MyTaskFlowCc
.
class
,
"my_task_flow_cc"
);
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions
(
"my:my_task_flow_cc:importExcel"
)
@RequestMapping
(
value
=
"/importExcel"
,
method
=
RequestMethod
.
POST
)
public
Result
<?>
importExcel
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
return
super
.
importExcel
(
request
,
response
,
MyTaskFlowCc
.
class
);
}
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/my/entity/MyTaskFlowCc.java
0 → 100644
浏览文件 @
e2396e12
package
org
.
jeecg
.
modules
.
stm
.
my
.
entity
;
import
java.io.Serializable
;
import
java.io.UnsupportedEncodingException
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
org.jeecg.common.constant.ProvinceCityArea
;
import
org.jeecg.common.util.SpringContextUtils
;
import
lombok.Data
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.jeecgframework.poi.excel.annotation.Excel
;
import
org.jeecg.common.aspect.annotation.Dict
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* @Description: my_task_flow_cc
* @Author: jeecg-boot
* @Date: 2026-04-21
* @Version: V1.0
*/
@Data
@TableName
(
"my_task_flow_cc"
)
@Accessors
(
chain
=
true
)
@EqualsAndHashCode
(
callSuper
=
false
)
@Schema
(
description
=
"my_task_flow_cc"
)
public
class
MyTaskFlowCc
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**id*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@Schema
(
description
=
"id"
)
private
java
.
lang
.
Integer
id
;
/**表单的表名ID*/
@Excel
(
name
=
"表单的表名ID"
,
width
=
15
)
@Schema
(
description
=
"表单的表名ID"
)
private
java
.
lang
.
String
formTableName
;
/**业务主表ID*/
@Excel
(
name
=
"业务主表ID"
,
width
=
15
)
@Schema
(
description
=
"业务主表ID"
)
private
java
.
lang
.
String
targetId
;
/**部署ID*/
@Excel
(
name
=
"部署ID"
,
width
=
15
)
@Schema
(
description
=
"部署ID"
)
private
java
.
lang
.
String
deployId
;
/**任务ID*/
@Excel
(
name
=
"任务ID"
,
width
=
15
)
@Schema
(
description
=
"任务ID"
)
private
java
.
lang
.
String
taskId
;
/**实例ID*/
@Excel
(
name
=
"实例ID"
,
width
=
15
)
@Schema
(
description
=
"实例ID"
)
private
java
.
lang
.
String
procInsId
;
/**执行ID*/
@Excel
(
name
=
"执行ID"
,
width
=
15
)
@Schema
(
description
=
"执行ID"
)
private
java
.
lang
.
String
executionId
;
/**流程定义ID*/
@Excel
(
name
=
"流程定义ID"
,
width
=
15
)
@Schema
(
description
=
"流程定义ID"
)
private
java
.
lang
.
String
procDefId
;
/**待办人*/
@Excel
(
name
=
"待办人"
,
width
=
15
)
@Dict
(
dictTable
=
"sys_user"
,
dicText
=
"realname"
,
dicCode
=
"id"
)
@Schema
(
description
=
"待办人"
)
private
java
.
lang
.
String
uid
;
/**代办角色*/
@Excel
(
name
=
"代办角色"
,
width
=
15
)
@Schema
(
description
=
"代办角色"
)
private
java
.
lang
.
String
roleid
;
/**抄送人*/
@Excel
(
name
=
"抄送人"
,
width
=
15
)
@Schema
(
description
=
"抄送人"
)
private
java
.
lang
.
String
ccid
;
/**抄送角色*/
@Excel
(
name
=
"抄送角色"
,
width
=
15
)
@Schema
(
description
=
"抄送角色"
)
private
java
.
lang
.
String
ccroleid
;
/**节点ID*/
@Excel
(
name
=
"节点ID"
,
width
=
15
)
@Schema
(
description
=
"节点ID"
)
private
java
.
lang
.
String
taskDefinitionKey
;
/**节点名称*/
@Excel
(
name
=
"节点名称"
,
width
=
15
)
@Schema
(
description
=
"节点名称"
)
private
java
.
lang
.
String
taskDefinitionName
;
/**待办类型:2 抄送 3 转阅*/
@Excel
(
name
=
"待办类型:2 抄送 3 转阅"
,
width
=
15
)
@Schema
(
description
=
"待办类型:2 抄送 3 转阅"
)
private
java
.
lang
.
String
uidType
;
/**状态 0 未看 1 已看*/
@Excel
(
name
=
"状态 0 未看 1 已看"
,
width
=
15
)
@Schema
(
description
=
"状态 0 未看 1 已看"
)
private
java
.
lang
.
String
status
;
/**抄送操作时间*/
@Excel
(
name
=
"抄送操作时间"
,
width
=
20
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"抄送操作时间"
)
private
java
.
util
.
Date
ccTime
;
/**浏览操作时间*/
@Excel
(
name
=
"浏览操作时间"
,
width
=
20
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
timezone
=
"GMT+8"
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"浏览操作时间"
)
private
java
.
util
.
Date
readTime
;
/**标题*/
@Excel
(
name
=
"标题"
,
width
=
15
)
@Schema
(
description
=
"标题"
)
private
java
.
lang
.
String
taskTitle
;
/**流程名称*/
@Excel
(
name
=
"流程名称"
,
width
=
15
)
@Schema
(
description
=
"流程名称"
)
private
java
.
lang
.
String
flowName
;
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/my/mapper/MyTaskFlowCcMapper.java
0 → 100644
浏览文件 @
e2396e12
package
org
.
jeecg
.
modules
.
stm
.
my
.
mapper
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
import
org.jeecg.modules.stm.my.entity.MyTaskFlowCc
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* @Description: my_task_flow_cc
* @Author: jeecg-boot
* @Date: 2026-04-21
* @Version: V1.0
*/
public
interface
MyTaskFlowCcMapper
extends
BaseMapper
<
MyTaskFlowCc
>
{
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/my/service/IMyTaskFlowCcService.java
0 → 100644
浏览文件 @
e2396e12
package
org
.
jeecg
.
modules
.
stm
.
my
.
service
;
import
org.jeecg.modules.stm.my.entity.MyTaskFlowCc
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* @Description: my_task_flow_cc
* @Author: jeecg-boot
* @Date: 2026-04-21
* @Version: V1.0
*/
public
interface
IMyTaskFlowCcService
extends
IService
<
MyTaskFlowCc
>
{
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/my/service/impl/MyTaskFlowCcServiceImpl.java
0 → 100644
浏览文件 @
e2396e12
package
org
.
jeecg
.
modules
.
stm
.
my
.
service
.
impl
;
import
org.jeecg.modules.stm.my.entity.MyTaskFlowCc
;
import
org.jeecg.modules.stm.my.mapper.MyTaskFlowCcMapper
;
import
org.jeecg.modules.stm.my.service.IMyTaskFlowCcService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
/**
* @Description: my_task_flow_cc
* @Author: jeecg-boot
* @Date: 2026-04-21
* @Version: V1.0
*/
@Service
public
class
MyTaskFlowCcServiceImpl
extends
ServiceImpl
<
MyTaskFlowCcMapper
,
MyTaskFlowCc
>
implements
IMyTaskFlowCcService
{
}
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/plan/main/entity/StPlanMan.java
浏览文件 @
e2396e12
...
...
@@ -178,6 +178,9 @@ public class StPlanMan implements Serializable {
@Excel
(
name
=
"执行附件"
,
width
=
15
)
private
java
.
lang
.
String
attachments
;
/**当前节点*/
private
java
.
lang
.
String
flowtaskName
;
...
...
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/resources/mapping/my/MyTaskFlowCcMapper.xml
0 → 100644
浏览文件 @
e2396e12
<?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=
"org.jeecg.modules.stm.my.mapper.MyTaskFlowCcMapper"
>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论