data($param)->allowField(true)->save()) { $data = []; $data['record_id'] = $this->record_id; return $data; } else { $this->error = '添加失败'; return false; } } /** * 审批意见(列表) * @param types 关联对象 * @param types_id 联对象ID * @return */ public function getDataList($param) { $userModel = new \app\admin\model\User(); if (empty($param['types']) || empty($param['types_id'])) { return []; } $result = []; # 获取创建者信息(业务审批) if (in_array($param['types'], ['crm_contract', 'crm_receivables', 'crm_invoice', 'jxc_purchase', 'jxc_retreat', 'jxc_sale', 'jxc_salereturn', 'jxc_payment', 'jxc_collection', 'jxc_allocation', 'jxc_inventory'])) { $model = db($param['types']); $primaryKey = null; if ($param['types'] == 'crm_contract') $primaryKey = 'contract_id'; if ($param['types'] == 'crm_receivables') $primaryKey = 'receivables_id'; if ($param['types'] == 'crm_invoice') $primaryKey = 'invoice_id'; if ($param['types'] == 'jxc_purchase') $primaryKey = 'purchase_id'; if ($param['types'] == 'jxc_retreat') $primaryKey = 'retreat_id'; if ($param['types'] == 'jxc_sale') $primaryKey = 'sale_id'; if ($param['types'] == 'jxc_salereturn') $primaryKey = 'salereturn_id'; if ($param['types'] == 'jxc_payment') $primaryKey = 'payment_note_id'; if ($param['types'] == 'jxc_collection') $primaryKey = 'collection_note_id'; if ($param['types'] == 'jxc_allocation') $primaryKey = 'allocation_id'; if ($param['types'] == 'jxc_inventory') $primaryKey = 'inventory_id'; $info = $model->field(['create_time', 'owner_user_id'])->where($primaryKey, $param['types_id'])->find(); $userInfo = $userModel->getUserById($info['owner_user_id']); $result[] = [ 'check_date' => date('Y-m-d H:i:s', $info['create_time']), 'check_time' => $info['create_time'], 'check_user_id' => $info['owner_user_id'], 'check_user_id_info' => $userInfo, 'content' => '', 'flow_id' => 0, 'is_end' => 0, 'order_id' => 1, 'record_id' => 0, 'status' => 3, 'types' => $param['types'], 'types_id' => $param['types_id'] ]; }else{ unset($param['action']); # 获取创建者信息(办公审批) $info = db('oa_examine')->field(['create_time', 'create_user_id','update_time,check_status'])->where('examine_id', $param['types_id'])->find(); $userInfo = $userModel->getUserById($info['create_user_id']); #撤销之后修改再次审批 审批流程过滤之前的审批记录 if($info['check_status']<2){ $param['check_time']=['>',$info['update_time']?:$info['create_time']]; } $result[] = [ 'check_date' => date('Y-m-d H:i:s', $info['create_time']), 'check_time' => $info['create_time'], 'check_user_id' => $info['create_user_id'], 'check_user_id_info' => $userInfo, 'content' => '', 'flow_id' => 0, 'is_end' => 0, 'order_id' => 1, 'record_id' => 0, 'status' => 3, 'types' => $param['types'], 'types_id' => $param['types_id'] ]; } unset($param['is_record']); # 多次撤销使用 只显示最后一次撤销数据条件 is_end 0 $param['is_end']=0; $list = db('admin_examine_record')->where($param)->order('check_time asc')->select(); foreach ($list as $k=>$v) { $list[$k]['check_user_id_info'] = $userModel->getUserById($v['check_user_id']); $list[$k]['check_date'] = date('Y-m-d H:i:s', $v['check_time']); $list[$k]['order_id'] = $k + 2; $result[] = $list[$k]; } return !empty($result) ? $result : []; } /** * 审批意见(标记无效,撤销审批时使用) * @param types 关联对象 * @param types_id 关联对象ID * @return */ public function setEnd($param) { if (empty($param['types']) || empty($param['types_id'])) { $this->error = '参数错误'; return false; } $res = $this->where(['types' => $param['types'],'types_id' => $param['types_id']])->update(['is_end' => 1]); return true; } }