|
@@ -2598,12 +2598,32 @@ class ItemService extends Service
|
|
|
->where('id',$data['id'])
|
|
->where('id',$data['id'])
|
|
|
->first();
|
|
->first();
|
|
|
if(empty($model)) return [false,'项目节点任务不存在或已被删除'];
|
|
if(empty($model)) return [false,'项目节点任务不存在或已被删除'];
|
|
|
|
|
+ $tableName = $model->getTable();
|
|
|
|
|
+ $oldData = $model->toArray();
|
|
|
if($model->approval_state == ItemNodeMission::TYPE_MINUS_ONE) return [false, '任务审核中'];
|
|
if($model->approval_state == ItemNodeMission::TYPE_MINUS_ONE) return [false, '任务审核中'];
|
|
|
if($model->state == ItemNodeMission::TYPE_THREE) return [false, '任务已完结'];
|
|
if($model->state == ItemNodeMission::TYPE_THREE) return [false, '任务已完结'];
|
|
|
|
|
|
|
|
|
|
+ //完结校验交付物
|
|
|
|
|
+ if($data['state'] == ItemNodeMission::TYPE_THREE){
|
|
|
|
|
+ list($bool, $msg) = $this->checkIsDelivery($oldData, $tableName);
|
|
|
|
|
+ if(! $bool) return [false , $msg];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
try {
|
|
try {
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
|
|
|
|
|
|
|
+ $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, $tableName, $oldData, 2);
|
|
|
|
|
+
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+ return [true, '更新记录成功,记录草稿,进入审批流程'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
$model->state = $data['state'];
|
|
$model->state = $data['state'];
|
|
|
$model->save();
|
|
$model->save();
|
|
|
|
|
|
|
@@ -3126,7 +3146,7 @@ class ItemService extends Service
|
|
|
|
|
|
|
|
public function checkIsDelivery($data, $tableName){
|
|
public function checkIsDelivery($data, $tableName){
|
|
|
//是否需要交付物完结
|
|
//是否需要交付物完结
|
|
|
- if($data['is_review_required']){
|
|
|
|
|
|
|
+ if($data['is_delivery_required']){
|
|
|
$column = $tableName . '_id';
|
|
$column = $tableName . '_id';
|
|
|
$type_map = [
|
|
$type_map = [
|
|
|
"item" => 1,
|
|
"item" => 1,
|
|
@@ -3149,7 +3169,7 @@ class ItemService extends Service
|
|
|
->where('field_type', CustomFieldValue::type_two)
|
|
->where('field_type', CustomFieldValue::type_two)
|
|
|
->where('is_delivery', CustomFieldValue::delivery_one)
|
|
->where('is_delivery', CustomFieldValue::delivery_one)
|
|
|
->exists();
|
|
->exists();
|
|
|
- if(! $bool) return [true, ''];
|
|
|
|
|
|
|
+ if($bool) return [true, ''];
|
|
|
|
|
|
|
|
return [false, '请先上传交付物后再提交完结'];
|
|
return [false, '请先上传交付物后再提交完结'];
|
|
|
}
|
|
}
|
|
@@ -3399,12 +3419,12 @@ class ItemService extends Service
|
|
|
if(empty($customer)) return [false,'分享链接不存在或已被删除'];
|
|
if(empty($customer)) return [false,'分享链接不存在或已被删除'];
|
|
|
$customer = $customer->toArray();
|
|
$customer = $customer->toArray();
|
|
|
|
|
|
|
|
|
|
+ $final_status = $this->fillFinalStatus($customer, time());
|
|
|
$customer['expire_time'] = ! empty($customer['expire_time']) ? date("Y-m-d", $customer['expire_time']) : "";
|
|
$customer['expire_time'] = ! empty($customer['expire_time']) ? date("Y-m-d", $customer['expire_time']) : "";
|
|
|
$customer['crt_name'] = Employee::where('id',$customer['crt_id'])->value('title');
|
|
$customer['crt_name'] = Employee::where('id',$customer['crt_id'])->value('title');
|
|
|
$customer['crt_time'] = $customer['crt_time'] ? date("Y-m-d H:i:s",$customer['crt_time']): '';
|
|
$customer['crt_time'] = $customer['crt_time'] ? date("Y-m-d H:i:s",$customer['crt_time']): '';
|
|
|
$customer['status_title'] = ItemNodeMissionShare::State_Type[$customer['status']] ?? '';
|
|
$customer['status_title'] = ItemNodeMissionShare::State_Type[$customer['status']] ?? '';
|
|
|
$customer['type_title'] = ItemNodeMissionShare::QX_Type[$customer['type']] ?? '';
|
|
$customer['type_title'] = ItemNodeMissionShare::QX_Type[$customer['type']] ?? '';
|
|
|
- $final_status = $this->fillFinalStatus($customer, time());
|
|
|
|
|
$customer['final_status'] = $final_status;
|
|
$customer['final_status'] = $final_status;
|
|
|
$customer['final_status_title'] = ItemNodeMissionShare::State_Type[$final_status] ?? '';
|
|
$customer['final_status_title'] = ItemNodeMissionShare::State_Type[$final_status] ?? '';
|
|
|
|
|
|