generate_sn(ProjectProgressPayment::class, 'dataid'), 'num' => generate_sn(ProjectProgressPayment::class, 'num'), 'project_id' => $params['project_id'], 'djr' => $params['djr'], 'djrq' => $params['djrq'], 'sbhj' => $params['sbhj'], 'shhj' => $params['shhj'], 'ljhj' => $params['ljhj'], 'annex' => json_encode($params['annex']) ]); foreach ($params['project_progress_payment_detail'] as $item) { $item['project_progress_payment_id'] = $p->id; ProjectChangeVisaContentLogic::add($item); } Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 编辑 * @param array $params * @return bool * @author likeadmin * @date 2024/02/23 13:47 */ public static function edit(array $params): bool { Db::startTrans(); try { ProjectProgressPayment::where('id', $params['id'])->update([ 'project_id' => $params['project_id'], 'djr' => $params['djr'], 'djrq' => $params['djrq'], 'sbhj' => $params['sbhj'], 'shhj' => $params['shhj'], 'ljhj' => $params['ljhj'], 'annex' => json_encode($params['annex']) ]); Db::commit(); return true; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); return false; } } /** * @notes 删除 * @param array $params * @return bool * @author likeadmin * @date 2024/02/23 13:47 */ public static function delete(array $params): bool { return ProjectProgressPayment::destroy($params['id']); } /** * @notes 获取详情 * @param $params * @return array * @author likeadmin * @date 2024/02/23 13:47 */ public static function detail($params): array { $data = ProjectProgressPayment::with(['projectInfo'])->findOrEmpty($params['id'])->toArray(); $data['annex'] = json_decode($data['annex'], true); return $data; } }