## 支払いステータス変更 作業手順
### **1. backlog課題の確認**
- backlogを確認し、返信する
- 注意点
- 「この課題への参加者」へのメンション
- statusを「処理中」に変更
- 担当は自分(作業者)に変更
- カテゴリーに注意、入力されていなければ「作業依頼」に変更
### **2. redmineのチケット起票**
- redmineを開き「新しいチケット」で新規起票する
- 注意点
- トラッカーを「JP working time」に変更
- タイトルを「[本番データ修正]支払いステータス変更(契約ID:xxx)」に変更
- 上記(契約ID:xxx)は対応するbacklog課題から引用
- 説明は対応するbacklog課題をコピペ
- backlog URLに対応するbacklog課題のURLをコピペ
### **3. 対象データの確認**
- 注文番号を確認
- 注意点
- backlog課題に記載されている「対象注文№」
- DEV環境にて実際のデータを確認
- 注意点
- https://dev1.drbe.jp/_admin/authenticate/login
- 上記管理画面へログインし、契約情報一覧画面にて検索条件の「受注番号」へ上記「注文番号」を入力し検索
- 上記検索でヒットしたデータの詳細を見て、注文履歴から現状のステータスを確認する
- 未払いの方が入金確認できたためのステータス変更の場合は「未収」(他パターンの場合は都度確認)
- 本番環境でも実際のデータを確認
- 注意点
- https://dreambeer.jp/_admin/authenticate/login
- 上記管理画面へログインし、契約情報一覧画面にて検索条件の「受注番号」へ上記「注文番号」を入力し検索
- 上記検索でヒットしたデータの詳細を見て、注文履歴から現状のステータスを確認する
- 未払いの方が入金確認できたためのステータス変更の場合は「未収」(他パターンの場合は都度確認)
- 上記まではDEV環境同様だが、ユーザ情報洗替、cron処理中は注意が必要
- probeer/temp/logs/cron/create_order_cycle 配下のログでバッチの進捗を確認
### **4. SQLの作成**
- 処理に必要なSQL文の作成
- 注意点
- SQLの処理内容は「対象の注文番号の与信ステータスを不要とする」「対象の注文番号の支払ステータスを課金済みとする」「オペレーションログを追加」の3つとなる
- SQL template
- 注意点
- 下記template、{注文番号}{契約ID}{backlog課題番号}は都度可変となる
- settlement_status_codeについて「課金済み」は4、「請求キャンセル」は6
- where in のため、注文番号が複数の場合はカンマ区切りで渡す
```
-- 与信:不要
update order_detail set authorize_status = 1,lastup_datetime = NOW()
where id in ({注文番号});
-- 請求ステータス:課金済み
update order_settlement set settlement_status_code = 4,lastup_datetime = NOW()
where order_detail_id in ({注文番号});
-- OPログ追加
-- 請求ステータス:課金済み
insert into operation_log(customer_id,contract_id,operation_type_code,content,lastup_account_id,create_datetime,lastup_datetime,disable)
values ({契約ID},{契約ID},13,'[与信ステータス:NG → 不要] [請求ステータス:課金済み変更] [受注番号 : {注文番号}](DB_OTHER-{backlog課題番号})',1,NOW(),NOW(),0);
```
### **5. DEV環境での動作テスト**
- 作成したSQL文をDEV環境phpMyadminにて実行テスト
- 注意点
- https://dev1.drbe.jp/phpmyadmin/index.php
- phpMyadmin にてSQLを実行
- 万が一この段階でエラーが発生した場合は報告する
- DEV環境管理画面にて実際のデータを確認
- 注意点
- https://dev1.drbe.jp/_admin/authenticate/login
- 上記管理画面にて該当データのステータスが正しく変更されているか確認
- 詳細ページ下のオペレーションログにも正しく反映されているか確認
- 動作に問題なければ、引き続き本番環境でのSQL実施
### **6. 本番環境での実施**
- DEV環境で実行して問題がなければ本番環境でも実行
- 注意点
- ユーザ情報洗替、cron処理中などではないか?作業可能かどうか確認
- https://dreambeer.jp/phpmyadmin/index.php
- phpMyadmin にてSQLを実行
- 万が一この段階でエラーが発生した場合は報告する
- 本番環境管理画面にて実際のデータを確認
- 注意点
- https://dreambeer.jp/_admin/authenticate/login
- 上記管理画面にて該当データのステータスが正しく変更されているか確認
- 詳細ページ下のオペレーションログにも正しく反映されているか確認
### **7. 作業完了後の報告**
- redmineへの作業内容起票
- 注意点
- 作成したチケットに作業内容(今回の場合は作業SQL)を記入し、かかった工数も併せて記入する
- ステータスの変更も必要だが権限の関係上変更できないため「in progress」のままでOK
- 記入した工数は自動的に工数管理(作業日報)へ反映される
- backlogにて作業完了報告
- 注意点
- 「この課題への参加者」へのメンション
- statusを「処理済み」に変更
- 担当は依頼者に変更
- 作業完了し、確認していただく旨のコメントを残す
以上