zhanglinxin 1 year ago
parent
commit
974ea67c3b

+ 4 - 4
application/api/controller/Approveinfo.php

@@ -406,7 +406,7 @@ class Approveinfo extends Base
     {
         $id = input('id') ?: 0;
         $user = $this->user;
-        ApproveInfoService::make($id, [],$user, 'urging');
+        ApproveInfoService::make($id, [], $user, 'urging');
         $this->success('催办成功');
     }
 
@@ -420,7 +420,7 @@ class Approveinfo extends Base
     {
         $id = input('id') ?: 0;
         $user = $this->user;
-        ApproveInfoService::make($id, [],$user, 'cancel');
+        ApproveInfoService::make($id, [], $user, 'cancel');
         $this->success('撤销成功');
     }
 
@@ -430,13 +430,13 @@ class Approveinfo extends Base
      * @Apidoc\Desc("维修模块")
      * @Apidoc\Method("POST")
      * @Apidoc\Param("id", type="integer",require=true, desc="申请ID")
-     * @Apidoc\Param("comment_score", type="sting",require=true, desc="评分")
+     * @Apidoc\Param("comment_score", type="sting",require=true, desc="满意程度 评分1-5")
      * @Apidoc\Param("comment", type="sting",require=false, desc="评价内容")
      **/
     public function comment()
     {
         $id = input('id') ?: 0;
-        $comment_score = input('comment_score') ?: '';
+        $comment_score = input('comment_score') ?: 0;
         $comment = input('comment') ?: '';
         $params = compact("id", "comment_score", "comment");
         $user = $this->user;

+ 28 - 0
application/api/controller/Base.php

@@ -293,6 +293,21 @@ class Base extends Controller
                     $this->error($validate->getError());
                 }
             }
+            if ($action_name == 'comment') {
+                $rule = [
+                    'id|申请参数' => 'require|gt:0',
+                    'comment_score|满意程度' => 'require',
+                    'comment|评价内容' => 'require',
+                ];
+                $message = [
+                    'comment_score.require' => '请选择满意程度',
+                    'comment.require' => '请输入评价内容',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
         }
         if ($controllername == 'approve') {
             if (in_array($action_name, ['get_detail', 'get_info'])) {
@@ -318,6 +333,19 @@ class Base extends Controller
                     $this->error($validate->getError());
                 }
             }
+            if ($action_name == 'feedback') {
+                $rule = [
+                    'approve_id|审批参数' => 'require|gt:0',
+                    'feedback|反馈结果' => 'require',
+                ];
+                $message = [
+                    'feedback.require' => '请输入反馈结果',
+                ];
+                $validate = new Validate($rule, $message);
+                if (!$validate->check($params)) {
+                    $this->error($validate->getError());
+                }
+            }
         }
     }
 

+ 30 - 3
application/common/service/ApproveInfoService.php

@@ -7,6 +7,7 @@ use app\common\constant\CommonConstant;
 use app\common\model\Approve;
 use app\common\model\ApproveCopy;
 use app\common\model\ApproveApplyGoods;
+use app\common\model\ApproveMaintain;
 use app\common\model\ApproveStockGoods;
 use app\common\model\ApproveEvectionPeerUser;
 use app\common\model\ApproveInfo;
@@ -961,9 +962,6 @@ class ApproveInfoService
     {
         $userid = $user['userid'];
         $info = ApproveInfo::field('id,user_id,module,status')
-            ->where(function ($query) use ($userid) {
-                $query->where('user_id', $userid)->whereOr('apply_user_id', $userid);
-            })
             ->where('is_deleted', CommonConstant::IS_DELETED_0)
             ->find($id);
         if (!$info) {
@@ -990,6 +988,35 @@ class ApproveInfoService
                 $info->status = CommonConstant::STATUS_5;
                 $info->save();
                 break;
+            case 'comment':
+                if ($info->status != CommonConstant::STATUS_3) {
+                    except('非审批同意状态无法操作');
+                }
+                if ($info->module != CommonConstant::MODULE_8) {
+                    except(CommonConstant::get_module_list()[CommonConstant::MODULE_8] . '记录不存在或已删除');
+                }
+
+                $params['comment_status'] = CommonConstant::IS_WHO_1;
+                self::comment($info, $params);
+                break;
+        }
+        return true;
+    }
+
+    /**
+     * 评分
+     *
+     * @param mixed $info 申请信息
+     * @param array $params 数组
+     **/
+    public static function comment($info, $params)
+    {
+        try {
+            $data = $params;
+            // 更新维修信息
+            ApproveMaintain::where('info_id', $info->id)->update($data);
+        } catch (Exception $e) {
+            except('出现错误:' . $e->getMessage());
         }
         return true;
     }

