From 69dff92c93feccad94df08a8ccaa84d9b6c2468c Mon Sep 17 00:00:00 2001 From: weiz <736250432@qq.com> Date: Mon, 1 Apr 2024 15:59:56 +0800 Subject: [PATCH] update --- .../logic/project/ProjectEstimateLogic.php | 279 +++++++++--------- 1 file changed, 140 insertions(+), 139 deletions(-) diff --git a/app/adminapi/logic/project/ProjectEstimateLogic.php b/app/adminapi/logic/project/ProjectEstimateLogic.php index 0c2bfefb7..07b585628 100644 --- a/app/adminapi/logic/project/ProjectEstimateLogic.php +++ b/app/adminapi/logic/project/ProjectEstimateLogic.php @@ -11,142 +11,143 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\project; - - -use app\common\model\auth\Admin; -use app\common\model\custom\Custom; -use app\common\model\custom\CustomContacts; -use app\common\model\custom\CustomerDemand; -use app\common\model\project\Project; -use app\common\model\project\ProjectEstimate; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * 项目概算逻辑 - * Class ProjectEstimateLogic - * @package app\adminapi\logic\project - */ -class ProjectEstimateLogic extends BaseLogic -{ - - - /** - * @notes 添加项目概算 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/11/24 21:42 - */ - public static function add(array $params,$admin_id): bool - { - Db::startTrans(); - try { - ProjectEstimate::create([ - 'project_id' => $params['project_id'], - 'customer_demand_id' => $params['customer_demand_id'], - 'estimate_source' => $params['estimate_source'], - 'contact_id' => $params['contact_id'], - 'create_user' => $params['create_user'] ?? '', - 'quotation_date' => strtotime($params['quotation_date']), - 'invoice_type' => $params['invoice_type'] ?? 0, - 'technician' => $params['technician'] ?? 0, - 'estimate_amount' => $params['estimate_amount'] ?? 0, - 'ask' => $params['ask'] ?? '', - 'annex' => $params['annex']? json_encode($params['annex']) : null, - 'add_user' => $admin_id, - 'update_user' => $admin_id, - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 编辑项目概算 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/11/24 21:42 - */ - public static function edit(array $params,$admin_id): bool - { - Db::startTrans(); - try { - ProjectEstimate::where('id', $params['id'])->update([ - 'project_id' => $params['project_id'], - 'customer_demand_id' => $params['customer_demand_id'], - 'estimate_source' => $params['estimate_source'], - 'contact_id' => $params['contact_id'], - 'create_user' => $params['create_user'] ?? '', - 'quotation_date' => strtotime($params['quotation_date']), - 'invoice_type' => $params['invoice_type'] ?? 0, - 'technician' => $params['technician'] ?? 0, - 'estimate_amount' => $params['estimate_amount'] ?? 0, - 'ask' => $params['ask'] ?? '', - 'annex' => $params['annex']? json_encode($params['annex']) : null, - 'update_user' => $admin_id, - 'update_time' => time(), - ]); - Db::commit(); - return true; - } catch (\Exception $e) { - Db::rollback(); - self::setError($e->getMessage()); - return false; - } - } - - - /** - * @notes 删除项目概算 - * @param array $params - * @return bool - * @author likeadmin - * @date 2023/11/24 21:42 - */ - public static function delete(array $params): bool - { - return ProjectEstimate::destroy($params['id']); - } - - - /** - * @notes 获取项目概算详情 - * @param $params - * @return array - * @author likeadmin - * @date 2023/11/24 21:42 - */ - public static function detail($params): array - { - $field = 'id,project_id,customer_demand_id,contact_id,estimate_source,create_user,quotation_date,invoice_type,technician,estimate_amount,ask,annex,add_user,update_user,create_time,update_time'; - $data = ProjectEstimate::field($field)->findOrEmpty($params['id']); - $data['estimate_source_text'] = $data->estimate_source_text; - $data['invoice_type_text'] = $data->invoice_type_text; - $project = Project::field('name,project_code,custom_id')->where('id',$data['project_id'])->findOrEmpty(); - $custom = Custom::field('name')->where('id',$project['custom_id'])->findOrEmpty(); - $demand = CustomerDemand::field('theme')->where('id',$data['customer_demand_id'])->findOrEmpty(); - $contract = CustomContacts::field('name,phone')->where('id',$data['contact_id'])->findOrEmpty(); - $technician = Admin::field('name')->where('id',$data['technician'])->findOrEmpty(); - $admin = Admin::where('id','in',[$data['add_user'],$data['update_user']])->column('name','id'); - $data['project_name'] = $project['name']; - $data['project_code'] = $project['project_code']; - $data['custom_name'] = $custom['name']; - $data['customer_demand_name'] = $demand['theme']; - $data['contact_name'] = $contract['name']; - $data['contact_phone'] = $contract['phone']; - $data['technician_name'] = $technician['name']; - $data['add_user_name'] = $admin[$data['add_user']]; - $data['update_user_name'] = $admin[$data['update_user']]; - return $data->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\project; + + + use app\common\logic\BaseLogic; + use app\common\model\auth\Admin; + use app\common\model\custom\Custom; + use app\common\model\custom\CustomContacts; + use app\common\model\custom\CustomerDemand; + use app\common\model\project\Project; + use app\common\model\project\ProjectEstimate; + use think\facade\Db; + + + /** + * 项目概算逻辑 + * Class ProjectEstimateLogic + * @package app\adminapi\logic\project + */ + class ProjectEstimateLogic extends BaseLogic + { + + + /** + * @notes 添加项目概算 + * @param array $params + * @return bool + * @author likeadmin + * @date 2023/11/24 21:42 + */ + public static function add(array $params, $admin_id): bool + { + Db::startTrans(); + try { + ProjectEstimate::create([ + 'project_id' => $params['project_id'], + 'customer_demand_id' => $params['customer_demand_id'], + 'estimate_source' => $params['estimate_source'], + 'contact_id' => $params['contact_id'], + 'create_user' => $params['create_user'] ?? '', + 'quotation_date' => strtotime($params['quotation_date']), + 'invoice_type' => $params['invoice_type'] ?? 0, + 'technician' => $params['technician'] ?? 0, + 'estimate_amount' => $params['estimate_amount'] ?? 0, + 'ask' => $params['ask'] ?? '', + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'add_user' => $admin_id, + 'update_user' => $admin_id, + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 编辑项目概算 + * @param array $params + * @return bool + * @author likeadmin + * @date 2023/11/24 21:42 + */ + public static function edit(array $params, $admin_id): bool + { + Db::startTrans(); + try { + ProjectEstimate::where('id', $params['id'])->update([ + 'project_id' => $params['project_id'], + 'customer_demand_id' => $params['customer_demand_id'], + 'estimate_source' => $params['estimate_source'], + 'contact_id' => $params['contact_id'], + 'create_user' => $params['create_user'] ?? '', + 'quotation_date' => strtotime($params['quotation_date']), + 'invoice_type' => $params['invoice_type'] ?? 0, + 'technician' => $params['technician'] ?? 0, + 'estimate_amount' => $params['estimate_amount'] ?? 0, + 'ask' => $params['ask'] ?? '', + 'annex' => $params['annex'] ? json_encode($params['annex']) : null, + 'update_user' => $admin_id, + 'update_time' => time(), + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } + + + /** + * @notes 删除项目概算 + * @param array $params + * @return bool + * @author likeadmin + * @date 2023/11/24 21:42 + */ + public static function delete(array $params): bool + { + return ProjectEstimate::destroy($params['id']); + } + + + /** + * @notes 获取项目概算详情 + * @param $params + * @return array + * @author likeadmin + * @date 2023/11/24 21:42 + */ + public static function detail($params): array + { + $field = 'id,project_id,customer_demand_id,contact_id,estimate_source,create_user,quotation_date,invoice_type,technician,estimate_amount,ask,annex,add_user,update_user,create_time,update_time'; + $data = ProjectEstimate::field($field)->findOrEmpty($params['id']); + $data['estimate_source_text'] = $data->estimate_source_text; + $data['invoice_type_text'] = $data->invoice_type_text; + $project = Project::field('name,project_code,custom_id')->where('id', $data['project_id'])->findOrEmpty(); + $custom = Custom::field('name')->where('id', $project['custom_id'])->findOrEmpty(); + $demand = CustomerDemand::field('theme,recording_time')->where('id', $data['customer_demand_id'])->findOrEmpty(); + $contract = CustomContacts::field('name,phone')->where('id', $data['contact_id'])->findOrEmpty(); + $technician = Admin::field('name')->where('id', $data['technician'])->findOrEmpty(); + $admin = Admin::where('id', 'in', [$data['add_user'], $data['update_user']])->column('name', 'id'); + $data['project_name'] = $project['name']; + $data['project_code'] = $project['project_code']; + $data['custom_name'] = $custom['name']; + $data['customer_demand_name'] = $demand['theme']; + $data['recording_time'] = $demand['recording_time']; + $data['contact_name'] = $contract['name']; + $data['contact_phone'] = $contract['phone']; + $data['technician_name'] = $technician['name']; + $data['add_user_name'] = $admin[$data['add_user']]; + $data['update_user_name'] = $admin[$data['update_user']]; + return $data->toArray(); + } + } \ No newline at end of file