<?php/** Plugin Name : ExpressLink4** Copyright (C) BraTech Co., Ltd. All Rights Reserved.* http://www.bratech.co.jp/** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/namespace Plugin\ExpressLink42\Controller\Admin;use Plugin\ExpressLink42\Entity\ExpressLinkConfig;use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\Routing\Annotation\Route;class CsvImportControllerEhidenPro extends CsvImportController{ protected $menu_code = 'admin_order_import_ehidenpro'; protected $title = 'e飛伝Pro伝票番号登録CSV'; /** * @Route("/%eccube_admin_route%/order/import/ehidenpro", name="admin_order_import_ehidenpro") * @Template("@ExpressLink42/admin/Order/import_csv.twig") */ public function import(Request $request) { $response = $this->importCSV($request); return $response; } /** * CSVヘッダー定義 */ protected function getCsvHeader() { $output_flg = $this->getConfig('sagawa_pro_format'); $header = [ 'ご依頼主コード' => [ 'id' => 'order_code', 'description' => '', 'required' => false, ], '部署ご担当者コード' => [ 'id' => 'department_code', 'description' => '', 'required' => false, ], '部署ご担当者名' => [ 'id' => 'department', 'description' => '', 'required' => false, ], 'ご依頼主電話' => [ 'id' => 'order_phone_number', 'description' => '', 'required' => false, ], 'お届け先コード' => [ 'id' => 'shipping_code', 'description' => '', 'required' => false, ], 'お届け先郵便番号' => [ 'id' => 'shipping_postal_code', 'description' => '', 'required' => false, ], 'お届け先名1' => [ 'id' => 'shipping_name1', 'description' => '', 'required' => false, ], 'お届け先名2' => [ 'id' => 'shipping_name2', 'description' => '', 'required' => false, ], 'お届け先住所1' => [ 'id' => 'shipping_addr1', 'description' => '', 'required' => false, ], 'お届け先住所2' => [ 'id' => 'shipping_addr2', 'description' => '', 'required' => false, ], 'お届け先住所3' => [ 'id' => 'shipping_addr3', 'description' => '', 'required' => false, ], 'お届け先電話' => [ 'id' => 'shipping_phone_number', 'description' => '', 'required' => false, ], 'ご不在連絡先' => [ 'id' => 'shipping_phone_number2', 'description' => '', 'required' => false, ], 'メールアドレス' => [ 'id' => 'mail', 'description' => '', 'required' => false, ], '代行ご依頼主コード' => [ 'id' => 'agent_code', 'description' => '', 'required' => false, ], '代行ご依頼主郵便番号' => [ 'id' => 'agent_postal_code', 'description' => '', 'required' => false, ], '代行ご依頼主名1' => [ 'id' => 'agent_name1', 'description' => '', 'required' => false, ], '代行ご依頼主名2' => [ 'id' => 'agent_name2', 'description' => '', 'required' => false, ], '代行ご依頼主住所1' => [ 'id' => 'agent_addr1', 'description' => '', 'required' => false, ], '代行ご依頼主住所2' => [ 'id' => 'agent_addr2', 'description' => '', 'required' => false, ], '代行ご依頼主住所3' => [ 'id' => 'agent_addr3', 'description' => '', 'required' => false, ], '代行ご依頼主電話' => [ 'id' => 'agent_phone_number', 'description' => '', 'required' => false, ], '送り状記事欄1_1' => [ 'id' => 'sheet_article1_1', 'description' => '', 'required' => false, ], '送り状記事欄1_2' => [ 'id' => 'sheet_article1_2', 'description' => '', 'required' => false, ], '送り状記事欄1_3' => [ 'id' => 'sheet_article1_3', 'description' => '', 'required' => false, ], '送り状記事欄1_4' => [ 'id' => 'sheet_article1_4', 'description' => '', 'required' => false, ], '送り状記事欄1_5' => [ 'id' => 'sheet_article1_5', 'description' => '', 'required' => false, ], '送り状記事欄1_6' => [ 'id' => 'sheet_article1_6', 'description' => '', 'required' => false, ], '送り状記事欄2_1' => [ 'id' => 'sheet_article2_1', 'description' => '', 'required' => false, ], '送り状記事欄2_2' => [ 'id' => 'sheet_article2_2', 'description' => '', 'required' => false, ], '送り状記事欄2_3' => [ 'id' => 'sheet_article2_3', 'description' => '', 'required' => false, ], '送り状記事欄2_4' => [ 'id' => 'sheet_article2_4', 'description' => '', 'required' => false, ], '送り状記事欄2_5' => [ 'id' => 'sheet_article2_5', 'description' => '', 'required' => false, ], '送り状記事欄2_6' => [ 'id' => 'sheet_article2_6', 'description' => '', 'required' => false, ], '荷札記事欄1_1' => [ 'id' => 'tag_article1_1', 'description' => '', 'required' => false, ], '荷札記事欄1_2' => [ 'id' => 'tag_article1_2', 'description' => '', 'required' => false, ], '荷札記事欄1_3' => [ 'id' => 'tag_article1_3', 'description' => '', 'required' => false, ], '荷札記事欄1_4' => [ 'id' => 'tag_article1_4', 'description' => '', 'required' => false, ], '荷札記事欄1_5' => [ 'id' => 'tag_article1_5', 'description' => '', 'required' => false, ], '荷札記事欄1_6' => [ 'id' => 'tag_article1_6', 'description' => '', 'required' => false, ], '荷札記事欄2_1' => [ 'id' => 'tag_article2_1', 'description' => '', 'required' => false, ], '荷札記事欄2_2' => [ 'id' => 'tag_article2_2', 'description' => '', 'required' => false, ], '荷札記事欄2_3' => [ 'id' => 'tag_article2_3', 'description' => '', 'required' => false, ], '荷札記事欄2_4' => [ 'id' => 'tag_article2_4', 'description' => '', 'required' => false, ], '荷札記事欄2_5' => [ 'id' => 'tag_article2_5', 'description' => '', 'required' => false, ], '荷札記事欄2_6' => [ 'id' => 'tag_article2_6', 'description' => '', 'required' => false, ], '出荷日' => [ 'id' => 'commit_date', 'description' => '', 'required' => false, ], '発行日' => [ 'id' => 'issue_date', 'description' => '', 'required' => false, ], '配達指定日' => [ 'id' => 'delivery_date', 'description' => '', 'required' => false, ], '個数' => [ 'id' => 'quantity', 'description' => '', 'required' => false, ], '精算店コード' => [ 'id' => 'seisanten_code', 'description' => '', 'required' => false, ], '精算店コード' => [ 'id' => 'seisanten_code', 'description' => '', 'required' => false, ], '精算店コード' => [ 'id' => 'seisanten_code', 'description' => '', 'required' => false, ] ]; if($output_flg == ExpressLinkConfig::ENABLED){ $header['元着区分'] = [ 'id' => 'delete_code', 'description' => '', 'required' => false, ]; } $add = [ '保険金額' => [ 'id' => 'assurance_total', 'description' => '', 'required' => false, ], '決済種別' => [ 'id' => 'payment_method', 'description' => '', 'required' => false, ], '代引金額' => [ 'id' => 'payment_total', 'description' => '', 'required' => false, ], '消費税' => [ 'id' => 'payment_tax', 'description' => '', 'required' => false, ], '代引税込金額' => [ 'id' => 'payment_inctax', 'description' => '', 'required' => false, ], '消費税区分' => [ 'id' => 'tax_code', 'description' => '', 'required' => false, ], '問い合せNo' => [ 'id' => 'slip_number', 'description' => '', 'required' => false, ], '旧問い合せNo' => [ 'id' => 'old_slip_number', 'description' => '', 'required' => false, ], '顧客管理番号' => [ 'id' => 'record_id', 'description' => '', 'required' => true, ], '清算店コード' => [ 'id' => 'office_code', 'description' => '', 'required' => false, ], '清算店枝番' => [ 'id' => 'office_code_sub', 'description' => '', 'required' => false, ], '着店コード' => [ 'id' => 'office_code2', 'description' => '', 'required' => false, ], 'ローカルコード' => [ 'id' => 'local_code', 'description' => '', 'required' => false, ], '営止め区分' => [ 'id' => 'hold_code', 'description' => '', 'required' => false, ], '営止め県コード' => [ 'id' => 'hold_pref_code', 'description' => '', 'required' => false, ], '営止めJIS住所コード' => [ 'id' => 'hold_jis_code', 'description' => '', 'required' => false, ], '営止清算店コード' => [ 'id' => 'hold_office_code', 'description' => '', 'required' => false, ], '営止清算店枝番' => [ 'id' => 'hold_office_code_sub', 'description' => '', 'required' => false, ], '営止営業店コード' => [ 'id' => 'hold_office_code2', 'description' => '', 'required' => false, ], '営止めローカルコード' => [ 'id' => 'hold_local_code', 'description' => '', 'required' => false, ], 'クール指定区分' => [ 'id' => 'cool_type', 'description' => '', 'required' => false, ], '便種コード' => [ 'id' => 'send_type', 'description' => '', 'required' => false, ], '時間帯コード' => [ 'id' => 'delivery_time_id', 'description' => '', 'required' => false, ], '配達指定時間' => [ 'id' => 'delivery_time', 'description' => '', 'required' => false, ], 'サンデーサービス区分' => [ 'id' => 'sunday_service', 'description' => '', 'required' => false, ], 'シールコード1' => [ 'id' => 'seal1', 'description' => '', 'required' => false, ], 'シールコード2' => [ 'id' => 'seal2', 'description' => '', 'required' => false, ], 'シールコード3' => [ 'id' => 'seal3', 'description' => '', 'required' => false, ], 'シールコード4' => [ 'id' => 'seal4', 'description' => '', 'required' => false, ], '出荷区分' => [ 'id' => 'shipping_type', 'description' => '', 'required' => false, ], ]; $header = $header + $add; if($output_flg != ExpressLinkConfig::ENABLED){ $header['元着区分'] = [ 'id' => 'delete_code', 'description' => '', 'required' => false, ]; } $add = [ '送り状発行済' => [ 'id' => 'issue_type', 'description' => '', 'required' => false, ], '送り状変更区分' => [ 'id' => 'issue_change_type', 'description' => '', 'required' => false, ], '送り状変更発行済区分' => [ 'id' => 'issue_changed_type', 'description' => '', 'required' => false, ], '荷札発行済区分' => [ 'id' => 'tag_issue_type', 'description' => '', 'required' => false, ], '荷札変更区分' => [ 'id' => 'tag_change_type', 'description' => '', 'required' => false, ], '荷札変更発行済区分' => [ 'id' => 'tag_change_issue_type', 'description' => '', 'required' => false, ], '出荷日報発行済区分' => [ 'id' => 'commit_issue_type', 'description' => '', 'required' => false, ], '荷物受渡書発行済区分' => [ 'id' => 'recipet_type', 'description' => '', 'required' => false, ], '受託送信済区分' => [ 'id' => 'accept_type', 'description' => '', 'required' => false, ], '出荷場印字区分' => [ 'id' => 'shipping_record_type', 'description' => '', 'required' => false, ], '取込エラー区分' => [ 'id' => 'error_code', 'description' => '', 'required' => false, ], 'JISコード' => [ 'id' => 'jis_code', 'description' => '', 'required' => false, ], 'JIS8コード' => [ 'id' => 'jis8_code', 'description' => '', 'required' => false, ], 'クール不可可能性区分' => [ 'id' => 'cool_not_type', 'description' => '', 'required' => false, ], '代引不可可能性区分' => [ 'id' => 'cod_not_type', 'description' => '', 'required' => false, ], '着払不可可能性区分' => [ 'id' => 'arrival_not_type', 'description' => '', 'required' => false, ], '時間帯不可可能性区分' => [ 'id' => 'delivery_time_not_type', 'description' => '', 'required' => false, ], '保険金額印字区分' => [ 'id' => 'assurance_record_type', 'description' => '', 'required' => false, ], '編集01' => [ 'id' => 'dummy1', 'description' => '', 'required' => false, ], '編集02' => [ 'id' => 'dummy2', 'description' => '', 'required' => false, ], '編集03' => [ 'id' => 'dummy3', 'description' => '', 'required' => false, ], '編集04' => [ 'id' => 'dummy4', 'description' => '', 'required' => false, ], '編集05' => [ 'id' => 'dummy5', 'description' => '', 'required' => false, ], '編集06' => [ 'id' => 'dummy6', 'description' => '', 'required' => false, ], '編集07' => [ 'id' => 'dummy7', 'description' => '', 'required' => false, ], '編集08' => [ 'id' => 'dummy8', 'description' => '', 'required' => false, ], '編集09' => [ 'id' => 'dummy9', 'description' => '', 'required' => false, ], '編集10' => [ 'id' => 'dummy10', 'description' => '', 'required' => false, ], '個数集約区分' => [ 'id' => 'intensiveness_type', 'description' => '', 'required' => false, ], ]; $header = $header + $add; if($output_flg != ExpressLinkConfig::ENABLED){ $add = [ '重量値1' => [ 'id' => 'weight1', 'description' => '', 'required' => false, ], '重量単位区分1' => [ 'id' => 'weight_code1', 'description' => '', 'required' => false, ], '個数1' => [ 'id' => 'quantity1', 'description' => '', 'required' => false, ], '重量値2' => [ 'id' => 'weight2', 'description' => '', 'required' => false, ], '重量単位区分2' => [ 'id' => 'weight_code2', 'description' => '', 'required' => false, ], '個数2' => [ 'id' => 'quantity2', 'description' => '', 'required' => false, ], '重量値3' => [ 'id' => 'weight3', 'description' => '', 'required' => false, ], '重量単位区分3' => [ 'id' => 'weight_code3', 'description' => '', 'required' => false, ], '個数3' => [ 'id' => 'quantity3', 'description' => '', 'required' => false, ], '重量値4' => [ 'id' => 'weight4', 'description' => '', 'required' => false, ], '重量単位区分4' => [ 'id' => 'weight_code4', 'description' => '', 'required' => false, ], '個数4' => [ 'id' => 'quantity4', 'description' => '', 'required' => false, ], '重量値5' => [ 'id' => 'weight5', 'description' => '', 'required' => false, ], '重量単位区分5' => [ 'id' => 'weight_code5', 'description' => '', 'required' => false, ], '個数5' => [ 'id' => 'quantity5', 'description' => '', 'required' => false, ], '重量値6' => [ 'id' => 'weight6', 'description' => '', 'required' => false, ], '重量単位区分6' => [ 'id' => 'weight_code6', 'description' => '', 'required' => false, ], '個数6' => [ 'id' => 'quantity6', 'description' => '', 'required' => false, ], '重量値7' => [ 'id' => 'weight7', 'description' => '', 'required' => false, ], '重量単位区分7' => [ 'id' => 'weight_code7', 'description' => '', 'required' => false, ], '個数7' => [ 'id' => 'quantity7', 'description' => '', 'required' => false, ], '重量値8' => [ 'id' => 'weight8', 'description' => '', 'required' => false, ], '重量単位区分8' => [ 'id' => 'weight_code8', 'description' => '', 'required' => false, ], '個数8' => [ 'id' => 'quantity8', 'description' => '', 'required' => false, ], '貨物実発送日' => [ 'id' => 'commit_date2', 'description' => '', 'required' => false, ], '貨物重量' => [ 'id' => 'weight_total', 'description' => '', 'required' => false, ], '貨物個数' => [ 'id' => 'quantity_total', 'description' => '', 'required' => false, ], '貨物配完集配状態コード' => [ 'id' => 'state_code', 'description' => '', 'required' => false, ], '貨物配完報告日時' => [ 'id' => 'report_date', 'description' => '', 'required' => false, ], '貨物配完作成日時' => [ 'id' => 'set_date', 'description' => '', 'required' => false, ], '貨物消込集配状態コード' => [ 'id' => 'delete_state_code', 'description' => '', 'required' => false, ], '貨物消込報告日時' => [ 'id' => 'delete_report_date', 'description' => '', 'required' => false, ], '貨物消込作成日時' => [ 'id' => 'delete_set_date', 'description' => '', 'required' => false, ], '貨物転送返送No.' => [ 'id' => 'trans_no', 'description' => '', 'required' => false, ], '貨物更新日時' => [ 'id' => 'update_date', 'description' => '', 'required' => false, ], '貨物登録日時' => [ 'id' => 'create_date', 'description' => '', 'required' => false, ], '配完区分コード' => [ 'id' => 'type_code', 'description' => '', 'required' => false, ], ]; $header = $header + $add; } $header['削除日'] = [ 'id' => 'delete_date', 'description' => '', 'required' => false, ]; $header['削除時間'] = [ 'id' => 'delete_time', 'description' => '', 'required' => false, ]; if($output_flg == ExpressLinkConfig::ENABLED){ $header['固定文字'] = [ 'id' => 'fix_character', 'description' => '', 'required' => false, ]; } return $header; } protected function split_record($record) { return explode('-',$record); } protected function getDeliveryTime($time_id) { switch($time_id){ case '01': return '午前中'; break; case '12': return '12~14時'; break; case '14': return '14~16時'; break; case '16': return '16~18時'; break; case '18': return '18~20時'; break; case '19': return '19~21時'; break; case '04': return '18~21時'; break; default: return ''; break; } return ''; }}