<?php
Route::group(['middleware' => 	'Administrator', ['auth'], 'namespace' => 'Administrator'], function () {
    /************************Categories**************************************/
	Route::resource("/construction-categories","Construction\CategoriesController");
	Route::get('/get-data-categories','Construction\CategoriesController@get_data_categories')->name("data.categories");
	Route::get('/get-data-categories-edit/{id}','Construction\CategoriesController@edit_data_categories')->name("edit_data_categories");
    Route::post('/get-data-update-categories','Construction\CategoriesController@update_data_categories')->name("update_data_categories");
    
    /************************Brand(Sub Category)**************************************/
	Route::resource("/construction-brand","Construction\BrandController");
	Route::get('/get-data-brand','Construction\BrandController@get_data_brand')->name("data.brand");
	Route::match(['get','post'],'/get-data-edit/{id?}','Construction\BrandController@edit_data_brand')->name("edit_data_brand");
    Route::post('/get-data-update','Construction\BrandController@update_data_brand')->name("update_data_brand");

    /************************Unit Type**************************************/
    Route::get('/unit-index-construction','Construction\UnitTypeController@index')->name('construction_unit.index');
    Route::get('/get-data-index-unit','Construction\UnitTypeController@get_data_index')->name('construction_unit.get_data_index');
    Route::post('/save-create-data-index-unit','Construction\UnitTypeController@save_data_create')->name('construction_unit.save_data_create');
    Route::get('/get-data-edit-unit/{id}',"Construction\UnitTypeController@edit_data_unit")->name('edit_data_unit');
    Route::post('/save-get-data-edit-unit',"Construction\UnitTypeController@save_edit_data_unit")->name('save_edit_data_unit');
	Route::post('/save-sub-unit',"Construction\UnitTypeController@save_data_sub_unit")->name('save_data_sub_unit');
	Route::get('/get-sub-unit-data/{id}',"Construction\UnitTypeController@get_data_sub_unit")->name('get_data_sub_unit');
	Route::post('/update-sub-unit',"Construction\UnitTypeController@update_data_sub_unit")->name('update_data_sub_unit');

    /************************Product**********************************/
	Route::resource("/construction-product","Construction\ProductStockController");
    Route::get('/get-data-product','Construction\ProductStockController@get_data_product')->name("data.product");
	Route::get('get/-sub-category-product/{id}','Construction\ProductStockController@get_sub_cagegory_product')->name('get_sub_cagegory_product');
	Route::get('get-product-by-subcategory/{id}','Construction\ProductStockController@product_by_subcategory')->name('get-product-item-by-subcategory');

	/************************Suppliers**********************************/
	Route::resource("/construction-suppliers","Construction\SupplierController");
	Route::get('/get-data-supplier','Construction\SupplierController@get_data_supplier')->name("data.suppliers");
	/************************Subcontract (Constructor) ********************************/
	Route::resource("/construction-constructor","Construction\ConstructorController");
	Route::get('/get-data-constructor','Construction\ConstructorController@get_data_constructor')->name("data.constructor");

	/************************Task Woring ********************************/
	Route::resource('/task-working-construction','Construction\TaskWorkingController');
	Route::get('/get-task-working-construction','Construction\TaskWorkingController@get_data_index')->name('task-working-construction.get_data_index');
	Route::post('/get-sub-working-task-construction','Construction\TaskWorkingController@get_sub_task_data')->name('task-working-construction.get_sub_task_data');
	Route::post('/save-edit-sub-working-task-construction','Construction\TaskWorkingController@save_edit_sub_task_data')->name('task-working-construction.save_edit_sub_task_data');
	Route::get('/list-sub-task-construction','Construction\TaskWorkingController@index_sub_task')->name('task-working-construction.index_sub_task');
	Route::get('/create-sub-task-construction','Construction\TaskWorkingController@create_sub_task')->name('task-working-construction.create_sub_task');
	Route::post('/save-sub-task-construction','Construction\TaskWorkingController@store_create_sub_task')->name('task-working-construction.store_create_sub_task');
	Route::get('/edit-sub-task-construction/{id}','Construction\TaskWorkingController@edit_create_sub_task')->name('task-working-construction.edit_create_sub_task');
	Route::patch('/save-edit-sub-task-construction/{id}','Construction\TaskWorkingController@save_edit_sub_task')->name('task-working-construction.save_edit_sub_task');
	
	Route::get('/list-task-construction','Construction\TaskWorkingController@list_task_contractor')->name('task-working-construction.list_task_contractor');
	Route::get('/create-task-construction','Construction\TaskWorkingController@create_task_contractor')->name('task-working-construction.create_task_contractor');
	Route::post('/store-task-construction','Construction\TaskWorkingController@store_task_contractor')->name('task-working-construction.store_task_contractor');
	Route::get('/edit-task-construction/{id}','Construction\TaskWorkingController@edit_task_contractor')->name('task-working-construction.edit_task_contractor');
	Route::patch('/update-task-construction/{id}','Construction\TaskWorkingController@update_task_contractor')->name('task-working-construction.update_task_contractor');
	Route::get('/get-sub-category-task/{id}','Construction\TaskWorkingController@get_sub_category_task')->name('task-working-construction.get_sub_category_task');

	Route::get('/get-work-task/{id}','Construction\TaskWorkingController@get_work_task')->name('task-working-construction.get_work_task');

	Route::get('/list-category-responsibilities-construction','Construction\TaskWorkingController@index_category_responsibilities')->name('task-working-construction.index_category_responsibilities');
	Route::get('/create-category-responsibilities-construction','Construction\TaskWorkingController@create_category_responsibilities')->name('task-working-construction.create_category_responsibilities');
	Route::post('/save-category-responsibilities-construction','Construction\TaskWorkingController@store_create_category_responsibilities')->name('task-working-construction.store_create_category_responsibilities');
	Route::get('/edit-category-responsibilities-construction/{id}','Construction\TaskWorkingController@edit_create_category_responsibilities')->name('task-working-construction.edit_create_category_responsibilities');
	Route::patch('/save-edit-category-responsibilities-construction/{id}','Construction\TaskWorkingController@save_edit_category_responsibilities')->name('task-working-construction.save_edit_category_responsibilities');

	Route::get('/get-category-responsibilities/{id}','Construction\TaskWorkingController@get_category_sponsibilities')->name('task-working-construction.get_category_sponsibilities');

	Route::get('/get-work-responsibilities/{id}','Construction\TaskWorkingController@get_work_responsibilities')->name('task-working-construction.get_work_responsibilities');

	Route::get('/list-responsibilities-construction','Construction\TaskWorkingController@list_responsibilities_contractor')->name('task-working-construction.list_responsibilities_contractor');
	Route::get('/create-responsibilities-construction','Construction\TaskWorkingController@create_responsibilities_contractor')->name('task-working-construction.create_responsibilities_contractor');
	Route::post('/save-responsibilities-construction','Construction\TaskWorkingController@save_responsibilities_contractor')->name('task-working-construction.save_responsibilities_contractor');
	Route::get('/edit-responsibilities-construction/{id}','Construction\TaskWorkingController@edit_responsibilities_contractor')->name('task-working-construction.edit_responsibilities_contractor');
	Route::patch('/update-responsibilities-construction/{id}','Construction\TaskWorkingController@update_responsibilities_contractor')->name('task-working-construction.update_responsibilities_contractor');

	/************************WareHouse**********************************/
	Route::resource('/warehouse-construction','Construction\WareHouseController');
	Route::get('/warehouse-get-data','Construction\WareHouseController@get_data_index')->name('warehouse-construction.get_data_index');
	Route::get('/get-warehouse-edit/{id}','Construction\WareHouseController@get_for_edit')->name('warehouse-construction.get_for_edit');
	Route::post('/update-warehouse-construction','Construction\WareHouseController@warehouse_update')->name('warehouse-construction.warehouse_update');
	
	/************************Bill Of Quantities(BOQ)**********************************/
	// Route::resource("/construction-BOQ","Construction\BOQController");
	// Route::get('/get-data-BOQ','Construction\BOQController@get_data_BOQ')->name("data.BOQ");

	/************************BOQ (Bill Of Quantities)*********************************/
	Route::resource('/construction-boq', 'Construction\BOQController');
	Route::get('/construction-boq-get-index','Construction\BOQController@get_index')->name('construction.boq.get_index');
	Route::get('/construction-selecting-product-boq/{id}','Construction\BOQController@get_product_info')->name('construction.boq.get_product_info');
	Route::post('/construction-get-edit-detail-boq','Construction\BOQController@get_edit_product_info')->name('construction.boq.get_edit_product_info');
	Route::get('/construction-print-boq/{id}','Construction\BOQController@print_boq')->name('construction.boq.print_boq');
	/*******************CEO APPROVAL ***************************************************/
	 ######################BOQ##############################################################
    Route::resource('construction-ceo-approval-boq','Construction\CECApproval');
    Route::get('construction-ceo-approval-boq-update-status','Construction\CECApproval@update_approval')->name('construction-ceo-approval-boq-update-status');
    ######################Financial##############################################################q
    /*******************Financial APPROVAL ***************************************************/

    Route::resource(
        'construction-financial-approval-boq',
        'Construction\FinancialApproval',
        ['parameters' => [
            'construction-financial-approval-boq' => 'installation'
        ]]
    );
    Route::get('construction-financial-approval-update','Construction\FinancialApproval@update_approval')->name('construction-financial-approval-update');

    /*******************Purchase Order Setting ***************************************************/
    Route::resource(
        'construction-purchase-order-setting',
        'Construction\Purchase\PurchaseOrderSettingController',
        ['parameters' => [
            'construction-purchase-order-setting' => 'installation'
        ]]
	);
	
	Route::post('setting-get-sub-category','Construction\Purchase\PurchaseOrderSettingController@get_sub_category')->name('purchase_order.get_sub_category');
	Route::post('setting-post-save-product-purchase','Construction\Purchase\PurchaseOrderSettingController@save_product_data_setting')->name('save_product_data_setting');

    /*******************Purchase Order ***************************************************/
	Route::resource('construction-make-purchase-order','Construction\Purchase\PurchaseOrderController');
	Route::get('get-product-by-category/{id}','Construction\Purchase\PurchaseOrderController@get_product_by_category_to_purchase')->name('get_product_by_category_to_purchase');
	Route::get('get-product-for-po/{id}','Construction\Purchase\PurchaseOrderController@get_product_by_subcategory_to_purchase')->name('get_product_by_subcategory_to_purchase');
	Route::get('construction-make-purchase-order-show_print','Construction\Purchase\PurchaseOrderController@show_print')->name('construction-purchase.show_print');
	Route::post('construction-check-limit-qty-purchase','Construction\Purchase\PurchaseOrderController@check_qty_limit')->name('construction-purchase.check_qty_limit');

	Route::get('construction-get-boq-title-group-work/{id}','Construction\Purchase\PurchaseOrderController@get_bog_title_work_group')->name('get_bog_title_work_group');
	Route::get('construction-get-boq-detail','Construction\Purchase\PurchaseOrderController@get_bog_detail')->name('construction-get-boq-detail');
	
	Route::get('construction-make-purchase-order-financial_approval_index','Construction\Purchase\PurchaseOrderController@financial_approval_index')->name('construction-purchase.financial_approval_index');
	Route::get('construction-make-purchase-order-financial_approval_form/{id}','Construction\Purchase\PurchaseOrderController@financial_approval_form')->name('construction-purchase.financial_approval_form');
	Route::PATCH('construction-make-purchase-order-financial_approval_store/{id}','Construction\Purchase\PurchaseOrderController@financial_approval_store')->name('construction-purchase.financial_approval_store');
	Route::get('construction-make-purchase-order-financial_reject_store','Construction\Purchase\PurchaseOrderController@financial_reject_store')->name('construction-purchase.financial_reject_store');

	Route::get('construction-make-purchase-order-ceo_approval_index','Construction\Purchase\PurchaseOrderController@ceo_approval_index')->name('construction-purchase.ceo_approval_index');
	Route::get('construction-make-purchase-order-ceo_approval_store','Construction\Purchase\PurchaseOrderController@ceo_approval_store')->name('construction-purchase.ceo_approval_store');
	Route::get('construction-make-purchase-order-ceo_reject_store','Construction\Purchase\PurchaseOrderController@ceo_reject_store')->name('construction-purchase.ceo_reject_store');

	Route::get('construction-make-purchase-order-verify_product/{id}','Construction\Purchase\PurchaseOrderController@verify_product')->name('construction-purchase.verify_product');
	Route::patch('construction-make-purchase-order-request_ajust_purchase/{id}','Construction\Purchase\PurchaseOrderController@request_ajust_purchase')->name('construction-purchase.request_ajust_purchase');

	Route::get('construction-make-purchase-order-financial_approval_ajust_purchase_index','Construction\Purchase\PurchaseOrderController@financial_approval_ajust_purchase_index')->name('construction-purchase.financial_approval_ajust_purchase_index');
	Route::get('construction-make-purchase-order-financial_approval_ajust_purchase_form/{id}','Construction\Purchase\PurchaseOrderController@financial_approval_ajust_purchase_form')->name('construction-purchase.financial_approval_ajust_purchase_form');

	Route::patch('construction-make-purchase-order-financial_approval_ajust_purchase_store/{id}','Construction\Purchase\PurchaseOrderController@financial_approval_ajust_purchase_store')->name('construction-purchase.financial_approval_ajust_purchase_store');

	Route::get('construction-make-purchase-order-ceo_approval_ajust_purchase_index','Construction\Purchase\PurchaseOrderController@ceo_approval_ajust_purchase_index')->name('construction-purchase.ceo_approval_ajust_purchase_index');
	Route::get('construction-make-purchase-order-ceo_approval_ajust_purchase_form/{id}','Construction\Purchase\PurchaseOrderController@ceo_approval_ajust_purchase_form')->name('construction-purchase.ceo_approval_ajust_purchase_form');
	Route::patch('construction-make-purchase-order-ceo_approval_ajust_purchase_store/{id}','Construction\Purchase\PurchaseOrderController@ceo_approval_ajust_purchase_store')->name('construction-purchase.ceo_approval_ajust_purchase_store');

	Route::get('construction-make-purchase-order-order_product','Construction\Purchase\PurchaseOrderController@order_product')->name('construction-purchase.order_product');
	Route::get('construction-make-purchase-order-verify_order_product','Construction\Purchase\PurchaseOrderController@verify_order_product')->name('construction-purchase.verify_order_product');

	Route::get('construction-make-purchase-order-financial_reject_ajust_po','Construction\Purchase\PurchaseOrderController@financial_reject_ajust_po')->name('construction-purchase.financial_reject_ajust_po');

	Route::get('construction-make-purchase-order-ceo_reject_ajust_po','Construction\Purchase\PurchaseOrderController@ceo_reject_ajust_po')->name('construction-purchase.ceo_reject_ajust_po');

	Route::get('construction-make-purchase-order-verified_product_list','Construction\Purchase\PurchaseOrderController@verified_product_list')->name('construction-purchase.verified_product_list');

	Route::get('construction-get-product-for-purchase-no-boq/{id}','Construction\Purchase\PurchaseOrderController@get_product_purchase_no_boq')->name('construction-purchase.get_product_purchase_no_boq');


	###########################Purchase Payment#################################################
	Route::get('purchase-payment','Construction\PurchasePaymentController@purchase_list')->name('purchase-payment.purchase_list');
	Route::get('purchase-create-payment/{id}','Construction\PurchasePaymentController@create_payment')->name('purchase-payment.create_payment');
	Route::post('purchase-store-payment','Construction\PurchasePaymentController@store_payment')->name('purchase-payment.store_payment');
	Route::get('purchase-payment-history','Construction\PurchasePaymentController@payment_history_list')->name('purchase-payment.payment_history_list');
	Route::match(['get','post'],'report-purchase-payment','Construction\PurchasePaymentController@report_purchase_payment')->name('report.report_purchase_payment');

    ###########################Project Construction Controller####################################
	Route::resource('/project_construction','Construction\ProjectConstructionController');
	Route::GET('/project_construction-datatable_get_projects', 'Construction\ProjectConstructionController@datatable_get_projects')->name('datatable_project_construction.get_projects');
	Route::POST('/project_construction-projects-delete', 'Construction\ProjectConstructionController@destroy')->name('datatable_project_construction.delete');
	#########################Manage Construction###################################################
	/* Manage Task and Responsibilities of Contractor */
	Route::resource('/task_responsibilities_contractor','Construction\ContractorTaskResponsibilitiesController');
	Route::get('/task_responsibilities_contractor-get-data','Construction\ContractorTaskResponsibilitiesController@get_index')->name('task_responsibilities_contractor.get_index');
	Route::post('/task_responsibilities_contractor-get_detail_responsibility','Construction\ContractorTaskResponsibilitiesController@get_detail_responsibility')->name('task_responsibilities_contractor.get_detail_responsibility');
	Route::post('/task_contractor-get_detail_task','Construction\ContractorTaskResponsibilitiesController@get_detail_task')->name('task_contractor.get_detail_task');

	Route::post('/task_responsibilities_contractor-check-existing','Construction\ContractorTaskResponsibilitiesController@check_existing')->name('task_responsibilities_contractor.check_existing');

	Route::post('/terminate-contract','Construction\ContractorTaskResponsibilitiesController@terminate')->name('terminate_contract');
    Route::post('/update-contract-policy','Construction\ContractorTaskResponsibilitiesController@update_policy')->name('update_contract_policy');
    Route::post('/complete-construction','Construction\ContractorTaskResponsibilitiesController@complete_construction')->name('complete_construction');

	/* Manage Check Task for contractor */
	Route::get('/task_contractor-check-task-contractor','Construction\ContractorTaskResponsibilitiesController@check_task_index')->name('task_contractor.check_task_index');
	Route::get('/task_contractor-check-task-contractor-database-get','Construction\ContractorTaskResponsibilitiesController@get_check_task_index')->name('task_contractor.get_check_task_index');
	Route::match(['get','post'],'/task_contractor-check-task-contractor-show/{id?}','Construction\ContractorTaskResponsibilitiesController@show_task_index')->name('task_contractor.show_task_index');
	Route::post('/task_contractor-check-task-contractor-save-percentage','Construction\ContractorTaskResponsibilitiesController@save_percentage_work')->name('task_contractor.save_percentage_work');
	Route::get('/check-constructor-type-construction/{id}','Construction\ConstructorController@check_constructor_type')->name('construction.check_constructor_type');
	Route::get('/construction-show_contract_pricinple_construction/{id}','Construction\ContractorTaskResponsibilitiesController@show_contract_pricinple_construction')->name('task_responsibilities_contractor.show_contract_pricinple_construction');
	
	################# Constructor Payment ###################################
	Route::resource('/construction_constructor_payment','Construction\ConstructorPaymentController');
	Route::get('/construction_constructor_payment-get_index','Construction\ConstructorPaymentController@get_index')->name('construction_constructor_payment.get_index');
	Route::post('/construction_payment-get_index_detail','Construction\ConstructorPaymentController@get_index_detail')->name('construction_constructor_payment.get_index_detail');
	Route::post('/construction_payment-constructor_payment_list_frm','Construction\ConstructorPaymentController@constructor_payment_list_frm')->name('construction.constructor_payment_list_frm');
	Route::post('/construction_payment-constructor_payment_list_frm_store','Construction\ConstructorPaymentController@constructor_payment_list_frm_store')->name('construction.constructor_payment_list_frm_store');
	Route::get('/construction_payment-constructor_payment_list_history_index/{id}','Construction\ConstructorPaymentController@constructor_payment_list_history_index')->name('construction.constructor_payment_list_history_index');

	Route::post('/construction_payment-constructor_payment_list_history_get_detail','Construction\ConstructorPaymentController@constructor_payment_list_history_get_detail')->name('construction.constructor_payment_list_history_get_detail');
	
	Route::post('/construction_payment-constructor_payment_list_history_print}','Construction\ConstructorPaymentController@constructor_payment_list_history_print')->name('construction.constructor_payment_list_history_print');

	Route::post('/construction-add-product-to-stock','Construction\Purchase\PurchaseOrderController@add_product_stock_store')->name('construction.add_product_stock_store');

	Route::get('/construction-product-origin-stock','Construction\ProductOriginStockController@origin_stock_list')->name('construction.origin_stock_list');

	Route::get('/construction-product-origin-stock-divide-product/{id}','Construction\ProductOriginStockController@origin_stock_list_divide')->name('construction.origin_stock_list_divide');

	Route::get('/construction-request-product-from-warehouse','Construction\ProductOriginStockController@form_request_warehouse')->name('construction.form_request_warehouse');
	Route::get('/construction-request-product-create-warehouse','Construction\ProductOriginStockController@create_request_warehouse')->name('construction.create_request_warehouse');
	Route::post('/construction-store-product-create-warehouse','Construction\ProductOriginStockController@store_request_warehouse')->name('construction.store_request_warehouse');
	Route::get('/construction-store-product-select-warehouse/{id}','Construction\ProductOriginStockController@select_warehouse')->name('construction.select_warehouse');

	Route::post('/construction-save-document-task','Construction\ConstructorPaymentController@save_upload_task_document')->name('save_upload_task_document');
	Route::get('/construction-show_upload_document/{id}','Construction\ConstructorPaymentController@show_upload_document')->name('show_upload_document');
	
	###################################################Manage Using Product#############################################################################
	Route::resource('/manage-using-controller', 'Construction\ManageUsingController');
	Route::get('/manage-using-controller-get-product/{warehouse_id}', 'Construction\ManageUsingController@get_product_from_warehouse')->name('construction.get_product_from_warehouse');
	Route::post('/manage-using-controller-store-create-zone', 'Construction\ManageUsingController@create_zone_store')->name('construction.create_zone_store');
	Route::post('/manage-using-controller-store-create-house-number', 'Construction\ManageUsingController@create_house_number_store')->name('construction.create_house_number_store');
	Route::get('/manage-using-controller-get-edit{id}', 'Construction\ManageUsingController@get_edit')->name('construction.get_edit');
	Route::get('/manage-using-controller-request-stock-route','Construction\ManageUsingController@request_stock_out')->name('construction.request_stock_out');
	Route::get('/manage-using-controller-create-stock-out','Construction\ManageUsingController@make_stock_out')->name('construction.make_stock_out');
	Route::get('/manage-using-get-product-stock-out/{warehouse_id}','Construction\ManageUsingController@get_product_stock_out')->name('construction.get_product_stock_out');
	Route::post('/manage-using-check-qty-product','Construction\ManageUsingController@check_qty_product')->name('construction.check_qty_product');
	Route::post('/manage-using-check-qty-product-stock-out','Construction\ManageUsingController@check_qty_product_stock_out')->name('construction.check_qty_product_stock_out');
	Route::post('/make-using-product-stock','Construction\ManageUsingController@request_product_stock_store')->name('construction.request_product_stock_store');
	Route::get('/edit-using-product-stock/{id}','Construction\ManageUsingController@edit_stock_out')->name('manage-using-controller.edit_stock_out');
	Route::patch('/edit-using-product-stock-upate/{id}','Construction\ManageUsingController@update_stock_out')->name('manage-using-controller.update_stock_out');
	Route::get('/construction-using-product-out/{id}','Construction\ManageUsingController@get_unit_product')->name('construction.get_unit_product');
	Route::post('/check-edit-usig-product-stock','Construction\ManageUsingController@check_edit_product_using_stock')->name('construction.check_edit_product_using_stock');

	Route::get('/manage-using-controller-get_house_number', 'Construction\ManageUsingController@get_house_number')->name("construction.get_house_number");
	Route::post('/manage-using-controller-store_house_number', 'Construction\ManageUsingController@store_house_number')->name("construction.store_house_number");
	Route::post('/manage-using-controller-update_house_number', 'Construction\ManageUsingController@update_house_number')->name("construction.update_house_number");

	Route::post('/stockout-get-zone-warehouse','Construction\ManageUsingController@get_zone_warehouse')->name("construction.get_zone_warehouse");

	####################################################Ajust Stock###################################################################################
	Route::match(['get','post'],'/construction-ajust-stock-list','Construction\ManageUsingController@ajust_stock_list')->name('construction.ajust_stock_list');
	Route::get('/construction-ajust-stock-index','Construction\ManageUsingController@ajust_stock_index')->name('construction.ajust_stock_index');
	Route::get('/construction-return-stock-create','Construction\ManageUsingController@return_stock_create')->name('construction.return_stock_create');
	Route::post('/construction-return-stock-store','Construction\ManageUsingController@return_stock_store')->name('construction.return_stock_store');
	Route::get('/construction-show-return-stock/{id}','Construction\ManageUsingController@return_stock_show')->name('construction.return_stock_show');
	Route::patch('/construction-store-edit-return-stock/{id}','Construction\ManageUsingController@store_return_stock_edit')->name('construction.store_return_stock_edit');

	Route::get('/construction-ajustment-stock-out-list','Construction\ManageUsingController@ajustment_stock_out_index')->name('construction.ajustment_stock_out_index');
	Route::get('/construction-ajustment-stock-out','Construction\ManageUsingController@ajustment_stock_out')->name('construction.ajustment_stock_out');
	Route::post('/check-ajust-stock-out-qty','Construction\ManageUsingController@check_ajustment_stock_out_qty')->name('construction.check_ajustment_stock_out_qty');
	Route::post('/construction-ajustment-stock-out-store','Construction\ManageUsingController@ajustment_stock_out_store')->name('construction.ajustment_stock_out_store');

	Route::get('/construction-ajustment-stock-out-eidt-show/{id}','Construction\ManageUsingController@ajustment_stock_out_edit')->name('construction.ajustment_stock_out_edit');
	Route::patch('/construction-ajustment-stock-out-eidt-store/{id}','Construction\ManageUsingController@ajustment_stock_out_edit_store')->name('construction.ajustment_stock_out_edit_store');
	
	###################################Origin Stock########################################################################################
	Route::post('/construction-transfer-to-origin-stock','Construction\ManageUsingController@transfer_to_origin_stock')->name('construction.transfer_to_origin_stock');
	Route::get('/construction-transfer-get-warehouse/{id}','Construction\ManageUsingController@get_warehouse')->name('construction.get_warehouse');
	###################################Check Product QOQ###################################################################################
	Route::post('/construction-check-qty-boq','Construction\Purchase\PurchaseOrderController@check_product_qty_boq')->name('construction.check_product_qty_boq');
	Route::post('/construction-check-qty-boq-verifiy-product','Construction\Purchase\PurchaseOrderController@check_product_qty_boq_verify_product')->name('construction.check_product_qty_boq_verify_product');
	#########################################Constructor Payment##########################################################################
	Route::post('/construction-check-payment-cash-advance','Construction\ConstructorPaymentController@check_payment_cash_advance')->name('construction.check_payment_cash_advance');
	Route::post('/construction-check-payment-cash-advance-store','Construction\ConstructorPaymentController@check_payment_cash_advance_store')->name('construction.check_payment_cash_advance_store');
	###############################CEO Approval Cash advance#############################################################################
	Route::get('/construction-ceo-approval-cash-advance-approval','Construction\CECApproval@cash_advance_index')->name('construction-ceo-approval-cash_advance_index');
	Route::post('/ceo-payment-get_index_detail','Construction\CECApproval@get_index_detail')->name('ceo-payment.get_index_detail');
	Route::get('/get-task-payment-list-request-cash-advance/{id}','Construction\CECApproval@get_request_cash_advance')->name('construction.get_request_cash_advance');
	Route::get('/ceo-approve-cash-on-hand','Construction\CECApproval@store_approve_cash_advance')->name('construction.store_approve_cash_advance');
	Route::get('/ceo-reject-cash-on-hand','Construction\CECApproval@store_reject_cash_advance')->name('construction.store_reject_cash_advance');
	###############################Financial Approval Cash Advance###################################################################################
	Route::get('/construction-financial-approval-cash-advance','Construction\FinancialApproval@approval_cash_advance_index')->name('construction.approval_cash_advance_index');
	Route::post('/financial-payment-get_index_detail','Construction\FinancialApproval@get_index_detail')->name('financial-payment.get_index_detail');

	Route::get('/financial-approve-cash-on-hand','Construction\FinancialApproval@store_approve_cash_advance')->name('financial.store_approve_cash_advance');
	Route::get('/financial-reject-cash-on-hand','Construction\FinancialApproval@store_reject_cash_advance')->name('financial.store_reject_cash_advance');
	####################################Request Cash Advance list#####################################################################################
	Route::get('/request-cash-advance-list','Construction\ConstructorPaymentController@request_cash_advance_list')->name('payment.request_cash_advance_list');
	Route::post('/payment-get_index_detail','Construction\ConstructorPaymentController@get_index_detail_cash_advane')->name('payment.get_index_detail_cash_advane');
	Route::get('/payment-get_index_detail-print/{construction_id}/{type}/{created_at}','Construction\ConstructorPaymentController@cash_advance_print')->name('payment.cash_advance_print');

	####################################Report Construction###########################################################################################
	Route::get('get-warehouse-by-product/{id}',"Construction\ReportConstructionController@get_warehouse_by_project")->name('get_warehouse_by_project');
	Route::match(['get','post'],'/report-construction-purchase-order','Construction\ReportConstructionController@PurchaseOrderReport')->name('construction-report.PurchaseOrderReport');

	Route::match(['get','post'],'/report-construction-budget-actual-used','Construction\ReportConstructionController@budget_actual_use')->name('construction-report.budget_actual_use');

	Route::match(['get','post'],'/report-construction-origin-stock','Construction\ReportConstructionController@OriginStockReport')->name('construction-report.OriginStockReport');

	Route::match(['get','post'],'/report-construction-origin-stock-out','Construction\ReportConstructionController@OriginStockOutReport')->name('construction-report.OriginStockOutReport');

	Route::match(['get','post'],'/report-construction-ajustment-stock','Construction\ReportConstructionController@AjustmentStockReport')->name('construction-report.AjustmentStockReport');

	Route::match(['get','post'],'/report-construction-ajustment-stock-out','Construction\ReportConstructionController@AjustmentStockOutReport')->name('construction-report.AjustmentStockOutReport');

	Route::match(['get','post'],'/report-construction-constructor-payment','Construction\ReportConstructionController@ConstructorPayment')->name('construction-report.ConstructorPayment');

	Route::match(['get','post'],'/report-construction-constructor-payment-history','Construction\ReportConstructionController@ConstructorPaymentHistory')->name('construction-report.ConstructorPaymentHistory');

	Route::match(['get','post'],'/report-construction-assing-warehouse','Construction\ReportConstructionController@AssignWarehouseReport')->name('construction-report.AssignWarehouseReport');

	Route::match(['get','post'],'/report-construction-manage-using','Construction\ReportConstructionController@ManageUsingReport')->name('construction-report.ManageUsingReport');

	#######################################Task Responsibilities Doc###################################################################################
	Route::get('/show-contract-task-constructor/{id}','Construction\ContractorTaskResponsibilitiesController@show_contract_task')->name('show-contract-task.show_contract_task');

	#############################################Create Zone#############################################################################################
	Route::resource('/construction_zone_controller', 'Construction\ConstructionZoneController');
	Route::post('/construction_zone_controller-update','Construction\ConstructionZoneController@update_zone')->name('construction_zone_controller.update_zone');

	##############################################Edit House ##########################################################################################
	Route::resource('/edit_house', 'Construction\EditHouseController');
	Route::get('/edit_house_print/{id}','Construction\EditHouseController@contract')->name('edit_house.contract');
	Route::post('/get-sale-info','Construction\EditHouseController@get_sale_info')->name('edit_house.get_sale_info');
	Route::get('/edit-house-set-to-complete-task','Construction\EditHouseController@set_to_complete_task')->name('set_to_complete_task');

	Route::get('/get-show-product-image/{id}','Construction\ProductStockController@show_image_product')->name('show_image_product');

	/************************ Budget Construction)*********************************/
	Route::resource('/budget-construction', 'Construction\BudgetConstructioController'); 

	Route::GET('/budget-construction-update-status/{id}', 'Construction\BudgetConstructioController@update_status')->name('budget-construction-update-status'); 

	Route::match(['GET', 'POST'], 'budget-construction-financial-approval', 'Construction\BudgetConstructioController@budget_construction_approval')->name('budget_construction_approval');
	
	Route::GET('budget-construction-approval-status', 'Construction\BudgetConstructioController@budget_construction_approval_status')->name('budget_construction_approval_status');

	Route::match(['GET', 'POST'], 'budget-construction-ceo-approval', 'Construction\BudgetConstructioController@budget_construction_ceo_approval')->name('budget_construction_ceo_approval');

	Route::GET('/budget-construction-finish/{id}', 'Construction\BudgetConstructioController@budget_construction_finish')->name('budget_construction_finish'); 

	Route::GET('/budget-construction-print', 'Construction\BudgetConstructioController@show_print')->name('budget_construction.show_print'); 

	#Add other expense to budget
	Route::get('/budget-construction-other-expense-list', 'Construction\BudgetConstructioController@list_other_expense')->name("budget_construction.list_other_expense"); 

	Route::get('/budget-construction-other-expense-create', 'Construction\BudgetConstructioController@add_other_expense')->name("budget_construction.add_other_expense"); 
	Route::post('/budget-construction-other-expense-store', 'Construction\BudgetConstructioController@store_other_expense')->name("budget_construction.store_other_expense"); 

	Route::get('/budget-construction-other-expense-edit/{id}', 'Construction\BudgetConstructioController@edit_other_expense')->name("budget_construction.edit_other_expense"); 
	Route::patch('/budget-construction-other-expense-update/{id}', 'Construction\BudgetConstructioController@update_other_expense')->name("budget_construction.update_other_expense"); 
	
	/*******************CEO APPROVAL ***************************************************/

	/* Get data qty product add to warehouse */
	Route::GET('/get-purchase-and-add-qty-warehouse/{purchase_id?}','Construction\Purchase\PurchaseOrderController@get_qty_add_to_warehouse')->name('get_qty_add_to_warehouse');

	Route::GET('/get-purchase-and-add-qty-warehouse-show/{purchase_id?}','Construction\Purchase\PurchaseOrderController@get_qty_add_to_warehouse_show')->name('get_qty_add_to_warehouse_show');

	Route::GET('/get-warehouse-from-project/{id}','Construction\ProjectConstructionController@get_warehouse')->name('project.get_warehouse');
	Route::POST('/post-make-contractor-each-payment','Construction\ConstructorPaymentController@contractor_task_payment')->name('contractor.contractor_task_payment');

	/*******************This route for developer only********************/
	// Route::get("modifying-accounting",'Construction\ModifyingAccountingController@modify_accounting')->name("modify_accounting");

});