Files
exchange-2.0/database/seeds/QAWorkFlowSeeder.php
T

777 lines
47 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\QAQuestionnaireSet;
use App\Models\QAQuestions;
use App\Models\QAAnswerOptions;
use App\Classes\ValueObjects\Constants\QAType;
class QAWorkFlowSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$questionnaireSets = [
[
'name' => 'Admin Work Flow',
'description' => 'Admin Work Flow',
'group' => '1688,approve_po,fill_po',
'version' => 1,
'questions' => [
[
'question_number' => 'node_0',
'question_title' => 'Are you ready to work today?',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => true,
'is_end' => false,
'answer_options' => [
['display_text' => 'Yes', 'value' => 'start_work', 'next_question_number' => 'start_work'],
['display_text' => 'No', 'value' => 'no_work', 'next_question_number' => 'no_work'],
],
'group' => '',
],
[
'question_number' => 'start_work',
'question_title' => 'What will you work on?',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => '1688', 'value' => '1688', 'next_question_number' => '1688'],
['display_text' => 'Approve PO', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
['display_text' => 'Fill PO', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
],
'group' => '',
],
[
'question_number' => 'no_work',
'question_title' => 'Come back when you are ready to work',
'question_type' => QAType::DEFAULT,
'is_start' => false,
'is_end' => true,
'group' => '',
],
[
'question_number' => '1688',
'question_title' => '1688',
'question_type' => QAType::MULTIPLE_CHOICES,
'url' => 'api.admin_work_flow.fetch_oldest_order', //'http://localhost:8082/api/v1/admin-work-flow/fetch-oldest-order', //this.route("api.admin_work_flow.fetch_oldest_order"),
'is_start' => true,
'is_end' => false,
'answer_options' => [
['display_text' => 'Login Issue', 'value' => '1688_login_issue', 'btn_color' => 'warning', 'next_question_number' => '1688_login_issue'],
['display_text' => 'Login Successful', 'value' => '1688_login_successful', 'next_question_number' => '1688_login_successful'],
],
'group' => '1688',
],
[
'question_number' => '1688_login_issue',
'question_title' => '1688_login_issue',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Need TAC', 'value' => '1688_login_issue_need_tac', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'Wrong login details', 'value' => '1688_login_issue_wrong_login_details', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'Others', 'value' => '1688_login_issue_others', 'next_question_number' => '1688_login_issue_others'],
['display_text' => 'Order Cancelled', 'value' => '1688_login_issue_refund_request', 'next_question_number' => '1688_login_issue_refund_request'],
],
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_login_successful',
'question_title' => '1688_login_successful',
'question_type' => QAType::MULTIPLE_CHOICES,
//'url' => 'api.admin_work_flow.fetch_model_attributes', //'http://localhost:8082/api/v1/admin-work-flow/{booking_id}/fetch-model-attributes',
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => "Can't verify order?", 'value' => '1688_login_successful_cannot_verify', 'next_question_number' => '1688_login_successful_cannot_verify'],
['display_text' => 'Order Verified', 'value' => '1688_order_verify', 'next_question_number' => '1688_order_verify'],
],
'group' => '1688',
],
[
'question_number' => '1688_login_successful_cannot_verify',
'question_title' => '1688_login_successful_cannot_verify',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Amount not found', 'value' => '1688_login_successful_cannot_verify_amount_not_found', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'Plus Member', 'value' => '1688_login_successful_cannot_verify_plus_member', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'Others', 'value' => '1688_login_successful_cannot_verify_others', 'next_question_number' => '1688_login_successful_cannot_verify_others'],
['display_text' => 'Customer did not verify 1688 account', 'value' => '1688_login_successful_cannot_verify_customer_did_not_verify_account', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'WorldFirst account linked another account', 'value' => '1688_login_successful_cannot_verify_worldfirst_account_linked_another_account', 'next_question_number' => '1688_issue_submit'],
],
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_login_successful_cannot_verify_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => '1688_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_order_verify',
'question_title' => 'Order Amount (CNY)',
'question_description' => 'Please confirm whether the order amount on 1688 matches the total order amount',
'question_' => 'Order Amount',
'question_type' => QAType::FLOAT_MONEY,
'next_nested_question' => '1688_order_verification',
//'url' => 'api.admin_work_flow.fetch_model_attributes',
'is_start' => false,
'is_end' => false,
// 'answer_options' => [
// ['display_text' => 'Yes', 'value' => '1688_order_verification', 'next_question_number' => '1688_order_verification'],
// ],
'group' => '1688',
],
[
'question_number' => '1688_order_verification',
'question_title' => 'Are You Sure this is the correct amount?',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Yes', 'value' => '1688_order_verified', 'next_question_number' => '1688_order_verified'],
['display_text' => 'No', 'value' => '1688_order_verified', 'next_question_number' => '1688_order_verified'],
],
'group' => '1688',
],
[
'question_number' => '1688_proceed_order',
'question_title' => 'Proceed the order on 1688?',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Yes', 'value' => '1688_submit', 'next_question_number' => '1688_submit'],
['display_text' => 'Got Issue', 'value' => '1688_proceed_order_issue', 'next_question_number' => '1688_proceed_order_issue'],
],
'group' => '1688',
],
[
'question_number' => '1688_proceed_order_issue',
'question_title' => '1688_proceed_order_issue',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Wrong Pin Number', 'value' => '1688_proceed_order_issue_wrong_pin_number', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'Not Enough Stock', 'value' => '1688_proceed_order_issue_not_enough_stock', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'Others', 'value' => '1688_proceed_order_issue_others', 'next_question_number' => '1688_proceed_order_issue_others'],
['display_text' => 'No CrossBoarder', 'value' => '1688_proceed_order_issue_no_crossborder', 'next_question_number' => '1688_issue_submit'],
['display_text' => 'AngPau', 'value' => '1688_proceed_order_issue_angpau', 'next_question_number' => '1688_issue_submit'],
],
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_proceed_order_issue_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => '1688_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_login_issue_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => '1688_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_submit',
'question_title' => '1688_submit',
'question_type' => QAType::SUBMIT_1688_3_TYPES_DOCUMENTS,
'next_nested_question' => '1688_documents_submitted',
'is_start' => false,
'is_end' => false,
'group' => '1688',
],
[
'question_number' => '1688_documents_submitted',
'question_title' => 'Thank you for the hard work',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
[
'question_number' => '1688_issue_submit',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
[
'question_number' => '1688_login_issue_refund_request',
'question_title' => 'Refund Request sent',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
// [
// 'question_number' => '1688_insufficient_order',
// 'question_title' => 'Are You Sure this is the correct amount?',
// 'question_type' => QAType::MULTIPLE_CHOICES,
// 'is_start' => false,
// 'is_end' => false,
// 'answer_options' => [
// ['display_text' => 'Underpaid Order', 'value' => 'underpaid_order_1', 'next_question_number' => '1688_issue_submit'],
// ['display_text' => 'Underpaid Order', 'value' => 'underpaid_order_2', 'next_question_number' => '1688_issue_submit'],
// ['display_text' => 'Overpaid Order', 'value' => 'underpaid_order_2', 'next_question_number' => '1688_issue_submit'],
// ],
// 'group' => '1688',
// ],
// [
// 'question_number' => '1688_order_paid_precisely',
// 'question_title' => 'Amount paid is same as recorded in system',
// 'question_type' => QAType::MULTIPLE_CHOICES,
// 'is_start' => false,
// 'is_end' => false,
// 'answer_options' => [
// ['display_text' => 'Done', 'value' => '1688_issue_submit', 'next_question_number' => '1688_issue_submit'],
// ],
// 'group' => '1688',
// ],
[
'question_number' => '1688_underpaid_order_1',
'question_title' => "This order is underpaid. Clicking 'Next' will deduct the amount short from wallet automatically. ",
'question_type' => QAType::DEFAULT,
'is_start' => false,
'is_end' => false,
'next_nested_question' => '1688_underpaid_order_1_proceed',
// 'answer_options' => [
// ['display_text' => 'Proceed', 'value' => '1688_underpaid_order_1_proceed', 'next_question_number' => '1688_underpaid_order_1_proceed'],
// ],
'group' => '1688',
],
[
'question_number' => '1688_underpaid_order_1_proceed',
'question_title' => "The missing amount has successfully been deducted from the customers wallet",
'question_type' => QAType::DEFAULT,
'is_start' => false,
'is_end' => true,
'next_nested_question' => '1688_underpaid_proceed_order',
// 'answer_options' => [
// ['display_text' => 'Done', 'value' => '1688_issue_submit', 'next_question_number' => '1688_issue_submit'],
// ],
'group' => '1688',
],
[
'question_number' => '1688_underpaid_order_2',
'question_title' => 'Underpaid Order',
'question_description' => 'Insufficient wallet balance. Refund request sent.',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Done', 'value' => '1688_underpaid_order_2_submitted', 'next_question_number' => '1688_underpaid_order_2_submitted'],
],
'group' => '1688',
],
// [
// 'question_number' => '1688_underpaid_order_3',
// 'question_title' => 'Underpaid Order?',
// 'question_description' => 'There is no outstanding on record, please go back and check if the amount processed is entered correctly.',
// 'question_type' => QAType::MULTIPLE_CHOICES,
// 'is_start' => false,
// 'is_end' => false,
// 'answer_options' => [
// ['display_text' => 'Done', 'value' => '1688_issue_submit', 'next_question_number' => '1688_issue_submit'],
// ],
// 'group' => '1688',
// ],
[
'question_number' => '1688_overpaid_order',
'question_title' => 'Overpaid Order',
'question_description' => 'A refund request has been sent for the excess amount',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Proceed', 'value' => '1688_overpaid_proceed_order', 'next_question_number' => '1688_overpaid_proceed_order'],
],
'group' => '1688',
],
// 1688 underpaid - starts
[
'question_number' => '1688_underpaid_proceed_order',
'question_title' => 'Please process the order on 1688',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Done', 'value' => '1688_underpaid_documents_submission', 'next_question_number' => '1688_underpaid_documents_submission'],
['display_text' => 'Got Issue', 'value' => '1688_underpaid_proceed_order_issue', 'next_question_number' => '1688_underpaid_proceed_order_issue'],
],
'group' => '1688',
],
[
'question_number' => '1688_underpaid_proceed_order_issue',
'question_title' => '1688_underpaid_proceed_order_issue',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Wrong Pin Number', 'value' => '1688_underpaid_proceed_order_issue_wrong_pin_number', 'next_question_number' => '1688_underpaid_issue_submit'],
['display_text' => 'Not Enough Stock', 'value' => '1688_underpaid_proceed_order_issue_not_enough_stock', 'next_question_number' => '1688_underpaid_issue_submit'],
['display_text' => 'Others', 'value' => '1688_underpaid_proceed_order_issue_others', 'next_question_number' => '1688_underpaid_proceed_order_issue_others'],
['display_text' => 'No CrossBoarder', 'value' => '1688_underpaid_proceed_order_issue_no_crossborder', 'next_question_number' => '1688_underpaid_issue_submit'],
['display_text' => 'AngPau', 'value' => '1688_underpaid_proceed_order_issue_angpau', 'next_question_number' => '1688_underpaid_issue_submit'],
],
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_underpaid_proceed_order_issue_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => '1688_underpaid_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_underpaid_documents_submission',
'question_title' => '1688_underpaid_documents_submission',
'question_type' => QAType::SUBMIT_1688_3_TYPES_DOCUMENTS,
'next_nested_question' => '1688_underpaid_documents_submitted',
'is_start' => false,
'is_end' => false,
'group' => '1688',
],
[
'question_number' => '1688_underpaid_documents_submitted',
'question_title' => 'Thank you for your hard work',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
[
'question_number' => '1688_underpaid_issue_submit',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
[
'question_number' => '1688_underpaid_order_2_submitted',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
// 1688 underpaid - ends
// 1688 overpaid - starts
[
'question_number' => '1688_overpaid_proceed_order',
'question_title' => 'Please process the order on 1688',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Done', 'value' => '1688_overpaid_documents_submission', 'next_question_number' => '1688_overpaid_documents_submission'],
['display_text' => 'Got Issue', 'value' => '1688_overpaid_proceed_order_issue', 'next_question_number' => '1688_overpaid_proceed_order_issue'],
],
'group' => '1688',
],
[
'question_number' => '1688_overpaid_proceed_order_issue',
'question_title' => '1688_overpaid_proceed_order_issue',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Wrong Pin Number', 'value' => '1688_overpaid_proceed_order_issue_wrong_pin_number', 'next_question_number' => '1688_overpaid_issue_submit'],
['display_text' => 'Not Enough Stock', 'value' => '1688_overpaid_proceed_order_issue_not_enough_stock', 'next_question_number' => '1688_overpaid_issue_submit'],
['display_text' => 'Others', 'value' => '1688_overpaid_proceed_order_issue_others', 'next_question_number' => '1688_overpaid_proceed_order_issue_others'],
['display_text' => 'No CrossBoarder', 'value' => '1688_overpaid_proceed_order_issue_no_crossborder', 'next_question_number' => '1688_overpaid_issue_submit'],
['display_text' => 'AngPau', 'value' => '1688_overpaid_proceed_order_issue_angpau', 'next_question_number' => '1688_overpaid_issue_submit'],
],
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_overpaid_proceed_order_issue_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => '1688_overpaid_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => '1688',
'is_admin_filter' => true
],
[
'question_number' => '1688_overpaid_documents_submission',
'question_title' => '1688_overpaid_documents_submission',
'question_type' => QAType::SUBMIT_1688_3_TYPES_DOCUMENTS,
'next_nested_question' => '1688_overpaid_documents_submitted',
'is_start' => false,
'is_end' => false,
'group' => '1688',
],
[
'question_number' => '1688_overpaid_documents_submitted',
'question_title' => 'Thank you for your hard work',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
[
'question_number' => '1688_overpaid_issue_submit',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next Order', 'value' => '1688', 'next_question_number' => '1688'],
],
'group' => '1688',
],
// 1688 overpaid - ends
[
'question_number' => 'approve_po',
'question_title' => 'approve_po',
'question_type' => QAType::MULTIPLE_CHOICES,
'url' => "api.admin_work_flow.fetch_pending_approve_po",
'is_start' => true,
'is_end' => false,
'answer_options' => [
['display_text' => 'Approve', 'value' => 'approve_po_approved', 'next_question_number' => 'approve_po_approved'],
['display_text' => 'Edit PO', 'value' => 'approve_po_edit', 'next_question_number' => 'approve_po_edit'],
['display_text' => 'Reject', 'value' => 'approve_po_reject', 'next_question_number' => 'approve_po_reject'],
],
'group' => 'approve_po',
],
[
'question_number' => 'fill_po',
'question_title' => 'fill_po',
'question_type' => QAType::MULTIPLE_CHOICES,
'url' => "api.admin_work_flow.fetch_pending_fill_po",
'is_start' => true,
'is_end' => false,
'answer_options' => [
['display_text' => 'Edit PO', 'value' => 'fill_po_edit', 'next_question_number' => 'fill_po_edit'],
],
'group' => 'fill_po',
],
[
'question_number' => 'approve_po_filled',
'question_title' => 'PO Filled',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'approve_po',
],
[
'question_number' => 'approve_po_approved',
'question_title' => 'PO Approved',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'approve_po',
],
[
'question_number' => 'approve_po_edit',
'question_title' => 'approve_po_edit',
'question_type' => QAType::MULTIPLE_CHOICES,
'url' => "api.booking.show",
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Issue?', 'value' => 'approve_po_edit_po_issue', 'next_question_number' => 'approve_po_edit_po_issue'],
['display_text' => 'Done', 'value' => 'approve_po_filled', 'next_question_number' => 'approve_po_filled'],
],
'group' => 'approve_po',
],
[
'question_number' => 'approve_po_reject',
'question_title' => 'PO Rejected',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Sensitive Goods', 'value' => 'Sensitive Goods', 'next_question_number' => 'approve_po_reject_others_complete'],
['display_text' => 'Others', 'value' => 'approve_po_reject_others', 'next_question_number' => 'approve_po_reject_others'],
// ['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
// ['display_text' => 'Next Order', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'approve_po',
'is_admin_filter' => true
],
[
'question_number' => 'approve_po_reject_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => 'approve_po_reject_others_complete',
'is_start' => false,
'is_end' => false,
'group' => 'approve_po',
'is_admin_filter' => true
],
[
'question_number' => 'approve_po_reject_others_complete',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'approve_po',
],
[
'question_number' => 'approve_po_edit_po_issue',
'question_title' => 'approve_po_edit_po_issue',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Sensitive Goods', 'value' => 'Sensitive Goods', 'next_question_number' => 'approve_po_edit_po_issue_submit'],
['display_text' => 'Others', 'value' => 'approve_po_edit_po_issue_others', 'next_question_number' => 'approve_po_edit_po_issue_others'],
],
'group' => 'approve_po',
'is_admin_filter' => true
],
[
'question_number' => 'approve_po_edit_po_issue_submit',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'approve_po',
],
[
'question_number' => 'approve_po_edit_po_issue_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => 'approve_po_edit_po_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => 'approve_po',
'is_admin_filter' => true
],
[
'question_number' => 'approve_po_edit_po_issue_submit',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'approve_po',
],
[
'question_number' => 'fill_po_issue_others',
'question_title' => 'What other issues did you encounter? Upload documents if needed',
'question_type' => QAType::REMARKS_WITH_DOCUMENT_UPLOAD,
'next_nested_question' => 'fill_po_issue_submit',
'is_start' => false,
'is_end' => false,
'group' => 'fill_po',
'is_admin_filter' => true
],
[
'question_number' => 'fill_po_issue_submit',
'question_title' => 'Issue has been submitted',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'fill_po',
],
[
'question_number' => 'fill_po_edit',
'question_title' => 'fill_po_edit',
'question_type' => QAType::MULTIPLE_CHOICES,
'url' => "api.booking.show",
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Issue?', 'value' => 'fill_po_edit_issue', 'next_question_number' => 'fill_po_edit_issue'],
['display_text' => 'Done', 'value' => 'fill_po_edit_filled', 'next_question_number' => 'fill_po_edit_filled'],
],
'group' => 'fill_po',
],
[
'question_number' => 'fill_po_edit_issue',
'question_title' => 'fill_po_edit_issue',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => false,
'answer_options' => [
['display_text' => 'Sensitive Goods', 'value' => 'Sensitive Goods', 'next_question_number' => 'fill_po_issue_submit'],
['display_text' => 'Others', 'value' => 'fill_po_issue_others', 'next_question_number' => 'fill_po_issue_others'],
],
'group' => 'fill_po',
'is_admin_filter' => true
],
[
'question_number' => 'fill_po_edit_filled',
'question_title' => 'PO Filled',
'question_type' => QAType::MULTIPLE_CHOICES,
'is_start' => false,
'is_end' => true,
'answer_options' => [
['display_text' => 'Stop Working', 'value' => 'stop_working', 'next_question_number' => 'stop_working'],
['display_text' => 'Next PO (Fill)', 'value' => 'fill_po', 'next_question_number' => 'fill_po'],
['display_text' => 'Next PO (Approve)', 'value' => 'approve_po', 'next_question_number' => 'approve_po'],
],
'group' => 'fill_po',
],
[
'question_number' => 'stop_working',
'question_title' => 'Thank you. Reload page to restart.',
'question_type' => QAType::DEFAULT,
'is_start' => false,
'is_end' => true,
'group' => '',
],
]
],
];
foreach ($questionnaireSets as $set) {
$questionnaireSet = QAQuestionnaireSet::create([
'name' => $set['name'],
'description' => $set['description'],
'group' => $set['group'],
]);
foreach ($set['questions'] as $key => $questionData) {
$question = new QAQuestions;
$question->question_number = $questionData['question_number'];
$question->question_title = $questionData['question_title'];
if (isset($questionData['question_description'])) {
$question->question_description = $questionData['question_description'];
}
$question->question_type = $questionData['question_type'];
$question->questionnaire_set_id = $questionnaireSet->id;
if (isset($questionData['group']) && $questionData['group'] != '') {
$question->group = $questionData['group'];
}
if (isset($questionData['next_nested_question'])) {
$question->next_nested_question = $questionData['next_nested_question'];
}
if (isset($questionData['next_main_question'])) {
$question->next_main_question = $questionData['next_main_question'];
}
$question->is_start = $questionData['is_start'];
$question->is_end = $questionData['is_end'];
if (isset($questionData['end_text'])) {
$question->end_text = $questionData['end_text'];
}
if (isset($questionData['url'])) {
$question->url = $questionData['url'];
}
if (isset($questionData['is_admin_filter'])) {
$question->is_admin_filter = $questionData['is_admin_filter'];
}
$question->order = $key + 1;
$question->save();
if (isset($questionData['answer_options'])) {
foreach ($questionData['answer_options'] as $optionData) {
$answerOption = new QAAnswerOptions;
$answerOption->display_text = $optionData['display_text'];
$answerOption->value = $optionData['value'];
$answerOption->question_number = $questionData['question_number'];
$answerOption->next_question_number = $optionData['next_question_number'] ?? null;
$answerOption->questionnaire_set_id = $questionnaireSet->id;
$answerOption->save();
}
}
}
}
}
}