From 72d9edde477d2dff1e12b280ac620d92a1fb8e16 Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Tue, 12 Dec 2023 09:49:34 +0900 Subject: [PATCH] =?UTF-8?q?=E5=90=84=E7=A8=AE=E7=94=B3=E8=AB=8B=E3=80=80?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apps/各種申請/index.tsx | 140 +++++++++++++++++++++++++++++++- src/types/車室契約情報.ts | 6 +- src/types/顧客マスタ.ts | 16 ++-- 3 files changed, 152 insertions(+), 10 deletions(-) diff --git a/src/apps/各種申請/index.tsx b/src/apps/各種申請/index.tsx index 69cb67d..b7d98ec 100644 --- a/src/apps/各種申請/index.tsx +++ b/src/apps/各種申請/index.tsx @@ -30,6 +30,15 @@ const 各種申請完了 = (record: 各種申請) => { }), }); }; +const 各種申請処理中 = (record: 各種申請) => { + return client.record.updateRecord({ + app: AppID.各種申請, + id: record.$id.value, + record: makeRecordData({ + [各種申請フィールド名.状況]: 状況Dropdown.処理中, + }), + }); +}; const 口座変更申請承認 = async (record: 各種申請) => { const customer = await get顧客マスタ({ @@ -70,7 +79,7 @@ const getCallBack口座変更申請承認 = (record: 各種申請) => { try { await showLoadingDialog(); - 口座変更申請承認(record); + await 口座変更申請承認(record); } catch (e) { console.error(e); ErrorDialog.fire(); @@ -100,7 +109,9 @@ const 解約申請承認 = async (record: 各種申請) => { const email = await sendEmail(EmailID.解約承認, { application_no: record.申請番号.value, }); - console.log("メール", email); + if (!email) { + throw new Error("メール送信失敗"); + } }; const getCallBack解約申請承認 = (record: 各種申請) => { @@ -112,7 +123,111 @@ const getCallBack解約申請承認 = (record: 各種申請) => { try { await showLoadingDialog(); - 解約申請承認(record); + await 解約申請承認(record); + } catch (e) { + console.error(e); + ErrorDialog.fire(); + return; + } + + SuccessDialog.fire().then(() => { + location.reload(); + }); + }; +}; + +const 利用者情報変更申請承認 = async (record: 各種申請) => { + // 顧客マスタへの反映 + const customer = await get顧客マスタ({ + 顧客コード: Number(record.顧客コード.value), + }); + + await client.record.updateRecord({ + app: AppID.顧客マスタ, + id: customer.$id.value, + record: makeRecordData({ + [顧客マスタフィールド名.顧客名]: + record.利用者情報変更申請_変更後_氏名.value ?? "", + [顧客マスタフィールド名.顧客名カナ]: + record.利用者情報変更申請_変更後_氏名カナ.value ?? "", + [顧客マスタフィールド名.契約者_郵便番号]: + record.利用者情報変更申請_変更後_郵便番号.value ?? "", + [顧客マスタフィールド名.住所]: + record.利用者情報変更申請_変更後_住所.value ?? "", + [顧客マスタフィールド名.電話番号]: + record.利用者情報変更申請_変更後_電話番号.value ?? "", + }), + }); + + // 申請の完了 + await 各種申請完了(record); + + // メールの送信 + const email = await sendEmail(EmailID.利用者情報変更完了, { + application_no: record.申請番号.value, + }); + if (!email) { + throw new Error("メール送信失敗"); + } +}; + +const getCallBack利用者情報変更申請承認 = (record: 各種申請) => { + return async () => { + const confirm = await ConfirmDialog.fire({ + title: "承認しますか", + }); + if (!confirm.isConfirmed) return; + + try { + await showLoadingDialog(); + await 利用者情報変更申請承認(record); + } catch (e) { + console.error(e); + ErrorDialog.fire(); + return; + } + + SuccessDialog.fire().then(() => { + location.reload(); + }); + }; +}; +const 車両番号_防犯登録番号変更申請承認 = async (record: 各種申請) => { + // 車室契約情報アプリへの反映 + const F = 車室契約情報フィールド名; + await client.record.updateRecord({ + app: AppID.車室契約情報, + id: record.$id.value, + record: makeRecordData({ + [F.車両番号]: + record.車両番号_防犯番号変更申請_変更後_車両番号.value ?? "", + [F.防犯登録番号]: + record.車両番号_防犯番号変更申請_変更後_防犯登録番号.value ?? "", + }), + }); + + // 申請の完了 + await 各種申請完了(record); + + // メールの送信 + const email = await sendEmail(EmailID.車両番号_防犯登録番号変更完了, { + application_no: record.申請番号.value, + }); + if (!email) { + throw new Error("メール送信失敗"); + } +}; + +const getCallBack車両番号_防犯登録番号変更申請承認 = (record: 各種申請) => { + return async () => { + const confirm = await ConfirmDialog.fire({ + title: "承認しますか", + }); + if (!confirm.isConfirmed) return; + + try { + await showLoadingDialog(); + await 車両番号_防犯登録番号変更申請承認(record); } catch (e) { console.error(e); ErrorDialog.fire(); @@ -147,5 +262,24 @@ const getCallBack解約申請承認 = (record: 各種申請) => { ) { setHeaderButton("解約申請 承認", getCallBack解約申請承認(currentRecord)); } + if ( + currentRecord.状況.value !== 状況Dropdown.完了 && + currentRecord.申請種別.value === 申請種別Dropdown.利用者情報変更 + ) { + setHeaderButton( + "利用者情報変更申請 承認", + getCallBack利用者情報変更申請承認(currentRecord) + ); + } + if ( + currentRecord.状況.value !== 状況Dropdown.完了 && + currentRecord.申請種別.value === + 申請種別Dropdown.車両番号_防犯登録番号変更 + ) { + setHeaderButton( + "車両番号・防犯登録番号変更申請 承認", + getCallBack車両番号_防犯登録番号変更申請承認(currentRecord) + ); + } }); })(); diff --git a/src/types/車室契約情報.ts b/src/types/車室契約情報.ts index d6dcbb6..cf27e55 100644 --- a/src/types/車室契約情報.ts +++ b/src/types/車室契約情報.ts @@ -3,6 +3,8 @@ import { AppRecord } from "."; const F = { 解約日: "解約日", + 車両番号: "車両番号", + 防犯登録番号: "防犯登録番号", } as const; // export const 支払種別Dropdown = { @@ -21,7 +23,7 @@ export const 車室契約情報フィールド名 = F; export type 車室契約情報 = AppRecord & { 定期券番号_0: KintoneRecordField.SingleLineText; 契約駐車場_0: KintoneRecordField.SingleLineText; - 防犯登録番号: KintoneRecordField.SingleLineText; + [F.防犯登録番号]: KintoneRecordField.SingleLineText; 定額_3月: KintoneRecordField.Number; 入金日: KintoneRecordField.Date; 定期駐車場名: KintoneRecordField.SingleLineText; @@ -69,7 +71,7 @@ export type 車室契約情報 = AppRecord & { 定額_11月: KintoneRecordField.Number; 車種: KintoneRecordField.SingleLineText; 備考_新規: KintoneRecordField.SingleLineText; - 車両番号: KintoneRecordField.SingleLineText; + [F.車両番号]: KintoneRecordField.SingleLineText; 数値: KintoneRecordField.Number; 支払方法: KintoneRecordField.SingleLineText; 契約年度: KintoneRecordField.Number; diff --git a/src/types/顧客マスタ.ts b/src/types/顧客マスタ.ts index 05d4ed0..c0ae0cf 100644 --- a/src/types/顧客マスタ.ts +++ b/src/types/顧客マスタ.ts @@ -10,6 +10,12 @@ const F = { ゆうちょ口座記号: "YuchoAccountsSymbol", ゆうちょ口座番号: "YuchoAccountsNo", 口座登録催促予定日時: "口座登録催促予定日時", + + 顧客名: "CustomerName", + 顧客名カナ: "顧客名カナ", + 契約者_郵便番号: "契約者_郵便番号", + 住所: "住所", + 電話番号: "電話番号", } as const; // export const 支払種別Dropdown = { @@ -36,7 +42,7 @@ export type 顧客マスタ = AppRecord & { [F.引落預金種別]: KintoneRecordField.Number; ContractNo: KintoneRecordField.SingleLineText; [F.顧客コード]: KintoneRecordField.Number; - CustomerName: KintoneRecordField.SingleLineText; + [F.顧客名]: KintoneRecordField.SingleLineText; SMBC口座名義_1: KintoneRecordField.SingleLineText; SMBC処理完了: KintoneRecordField.Dropdown; SMBC入金額: KintoneRecordField.Number; @@ -50,18 +56,18 @@ export type 顧客マスタ = AppRecord & { ゆうちょ口座名義: KintoneRecordField.SingleLineText; ゆうちょ入金額: KintoneRecordField.Number; 依頼日: KintoneRecordField.Date; - 契約者_郵便番号: KintoneRecordField.SingleLineText; - 顧客名カナ: KintoneRecordField.SingleLineText; + [F.契約者_郵便番号]: KintoneRecordField.SingleLineText; + [F.顧客名カナ]: KintoneRecordField.SingleLineText; 口座振替依頼書: KintoneRecordField.File; 口座登録催促予定日時: KintoneRecordField.DateTime; 支払方法: KintoneRecordField.SingleLineText; - 住所: KintoneRecordField.SingleLineText; + [F.住所]: KintoneRecordField.SingleLineText; 送付方法: KintoneRecordField.Dropdown; 台数: KintoneRecordField.Number; 長期未納者チェック_テスト: KintoneRecordField.CheckBox; 電話番号2: KintoneRecordField.Link; 電話番号3: KintoneRecordField.Link; - 電話番号: KintoneRecordField.Link; + [F.電話番号]: KintoneRecordField.Link; 年額: KintoneRecordField.Number; 年度入金コンビニ払額: KintoneRecordField.Number; 年度入金引落額: KintoneRecordField.Number;