|
|
@@ -246,17 +246,11 @@ class ItemService extends Service
|
|
|
$tableName = $model->getTable();
|
|
|
|
|
|
if(isset($data['draft'])){
|
|
|
- // 创建草稿
|
|
|
- $this->createDraft($data, $user, $tableName);
|
|
|
// 更新项目状态
|
|
|
$model->approval_state = Item::TYPE_MINUS_ONE;
|
|
|
$model->save();
|
|
|
- //触发审批
|
|
|
- list($status, $msg) = (new WorkFlowService())->triggerWorkflow($data['review_id'], $model->id,$tableName,$user);
|
|
|
- if(! $status) {
|
|
|
- DB::rollBack();
|
|
|
- return [false, $msg];
|
|
|
- }
|
|
|
+ //触发审批流
|
|
|
+ $this->createWorkFlow($data, $user, $tableName, $model->toArray());
|
|
|
|
|
|
DB::commit();
|
|
|
return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
@@ -426,6 +420,7 @@ class ItemService extends Service
|
|
|
|
|
|
public function createDraft($data, $user, $type, $opt_type = 1) {
|
|
|
if(isset($data['draft'])) unset($data['draft']);
|
|
|
+
|
|
|
Draft::insert([
|
|
|
'document_type' => $type,
|
|
|
'document_id' => $data['id'],
|
|
|
@@ -436,8 +431,6 @@ class ItemService extends Service
|
|
|
'opt_type' => $opt_type,
|
|
|
'crt_time' => time()
|
|
|
]);
|
|
|
-
|
|
|
- return true;
|
|
|
}
|
|
|
|
|
|
private function saveDetail($id, $time, $data){
|
|
|
@@ -1042,17 +1035,11 @@ class ItemService extends Service
|
|
|
$tableName = $model->getTable();
|
|
|
|
|
|
if(isset($data['draft'])){
|
|
|
- // 创建草稿
|
|
|
- $this->createDraft($data, $user, $tableName);
|
|
|
- // 更新项目状态
|
|
|
+ // 更新项目节点状态
|
|
|
$model->approval_state = ItemNode::TYPE_MINUS_ONE;
|
|
|
$model->save();
|
|
|
- //触发审批
|
|
|
- list($status, $msg) = (new WorkFlowService())->triggerWorkflow($data['review_id'], $model->id, $tableName,$user);
|
|
|
- if(! $status) {
|
|
|
- DB::rollBack();
|
|
|
- return [false, $msg];
|
|
|
- }
|
|
|
+ //触发审批流
|
|
|
+ $this->createWorkFlow($data, $user, $tableName, $model->toArray());
|
|
|
|
|
|
DB::commit();
|
|
|
return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
@@ -1652,17 +1639,11 @@ class ItemService extends Service
|
|
|
$tableName = $model->getTable();
|
|
|
|
|
|
if(isset($data['draft'])){
|
|
|
- // 创建草稿
|
|
|
- $this->createDraft($data, $user, $tableName);
|
|
|
- // 更新项目状态
|
|
|
+ // 更新项目节点状态
|
|
|
$model->approval_state = ItemNodeMission::TYPE_MINUS_ONE;
|
|
|
$model->save();
|
|
|
- //触发审批
|
|
|
- list($status, $msg) = (new WorkFlowService())->triggerWorkflow($data['review_id'], $model->id, $tableName,$user);
|
|
|
- if(! $status) {
|
|
|
- DB::rollBack();
|
|
|
- return [false, $msg];
|
|
|
- }
|
|
|
+ //触发审批流
|
|
|
+ $this->createWorkFlow($data, $user, $tableName, $model->toArray());
|
|
|
|
|
|
DB::commit();
|
|
|
return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
@@ -2391,4 +2372,19 @@ class ItemService extends Service
|
|
|
->pluck('b.title','a.id')
|
|
|
->toArray();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 触发生成审批流
|
|
|
+ * @param $data 草稿数据
|
|
|
+ * @param $user 提交人
|
|
|
+ * @param $tableName 操作表
|
|
|
+ * @param $oldData 原数据
|
|
|
+ */
|
|
|
+ public function createWorkFlow($data, $user, $tableName, $oldData){
|
|
|
+ // 创建草稿
|
|
|
+ $this->createDraft($data, $user, $tableName);
|
|
|
+ //触发审批
|
|
|
+ list($status, $msg) = (new WorkFlowService())->triggerWorkflow($oldData['review_id'],$oldData['id'],$tableName,$user);
|
|
|
+ if(! $status) throw new \Exception($msg);
|
|
|
+ }
|
|
|
}
|