|
@@ -6,6 +6,7 @@ use app\common\constant\ApplyConstant;
|
|
|
use app\common\constant\CommonConstant;
|
|
|
use app\common\model\Approve;
|
|
|
use app\common\model\ApproveApplyGoods;
|
|
|
+use app\common\model\ApproveCopy;
|
|
|
use app\common\model\ApproveEvectionPeerUser;
|
|
|
use app\common\model\ApproveInfo;
|
|
|
use app\common\model\ApproveInfoLog;
|
|
@@ -88,26 +89,42 @@ class ApproveService
|
|
|
$userids = $search && !is_numeric($search) ? User::where('name', 'like', '%' . $search . '%')->column('userid') : [];
|
|
|
|
|
|
$userid = $user['userid'];
|
|
|
+ $group = $status == 3 ? 'approve_copy' : 'approve';
|
|
|
+ if ($group == 'approve') {
|
|
|
+ $model = Approve::class;
|
|
|
+ $field = 'id as approve_id,info_id,status,create_at';
|
|
|
+ } else {
|
|
|
+ $model = ApproveCopy::class;
|
|
|
+ $field = 'id as approve_id,info_id,create_at';
|
|
|
+ }
|
|
|
$aliasName = 'approve.';
|
|
|
$jobName = 'approveInfo.';
|
|
|
- $field = 'id as approve_id,info_id,status,create_at';
|
|
|
$joinField = 'module,user_id,apply_user_id,order_no,apply_date,reason,type,desc,start_time,end_time';
|
|
|
$field = CommonService::getAliasField($field, $aliasName);
|
|
|
$joinField = CommonService::getAliasField($joinField, $jobName);
|
|
|
$field = implode(',', array_merge($field, $joinField));
|
|
|
- $list = Approve::alias('approve')
|
|
|
+ $list = $model::alias('approve')
|
|
|
->field($field)
|
|
|
->when($status, function ($query) use ($aliasName, $status) {
|
|
|
if ($status == 1) {
|
|
|
- $query->where($aliasName . 'status', 'in', [CommonConstant::STATUS_1, CommonConstant::STATUS_2]);
|
|
|
+ $query->where($aliasName . 'status', CommonConstant::STATUS_1);
|
|
|
+// $query->where($aliasName . 'status', 'in', [CommonConstant::STATUS_1, CommonConstant::STATUS_2]);
|
|
|
}
|
|
|
if ($status == 2) {
|
|
|
$query->where($aliasName . 'status', 'in', [CommonConstant::STATUS_3, CommonConstant::STATUS_4]);
|
|
|
}
|
|
|
})
|
|
|
->where($aliasName . 'is_deleted', CommonConstant::IS_DELETED_0)
|
|
|
- ->where($aliasName . 'group', CommonConstant::IS_WHO_0)
|
|
|
- ->where($aliasName . 'state', CommonConstant::IS_WHO_0)
|
|
|
+ ->when($group, function ($query) use ($aliasName, $group) {
|
|
|
+ if ($group == 'approve') {
|
|
|
+ $query->where($aliasName . 'group', CommonConstant::IS_WHO_0);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ ->when($group, function ($query) use ($aliasName, $group) {
|
|
|
+ if ($group == 'approve') {
|
|
|
+ $query->where($aliasName . 'state', CommonConstant::IS_WHO_0);
|
|
|
+ }
|
|
|
+ })
|
|
|
->where($aliasName . 'approve_user', $userid)
|
|
|
->where($jobName . 'is_deleted', CommonConstant::IS_DELETED_0)
|
|
|
->when($module, function ($query) use ($jobName, $module) {
|
|
@@ -287,35 +304,53 @@ class ApproveService
|
|
|
*
|
|
|
* @param integer $id 审批ID
|
|
|
* @param mixed $user 用户信息
|
|
|
+ * @param string $group 类别:approve=审批,approve_copy=审批抄送
|
|
|
* @param string $type 类型:detail=详情,info=信息
|
|
|
**/
|
|
|
- public static function get_detail($id, $user, $type)
|
|
|
+ public static function get_detail($id, $user, $group, $type)
|
|
|
{
|
|
|
$userid = $user['userid'];
|
|
|
- $info = Approve::field('id,info_id,status')
|
|
|
+ if ($group == 'approve') {
|
|
|
+ $model = Approve::class;
|
|
|
+ $field = 'id,info_id,status';
|
|
|
+ } else {
|
|
|
+ $model = ApproveCopy::class;
|
|
|
+ $field = 'id,info_id';
|
|
|
+ }
|
|
|
+ $info = $model::field($field)
|
|
|
->where('is_deleted', CommonConstant::IS_DELETED_0)
|
|
|
- ->where('group', CommonConstant::IS_WHO_0)
|
|
|
- ->where('state', CommonConstant::IS_WHO_0)
|
|
|
+ ->when($group, function ($query) use ($group) {
|
|
|
+ if ($group == 'approve') {
|
|
|
+ $query->where('group', CommonConstant::IS_WHO_0);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ ->when($group, function ($query) use ($group) {
|
|
|
+ if ($group == 'approve') {
|
|
|
+ $query->where('state', CommonConstant::IS_WHO_0);
|
|
|
+ }
|
|
|
+ })
|
|
|
->where('approve_user', $userid)
|
|
|
->find($id);
|
|
|
$data = [];
|
|
|
+ $is_maintain = false;
|
|
|
+ $is_feedback = false;
|
|
|
if ($info) {
|
|
|
$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) {
|
|
|
- $is_maintain = CommonService::isMaintain($user);
|
|
|
- }
|
|
|
- if ($data['approve_status'] == CommonConstant::STATUS_3) {
|
|
|
+ $data['approve_status'] = isset($info['status']) ? $info['status'] : CommonConstant::STATUS_1;
|
|
|
+ if ($group == 'approve') {
|
|
|
+ // 条件:维修模块 审批状态是审批中 用户是物业主管或信息负责人 是否显示维修人员:false=不显示,true=显示 目的:审批
|
|
|
+ // 条件:维修模块 审批状态是审批同意 用户是物业主管或信息负责人 反馈状态 是否显示上传反馈结果:false=不显示,true=显示 目的:上传反馈结果
|
|
|
+ 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 (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;
|
|
|
+ if (CommonService::isMaintain($user) && $data['module']['feedback_status'] == CommonConstant::IS_WHO_0) {
|
|
|
+ $is_feedback = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -406,7 +441,7 @@ class ApproveService
|
|
|
except(CommonConstant::get_module_list()[CommonConstant::MODULE_8] . '记录不存在或已删除');
|
|
|
}
|
|
|
$is_maintain = CommonService::isMaintain($user);
|
|
|
- if(!$is_maintain){
|
|
|
+ if (!$is_maintain) {
|
|
|
except('您没有权限操作');
|
|
|
}
|
|
|
// TODO 没有判断反馈状态
|
|
@@ -508,8 +543,8 @@ class ApproveService
|
|
|
'reason' => $params['reason'],
|
|
|
'type' => $params['type'],
|
|
|
'desc' => $params['desc'],
|
|
|
- 'start_time' => $params['module'] == CommonConstant::MODULE_6 ? $params['start_time'].' '.$params['start_am'] : $params['start_time'],
|
|
|
- 'end_time' => $params['module'] == CommonConstant::MODULE_6 ? $params['end_time'].' '.$params['end_am'] : $params['end_time'],
|
|
|
+ 'start_time' => $params['module'] == CommonConstant::MODULE_6 ? $params['start_time'] . ' ' . $params['start_am'] : $params['start_time'],
|
|
|
+ 'end_time' => $params['module'] == CommonConstant::MODULE_6 ? $params['end_time'] . ' ' . $params['end_am'] : $params['end_time'],
|
|
|
'apply_id' => $params['apply_id'],
|
|
|
];
|
|
|
|