Bladeren bron

IC定期対応

develop
sosuke.iwabuchi 1 jaar geleden
bovenliggende
commit
08aba69516
10 gewijzigde bestanden met toevoegingen van 118 en 82 verwijderingen
  1. +1
    -1
      src/apps/定期申込予約/buttons/保証金入金予定作成ボタン.ts
  2. +2
    -2
      src/apps/定期申込予約/buttons/初月分入金予定作成ボタン.ts
  3. +4
    -4
      src/apps/定期申込予約/buttons/受付メール送信ボタン.ts
  4. +1
    -1
      src/apps/定期申込予約/buttons/日割り入金予定作成ボタン.ts
  5. +9
    -4
      src/apps/定期申込予約/自動承認.ts
  6. +1
    -35
      src/apps/車室情報管理/index.ts
  7. +46
    -0
      src/apps/顧客マスタ/buttons/IC定期連携削除ボタン.ts
  8. +35
    -0
      src/apps/顧客マスタ/buttons/入金プール遷移ボタン.ts
  9. +15
    -31
      src/apps/顧客マスタ/index.ts
  10. +4
    -4
      src/types/定期申込予約.ts

+ 1
- 1
src/apps/定期申込予約/buttons/保証金入金予定作成ボタン.ts Bestand weergeven

@@ -34,7 +34,7 @@ const 表示判定 = (record: 定期申込予約): boolean => {
}

if (record.初回入金予定_保証金入金予定.value) {
false;
return false;
}

return true;


+ 2
- 2
src/apps/定期申込予約/buttons/初月分入金予定作成ボタン.ts Bestand weergeven

@@ -31,8 +31,8 @@ const 表示判定 = (record: 定期申込予約): boolean => {
return false;
}

if (record.初回入金予定_初月分入金予定.value) {
false;
if (!!record.初回入金予定_初月分入金予定.value) {
return false;
}

return true;


+ 4
- 4
src/apps/定期申込予約/buttons/受付メール送信ボタン.ts Bestand weergeven

@@ -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;
};



+ 1
- 1
src/apps/定期申込予約/buttons/日割り入金予定作成ボタン.ts Bestand weergeven

@@ -33,7 +33,7 @@ const 表示判定 = (record: 定期申込予約): boolean => {
}

if (record.初回入金予定_日割り分入金予定.value) {
false;
return false;
}

return true;


+ 9
- 4
src/apps/定期申込予約/自動承認.ts Bestand weergeven

@@ -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: 駐車場利用方法,
};
}



+ 1
- 35
src/apps/車室情報管理/index.ts Bestand weergeven

@@ -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;
})
);
});

+ 46
- 0
src/apps/顧客マスタ/buttons/IC定期連携削除ボタン.ts Bestand weergeven

@@ -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定期連携成功",
});
})
);
}
}

+ 35
- 0
src/apps/顧客マスタ/buttons/入金プール遷移ボタン.ts Bestand weergeven

@@ -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");
})
);
}
}

+ 15
- 31
src/apps/顧客マスタ/index.ts Bestand weergeven

@@ -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;
})
);


+ 4
- 4
src/types/定期申込予約.ts Bestand weergeven

@@ -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;
};

Laden…
Annuleren
Opslaan