督办管理
2022-10-08 10:37:56 0 举报
AI智能生成
督办逻辑图
作者其他创作
大纲/内容
表项
督办立项表
G_DB
G_DB
ID 主键
MASTERID 立项ID
BATCH_SOURCE_ID 批量立项ID
督办通知表
G_DB
G_DB
ID 主键
MASTERID 立项ID
FID
主办时为立项ID
协办时为主办通知ID
CONVERT_SOURCE_ID
普通立项时为立项ID
子任务立项时为子任务ID
督办子任务表
G_DB
G_DB
ID 主键
RELATIONID 立项ID
MASTERID 立项ID
督办办结表
G_DB
G_DB
FID 立项ID
督办批量立项表
G_DB_BATCH
G_DB_BATCH
ID 主键
生成通知任务
/superviseV6/approval/add
逻辑
根据IS_SPLIT判断是否已经拆分,是执行步骤2,否则执行步骤5;
根据ALLOCATION_SCHEME判断,
是NULL则为立项流程办结,执行步骤3,否则为通知流程办结,执行步骤4;
是NULL则为立项流程办结,执行步骤3,否则为通知流程办结,执行步骤4;
比较督办通知类型INFORM_TYPE,为0(目前只有这种情况),
使用督办转通知类型转换,设置为标准拆分,执行步骤5;
使用督办转通知类型转换,设置为标准拆分,执行步骤5;
比较ALLOCATION_SCHEME
1(接收),无需处理
2(转主办部门处理),立项转通知,重新设置督办责任人,承办人电话
3(任务下发),立项转通知,标准拆分
4(任务分解),立项转通知,子项目拆分
5(部门内多人处理),通知转通知
6(部门内处理),通知转通知
任务拆分
send
send
获取转换规则
根据拆分规则获取督办数据
标准拆分
select * from g_db where ID = '主键';
子项目拆分
select * from g_db where RELATIONID = '主键';
根据承办方式分别处理
按单位承办
splitByDept
splitByDept
1、遍历督办数据
2、根据','拆分主办单位
3、转换前获取转换时公式需要的数据
beforeConvert->expressionExpand->getConvertDic
beforeConvert->expressionExpand->getConvertDic
根据单位查询首个督办专员角色作为督办责任人
该单位作为督办责任单位信息
立项信息中主办、协办单位作为通知中承办单位
4、类型转换,获取通知主键
doRcvModuleConvert
doRcvModuleConvert
5、如果是子任务分解,设置通知的FID=立项ID,并生成反馈周期
6、如果主办单位只有一个并且有协办单位则进行次级拆分,过程同一级拆分
按人承办
splitByPerson
splitByPerson
主流程与按单位拆分一致,区别是类型转换前准备数据
beforeConvertPerson->expressionExpandPerson->getConvertDicByPerson
beforeConvertPerson->expressionExpandPerson->getConvertDicByPerson
承办人作为督办责任人
承办人所在单位作为承办单位
退回处理
更新督办红绿灯状态
renderTrafficLight
renderTrafficLight
详情见下面单独模块
生成首个反馈周期
一次性任务
generateIrregularPeriodical
generateIrregularPeriodical
周期性任务
generateFirstPeriodical
generateFirstPeriodical
刷新督办立项红绿灯状态
refreshApprovalTrafficLight
refreshApprovalTrafficLight
反馈周期
首次生成反馈周期
定时任务生成反馈周期
督办红绿灯
定时任务
督办计划任务
superviseV6TaskIntervalJob
superviseV6TaskIntervalJob
1、查询需执行的计划任务
getSuperviseV6Tasks
getSuperviseV6Tasks
设置当前时间为当天00:00:00
SELECT
G_SCHEDULED_TASK.*,
G_DB.START_DATE AS DB_START_DATE,
G_DB.BLQX,
G_DB.SPZT
FROM
G_SCHEDULED_TASK
INNER JOIN G_DB ON G_SCHEDULED_TASK.RELATIONID = G_DB.ID
WHERE
G_SCHEDULED_TASK.ROWSTATE = 1
AND (date_format( G_SCHEDULED_TASK.START_DATE, '%Y-%m-%d' ) <= now OR G_SCHEDULED_TASK.CUSTOM_TYPE = 1)
AND now <= date_format( G_DB.BLQX, '%Y-%m-%d' )
AND G_DB.SPZT IN (2,4)
AND G_DB.ROWSTATE = 1
AND G_DB.FEEDBACK_SYSTEM = 2
(计划任务开始时间 <= 当前日期 或者 类型为自定义) AND
当前日期 <= 办结日期 AND
审批状态是接收或者执行中
类型为周期性反馈的督办立项
G_SCHEDULED_TASK.*,
G_DB.START_DATE AS DB_START_DATE,
G_DB.BLQX,
G_DB.SPZT
FROM
G_SCHEDULED_TASK
INNER JOIN G_DB ON G_SCHEDULED_TASK.RELATIONID = G_DB.ID
WHERE
G_SCHEDULED_TASK.ROWSTATE = 1
AND (date_format( G_SCHEDULED_TASK.START_DATE, '%Y-%m-%d' ) <= now OR G_SCHEDULED_TASK.CUSTOM_TYPE = 1)
AND now <= date_format( G_DB.BLQX, '%Y-%m-%d' )
AND G_DB.SPZT IN (2,4)
AND G_DB.ROWSTATE = 1
AND G_DB.FEEDBACK_SYSTEM = 2
(计划任务开始时间 <= 当前日期 或者 类型为自定义) AND
当前日期 <= 办结日期 AND
审批状态是接收或者执行中
类型为周期性反馈的督办立项
子主题
2、生成反馈周期
excuteAndGenratePeriodical
excuteAndGenratePeriodical
3、按提醒方式进行提醒
督办任务状态刷新
superviseV6ApprovalEntityJob
superviseV6ApprovalEntityJob
1、查询已开始的督办任务
2、设置督办状态为执行中
督办立项
督办立项表单
210603150328F0MZfmD9XRPUpOizTBE.js
210603150328F0MZfmD9XRPUpOizTBE.js
formReady()
是否为新建表单
DSF.getURLParam("newFileFlag")
是否等于“1”
是
保存源督办ID(MASTERID,C-DB-0086)
保存批量立项源ID(BATCH_SOURCE_ID,C-DB-0125)
保存承办方式(CBFS,C-DB-0127)
否
替换计划任务,显示任务文本
/superviseV6/approvalTask/hasTasks(relationId:立项ID)
督办责任人C-DB-0016作为立项人C-DB-0094
责任人电话C-DB-0022作为立项人电话C-DB-0126
用户选择控件是否显示名片逻辑
DSF.getURLParam("cardShow")
根据承办方式显示承办信息
DSF.getElementValueByKey('C-DB-0127')
等于2,按人;否则,按单位
按人承办
选择承办人 subSelectUser
保存承办人 addSubData
主办人数量不能 > 2
协办人数量不能 > 2
主办人数量 = 2时,不能有协办人
按单位承办
DSF.Control.User.Extend
C-DB-0001,C-DB-0002
afterOnNodeClick
选择单位判断是否设置督办专员
选择单位判断是否设置督办专员
/superviseV6/approval/hasRolePersonByDept(deptId:部门ID,deptName:部门名称)
主办单位数量 >= 2时,不能有协办单位
反馈方式单选框点击事件监听
feedbackRadioName
立项人电话查询
getResponsibleMobile
/superviseV6/approval/getResponsibleMobile(userId:立项人ID)
督办批示显示及替换逻辑
/superviseV6/approvalDbps/getDbpsByRelationId(relationId:立项ID)
beforeSaveForm
按人承办时,统计承办人的单位,保存为主办单位及协办单位
督办项目台账列表
210623094309Iifblqtppj6zC9Zl6iw.js
210623094309Iifblqtppj6zC9Zl6iw.js
数据扩展
{
"whereA":true,
"sql":" AND ( MODULE_ID not in ('210608170514WIMJTtfk1KkrJz8YF3P') ) and ((FID='[fid]') or ('[fid]' ='' AND DBZRR='[user.id]') or (length('[fid]') is null AND DBZRR='[user.id]') ) AND RELATIONID IS NULL"
}
"whereA":true,
"sql":" AND ( MODULE_ID not in ('210608170514WIMJTtfk1KkrJz8YF3P') ) and ((FID='[fid]') or ('[fid]' ='' AND DBZRR='[user.id]') or (length('[fid]') is null AND DBZRR='[user.id]') ) AND RELATIONID IS NULL"
}
层级列表关联元数据
A0031,A0001
FID,ID
FID,ID
配置列SUB_COUNT
督办红绿灯C-DB-0089
配置显示内容
{{statusLamp(d)}}
{{statusLamp(d)}}
java
办结生成通知任务
/superviseV6/approval/add(infoId:立项ID,userId:用户ID)
分配方式,ALLOCATION_SCHEME
判断是否为NULL
判断是否为NULL
是(立项流程办结)
立项转通知
标准拆分
标准拆分
否(通知流程办结)
督办专员接收
无需特殊处理
转主办部门处理
修改督办责任人
修改承办人电话
修改承办人电话
任务下发
表单保存时已保存新的承办单位
立项转通知
标准拆分
标准拆分
任务分解
表单保存时已保存关联的子任务
立项转通知
子任务拆分
子任务拆分
转部门内多人处理
转部门内处理
生成通知(任务拆分)
send(String moduleId, String pk, IContextDictionary dict)
按单位承办
splitByDept
splitByDept
类型转换中一些公式用到的数据
getConvertDic
getConvertDic
按人承办
splitByPerson
splitByPerson
类型转换中一些公式用到的数据
getConvertDicByPerson
getConvertDicByPerson
更新通知红绿灯状态
renderTrafficLight(SuperviseV6ApprovalEntity noticeEntity, SuperviseFeedbackEntity feedbackEntity)
生成首次反馈周期
一次性反馈
generateIrregularPeriodical(SuperviseV6ApprovalEntity superviseV6ApprovalEntity)
周期性反馈
generateFirstPeriodical(String infoId, Date blqx)
督办通知
督办通知表单
2107231646292VMUt2uJmrshAtlrDln.js
2107231646292VMUt2uJmrshAtlrDln.js
formReady()
反馈按钮显示控制
督办状态不是接收或者执行中,不能反馈
"2"!=status&&"4"!=status
"2"!=status&&"4"!=status
主项目或者不是督办责任人不是当前登录用户,不能反馈
id == masterId || dbzrr!=userId
id == masterId || dbzrr!=userId
计划任务显示控制
C-DB-0078
基础信息中计划任务
基础信息中计划任务
C-DB-0082
接收办理中计划任务
接收办理中计划任务
添加点击监听事件
控制计划任务的显隐
控制计划任务的显隐
承办人电话获取
getResponsibleMobile
/superviseV6/approval/getResponsibleMobile(userId:用户ID)
立项人信息获取
getLxrMobile
/superviseV6/approval/info/by/noticeId(pk:通知ID)
计划任务标题显示
基础信息中计划任务标题显示
$("[onclick='showDbrwPlan()']")
/superviseV6/approvalTask/getTaskByLeafRelationId(infoId:通知ID)
接收办理中计划任务标题显示
$("[onclick='showPlan()']")
/superviseV6/approvalTask/hasTasks(relationId:通知ID)
接收方式是任务分解时
showSubData()
子表序号显示
子表添加行编辑按钮
绑定添加子任务方法
addSubTask
转部门内处理节点时
接收方式只显示 ‘接收确认’
承办方式控制承办单位及承办人的显隐
afterSubFormItemDelete
子任务子表删除回调,修正子表顺序
beforeSaveForm
转其它部门办理时,校验主办部门是否存在
任务下发时,校验主办单位是否存在
reloadScheduledTask
接收办理中计划任务回调,显示任务标题
changeTransferSelect
点击表单内修改部门内办理人员时调用
/superviseV6/approval/changeTransfer(sourceId:通知ID)
feedback
点击表单内反馈按钮时调用
java
办结生成通知任务
通督办立项调用方法一致
/superviseV6/approval/add(infoId:立项ID,userId:用户ID)
/superviseV6/approval/add(infoId:立项ID,userId:用户ID)
督办通知任务流程自定义接收人
RushTodoCustomFlow
getReceiverBeanList
getReceiverBeanList
按人承办
承办人即为接收人
按部门承办
承办单位的督办专员为接收人
计划任务
计划任务表单
210604145229z7HdqbJ1ibz4ITDUtU9.js
210604145229z7HdqbJ1ibz4ITDUtU9.js
java
督办反馈
督办反馈表单
210608143330kdKG9fuAjqp1XAPJpWs.js
210608143330kdKG9fuAjqp1XAPJpWs.js
formReady()
获取通知信息
/superviseV6/approval/getSuperviseInfo(pk:通知ID)
是一次性反馈
1 == feedbackSystem
1 == feedbackSystem
隐藏反馈期数行
隐藏历史反馈情况子表
非任务下发或任务分解
var allocations = [3, 4];
allocations.indexOf(allocationScheme) === -1
var allocations = [3, 4];
allocations.indexOf(allocationScheme) === -1
去除“复制反馈情况”按钮
获取当前期数
/superviseV6/approval/curFeedbackSize(infoId:通知ID)
设置当前期数,保存元数据
期数 <= 1,隐藏历史反馈情况子表
新表单,关联文件逻辑
查询督办反馈延期领导审批情况
/superviseV6/approval/feedbackDeferApproval(infoId:反馈ID)
相关按钮显隐控制
督办批示显示逻辑
领导审核、上级审核节点显示,其它节点隐藏
/superviseV6/approvalDbps/getDbpsByRelationId(relationId:主键)
显示批示信息
显示批示信息
beforeSaveForm
保存元数据,是否为部门内反馈
C-DB-FK-0051
C-DB-FK-0051
custom1
点击复制反馈按钮执行
java
反馈办结执行
/superviseV6/approval/feedback(infoId:主键,userId:发送人ID)
项目办结
督办办结表单
210608170514YEjibvi75QuVtR0mvyS.js
210608170514YEjibvi75QuVtR0mvyS.js
formReady()
文件关联逻辑
java
办结流程完成后执行
/superviseV6/approval/end(infoId:主键,userId:发送人ID)
督办催办
督办催办表单
210609105741L1xWc9MU4EPIGGCgvxG.js
210609105741L1xWc9MU4EPIGGCgvxG.js
formReady()
文件关联逻辑
新建表单且存在指定通知ID
/superviseV6/approval/getDbzzrById(ids:通知ID)
获取催办责任人
获取催办责任人
java
催办办结后执行
/superviseV6/approval/urge(infoId:主键,userId:发送人ID)
项目延期
督办延期表单
210609135608HaZtWXdoIJAGg35HlrV.js
210609135608HaZtWXdoIJAGg35HlrV.js
formReady()
文件关联逻辑
java
延期流程办结后执行
/superviseV6/approval/defer(infoId:对象ID,userId:发送人ID)
督办评价
督办评价表单
210621110004d4V7Ug0jkdfSGxYiXiB.js
210621110004d4V7Ug0jkdfSGxYiXiB.js
formReady()
新建表单或无子表内容时填充子表
addSubBody
addSubBody
/superviseV6/approval/getEvaluateResponsibleUnit(sourcePk:立项ID)
项目变更
变更办结后执行
/superviseV6/approval/changeSuperviseV6Approval(infoId:主键,userId:发送人ID)
汇总反馈
0 条评论
下一页