From 3b71bb07255fe1ce4adae360fe8ad402569a4632 Mon Sep 17 00:00:00 2001 From: "sosuke.iwabuchi" Date: Fri, 29 Mar 2024 00:12:34 +0900 Subject: [PATCH] =?UTF-8?q?=E5=8F=97=E4=BB=98=E3=83=A1=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E9=80=81=E4=BF=A1=E6=99=82=E3=81=AB=E5=88=9D=E5=9B=9E=E5=85=A5?= =?UTF-8?q?=E9=87=91=E4=BA=88=E5=AE=9A=E6=97=A5=E3=82=92=E8=BB=8A=E5=AE=A4?= =?UTF-8?q?=E6=83=85=E5=A0=B1=E7=AE=A1=E7=90=86=E3=81=AB=E3=82=82=E7=99=BB?= =?UTF-8?q?=E9=8C=B2=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../buttons/受付メール送信ボタン.ts | 41 +++++++++++++++++++ src/types/定期申込予約.ts | 1 - src/types/車室情報管理.ts | 4 +- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/apps/定期申込予約/buttons/受付メール送信ボタン.ts b/src/apps/定期申込予約/buttons/受付メール送信ボタン.ts index de2559d..78973d4 100644 --- a/src/apps/定期申込予約/buttons/受付メール送信ボタン.ts +++ b/src/apps/定期申込予約/buttons/受付メール送信ボタン.ts @@ -7,11 +7,15 @@ import { Message } from "@/exception"; import { ShowConfirmDialog, SuccessDialog } from "@/middleware/swal"; import { EmailID, sendEmail } from "@/mypage/メール"; import bulkRequest from "@/rest-api/bulk"; +import { QueryBuilder } from "@/rest-api/query"; +import { 入金予定結果, 入金予定結果フィールド名 } from "@/types/入金予定結果"; import { 初回入金予定Checkbox, 定期申込予約, 定期申込予約フィールド名, } from "@/types/定期申込予約"; +import { 車室情報管理フィールド名 } from "@/types/車室情報管理"; +import { KintoneRestAPIClient } from "@kintone/rest-api-client"; const 表示判定 = (record: 定期申込予約): boolean => { if (!record.自動承認契約情報.value) { @@ -56,6 +60,43 @@ export default function 受付メール送信ボタン(record: 定期申込予 }); if (!confirm.isConfirmed) return; + const client = new KintoneRestAPIClient(); + const F = 入金予定結果フィールド名; + const builder = new QueryBuilder(); + builder.where(F.初回振り込み関連申込レコード番号, record.$id.value); + const { records } = await client.record.getRecords<入金予定結果>({ + app: AppID.入金予定結果, + query: builder.build(), + }); + + // 入金予定日を車室情報管理アプリにも登録する + if (0 < records.length) { + const 車室契約情報レコード番号 = record.自動承認契約情報.value; + if (!車室契約情報レコード番号) { + throw new Message("契約情報不明"); + } + + const 支払予定日 = records[0][F.支払予定日].value; + if (!支払予定日) { + throw new Message("支払予定日不明"); + } + const 合計金額: number = (() => { + let num = 0; + records.forEach((ele) => { + num += Number(ele[F.支払予定金額].value); + }); + return num; + })(); + + bulkRequest.update({ + app: AppID.車室情報管理, + id: record.自動承認契約情報.value, + record: makeRecordData({ + [車室情報管理フィールド名.入金予定日]: 支払予定日, + }), + }); + } + // メール送信 const emailSuccess = await sendEmail(EmailID.申込受付, { season_ticket_contract_entry_record_no: Number(record.$id.value), diff --git a/src/types/定期申込予約.ts b/src/types/定期申込予約.ts index 552ad03..9c37a93 100644 --- a/src/types/定期申込予約.ts +++ b/src/types/定期申込予約.ts @@ -94,7 +94,6 @@ export type 定期申込予約 = AppRecord & { [F.自動承認ステータス]: KintoneRecordField.SingleLineText; [F.状態]: KintoneRecordField.Dropdown; [F.自動承認契約情報]: KintoneRecordField.Number; - [F.自動承認契約情報]: KintoneRecordField.Number; [F.受付メール送信日時]: KintoneRecordField.DateTime; [F.承認メール送信日時]: KintoneRecordField.DateTime; [F.初回入金予定_必要分]: KintoneRecordField.CheckBox; diff --git a/src/types/車室情報管理.ts b/src/types/車室情報管理.ts index 2e61cdf..d1233f5 100644 --- a/src/types/車室情報管理.ts +++ b/src/types/車室情報管理.ts @@ -23,6 +23,8 @@ const F = { 定額_10月: "定額_10月", 定額_11月: "定額_11月", 定額_12月: "定額_12月", + + 入金予定日: "入金予定日", } as const; // export const 支払種別Dropdown = { @@ -108,7 +110,7 @@ export type 車室情報管理 = AppRecord & { 満空key: KintoneRecordField.SingleLineText; 学生証画像更新日時: KintoneRecordField.DateTime; プラン: KintoneRecordField.SingleLineText; - 入金予定日: KintoneRecordField.Date; + [F.入金予定日]: KintoneRecordField.Date; 解約減額分: KintoneRecordField.Calc; 解約年: KintoneRecordField.Calc; 予定額日付1: KintoneRecordField.Calc;