审批&PDF生成
This commit is contained in:
@@ -77,27 +77,27 @@ class IndexController
|
||||
public function createResource()
|
||||
{
|
||||
$options = [
|
||||
// 'controller' => [
|
||||
// 'module' => 'common',
|
||||
// 'name' => 'stock_orders'
|
||||
// ],
|
||||
'model' => [
|
||||
'module' => 'approval',
|
||||
'name' => 'approval_records'
|
||||
'controller' => [
|
||||
'module' => 'admin',
|
||||
'name' => 'approval_flows'
|
||||
],
|
||||
// 'service' => [
|
||||
// 'module' => 'common',
|
||||
// 'name' => 'stock_orders'
|
||||
// ],
|
||||
// 'logic' => [
|
||||
// 'module' => 'common',
|
||||
// 'name' => 'stock_orders'
|
||||
// ],
|
||||
// 'validate' => [
|
||||
// 'module' => 'common',
|
||||
// 'name' => 'stock_orders'
|
||||
// ],
|
||||
'table' => 'approval_records'
|
||||
'model' => [
|
||||
'module' => 'admin',
|
||||
'name' => 'approval_flows'
|
||||
],
|
||||
'service' => [
|
||||
'module' => 'admin',
|
||||
'name' => 'approval_flows'
|
||||
],
|
||||
'logic' => [
|
||||
'module' => 'admin',
|
||||
'name' => 'approval_flows'
|
||||
],
|
||||
'validate' => [
|
||||
'module' => 'admin',
|
||||
'name' => 'approval_flows'
|
||||
],
|
||||
'table' => 'approval_flows'
|
||||
];
|
||||
|
||||
$result = (new Generate($options))->doGenerate();
|
||||
@@ -107,46 +107,13 @@ class IndexController
|
||||
|
||||
public function test()
|
||||
{
|
||||
$data = [
|
||||
'id' => 1,
|
||||
'user_id' => 1,
|
||||
'leave_type_id' => 1,
|
||||
'start_date' => '2019-01-01',
|
||||
'end_date' => '2019-01-02',
|
||||
'reason' => 'test',
|
||||
'status' => 1
|
||||
];
|
||||
$code = $this->submitLeaveApplication(1, $data);
|
||||
|
||||
return $code;
|
||||
}
|
||||
|
||||
|
||||
// 假设这是你的业务逻辑
|
||||
public function submitLeaveApplication(int $bizId, $leaveData) {
|
||||
// 1. 保存业务数据
|
||||
// $bizId = DB::table('leave_applications')->insertGetId($leaveData);
|
||||
|
||||
// 2. 启动审批流程
|
||||
$service = new \app\common\approval\service\ApprovalFlowService();
|
||||
try {
|
||||
$result = $service->start(
|
||||
'leave', // 流程类型,对应 approval_flows.type
|
||||
'leave_application', // 业务类型标识
|
||||
$bizId, // 业务ID
|
||||
$leaveData, // 表单数据快照
|
||||
$_SESSION['user_id'] ?? 1 // 发起人ID
|
||||
);
|
||||
|
||||
// 3. 将审批实例ID关联回业务表
|
||||
DB::table('leave_applications')
|
||||
->where('id', $bizId)
|
||||
->update(['approval_instance_id' => $result['instance_id']]);
|
||||
|
||||
return ['status' => 'success', 'message' => '申请已提交,等待审批'];
|
||||
} catch (\Exception $e) {
|
||||
// 处理错误,可能需要回滚业务数据插入
|
||||
return ['status' => 'error', 'message' => $e->getMessage()];
|
||||
}
|
||||
return json([
|
||||
'code' => 0,
|
||||
'msg' => 'success',
|
||||
'data' => [
|
||||
'time' => time(),
|
||||
'date' => date('Y-m-d H:i:s')
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user