diff --git a/app/adminapi/lists/marketing/MarketingBidResultDetailLists.php b/app/adminapi/lists/marketing/MarketingBidResultDetailLists.php index a063d3e01..5c45540c4 100644 --- a/app/adminapi/lists/marketing/MarketingBidResultDetailLists.php +++ b/app/adminapi/lists/marketing/MarketingBidResultDetailLists.php @@ -1,77 +1,77 @@ - ['bid_result_id'], - ]; - } - - - /** - * @notes 获取市场经营--投标管理--投标结果--参标单位列表 - * @return array - * @throws \think\db\exception\DataNotFoundException - * @throws \think\db\exception\DbException - * @throws \think\db\exception\ModelNotFoundException - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public function lists(): array - { - return MarketingBidResultDetail::where($this->searchWhere) - ->field(['id', 'bid_result_id', 'company', 'quotation_one', 'quotation_two', 'quotation_three', 'final_rate', 'manager', 'month', 'result']) - ->limit($this->limitOffset, $this->limitLength) - ->order(['id' => 'desc']) - ->select() - ->toArray(); - } - - - /** - * @notes 获取市场经营--投标管理--投标结果--参标单位数量 - * @return int - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public function count(): int - { - return MarketingBidResultDetail::where($this->searchWhere)->count(); - } - -} \ No newline at end of file + ['bid_result_id'], + ]; + } + + + /** + * @notes 获取市场经营--投标管理--投标结果--参标单位列表 + * @return array + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\DbException + * @throws \think\db\exception\ModelNotFoundException + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public function lists(): array + { + return MarketingBidResultDetail::where($this->searchWhere) + ->field(['id', 'bid_result_id', 'company', 'quotation_one', 'quotation_two', 'quotation_three', 'final_rate', 'manager', 'month', 'result']) + ->limit($this->limitOffset, $this->limitLength) + ->order(['id' => 'desc']) + ->select() + ->toArray(); + } + + + /** + * @notes 获取市场经营--投标管理--投标结果--参标单位数量 + * @return int + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public function count(): int + { + return MarketingBidResultDetail::where($this->searchWhere)->count(); + } + + } \ No newline at end of file diff --git a/app/adminapi/logic/marketing/MarketingBidResultDetailLogic.php b/app/adminapi/logic/marketing/MarketingBidResultDetailLogic.php index be44be74a..ed22cf74b 100644 --- a/app/adminapi/logic/marketing/MarketingBidResultDetailLogic.php +++ b/app/adminapi/logic/marketing/MarketingBidResultDetailLogic.php @@ -11,112 +11,110 @@ // +---------------------------------------------------------------------- // | author: likeadminTeam // +---------------------------------------------------------------------- - -namespace app\adminapi\logic\marketing; - - -use app\common\model\marketing\MarketingBidResultDetail; -use app\common\logic\BaseLogic; -use think\facade\Db; - - -/** - * 市场经营--投标管理--投标结果--参标单位逻辑 - * Class MarketingBidResultDetailLogic - * @package app\adminapi\logic\marketing - */ -class MarketingBidResultDetailLogic extends BaseLogic -{ - - - /** - * @notes 添加市场经营--投标管理--投标结果--参标单位 - * @param array $params - * @return bool - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public static function add(array $params): bool - { - Db::startTrans(); - try { - MarketingBidResultDetail::create([ - 'bid_result_id' => $params['bid_result_id'], - 'company' => $params['company'], - 'quotation_one' => $params['quotation_one'], - 'quotation_two' => $params['quotation_two'], - 'quotation_three' => $params['quotation_three'], - 'final_rate' => $params['final_rate'], - 'manager' => $params['manager'], - 'month' => $params['month'], - 'result' => $params['result'], - ]); - - 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/04/12 13:59 - */ - public static function edit(array $params): bool - { - Db::startTrans(); - try { - MarketingBidResultDetail::where('id', $params['id'])->update([ - 'bid_result_id' => $params['bid_result_id'], - 'company' => $params['company'], - 'quotation_one' => $params['quotation_one'], - 'quotation_two' => $params['quotation_two'], - 'quotation_three' => $params['quotation_three'], - 'final_rate' => $params['final_rate'], - 'manager' => $params['manager'], - 'month' => $params['month'], - 'result' => $params['result'], - ]); - - 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/04/12 13:59 - */ - public static function delete(array $params): bool - { - return MarketingBidResultDetail::destroy($params['id']); - } - - - /** - * @notes 获取市场经营--投标管理--投标结果--参标单位详情 - * @param $params - * @return array - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public static function detail($params): array - { - return MarketingBidResultDetail::findOrEmpty($params['id'])->toArray(); - } -} \ No newline at end of file + + namespace app\adminapi\logic\marketing; + + + use app\common\logic\BaseLogic; + use app\common\model\marketing\MarketingBidResultDetail; + use think\facade\Db; + + + /** + * 市场经营--投标管理--投标结果--参标单位逻辑 + * Class MarketingBidResultDetailLogic + * @package app\adminapi\logic\marketing + */ + class MarketingBidResultDetailLogic extends BaseLogic + { + + + /** + * @notes 添加市场经营--投标管理--投标结果--参标单位 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public static function add(array $params): bool + { + Db::startTrans(); + try { + MarketingBidResultDetail::create([ + 'bid_result_id' => $params['bid_result_id'], + 'company' => $params['company'], + 'quotation_one' => $params['quotation_one'] ?? 0, + 'quotation_two' => $params['quotation_two'] ?? 0, + 'quotation_three' => $params['quotation_three'] ?? 0, + 'final_rate' => $params['final_rate'] ?? 0, + 'manager' => $params['manager'] ?? '', + 'month' => $params['month'] ?? '', + 'result' => $params['result'] ?? 0, + ]); + 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/04/12 13:59 + */ + public static function edit(array $params): bool + { + Db::startTrans(); + try { + MarketingBidResultDetail::where('id', $params['id'])->update([ + 'bid_result_id' => $params['bid_result_id'], + 'company' => $params['company'], + 'quotation_one' => $params['quotation_one'] ?? 0, + 'quotation_two' => $params['quotation_two'] ?? 0, + 'quotation_three' => $params['quotation_three'] ?? 0, + 'final_rate' => $params['final_rate'] ?? 0, + 'manager' => $params['manager'] ?? '', + 'month' => $params['month'] ?? '', + 'result' => $params['result'] ?? 0, + ]); + 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/04/12 13:59 + */ + public static function delete(array $params): bool + { + return MarketingBidResultDetail::destroy($params['id']); + } + + + /** + * @notes 获取市场经营--投标管理--投标结果--参标单位详情 + * @param $params + * @return array + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public static function detail($params): array + { + return MarketingBidResultDetail::findOrEmpty($params['id'])->toArray(); + } + } \ No newline at end of file diff --git a/app/adminapi/validate/marketing/MarketingBidResultDetailValidate.php b/app/adminapi/validate/marketing/MarketingBidResultDetailValidate.php index ca7fb4658..e49acf956 100644 --- a/app/adminapi/validate/marketing/MarketingBidResultDetailValidate.php +++ b/app/adminapi/validate/marketing/MarketingBidResultDetailValidate.php @@ -1,112 +1,123 @@ - 'require', - 'bid_result_id' => 'require', - 'company' => 'require', - 'quotation_one' => 'require', - 'quotation_two' => 'require', - 'quotation_three' => 'require', - 'final_rate' => 'require', - 'manager' => 'require', - 'month' => 'require', - 'result' => 'require', - ]; - - - /** - * 参数描述 - * @var string[] - */ - protected $field = [ - 'id' => 'id', - 'bid_result_id' => '投标结果id', - 'company' => '投标单位', - 'quotation_one' => '报价1', - 'quotation_two' => '报价2', - 'quotation_three' => '报价3', - 'final_rate' => '最终费率', - 'manager' => '投标总监', - 'month' => '投标人月数', - 'result' => '投标结果 0-中标 1-不中标', - ]; - - - /** - * @notes 添加场景 - * @return MarketingBidResultDetailValidate - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public function sceneAdd() - { - return $this->only(['bid_result_id','company','quotation_one','quotation_two','quotation_three','final_rate','manager','month','result']); - } - - - /** - * @notes 编辑场景 - * @return MarketingBidResultDetailValidate - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public function sceneEdit() - { - return $this->only(['id','bid_result_id','company','quotation_one','quotation_two','quotation_three','final_rate','manager','month','result']); - } - - - /** - * @notes 删除场景 - * @return MarketingBidResultDetailValidate - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public function sceneDelete() - { - return $this->only(['id']); - } - - - /** - * @notes 详情场景 - * @return MarketingBidResultDetailValidate - * @author likeadmin - * @date 2024/04/12 13:59 - */ - public function sceneDetail() - { - return $this->only(['id']); - } - -} \ No newline at end of file + 'require|checkData', + 'bid_result_id' => 'require|checkBidResult', + 'company' => 'require', + 'quotation_one' => 'float|egt:0', + 'quotation_two' => 'float|egt:0', + 'quotation_three' => 'float|egt:0', + 'final_rate' => 'float|egt:0', + 'result' => 'integer|in:0,1', + ]; + + + /** + * 参数描述 + * @var string[] + */ + protected $field = [ + 'id' => 'id', + 'bid_result_id' => '投标结果id', + 'company' => '投标单位', + 'quotation_one' => '报价1', + 'quotation_two' => '报价2', + 'quotation_three' => '报价3', + 'final_rate' => '最终费率', + 'manager' => '投标总监', + 'month' => '投标人月数', + 'result' => '投标结果 0-中标 1-不中标', + ]; + + + /** + * @notes 添加场景 + * @return MarketingBidResultDetailValidate + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public function sceneAdd() + { + return $this->only(['bid_result_id', 'company', 'quotation_one', 'quotation_two', 'quotation_three', 'final_rate', 'manager', 'month', 'result']); + } + + + /** + * @notes 编辑场景 + * @return MarketingBidResultDetailValidate + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public function sceneEdit() + { + return $this->only(['id', 'bid_result_id', 'company', 'quotation_one', 'quotation_two', 'quotation_three', 'final_rate', 'manager', 'month', 'result']); + } + + + /** + * @notes 删除场景 + * @return MarketingBidResultDetailValidate + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public function sceneDelete() + { + return $this->only(['id']); + } + + + /** + * @notes 详情场景 + * @return MarketingBidResultDetailValidate + * @author likeadmin + * @date 2024/04/12 13:59 + */ + public function sceneDetail() + { + return $this->only(['id']); + } + + public function checkData($value): bool|string + { + $data = MarketingBidResultDetail::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '数据不存在' : true; + } + + public function checkBidResult($value): bool|string + { + $data = MarketingBidResult::where('id', $value)->findOrEmpty(); + return $data->isEmpty() ? '投标信息数据不存在' : true; + } + } \ No newline at end of file