|
@@ -9,6 +9,7 @@ use app\common\model\ApproveApplyGoods;
|
|
|
use app\common\model\ApproveEvectionPeerUser;
|
|
|
use app\common\model\ApproveInfo;
|
|
|
use app\common\model\ApproveInfoLog;
|
|
|
+use app\common\model\ApproveMaintain;
|
|
|
use app\common\model\ApproveStockGoods;
|
|
|
use app\common\model\ApproveUseGoods;
|
|
|
use app\common\model\User;
|
|
@@ -299,21 +300,21 @@ class ApproveService
|
|
|
->find($id);
|
|
|
$data = [];
|
|
|
if ($info) {
|
|
|
- $data = ApproveInfoService::get_detail($info['info_id'], $user, CommonConstant::IS_WHO_0,$type);
|
|
|
- if($data){
|
|
|
+ $data = ApproveInfoService::get_detail($info['info_id'], $user, CommonConstant::IS_WHO_0, $type);
|
|
|
+ if ($data) {
|
|
|
$data['approve_id'] = $id;
|
|
|
$data['approve_status'] = $info['status'];
|
|
|
// 条件:维修模块 审批状态是审批中 用户是物业主管或信息负责人 是否显示维修人员:false=不显示,true=显示
|
|
|
// 条件:维修模块 审批状态是审批同意 用户是物业主管或信息负责人 是否已反馈 是否显示上传反馈结果:false=不显示,true=显示
|
|
|
$is_maintain = false;
|
|
|
$is_feedback = false;
|
|
|
- if($data['module'] == CommonConstant::MODULE_8){
|
|
|
- if($data['approve_status'] == CommonConstant::STATUS_2){
|
|
|
+ if ($data['module'] == CommonConstant::MODULE_8) {
|
|
|
+ if ($data['approve_status'] == CommonConstant::STATUS_2) {
|
|
|
$is_maintain = CommonService::isMaintain($user);
|
|
|
}
|
|
|
- if($data['approve_status'] == CommonConstant::STATUS_3){
|
|
|
+ if ($data['approve_status'] == CommonConstant::STATUS_3) {
|
|
|
$is_maintain = CommonService::isMaintain($user);
|
|
|
- if($is_maintain && $data['module_info']['maintain_user_id'] > 0){
|
|
|
+ if ($is_maintain && $data['module_info']['maintain_user_id'] > 0) {
|
|
|
$is_feedback = true;
|
|
|
}
|
|
|
}
|
|
@@ -331,7 +332,7 @@ class ApproveService
|
|
|
* @param integer $id 审批ID
|
|
|
* @param array $params 数组
|
|
|
* @param mixed $user 用户信息
|
|
|
- * @param string $type 类型:audit=审批,edit=修改
|
|
|
+ * @param string $type 类型:audit=审批,edit=修改,feedback=上传反馈结果
|
|
|
**/
|
|
|
public static function make($id, $params, $user, $type)
|
|
|
{
|
|
@@ -347,27 +348,67 @@ class ApproveService
|
|
|
}
|
|
|
])
|
|
|
->find($id);
|
|
|
- if (!$approve) {
|
|
|
- except('审批记录不存在或已删除');
|
|
|
- }
|
|
|
- if ($approve->status != CommonConstant::STATUS_2) {
|
|
|
- except('非待处理状态无法操作');
|
|
|
- }
|
|
|
- $info = $approve->approve_info;
|
|
|
- if (!$info) {
|
|
|
- except('申请记录不存在或已删除');
|
|
|
- }
|
|
|
- if ($info->status != CommonConstant::STATUS_2) {
|
|
|
- except('非待处理状态无法操作!');
|
|
|
- }
|
|
|
|
|
|
switch ($type) {
|
|
|
case 'audit':
|
|
|
+ if (!$approve) {
|
|
|
+ except('审批记录不存在或已删除');
|
|
|
+ }
|
|
|
+ if ($approve->status != CommonConstant::STATUS_2) {
|
|
|
+ except('非待处理状态无法操作');
|
|
|
+ }
|
|
|
+ $info = $approve->approve_info;
|
|
|
+ if (!$info) {
|
|
|
+ except('申请记录不存在或已删除');
|
|
|
+ }
|
|
|
+ if ($info->status != CommonConstant::STATUS_2) {
|
|
|
+ except('非待处理状态无法操作!');
|
|
|
+ }
|
|
|
self::audit($approve, $info, $params, $user);
|
|
|
break;
|
|
|
case 'edit':
|
|
|
+ if (!$approve) {
|
|
|
+ except('审批记录不存在或已删除');
|
|
|
+ }
|
|
|
+ if ($approve->status != CommonConstant::STATUS_2) {
|
|
|
+ except('非待处理状态无法操作');
|
|
|
+ }
|
|
|
+ $info = $approve->approve_info;
|
|
|
+ if (!$info) {
|
|
|
+ except('申请记录不存在或已删除');
|
|
|
+ }
|
|
|
+ if ($info->status != CommonConstant::STATUS_2) {
|
|
|
+ except('非待处理状态无法操作!');
|
|
|
+ }
|
|
|
+ $info->module_info;
|
|
|
+ if (!$info->module_info) {
|
|
|
+ except(CommonConstant::get_module_list()[$params['module']] . '记录不存在或已删除');
|
|
|
+ }
|
|
|
self::edit($approve, $info, $params);
|
|
|
break;
|
|
|
+ case 'feedback':
|
|
|
+ if (!$approve) {
|
|
|
+ except('审批记录不存在或已删除');
|
|
|
+ }
|
|
|
+ if ($approve->status != CommonConstant::STATUS_3) {
|
|
|
+ except('非审批同意状态无法操作');
|
|
|
+ }
|
|
|
+ $info = $approve->approve_info;
|
|
|
+ if (!$info) {
|
|
|
+ except('申请记录不存在或已删除');
|
|
|
+ }
|
|
|
+ if ($info->status != CommonConstant::STATUS_3) {
|
|
|
+ except('非审批同意状态无法操作!');
|
|
|
+ }
|
|
|
+ if ($info->module != CommonConstant::MODULE_8) {
|
|
|
+ except(CommonConstant::get_module_list()[CommonConstant::MODULE_8] . '记录不存在或已删除');
|
|
|
+ }
|
|
|
+ $is_maintain = CommonService::isMaintain($user);
|
|
|
+ if(!$is_maintain){
|
|
|
+ except('您没有权限操作');
|
|
|
+ }
|
|
|
+ self::feedback($approve, $info, $params);
|
|
|
+ break;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
@@ -378,6 +419,7 @@ class ApproveService
|
|
|
* @param mixed $approve 审批信息
|
|
|
* @param mixed $info 申请信息
|
|
|
* @param array $params 数组
|
|
|
+ * @param mixed $user 用户信息
|
|
|
**/
|
|
|
public static function audit($approve, $info, $params, $user)
|
|
|
{
|
|
@@ -458,11 +500,6 @@ class ApproveService
|
|
|
**/
|
|
|
public static function edit($approve, $info, $params)
|
|
|
{
|
|
|
- $info->module_info;
|
|
|
- if (!$info->module_info) {
|
|
|
- except(CommonConstant::get_module_list()[$params['module']] . '记录不存在或已删除');
|
|
|
- }
|
|
|
-
|
|
|
Db::startTrans();
|
|
|
try {
|
|
|
// 编辑对应模块
|
|
@@ -509,4 +546,27 @@ class ApproveService
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 上传反馈结果
|
|
|
+ *
|
|
|
+ * @param mixed $approve 审批信息
|
|
|
+ * @param mixed $info 申请信息
|
|
|
+ * @param array $params 数组
|
|
|
+ **/
|
|
|
+ public static function feedback($approve, $info, $params)
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ $data = [
|
|
|
+ 'maintain_user_id' => $info->maintain_user_id,
|
|
|
+ 'feedback' => $params['feedback'],
|
|
|
+ 'feedback_images' => $params['feedback_images'],
|
|
|
+ ];
|
|
|
+ // 更新维修信息
|
|
|
+ ApproveMaintain::where('info_id', $info->id)->update($data);
|
|
|
+ } catch (Exception $e) {
|
|
|
+ except('出现错误:' . $e->getMessage());
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
}
|