id; if($params['customer_id']){ $staff_id = Customer::where(['id'=>$params['customer_id']])->value('owner_staff_id'); } $params['staff_id'] = $staff_id; $params['check_status'] = 1; $flow = Flow::getsteplist(Flow::CONSUME_STATUS); $params['flow_id'] = $flow['flow_id']; $params['order_id'] = $flow['order_id']; if ($flow['status'] == 0) {//发起人自选 if (empty($params['flow_staff_ids'])) { throw new Exception('审批人必须选择'); } $params['flow_staff_ids'] = trim($params['flow_staff_ids']); } else { $params['flow_staff_ids'] = trim($flow['flow_staff_ids']); } $Model = new self; $result = $Model->allowField(true)->save($params); if (false === $result) { // 验证失败 输出错误信息 throw new Exception($Model->getError()); } $lastId= $Model->getLastInsID(); if ($params['file_ids'] && $params['customer_id']) { CustomerFile::addFiles($params['file_ids'], $params['customer_id']); } $staff_id = explode(',', $params['flow_staff_ids'])[0]; ExamineRecord::addExaminse(ExamineRecord::CONSUME_TYPE,$lastId, $staff_id); return true; } //编辑费用 public static function updateConsume($params) { $params['check_status'] = 1; $flow = Flow::getsteplist(Flow::CONSUME_STATUS); $params['flow_id'] = $flow['flow_id']; $params['order_id'] = $flow['order_id']; if ($flow['status'] == 0) {//发起人自选 if (empty($params['flow_staff_ids'])) { throw new Exception('审批人必须选择'); } $params['flow_staff_ids'] = trim($params['flow_staff_ids']); } else { $params['flow_staff_ids'] = trim($flow['flow_staff_ids']); } $Model = new self; // 调用当前模型对应的User验证器类进行数据验证 $result = $Model->save($params,['id'=>$params['id']]); if (false === $result) { // 验证失败 输出错误信息 throw new Exception($Model->getError()); } if ($flow['status'] == 1) {//固定审批 //发送审批通知 Flow::sendStepRecord($flow,Flow::CONSUME_STATUS, $params['id']); } else {//发起人自选 依次审批 $staff_id = explode(',', $params['flow_staff_ids'])[0]; if ($staff_id) { ExamineRecord::addExaminse(ExamineRecord::CONSUME_TYPE, $params['id'], $staff_id); } } return true; } public function getCreatetimeAttr($value){ if(empty($value)){ return $value; } return date('Y-m-d H:i:s',$value); } public function getUpdatetimeAttr($value){ if(empty($value)){ return $value; } return date('Y-m-d H:i:s',$value); } //销售 public function staff() { return $this->hasOne(Staff::class, 'id', 'staff_id')->field('id,img,name'); } //审核人 public function followStaff() { return $this->hasOne(Staff::class, 'id', 'flow_staff_ids')->field('id,img,name'); } //客户 public function customer() { return $this->hasOne(Customer::class, 'id', 'customer_id')->field('id,name'); } }