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