+ 12 - 12
application/common/service/ApproveService.php

@@ -304,8 +304,8 @@ class ApproveService
             if ($data) {
                 $data['approve_id'] = $id;
                 $data['approve_status'] = $info['status'];
-                // 条件:维修模块 审批状态是审批中 用户是物业主管或信息负责人 是否显示维修人员:false=不显示,true=显示
-                // 条件:维修模块 审批状态是审批同意 用户是物业主管或信息负责人 已选择维修人员 是否显示上传反馈结果:false=不显示,true=显示
+                // 条件:维修模块 审批状态是审批中 用户是物业主管或信息负责人 是否显示维修人员:false=不显示,true=显示 目的:审批
+                // 条件:维修模块 审批状态是审批同意 用户是物业主管或信息负责人 是否显示上传反馈结果:false=不显示,true=显示 目的:上传反馈结果
                 $is_maintain = false;
                 $is_feedback = false;
                 if ($data['module'] == CommonConstant::MODULE_8) {
@@ -313,7 +313,8 @@ class ApproveService
                         $is_maintain = CommonService::isMaintain($user);
                     }
                     if ($data['approve_status'] == CommonConstant::STATUS_3) {
-                        if (CommonService::isMaintain($user) && $data['maintain_user_id'] > 0 && $data['module']['feedback_status'] == CommonConstant::IS_WHO_0) {
+//                        if (CommonService::isMaintain($user) && $data['maintain_user_id'] > 0 && $data['module']['feedback_status'] == CommonConstant::IS_WHO_0) {
+                        if (CommonService::isMaintain($user) && $data['module']['feedback_status'] == CommonConstant::IS_WHO_0) {
                             $is_feedback = true;
                         }
                     }
@@ -363,6 +364,7 @@ class ApproveService
                 if ($info->status != CommonConstant::STATUS_2) {
                     except('非待处理状态无法操作!');
                 }
+
                 self::audit($approve, $info, $params, $user);
                 break;
             case 'edit':
@@ -383,6 +385,7 @@ class ApproveService
                 if (!$info->module_info) {
                     except(CommonConstant::get_module_list()[$params['module']] . '记录不存在或已删除');
                 }
+
                 self::edit($approve, $info, $params);
                 break;
             case 'feedback':
@@ -406,7 +409,10 @@ class ApproveService
                 if(!$is_maintain){
                     except('您没有权限操作');
                 }
-                self::feedback($approve, $info, $params);
+
+                $params['maintain_user_id'] = $info->maintain_user_id;
+                $params['comment_status'] = CommonConstant::IS_WHO_1;
+                self::feedback($info, $params);
                 break;
         }
         return true;
@@ -548,19 +554,13 @@ class ApproveService
     /**
      * 上传反馈结果
      *
-     * @param mixed $approve 审批信息
      * @param mixed $info 申请信息
      * @param array $params 数组
      **/
-    public static function feedback($approve, $info, $params)
+    public static function feedback($info, $params)
     {
         try {
-            $data = [
-                'maintain_user_id' => $info->maintain_user_id,
-                'feedback_status' => CommonConstant::IS_WHO_1,
-                'feedback' => $params['feedback'],
-                'feedback_images' => $params['feedback_images'],
-            ];
+            $data = $params;
             // 更新维修信息
             ApproveMaintain::where('info_id', $info->id)->update($data);
         } catch (Exception $e) {