| @@ -34,7 +34,7 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||
| } | |||
| if (record.初回入金予定_保証金入金予定.value) { | |||
| false; | |||
| return false; | |||
| } | |||
| return true; | |||
| @@ -31,8 +31,8 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||
| return false; | |||
| } | |||
| if (record.初回入金予定_初月分入金予定.value) { | |||
| false; | |||
| if (!!record.初回入金予定_初月分入金予定.value) { | |||
| return false; | |||
| } | |||
| return true; | |||
| @@ -22,6 +22,10 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||
| return false; | |||
| } | |||
| if (!!record.IC定期駐車場利用方法.value) { | |||
| return false; | |||
| } | |||
| if ( | |||
| record.初回入金予定_必要分.value.includes(初回入金予定Checkbox.初月分) && | |||
| !record.初回入金予定_初月分入金予定.value | |||
| @@ -41,10 +45,6 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||
| return false; | |||
| } | |||
| if (!!record.IC定期駐車場利用方法) { | |||
| return false; | |||
| } | |||
| return true; | |||
| }; | |||
| @@ -33,7 +33,7 @@ const 表示判定 = (record: 定期申込予約): boolean => { | |||
| } | |||
| if (record.初回入金予定_日割り分入金予定.value) { | |||
| false; | |||
| return false; | |||
| } | |||
| return true; | |||
| @@ -253,7 +253,7 @@ export class 申込 { | |||
| [F.電話番号]: this.定期申込予約.電話番号.value, | |||
| [F.メールアドレス]: this.定期申込予約.メールアドレス.value, | |||
| [F.SMBC契約番号]: String(await getNextSMBC番号()), | |||
| [F.支払方法]: "口座振替", | |||
| [F.支払方法]: this.isIC定期申込() ? "その他" : "口座振替", | |||
| [F.振替日]: "27", //TODO | |||
| [F.振替開始日]: 振替開始日, | |||
| [F.契約者_郵便番号]: 郵便番号, | |||
| @@ -320,14 +320,19 @@ export class 申込 { | |||
| if (this.isIC定期申込()) { | |||
| const message = new MessageBag(); | |||
| // 名前変換 | |||
| let 駐車場利用方法 = this.定期申込予約.IC定期駐車場利用方法.value ?? ""; | |||
| if (駐車場利用方法 === "交通系ICカード") { | |||
| 駐車場利用方法 = "個人所有Felica"; | |||
| } | |||
| const res = await 定期契約新規作成( | |||
| { | |||
| user_id: String(this.顧客情報.IC定期利用者IC ?? ""), | |||
| parking_management_code: | |||
| this.プラン?.IC定期_駐車場管理コード.value ?? "", | |||
| vehicle_type_name: this.プラン?.IC定期_車種.value ?? "", | |||
| parking_use_type_name: | |||
| this.定期申込予約.IC定期駐車場利用方法.value ?? "", | |||
| parking_use_type_name: 駐車場利用方法, | |||
| contractor_type_name: this.プラン?.IC定期_契約者種類.value ?? "", | |||
| season_ticket_seq_no: this.IC定期_定期券番号, | |||
| }, | |||
| @@ -351,7 +356,7 @@ export class 申込 { | |||
| value: res.parking_management_code, | |||
| }; | |||
| data[F.IC定期関連情報_駐車場利用方法] = { | |||
| value: this.定期申込予約.IC定期駐車場利用方法.value ?? "", | |||
| value: 駐車場利用方法, | |||
| }; | |||
| } | |||
| @@ -7,12 +7,11 @@ import { | |||
| SuccessDialog, | |||
| showLoadingDialog, | |||
| } from "@/middleware/swal"; | |||
| import { 利用者情報削除, 定期契約削除, 定期契約更新 } from "@/mypage/IC定期"; | |||
| import { 定期契約更新 } from "@/mypage/IC定期"; | |||
| import { 車室情報管理 } from "@/types/車室情報管理"; | |||
| import { setup } from ".."; | |||
| import IC定期削除ボタン from "./buttons/IC定期削除ボタン"; | |||
| import IC定期同期ボタン from "./buttons/IC定期同期ボタン"; | |||
| import { MessageBag } from "@/common/message"; | |||
| setup(() => { | |||
| kintone.events.on( | |||
| @@ -75,37 +74,4 @@ setup(() => { | |||
| setEvent(new 契約情報更新イベント().getEvent(record)); | |||
| }) | |||
| ); | |||
| kintone.events.on( | |||
| [KintoneEvent.詳細.レコードを削除する前], | |||
| eventHnalder(async (event, { setEvent }) => { | |||
| const record = event.record as 車室情報管理; | |||
| // IC定期処理 | |||
| if (!!record.IC定期関連情報_契約ID.value) { | |||
| await showLoadingDialog(); | |||
| const message = new MessageBag(); | |||
| const res = await 定期契約削除( | |||
| { | |||
| user_id: record.IC定期関連情報_利用者ID.value, | |||
| parking_management_code: | |||
| record.IC定期関連情報_駐車場管理コード.value, | |||
| }, | |||
| message | |||
| ); | |||
| if (res === false) { | |||
| ErrorDialog.fire({ | |||
| text: "IC定期連携に失敗しました " + message.getGeneralMessage(), | |||
| }); | |||
| return false; | |||
| } | |||
| await SuccessDialog.fire({ | |||
| text: "IC定期連携成功", | |||
| }); | |||
| } | |||
| return event; | |||
| }) | |||
| ); | |||
| }); | |||
| @@ -0,0 +1,46 @@ | |||
| import { apptemplate } from "@/common/app-template"; | |||
| import { setHeaderButton } from "@/common/header-button"; | |||
| import { MessageBag } from "@/common/message"; | |||
| import { | |||
| ErrorDialog, | |||
| SuccessDialog, | |||
| showLoadingDialog, | |||
| } from "@/middleware/swal"; | |||
| import { 利用者情報削除 } from "@/mypage/IC定期"; | |||
| import { 顧客マスタ } from "@/types/顧客マスタ"; | |||
| const 表示判定 = (record: 顧客マスタ): boolean => { | |||
| if (!!record.IC定期関連情報_ユーザーID.value) { | |||
| return true; | |||
| } | |||
| return false; | |||
| }; | |||
| export default function IC定期連携削除ボタン(record: 顧客マスタ) { | |||
| if (表示判定(record)) { | |||
| setHeaderButton( | |||
| "IC定期連携削除", | |||
| apptemplate(async () => { | |||
| await showLoadingDialog(); | |||
| const message = new MessageBag(); | |||
| const res = await 利用者情報削除( | |||
| { | |||
| user_id: record.IC定期関連情報_ユーザーID.value, | |||
| }, | |||
| message | |||
| ); | |||
| if (res === false) { | |||
| ErrorDialog.fire({ | |||
| text: "IC定期連携に失敗しました " + message.getGeneralMessage(), | |||
| }); | |||
| return; | |||
| } | |||
| await SuccessDialog.fire({ | |||
| text: "IC定期連携成功", | |||
| }); | |||
| }) | |||
| ); | |||
| } | |||
| } | |||
| @@ -0,0 +1,35 @@ | |||
| import { apptemplate } from "@/common/app-template"; | |||
| import { AppID } from "@/common/appids"; | |||
| import { setHeaderButton } from "@/common/header-button"; | |||
| import { Message } from "@/exception"; | |||
| import { getDetailUrl } from "@/rest-api/url"; | |||
| import { get入金プール一覧 } from "@/rest-api/入金プール"; | |||
| import { 顧客マスタ } from "@/types/顧客マスタ"; | |||
| const 表示判定 = (record: 顧客マスタ): boolean => { | |||
| return true; | |||
| }; | |||
| export default function 入金プール遷移ボタン(record: 顧客マスタ) { | |||
| if (表示判定(record)) { | |||
| setHeaderButton( | |||
| "入金プール表示", | |||
| apptemplate(async () => { | |||
| const list = await get入金プール一覧({ | |||
| 顧客コード: record.CustomerCode.value, | |||
| }); | |||
| if (list.length === 0) { | |||
| throw new Message("入金プールが存在しません"); | |||
| } | |||
| if (list.length !== 1) { | |||
| throw new Message("入金プールレコード数が不正です"); | |||
| } | |||
| const 入金プール = list[0]; | |||
| const url = getDetailUrl(AppID.入金プール, 入金プール.$id.value); | |||
| window.open(url, "_blank", "popup"); | |||
| }) | |||
| ); | |||
| } | |||
| } | |||
| @@ -9,8 +9,23 @@ import { 利用者情報削除, 利用者情報更新 } from "@/mypage/IC定期" | |||
| import { 顧客マスタ, 顧客マスタフィールド名 } from "@/types/顧客マスタ"; | |||
| import { setup } from ".."; | |||
| import { MessageBag } from "@/common/message"; | |||
| import { initMenuBox } from "@/common/header-button"; | |||
| import 入金プール遷移ボタン from "./buttons/入金プール遷移ボタン"; | |||
| import IC定期連携削除ボタン from "./buttons/IC定期連携削除ボタン"; | |||
| setup(() => { | |||
| kintone.events.on( | |||
| [KintoneEvent.詳細.レコード詳細画面を表示した後], | |||
| eventHnalder(async (event) => { | |||
| const record: 顧客マスタ = event.record; | |||
| await initMenuBox(); | |||
| 入金プール遷移ボタン(record); | |||
| IC定期連携削除ボタン(record); | |||
| }) | |||
| ); | |||
| kintone.events.on( | |||
| [KintoneEvent.編集.保存するとき], | |||
| eventHnalder(async (event, { setEvent }) => { | |||
| @@ -42,37 +57,6 @@ setup(() => { | |||
| }); | |||
| } | |||
| return event; | |||
| }) | |||
| ); | |||
| kintone.events.on( | |||
| [KintoneEvent.詳細.レコードを削除する前], | |||
| eventHnalder(async (event, { setEvent }) => { | |||
| const record = event.record as 顧客マスタ; | |||
| const F = 顧客マスタフィールド名; | |||
| // IC定期処理 | |||
| if (!!record.IC定期関連情報_ユーザーID.value) { | |||
| await showLoadingDialog(); | |||
| const message = new MessageBag(); | |||
| const res = await 利用者情報削除( | |||
| { | |||
| user_id: record.IC定期関連情報_ユーザーID.value, | |||
| }, | |||
| message | |||
| ); | |||
| if (res === false) { | |||
| ErrorDialog.fire({ | |||
| text: "IC定期連携に失敗しました " + message.getGeneralMessage(), | |||
| }); | |||
| return false; | |||
| } | |||
| await SuccessDialog.fire({ | |||
| text: "IC定期連携成功", | |||
| }); | |||
| } | |||
| return event; | |||
| }) | |||
| ); | |||
| @@ -98,9 +98,9 @@ export type 定期申込予約 = AppRecord & { | |||
| [F.受付メール送信日時]: KintoneRecordField.DateTime; | |||
| [F.承認メール送信日時]: KintoneRecordField.DateTime; | |||
| [F.初回入金予定_必要分]: KintoneRecordField.CheckBox; | |||
| [F.初回入金予定_初月分入金予定]: KintoneRecordField.SingleLineText; | |||
| [F.初回入金予定_日割り分入金予定]: KintoneRecordField.SingleLineText; | |||
| [F.初回入金予定_保証金入金予定]: KintoneRecordField.SingleLineText; | |||
| [F.初回入金予定_初回入金充当状態]: KintoneRecordField.SingleLineText; | |||
| [F.初回入金予定_初月分入金予定]: KintoneRecordField.Number; | |||
| [F.初回入金予定_日割り分入金予定]: KintoneRecordField.Number; | |||
| [F.初回入金予定_保証金入金予定]: KintoneRecordField.Number; | |||
| [F.初回入金予定_初回入金充当状態]: KintoneRecordField.CheckBox; | |||
| [F.IC定期駐車場利用方法]: KintoneRecordField.SingleLineText; | |||
| }; | |||