Sanjel Business Process Model - Sanjel-Energy-Services/eService_WorkItems GitHub Wiki
High Level
Client vs Sanjel
sequenceDiagram
box Oil & Gas Industry
actor Client
actor Sanjel
end
Client->>Sanjel: Cementing Service Invitation
Sanjel->>Client: Service Proposal & Bidding
Client->>Sanjel: Bidding Result
Client->>Sanjel: Cementing Service Request
Sanjel->>Sanjel: Perform Cementing Service
Sanjel->>Client: Service Report & Invoice
Client->>Sanjel: Make Payment
Sanjel->>Sanjel: Post Job Analisys
Sanjel Internal Flow
Service Proposal & Bidding
sequenceDiagram
actor Client
box Sanjel
actor Sales
actor Engineering
actor Operation
actor Logistics
actor accounting
end
Client->>+Sales: Cementing Service Invitation
Sales->>+accounting: Credit Checking
accounting-->>-Sales: Credit Result
Sales->>+Engineering: Request Job Design
Engineering -->>-Sales: Job Design
Sales->>Sales: Prepare Job Proposal & Bid
Sales->>Sales: Sales Forecast
Sales-->>-Client: Service Proposal & Bid
Bidding Result
sequenceDiagram
actor Client
box Sanjel
actor Sales
actor Engineering
actor Operation
actor Logistics
actor accounting
end
Client->>+Sales: Bidding Result
alt Won
Sales->>Operation: Notify
Operation->>Operation: Operation Forecast
Operation->>Operation: Resource Planning
Operation->>Logistics: Notify
Logistics->>Logistics: Material Forecast
end
opt Lost
Sales->>Sales: Archive Proposal
end
Cementing Service Request
sequenceDiagram
actor Client
box Sanjel
actor Operation
actor Logistics
actor accounting
end
Client->>Operation: Cementing Service Request
Operation->>Operation: Find Program
Operation->>Client: Request Job Info Confirmation
Client-->>Operation: Confirm Job Infomation
Operation->>Operation: Create Call Sheet
Operation->>Operation: Plan Crew
Operation->>Operation: Plan Equipment
Operation->>Operation: Plan Material
Operation-->>Logistics: Notify
Logistics->>Logistics: Prepare Material
Logistics->>Logistics: Deliver Material
Deliver Material
sequenceDiagram
actor Logistics
box Product Haul System
participant ProductHaulBoard
end
Logistics->>ProductHaulBoard: Schedule Product Haul
Logistics->>ProductHaulBoard: View Product Haul
Logistics->>ProductHaulBoard: Re-Schedule Product Haul
Logistics->>ProductHaulBoard: Cancel Product Haul
Pre-Job Blend Tesitng Process Breakdown
Blend Request Process
sequenceDiagram
actor Client
box Sanjel
actor Dispatch
actor Logistics
actor BulkerCrew
actor Engineer
participant RigJob
participant ProductHaul
participant BlendRequest
participant TestRequest
actor Lab
end
Client->>Dispatch: Send Job Request
Dispatch->>RigJob: Comfirm a Job
RigJob-->>Logistics: Need a blend
alt Store Blend on lease
Logistics->>ProductHaul:Schedule a product haul
ProductHaul->>BlendRequest:CreateBlendRequest
else Store Blend in district
Logistics->>BlendRequest:CreateBlendRequest
end
Note right of BlendRequest: Send notification to BP <br> and stake holders
BlendRequest->>TestRequest:Create Test Request
TestRequest-->>Lab:Send to Lab
Blending and Testing Process
sequenceDiagram
actor Dispatch
actor Logistics
actor BulkerCrew
participant BlendRequest
actor BPO
participant RigBin
participant BPBin
participant TestRequest
participant BlendSample
actor Lab
participant TestResult
BlendRequest->>BPO: Notify
BPO->>BPO: Confirm, Blend
BPO->>BlendSample: Sample cement
BPO->>Lab: Ship Sample
alt Store Blend on lease
BPO->>Dispatch: Send MTS
BPO->>Logistics: Send MTS
Logistics->>BulkerCrew: Track cement to Location
BulkerCrew->>RigBin: Load Blend to Rig Bin
else Store Blend in district
BPO->>BPBin:Load Blend To BP Bin
end
Lab-->>TestRequest: Confirm Test Request
Lab-->>BlendRequest: Confirm Sample Recipe
Lab->>TestResult:Run Test
Client Approval Process
sequenceDiagram
actor Client
box Sanjel
actor Dispatch
actor Logistics
actor Engineer
participant RigJob
actor Lab
participant TestResult
end
Lab->>TestResult:Run Test
alt Pass
alt Client Approval Required
TestResult-->>Dispatch:Client Approval Required
Dispatch->>Client: Send Test Result for Approval
Client->>Dispatch: Return approval decision
alt Client Approved
Dispatch->>RigJob:Designate to approve to Pump
Note right of Dispatch: Communicate client approval
else No
Dispatch->>Logistics:Communicate client decline
Logistics->>Engineer: Review for salvageability
end
else No
TestResult-->>RigJob:Designate to approve to Pump
end
else Fail
Logistics->>Engineer: Review for salvageability
end
Review fail blend salvageability
sequenceDiagram
actor Logistics
actor Engineer
participant RigJob
participant BlendRequest
Logistics->>Engineer: Review for salvageability
Note right of Logistics: Blend Request<br>Test Result
Engineer->>Engineer: Analyze and Redesign
alt Savageable
Engineer->>RigJob:Revise Program, Update Blend
Engineer->>Logistics: Confirm Course of action
alt Dry Blend
Logistics->>Logistics: Re-blend process
else Prehydrate
Engineer->>Logistics: Prehydrate process
end
Logistics->>BlendRequest: Create Re-blend request
else No
Engineer->>Logistics:Notify the blend not Savageable
Logistics->>Logistics: Disposal process
Logistics->>BlendRequest:Create new blend request
end
BlendRequest->>BlendRequest: Regular process
Integration and trigger Points
-
Test Request creation
- Currently, test request is submitted from program. This may need to move to blend request creation. It will need to support multiple cuts/re-blend/prehydrate processes. Workflow? Maybe
-
Blend Sample login
- Blend sample data is available to populate blend sample list in Lab Database for the blend sample login process. Workflow?No
-
Test Result Publish
- Pass
- RigJob testing status update. Workflow: Yes
- Blend Request testing status update. Workflow: Yes
- Fail
- Engineer Approval Request Creation. Data model doesn't exist. New entity is needed.
- Pass
-
Client Approval Request
- Blend Request blend testing status needs to be enhanced. Workflow: Yes
- Client Approval Request Creation. Data model doesn't exist. New entity is needed.
-
Client Approved
- RigJob testing status update. Workflow: Yes
- Blend Request testing status update. Workflow: Yes
-
Client Decline
- RigJob testing status update. Workflow: Yes
- Blend Request testing status update. Workflow: Yes
- Engineer Approval Request creation. Workflow: Yes
-
Engineer Approved
- Call Sheet blend update. Process TBD
- Blend Request turn over
- Prehydrate
- Re-blend
-
Engineer Decline
- Blend Request testing status update.
- Blend dispose process TBD
- New blend request creation.
-
Blending progress within Test Request in Lab DB. Workflow: No
All trigger point may send out notification.
Approval form can be available on both a mobile notification and eService Applications.
中文翻译
高层概览
客户 vs Sanjel
sequenceDiagram
box 油气行业
actor Client as 客户
actor Sanjel
end
Client->>Sanjel: 固井服务邀请
Sanjel->>Client: 服务方案与投标
Client->>Sanjel: 投标结果
Client->>Sanjel: 固井服务请求
Sanjel->>Sanjel: 执行固井服务
Sanjel->>Client: 服务报告与发票
Client->>Sanjel: 付款
Sanjel->>Sanjel: 作业后分析
Sanjel内部流程
服务方案与投标
sequenceDiagram
actor Client as 客户
box Sanjel
actor Sales as 销售
actor Engineering as 工程
actor Operation as 运营
actor Logistics as 后勤
actor accounting as 会计
end
Client->>+Sales: 固井服务邀请
Sales->>+accounting: 信用检查
accounting-->>-Sales: 信用结果
Sales->>+Engineering: 请求作业设计
Engineering -->>-Sales: 作业设计
Sales->>Sales: 准备作业方案与投标
Sales->>Sales: 销售预测
Sales-->>-Client: 服务方案与投标
投标结果
sequenceDiagram
actor Client as 客户
box Sanjel
actor Sales as 销售
actor Engineering as 工程
actor Operation as 运营
actor Logistics as 后勤
actor accounting as 会计
end
Client->>+Sales: 投标结果
alt 中标
Sales->>Operation: 通知
Operation->>Operation: 运营预测
Operation->>Operation: 资源规划
Operation->>Logistics: 通知
Logistics->>Logistics: 材料预测
end
opt 未中标
Sales->>Sales: 归档方案
end
固井服务请求
sequenceDiagram
actor Client as 客户
box Sanjel
actor Operation as 运营
actor Logistics as 后勤
actor accounting as 会计
end
Client->>Operation: 固井服务请求
Operation->>Operation: 查找项目
Operation->>Client: 请求确认作业信息
Client-->>Operation: 确认作业信息
Operation->>Operation: 创建调度单
Operation->>Operation: 规划人员
Operation->>Operation: 规划设备
Operation->>Operation: 规划材料
Operation-->>Logistics: 通知
Logistics->>Logistics: 准备材料
Logistics->>Logistics: 运送材料
运送材料
sequenceDiagram
actor Logistics as 后勤
box Product Haul System
participant ProductHaulBoard as 产品运输看板
end
Logistics->>ProductHaulBoard: 安排产品运输
Logistics->>ProductHaulBoard: 查看产品运输
Logistics->>ProductHaulBoard: 重新安排产品运输
Logistics->>ProductHaulBoard: 取消产品运输
作业前搅拌测试流程详解
搅拌请求流程
sequenceDiagram
actor Client as 客户
box Sanjel
actor Dispatch as 调度
actor Logistics as 后勤
actor BulkerCrew as 水泥罐车运输人员
actor Engineer as 工程师
participant RigJob as 钻井作业
participant ProductHaul as 产品运输
participant BlendRequest as 搅拌请求
participant TestRequest as 测试请求
actor Lab as 实验室
end
Client->>Dispatch: 发送作业请求
Dispatch->>RigJob: 确认作业
RigJob-->>Logistics: 需要搅拌
alt 在租赁区存储搅拌物
Logistics->>ProductHaul:安排产品运输
ProductHaul->>BlendRequest:创建搅拌请求
else 在区域内存储搅拌物
Logistics->>BlendRequest:创建搅拌请求
end
Note right of BlendRequest: 向散装工厂操作员 <br> 和利益相关者发送通知
BlendRequest->>TestRequest:创建测试请求
TestRequest-->>Lab:发送到实验室
搅拌和测试流程
sequenceDiagram
actor Dispatch as 调度
actor Logistics as 后勤
actor BulkerCrew as 水泥罐车运输人员
participant BlendRequest as 搅拌请求
actor BPO as 散装工厂操作员
participant RigBin as 钻井平台容器
participant BPBin as 散装工厂存储罐
participant TestRequest as 测试请求
participant BlendSample as 搅拌样本
actor Lab as 实验室
participant TestResult as 测试结果
BlendRequest->>BPO: 通知
BPO->>BPO: 确认,搅拌
BPO->>BlendSample: 采集水泥样本
BPO->>Lab: 运送样本
alt 在租赁区存储搅拌物
BPO->>Dispatch: 发送物料传递单
BPO->>Logistics: 发送物料传递单
Logistics->>BulkerCrew: 跟踪水泥至位置
BulkerCrew->>RigBin: 将搅拌物装入钻井平台容器
else 在区域内存储搅拌物
BPO->>BPBin:将搅拌物装入散装工厂存储罐
end
Lab-->>TestRequest: 确认测试请求
Lab-->>BlendRequest: 确认样本配方
Lab->>TestResult:执行测试
客户审批流程
sequenceDiagram
actor Client as 客户
box Sanjel
actor Dispatch as 调度
actor Logistics as 后勤
actor Engineer as 工程师
participant RigJob as 钻井作业
actor Lab as 实验室
participant TestResult as 测试结果
end
Lab->>TestResult:执行测试
alt 通过
alt 需要客户审批
TestResult-->>Dispatch:需要客户审批
Dispatch->>Client: 发送测试结果等待审批
Client->>Dispatch: 返回审批决定
alt 客户同意
Dispatch->>RigJob:指定批准泵送
Note right of Dispatch: 传达客户审批
else 否
Dispatch->>Logistics:传达客户拒绝
Logistics->>Engineer: 审查是否可挽回
end
else 否
TestResult-->>RigJob:指定批准泵送
end
else 失败
Logistics->>Engineer: 审查是否可挽回
end
审查失败搅拌物的可挽回性
sequenceDiagram
actor Logistics as 后勤
actor Engineer as 工程师
participant RigJob as 钻井作业
participant BlendRequest as 搅拌请求
Logistics->>Engineer: 审查是否可挽回
Note right of Logistics: 搅拌请求<br>测试结果
Engineer->>Engineer: 分析并重新设计
alt 可挽回
Engineer->>RigJob:修改项目,更新搅拌物
Engineer->>Logistics: 确认行动方案
alt 干搅拌
Logistics->>Logistics: 重新搅拌流程
else 预水化
Engineer->>Logistics: 预水化流程
end
Logistics->>BlendRequest: 创建重新搅拌请求
else 否
Engineer->>Logistics:通知搅拌物不可挽回
Logistics->>Logistics: 处置流程
Logistics->>BlendRequest:创建新的搅拌请求
end
BlendRequest->>BlendRequest: 常规流程
集成和触发点
-
测试请求创建
- 目前,测试请求是从项目提交的。这可能需要移至搅拌请求创建环节。它需要支持多次切割/重新搅拌/预水化流程。工作流?也许
-
搅拌样本登录
- 搅拌样本数据可用于填充实验室数据库中的搅拌样本列表,用于搅拌样本登录过程。工作流?否
-
测试结果发布
- 通过
- 钻井作业测试状态更新。工作流:是
- 搅拌请求测试状态更新。工作流:是
- 失败
- 工程师审批请求创建。数据模型不存在。需要新实体。
- 通过
-
客户审批请求
- 搅拌请求搅拌测试状态需要增强。工作流:是
- 客户审批请求创建。数据模型不存在。需要新实体。
-
客户同意
- 钻井作业测试状态更新。工作流:是
- 搅拌请求测试状态更新。工作流:是
-
客户拒绝
- 钻井作业测试状态更新。工作流:是
- 搅拌请求测试状态更新。工作流:是
- 工程师审批请求创建。工作流:是
-
工程师同意
- 调度单搅拌更新。流程待定
- 搅拌请求转交
- 预水化
- 重新搅拌
-
工程师拒绝
- 搅拌请求测试状态更新。
- 搅拌处置流程待定
- 新搅拌请求创建。
-
实验室数据库中测试请求内的搅拌进度。工作流:否
所有触发点可能会发送通知。
审批表单可在移动通知和eService应用程序上获取。