$params['approve_id'] ?? 0, 'buy_bidding_document_id' => $params['buy_bidding_document_id'] ?? 0, 'is_need_deposit' => $params['is_need_deposit'] ?? 0, 'bid_opening_date' => strtotime($params['bid_opening_date']), 'deposit_refund_time' => strtotime($params['deposit_refund_time']), 'bidding_project_overview' => $params['bidding_project_overview'] ?? '', 'project_introduction' => $params['project_introduction'] ?? '', 'annex' => $params['annex'] ?? '', 'technical_protocol_deviation' => $params['technical_protocol_deviation'] ?? '', 'protocol_deviation_handling_plan' => $params['protocol_deviation_handling_plan'] ?? '', 'technical_review_annex' => $params['technical_review_annex'] ?? '', 'business_review_total_amount' => $params['business_review_total_amount'] ?? 0, 'tax_rate' => $params['tax_rate'] ?? 0, 'pay_type' => $params['pay_type'] ?? 0, 'pay_rate' => $params['pay_rate'] ?? '', 'business_contract_deviation' => $params['business_contract_deviation'] ?? '', 'business_contract_deviation_handling_plan' => $params['business_contract_deviation_handling_plan'] ?? '', 'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ?? '', ]); foreach ($params['product'] ?? [] as $item) { BidDocumentExaminationDetail::create([ 'bid_document_examination_id' => $bidDocumentExamination->id, 'product_id' => $item['product_id'] ?? 0, 'product_num' => $item['product_num'] ?? 0, 'cost_unit_price' => $item['cost_unit_price'] ?? 0, 'amount' => $item['amount'] ?? '', 'rate' => $item['rate'] ?? '', 'unit_price' => $item['unit_price'] ?? 0, 'total_amount' => $item['total_amount'] ?? 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 2023/12/02 09:52 */ public static function edit(array $params): bool { Db::startTrans(); try { BidDocumentExamination::where('id', $params['id'])->update([ 'approve_id' => $params['approve_id'] ?? 0, 'buy_bidding_document_id' => $params['buy_bidding_document_id'] ?? 0, 'is_need_deposit' => $params['is_need_deposit'] ?? 0, 'bid_opening_date' => strtotime($params['bid_opening_date']), 'deposit_refund_time' => strtotime($params['deposit_refund_time']), 'bidding_project_overview' => $params['bidding_project_overview'] ?? '', 'project_introduction' => $params['project_introduction'] ?? '', 'annex' => $params['annex'] ?? '', 'technical_protocol_deviation' => $params['technical_protocol_deviation'] ?? '', 'protocol_deviation_handling_plan' => $params['protocol_deviation_handling_plan'] ?? '', 'technical_review_annex' => $params['technical_review_annex'] ?? '', 'business_review_total_amount' => $params['business_review_total_amount'] ?? 0, 'tax_rate' => $params['tax_rate'] ?? 0, 'pay_type' => $params['pay_type'] ?? 0, 'pay_rate' => $params['pay_rate'] ?? '', 'business_contract_deviation' => $params['business_contract_deviation'] ?? '', 'business_contract_deviation_handling_plan' => $params['business_contract_deviation_handling_plan'] ?? '', 'business_contract_deviation_annex' => $params['business_contract_deviation_annex'] ?? '', ]); BidDocumentExaminationDetail::where('bid_document_examination_id', $params['id'])->update(['delete_time' =>time()]); foreach ($params['product'] ?? [] as $item) { BidDocumentExaminationDetail::create([ 'bid_document_examination_id' => $params['id'], 'product_id' => $item['product_id'] ?? 0, 'product_num' => $item['product_num'] ?? 0, 'cost_unit_price' => $item['cost_unit_price'] ?? 0, 'amount' => $item['amount'] ?? '', 'rate' => $item['rate'] ?? '', 'unit_price' => $item['unit_price'] ?? 0, 'total_amount' => $item['total_amount'] ?? 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 2023/12/02 09:52 */ public static function delete(array $params): bool { return BidDocumentExamination::destroy($params['id']); } /** * @notes 获取标书审查详情 * @param $params * @return array * @author likeadmin * @date 2023/12/02 09:52 */ public static function detail($params): array { $bidDocumentExamination = BidDocumentExamination::findOrEmpty($params['id']); $bidDocumentExamination->document = $bidDocumentExamination->document; return $bidDocumentExamination->toArray(); } }