|
@@ -198,28 +198,38 @@ class ItemService extends Service
|
|
|
//创建人 直接通过
|
|
//创建人 直接通过
|
|
|
if($user['id'] !== $oldData['crt_id']) return true;
|
|
if($user['id'] !== $oldData['crt_id']) return true;
|
|
|
|
|
|
|
|
|
|
+ //是否存在审批流
|
|
|
|
|
+ if(empty($oldData['review_id'])) return false;
|
|
|
|
|
+
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function itemFinish($data, $user){
|
|
public function itemFinish($data, $user){
|
|
|
if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
|
- $item = Item::where('id',$data['id'])
|
|
|
|
|
|
|
+ $model = Item::where('id',$data['id'])
|
|
|
->where('del_time',0)
|
|
->where('del_time',0)
|
|
|
->first();
|
|
->first();
|
|
|
- if(empty($item)) return [false, '项目不存在或已被删除'];
|
|
|
|
|
- $oldData = $item->toArray();
|
|
|
|
|
|
|
+ if(empty($model)) return [false, '项目不存在或已被删除'];
|
|
|
|
|
+ $oldData = $model->toArray();
|
|
|
if($oldData['state'] == Item::TYPE_THREE) return [false, '项目已完成,请勿重复操作'];
|
|
if($oldData['state'] == Item::TYPE_THREE) return [false, '项目已完成,请勿重复操作'];
|
|
|
|
|
|
|
|
- $bool = $this->changedCommon($user, $oldData);
|
|
|
|
|
- if($bool) {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
try {
|
|
try {
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
|
|
|
|
- $item->state = Item::TYPE_THREE;
|
|
|
|
|
- $item->save();
|
|
|
|
|
|
|
+ $bool = $this->changedCommon($user, $oldData);
|
|
|
|
|
+ if($bool) {
|
|
|
|
|
+ // 更新项目状态
|
|
|
|
|
+ $model->approval_state = Item::TYPE_MINUS_ONE;
|
|
|
|
|
+ $model->save();
|
|
|
|
|
+ //触发审批流
|
|
|
|
|
+ $this->createWorkFlow(['id' => $data['id'], 'state' => Item::TYPE_THREE], $user, $model->getTable(), $oldData, 2);
|
|
|
|
|
+
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+ return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $model->state = Item::TYPE_THREE;
|
|
|
|
|
+ $model->save();
|
|
|
|
|
|
|
|
DB::commit();
|
|
DB::commit();
|
|
|
}catch (\Exception $exception){
|
|
}catch (\Exception $exception){
|
|
@@ -867,7 +877,7 @@ class ItemService extends Service
|
|
|
list($status, $msg) = $return;
|
|
list($status, $msg) = $return;
|
|
|
return [$status, $msg];
|
|
return [$status, $msg];
|
|
|
}else{
|
|
}else{
|
|
|
- if($item->review_id && $return) $data['draft'] = true;
|
|
|
|
|
|
|
+ if($return) $data['draft'] = true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -997,17 +1007,30 @@ class ItemService extends Service
|
|
|
|
|
|
|
|
public function itemNodeFinish($data, $user){
|
|
public function itemNodeFinish($data, $user){
|
|
|
if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
|
- $item = ItemNode::where('id',$data['id'])
|
|
|
|
|
|
|
+ $model = ItemNode::where('id',$data['id'])
|
|
|
->where('del_time',0)
|
|
->where('del_time',0)
|
|
|
->first();
|
|
->first();
|
|
|
- if(empty($item)) return [false, '项目节点不存在或已被删除'];
|
|
|
|
|
- if($item->state == ItemNode::TYPE_THREE) return [false, '项目节点已完成,请勿重复操作'];
|
|
|
|
|
|
|
+ if(empty($model)) return [false, '项目节点不存在或已被删除'];
|
|
|
|
|
+ $oldData = $model->toArray();
|
|
|
|
|
+ if($oldData['state'] == ItemNode::TYPE_THREE) return [false, '项目节点已完成,请勿重复操作'];
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
|
|
|
|
- $item->state = ItemNode::TYPE_THREE;
|
|
|
|
|
- $item->save();
|
|
|
|
|
|
|
+ $bool = $this->changedCommon($user, $oldData);
|
|
|
|
|
+ if($bool) {
|
|
|
|
|
+ // 更新项目状态
|
|
|
|
|
+ $model->approval_state = ItemNode::TYPE_MINUS_ONE;
|
|
|
|
|
+ $model->save();
|
|
|
|
|
+ //触发审批流
|
|
|
|
|
+ $this->createWorkFlow(['id' => $data['id'], 'state' => ItemNode::TYPE_THREE], $user, $model->getTable(), $oldData, 2);
|
|
|
|
|
+
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+ return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $model->state = ItemNode::TYPE_THREE;
|
|
|
|
|
+ $model->save();
|
|
|
|
|
|
|
|
DB::commit();
|
|
DB::commit();
|
|
|
}catch (\Exception $exception){
|
|
}catch (\Exception $exception){
|
|
@@ -1563,7 +1586,7 @@ class ItemService extends Service
|
|
|
list($status, $msg) = $return;
|
|
list($status, $msg) = $return;
|
|
|
return [$status, $msg];
|
|
return [$status, $msg];
|
|
|
}else{
|
|
}else{
|
|
|
- if($item->review_id && $return) $data['draft'] = true;
|
|
|
|
|
|
|
+ if($return) $data['draft'] = true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1601,17 +1624,30 @@ class ItemService extends Service
|
|
|
|
|
|
|
|
public function itemNodeMissionFinish($data, $user){
|
|
public function itemNodeMissionFinish($data, $user){
|
|
|
if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
if(empty($data['id'])) return [false, 'ID不能为空'];
|
|
|
- $item = ItemNodeMission::where('id',$data['id'])
|
|
|
|
|
|
|
+ $model = ItemNodeMission::where('id',$data['id'])
|
|
|
->where('del_time',0)
|
|
->where('del_time',0)
|
|
|
->first();
|
|
->first();
|
|
|
- if(empty($item)) return [false, '节点任务不存在或已被删除'];
|
|
|
|
|
- if($item->state == ItemNodeMission::TYPE_THREE) return [false, '节点任务已完成,请勿重复操作'];
|
|
|
|
|
|
|
+ if(empty($model)) return [false, '任务不存在或已被删除'];
|
|
|
|
|
+ $oldData = $model->toArray();
|
|
|
|
|
+ if($oldData['state'] == ItemNodeMission::TYPE_THREE) return [false, '任务已完成,请勿重复操作'];
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
|
|
|
|
- $item->state = ItemNodeMission::TYPE_THREE;
|
|
|
|
|
- $item->save();
|
|
|
|
|
|
|
+ $bool = $this->changedCommon($user, $oldData);
|
|
|
|
|
+ if($bool) {
|
|
|
|
|
+ // 更新项目状态
|
|
|
|
|
+ $model->approval_state = ItemNodeMission::TYPE_MINUS_ONE;
|
|
|
|
|
+ $model->save();
|
|
|
|
|
+ //触发审批流
|
|
|
|
|
+ $this->createWorkFlow(['id' => $data['id'], 'state' => ItemNodeMission::TYPE_THREE], $user, $model->getTable(), $oldData, 2);
|
|
|
|
|
+
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+ return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $model->state = ItemNodeMission::TYPE_THREE;
|
|
|
|
|
+ $model->save();
|
|
|
|
|
|
|
|
DB::commit();
|
|
DB::commit();
|
|
|
}catch (\Exception $exception){
|
|
}catch (\Exception $exception){
|
|
@@ -2269,7 +2305,7 @@ class ItemService extends Service
|
|
|
list($status, $msg) = $return;
|
|
list($status, $msg) = $return;
|
|
|
return [$status, $msg];
|
|
return [$status, $msg];
|
|
|
}else{
|
|
}else{
|
|
|
- if($item->review_id && $return) $data['draft'] = true;
|
|
|
|
|
|
|
+ if($return) $data['draft'] = true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -2379,10 +2415,11 @@ class ItemService extends Service
|
|
|
* @param $user 提交人
|
|
* @param $user 提交人
|
|
|
* @param $tableName 操作表
|
|
* @param $tableName 操作表
|
|
|
* @param $oldData 原数据
|
|
* @param $oldData 原数据
|
|
|
|
|
+ * @param $opt_type 操作类型 1 全量编辑 2 单字段编辑
|
|
|
*/
|
|
*/
|
|
|
- public function createWorkFlow($data, $user, $tableName, $oldData){
|
|
|
|
|
|
|
+ public function createWorkFlow($data, $user, $tableName, $oldData, $opt_type = 1){
|
|
|
// 创建草稿
|
|
// 创建草稿
|
|
|
- $this->createDraft($data, $user, $tableName);
|
|
|
|
|
|
|
+ $this->createDraft($data, $user, $tableName, $opt_type);
|
|
|
//触发审批
|
|
//触发审批
|
|
|
list($status, $msg) = (new WorkFlowService())->triggerWorkflow($oldData['review_id'],$oldData['id'],$tableName,$user);
|
|
list($status, $msg) = (new WorkFlowService())->triggerWorkflow($oldData['review_id'],$oldData['id'],$tableName,$user);
|
|
|
if(! $status) throw new \Exception($msg);
|
|
if(! $status) throw new \Exception($msg);
|