2.x作业票上报部署流程
一、上报前提
- 本文档用于说明山东-安工院平台上报真实的作业票(上报的票证表单是一个模板,具体实施前可与产研确认下)的流程部署方案,支持作业票1.0流程和作业票2.0流程;
- 部署实施前需要与客户确认是否采用此流程方式上报,因为此流程将会把实际开票数据进行上报。
- 本上报方案需V1.2版本以上的DIP平台
- 启用此流程后,请停用原来的全功能票上报
- 使用此方案,需要填写维护下企业实际票中的字段名称(见4.3)
二. 数据库导入
1.连接企业数据库,新建查询窗口,选择tiji_dip_mid库将sql脚本复制粘贴进去,点击运行,出现OK代表运行成功
CREATE TABLE IF NOT EXISTS tiji_dip_mid.`dip_token_cache` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`token` varchar(512) DEFAULT NULL,`type` varchar(255) DEFAULT NULL,`time` datetime DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE TABLE IF NOT EXISTS tiji_dip_mid.`sync_workticket_mapping` (`ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`ticket_version` tinyint(2) NOT NULL COMMENT '作业票版本',`ticket_type` varchar(128) NOT NULL COMMENT '作业类型',`ticket_name` varchar(128) NOT NULL COMMENT '作业票流程名称',`ticket_level` varchar(128) DEFAULT NULL COMMENT '作业等级',`level_mapping` varchar(128) DEFAULT NULL COMMENT '等级映射',`start_time` varchar(128) NOT NULL COMMENT '作业开始时间',`end_time` varchar(128) NOT NULL COMMENT '作业结束时间',`ticket_position` varchar(128) NOT NULL COMMENT '作业地点',`ticket_content` varchar(128) NOT NULL COMMENT '作业内容',`location_point` varchar(128) NOT NULL COMMENT '作业地点经纬度',`major_person` varchar(128) NOT NULL COMMENT '负责人姓名',`supervisor_name` varchar(128) NOT NULL COMMENT '监护人员姓名',`worker_name` varchar(128) NOT NULL COMMENT '施工人员姓名',`workDept_name` varchar(128) NOT NULL COMMENT '施工单位名称',`file` varchar(128) DEFAULT NULL COMMENT '附件',`is_push` varchar(50) DEFAULT NULL COMMENT '是否推送',PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=138 DEFAULT CHARSET=utf8 COMMENT='作业票映射';CREATE TABLE IF NOT EXISTS tiji_dip_mid.`sync_workticket_ticket` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`batch_uuid` varchar(36) DEFAULT NULL COMMENT '批次uuid',`uuid` varchar(36) NOT NULL COMMENT '作业票uuid',`ticket_type` varchar(50) DEFAULT NULL COMMENT '作业类型',`ticket_name` varchar(50) DEFAULT NULL COMMENT '作业票流程名称',`ticket_version` tinyint(2) NOT NULL COMMENT '作业票版本 1:1.0,2:2.0',`ticket_procinstance_id` varchar(50) DEFAULT NULL COMMENT '作业票流程实例id',`ticket_create_time` datetime DEFAULT NULL COMMENT '原始作业票创建时间',`ticket_level` varchar(10) DEFAULT NULL COMMENT '作业等级',`start_time` datetime DEFAULT NULL COMMENT '作业开始时间',`end_time` datetime DEFAULT NULL COMMENT '作业结束时间',`ticket_position` varchar(255) DEFAULT NULL COMMENT '作业地点',`ticket_content` varchar(255) DEFAULT NULL COMMENT '作业内容',`harm_type` varchar(10) DEFAULT NULL COMMENT '危害识别',`lng` varchar(20) DEFAULT NULL COMMENT '作业地点经度',`lat` varchar(20) DEFAULT NULL COMMENT '作业地点纬度',`company_social_code` varchar(100) DEFAULT NULL COMMENT '统一信用编码',`major_person` varchar(50) DEFAULT NULL COMMENT '负责人姓名',`major_person_mobile` varchar(50) DEFAULT NULL COMMENT '负责人联系方式手机号',`supervisor` varchar(50) DEFAULT NULL COMMENT '监护人卡号',`supervisor_name` varchar(255) DEFAULT NULL COMMENT '监护人员姓名',`worker` varchar(50) DEFAULT NULL COMMENT '施工人员卡号',`worker_name` varchar(255) DEFAULT NULL COMMENT '施工人员姓名',`workDept` varchar(50) DEFAULT NULL COMMENT '施工单位ID',`workDept_name` varchar(50) DEFAULT NULL COMMENT '施工单位名称',`file` varchar(100) DEFAULT NULL COMMENT '附件',`safe_measure` varchar(20) DEFAULT NULL COMMENT '是否安全控制措施落实0是。1否',`gas_analyse` varchar(20) DEFAULT NULL COMMENT '是否气体分析 0是。1否',`ticket_status` varchar(20) DEFAULT NULL COMMENT '作业票实时状态 0未签发、1已签发、3已验收、4作废、5撤销',`is_contractor_task` varchar(20) DEFAULT NULL COMMENT '是否承包商作业 0是。1否',`is_changed` varchar(20) DEFAULT NULL COMMENT '作业是否变更 0是。1否',`changed_reason` varchar(255) DEFAULT NULL COMMENT '作业变更原因',`is_cancelled` varchar(50) DEFAULT NULL COMMENT '作业是否取消。0是。1否',`cancelled_reason` varchar(255) DEFAULT NULL COMMENT '作业取消原因',`video_code` varchar(128) DEFAULT NULL COMMENT '视频编码',`extract_status` tinyint(4) DEFAULT NULL COMMENT '抽取状态 0:正常,1:必填有缺失。2:数据格式异常',`extract_exception` varchar(500) DEFAULT NULL COMMENT '抽取异常信息',`gov_transfer_status` tinyint(4) DEFAULT NULL COMMENT '政府平台传输状态 0:未推送。1:推送成功。2:推送失败',`gov_transfer_exception` varchar(500) DEFAULT NULL COMMENT '政府平台传输异常信息',`file_status` tinyint(2) NOT NULL COMMENT '附件上报状态 0:未推送 1:推送成功 2:附件为空',`file_push_result` varchar(255) DEFAULT NULL COMMENT '附件推送结果',`create_time` datetime NOT NULL COMMENT '创建时间',`push_time` datetime DEFAULT NULL COMMENT '推送时间',PRIMARY KEY (`id`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- sync_workticket_ticket表添加ticket_code字段ALTER TABLE tiji_dip_mid.sync_workticket_ticket ADD COLUMN ticket_code varchar(50) DEFAULT NULL COMMENT '作业票流程编码' AFTER ticket_name;

三、流程包全局参数导入
点击链接下载流程包:安工院作业票V1V2抽取上报
1.确认DIP版本
流程包默认1.2.3,如果是其他版本或导入时提示版本不匹配,则需要修改zip文件中的“基础信息.json”里面的版本号改为项目上dip的实际版本号
进入压缩包,右键编辑文件,修改版本号
2.导入流程包
在DIP的【数据加工流程】菜单中,新建分类”安工院-作业票抽取上报”,
在该分类页面点击【导入数据】,进行导入上面的zip压缩包
注意:该流程包里面有1.0引擎和2.0引擎,项目根据实际情况只需正式启用1个流程!
2.全局参数导入
1)如果没有实施过数据上报,则将下面参数替换为实际企业信息,并在【全局参数】菜单中导入该表格。
如果项目已经实施过数据上报,可检查参数是否有变动或直接设置第2步
下载全局参数:全局参数
2)agyTicketFirstPushTime 参数设置
DIP数据服务-全局参数设置中找到参数名称:agyTicketFirstPushTime 进行设置
该参数用于控制首次上报从哪一天开始的作业票数据,作为上报的起始数据。格式值为 年-月-日 ;
默认为2023-10-01,即将上报从2023年10月1日开始的数据
四、上报流程配置测试验证
1.数据源配置-中间表
在数据源配置中,【新增】数据源,实体名称 为 tiji_dip_mid。点击测试连接,出现连接成功即可,再点击保存
(此表用于存储抽取的作业票数据,并通过此表进行上报)
2. 数据库导入配置-字段映射表配置
此步骤用于获得作业票实际字段和上报要求字段的映射表模板
在dip系统的【数据库导入配置】中,点击【新增】,并填写以下内容:
- 导入方案名称:作业票表单映射
- 目标数据源:选择上一步新增的tiji_dip_mid数据源,
- 目标表:sync_workticket_mapping。
信息填完后,点击 解析字段。在出现的列表中将【字段说明】中的内容 ,对应每一行复制到【导入模板标题】中, ID不要填写值,最后点击保存
3.字段映射数据导入-流程2.0
该步骤是用于收集项目上作业票中字段的实际名字,确保流程可以取到相关数据。
如果项目中作业票使用的是流程2.0,则按此步骤说明填写操作,如果项目中用的作业票1.0,则直接看步骤4
1)下载模板
在【数据库导入配置】菜单中,找到“作业票表单映射” 项,点击下载模板
2)填写表格数据
打开下载的表格模板, 将项目中每个类型的作业票的对应字段名称,按照表格说明进行填写。
下面是每个字段填写说明:
作业票版本:企业用的是 1.0 作业票流程引擎 就填 1,2.0 作业票流程引擎 填写 2。只能填写1或2其他内容识别失败
作业类型:动火作业,高处作业,吊装作业,动土作业,断路作业,盲板抽堵作业,临时用电作业,受限空间作业。其他内容识别失败
作业票流程名称:例如 企业用的是流程引擎2.0版本,参考下图,图2图3,找一张动火作业票,点击详情,确认左上方的名称,如图为动火安全作业证2.0,就为改字段值,其他作业票相同。

作业等级:配置对应表单的名称,如果作业票类型为 动火作业、高处作业、吊装作业,改字段为必填,其他作 业票选填
等级映射:作业等级配置了此字段才需配置 ,一般默值为:{“特级”:”00”,”一级”:”01”,”二级”:”02”,”三级”:”03”,”其他”:”04”}。请看图4假如企业配置的 等级有 四级或者其他文案 那么值就改为 {“特级”:”00”,”一级”:”01”,”二级”:”02”,”三级”:”03”,”四级”:”04”},改完后打开 https://www.json.cn/ 验证否是正常的json串
注:00,01,02,03,04是接口固定的值不能修改
作业开始时间:配置对应表单的名称
作业结束时间:配置对应表单的名称
作业地点:配置对应表单的名称
作业内容:配置对应表单的名称
作业地点经纬度:地图的经纬度
负责人姓名:置对应表单的名称
监护人员姓名:置对应表单的名称
施工人员姓名:置对应表单的名称
附件:选填项
是否推送:如表单配置 为 否,则该条作业票不会上报,选填项
3)导入数据
数据填写完后,在【数据库导入】菜单中,点击【新增】,将数据导入,出现成功即可。
追加:例数据库已有1条数据,追加到这条数据的后面
清空并插入:如excel配置错误并已导入成功,则选择此项
4.字段映射数据导入-流程1.0
1)下载模板
在【数据库导入配置】菜单中,找到“作业票表单映射” 项,点击下载模板
2)填写表格数据
打开下载的表格模板, 将项目中每个类型的作业票的对应字段名称,按照表格说明进行填写
作业票版本:企业用的是 1.0 作业票流程引擎 就填 1,2.0 作业票流程引擎 填写 2。只能填写1或2其他内容识别失败
作业类型:作业类型为固定值,不同作业票填写不同值:动火作业,受限空间作业,盲板抽堵作业,高处作业,吊装作业,临时用电作业,动土作业,断路作业,填写其他值无效
作业票流程名称:企业用的是流程引擎1.0版本,填写如图所示红色部分
作业等级:配置对应表单的名称,动火/高处/吊装这三个作业票作业等级为必填项,填写表单中作业级别名称
作业等级映射:以JSON格式存储,如下示例,只要能对应下拉选项即可
应填写:{“特级”:”00”,”一级”:”01”,”二级”:”02”,”三级”:”03”,”其他”:”04”}
如果存在其他等级比如特殊,应配置:{“特级”:”00”,”一级”:”01”,”二级”:”02”,”三级”:”03”,”其他”:”04”,”特殊”:”00”}
如果存在其他等级比如四级,应配置:{“特级”:”00”,”一级”:”01”,”二级”:”02”,”三级”:”03”,”其他”:”04”,”四级”:”04”}
安工院对接中等级最高为三级,别的为其他,04代表其他,配置的时候注意高于三级全配置为04
注意逗号应为英文逗号,改完后打开 https://www.json.cn/ 验证否是正常的json串
其他值填写:基础表单示例
是否推送:该作业票是否上报,如果配置为否,则该类型作业票和该流程版本对应的作业票不进行抽取数据,不上报。不填或表单中配置(页面组件,不是在表格中填)并选择是,都会正常抽取数据进行上报
3)导入数据
数据填写完后,在【数据库导入】菜单中,点击【新增】,将数据导入,出现成功即可。
追加:例数据库已有1条数据,追加到这条数据的后面
清空并插入:如excel配置错误并已导入成功,则选择此项
5.抽取测试
1)流程引擎2.0抽取测试
在【数据加工流程】菜单中,选择 安工院-V2作业票抽取流程 ,点击编辑–点击测试流程(1或2启用一个)

- 出现执行成功 后再点击 节点名称查看结果。字段参数说明如下:
查询开始时间: 从 这个时间 到当前时间查询要抽取的作业票
成功数量: 抽取成功 待上报的数量(数据库表中extract_status=0的)
失败数量: 抽取数据不完整数量,一般为字段值缺少或数据格式不符合(数据库表中extract_status!=0的)
异常数量:抽取字段解析异常,一般为字段映射表中字段填写不正确 (数据库表中extract_status=2的)
总数量: 总查询数量
2)流程引擎1.0抽取测试


抽取数量: 查询到需要抽取的数据量
成功数量: 查询到需要抽取的数据量-全部正常抽取成功(包含字段必填缺失全部入库)
异常数量: 数据转换异常的数量,一般为获取到表单填写的值,转换异常
6.上报测试
- 在【数据加工流程】菜单,【安工院-作业票(抽取上报)】,找到“ 安工院-作业票上报”
点击编辑,点击测试流程,等待执行结束
再点击 安工院-作业票上报 流程名称查看详细日志,查看 api上报返 回结果


7.作业票附件配置
1)xftp进入文件夹路径 /home/seekcy/softs/nginx/conf目录,找到wwyt.conf
2)右键用记事本编辑
3)找到此处监听端口8888,鼠标中键往下划
4)找到呈现规律排列的location配置
5)把以下代码插入到下图位置
location ^~ /newproc/img {root /home/seekcy/wwyt/wwyt-server/upload/files;rewrite ^/newproc\/img/(.*)$ /$1 break;}location ^~ /workflow/newproc/img {root /home/seekcy/wwyt/workflow/file;rewrite ^/workflow/newproc\/img/(.*)$ /$1 break;}

6)然后保存文件并关闭
7)使用xshell执行命令测试配置是否修改正确,出现successful 代表配置没问题
/home/seekcy/softs/nginx/sbin/nginx -t

8)重新加载nginx配置文件
/home/seekcy/softs/nginx/sbin/nginx -s reload
8.作业票附件上报
点击编辑,进入流程点击测试,查看接口返回结果

五、【全功能票上报】停用
如果项目之前已经启用了“全功能票上报”【V03作业票上报】,在上面流程部署成功后,请停用“全功能能票”上报流程.
在【数据加工流程】菜单中,找到全功能作业票上报流程【V03作业票上报】,点击【禁用】
转载请注明作者和出处,并添加本页链接。
原文链接:
//svn.seekcy.com/814
