2.x作业票上报部署流程

一、上报前提

  1. 本文档用于说明山东-安工院平台上报真实的作业票(上报的票证表单是一个模板,具体实施前可与产研确认下)的流程部署方案,支持作业票1.0流程和作业票2.0流程;
  2. 部署实施前需要与客户确认是否采用此流程方式上报,因为此流程将会把实际开票数据进行上报。
  3. 本上报方案需V1.2版本以上的DIP平台
  4. 启用此流程后,请停用原来的全功能票上报
  5. 使用此方案,需要填写维护下企业实际票中的字段名称(见4.3)

二. 数据库导入

1.连接企业数据库,新建查询窗口,选择tiji_dip_mid库将sql脚本复制粘贴进去,点击运行,出现OK代表运行成功

  1. CREATE TABLE IF NOT EXISTS tiji_dip_mid.`dip_token_cache` (
  2. `id` bigint(20) NOT NULL AUTO_INCREMENT,
  3. `token` varchar(512) DEFAULT NULL,
  4. `type` varchar(255) DEFAULT NULL,
  5. `time` datetime DEFAULT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  8. CREATE TABLE IF NOT EXISTS tiji_dip_mid.`sync_workticket_mapping` (
  9. `ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  10. `ticket_version` tinyint(2) NOT NULL COMMENT '作业票版本',
  11. `ticket_type` varchar(128) NOT NULL COMMENT '作业类型',
  12. `ticket_name` varchar(128) NOT NULL COMMENT '作业票流程名称',
  13. `ticket_level` varchar(128) DEFAULT NULL COMMENT '作业等级',
  14. `level_mapping` varchar(128) DEFAULT NULL COMMENT '等级映射',
  15. `start_time` varchar(128) NOT NULL COMMENT '作业开始时间',
  16. `end_time` varchar(128) NOT NULL COMMENT '作业结束时间',
  17. `ticket_position` varchar(128) NOT NULL COMMENT '作业地点',
  18. `ticket_content` varchar(128) NOT NULL COMMENT '作业内容',
  19. `location_point` varchar(128) NOT NULL COMMENT '作业地点经纬度',
  20. `major_person` varchar(128) NOT NULL COMMENT '负责人姓名',
  21. `supervisor_name` varchar(128) NOT NULL COMMENT '监护人员姓名',
  22. `worker_name` varchar(128) NOT NULL COMMENT '施工人员姓名',
  23. `workDept_name` varchar(128) NOT NULL COMMENT '施工单位名称',
  24. `file` varchar(128) DEFAULT NULL COMMENT '附件',
  25. `is_push` varchar(50) DEFAULT NULL COMMENT '是否推送',
  26. PRIMARY KEY (`ID`)
  27. ) ENGINE=InnoDB AUTO_INCREMENT=138 DEFAULT CHARSET=utf8 COMMENT='作业票映射';
  28. CREATE TABLE IF NOT EXISTS tiji_dip_mid.`sync_workticket_ticket` (
  29. `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  30. `batch_uuid` varchar(36) DEFAULT NULL COMMENT '批次uuid',
  31. `uuid` varchar(36) NOT NULL COMMENT '作业票uuid',
  32. `ticket_type` varchar(50) DEFAULT NULL COMMENT '作业类型',
  33. `ticket_name` varchar(50) DEFAULT NULL COMMENT '作业票流程名称',
  34. `ticket_version` tinyint(2) NOT NULL COMMENT '作业票版本 1:1.0,2:2.0',
  35. `ticket_procinstance_id` varchar(50) DEFAULT NULL COMMENT '作业票流程实例id',
  36. `ticket_create_time` datetime DEFAULT NULL COMMENT '原始作业票创建时间',
  37. `ticket_level` varchar(10) DEFAULT NULL COMMENT '作业等级',
  38. `start_time` datetime DEFAULT NULL COMMENT '作业开始时间',
  39. `end_time` datetime DEFAULT NULL COMMENT '作业结束时间',
  40. `ticket_position` varchar(255) DEFAULT NULL COMMENT '作业地点',
  41. `ticket_content` varchar(255) DEFAULT NULL COMMENT '作业内容',
  42. `harm_type` varchar(10) DEFAULT NULL COMMENT '危害识别',
  43. `lng` varchar(20) DEFAULT NULL COMMENT '作业地点经度',
  44. `lat` varchar(20) DEFAULT NULL COMMENT '作业地点纬度',
  45. `company_social_code` varchar(100) DEFAULT NULL COMMENT '统一信用编码',
  46. `major_person` varchar(50) DEFAULT NULL COMMENT '负责人姓名',
  47. `major_person_mobile` varchar(50) DEFAULT NULL COMMENT '负责人联系方式手机号',
  48. `supervisor` varchar(50) DEFAULT NULL COMMENT '监护人卡号',
  49. `supervisor_name` varchar(255) DEFAULT NULL COMMENT '监护人员姓名',
  50. `worker` varchar(50) DEFAULT NULL COMMENT '施工人员卡号',
  51. `worker_name` varchar(255) DEFAULT NULL COMMENT '施工人员姓名',
  52. `workDept` varchar(50) DEFAULT NULL COMMENT '施工单位ID',
  53. `workDept_name` varchar(50) DEFAULT NULL COMMENT '施工单位名称',
  54. `file` varchar(100) DEFAULT NULL COMMENT '附件',
  55. `safe_measure` varchar(20) DEFAULT NULL COMMENT '是否安全控制措施落实0是。1否',
  56. `gas_analyse` varchar(20) DEFAULT NULL COMMENT '是否气体分析 0是。1否',
  57. `ticket_status` varchar(20) DEFAULT NULL COMMENT '作业票实时状态 0未签发、1已签发、3已验收、4作废、5撤销',
  58. `is_contractor_task` varchar(20) DEFAULT NULL COMMENT '是否承包商作业 0是。1否',
  59. `is_changed` varchar(20) DEFAULT NULL COMMENT '作业是否变更 0是。1否',
  60. `changed_reason` varchar(255) DEFAULT NULL COMMENT '作业变更原因',
  61. `is_cancelled` varchar(50) DEFAULT NULL COMMENT '作业是否取消。0是。1否',
  62. `cancelled_reason` varchar(255) DEFAULT NULL COMMENT '作业取消原因',
  63. `video_code` varchar(128) DEFAULT NULL COMMENT '视频编码',
  64. `extract_status` tinyint(4) DEFAULT NULL COMMENT '抽取状态 0:正常,1:必填有缺失。2:数据格式异常',
  65. `extract_exception` varchar(500) DEFAULT NULL COMMENT '抽取异常信息',
  66. `gov_transfer_status` tinyint(4) DEFAULT NULL COMMENT '政府平台传输状态 0:未推送。1:推送成功。2:推送失败',
  67. `gov_transfer_exception` varchar(500) DEFAULT NULL COMMENT '政府平台传输异常信息',
  68. `file_status` tinyint(2) NOT NULL COMMENT '附件上报状态 0:未推送 1:推送成功 2:附件为空',
  69. `file_push_result` varchar(255) DEFAULT NULL COMMENT '附件推送结果',
  70. `create_time` datetime NOT NULL COMMENT '创建时间',
  71. `push_time` datetime DEFAULT NULL COMMENT '推送时间',
  72. PRIMARY KEY (`id`) USING BTREE
  73. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  74. -- sync_workticket_ticket表添加ticket_code字段
  75. 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)把以下代码插入到下图位置

  1. location ^~ /newproc/img {
  2. root /home/seekcy/wwyt/wwyt-server/upload/files;
  3. rewrite ^/newproc\/img/(.*)$ /$1 break;
  4. }
  5. location ^~ /workflow/newproc/img {
  6. root /home/seekcy/wwyt/workflow/file;
  7. rewrite ^/workflow/newproc\/img/(.*)$ /$1 break;
  8. }


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

  1. /home/seekcy/softs/nginx/sbin/nginx -t


8)重新加载nginx配置文件

  1. /home/seekcy/softs/nginx/sbin/nginx -s reload

8.作业票附件上报
点击编辑,进入流程点击测试,查看接口返回结果

五、【全功能票上报】停用

如果项目之前已经启用了“全功能票上报”【V03作业票上报】,在上面流程部署成功后,请停用“全功能能票”上报流程.
在【数据加工流程】菜单中,找到全功能作业票上报流程【V03作业票上报】,点击【禁用】

转载请注明作者和出处,并添加本页链接。
原文链接: //svn.seekcy.com/814