Parcourir la source

契約状況の同期処理を追加

develop
sosuke.iwabuchi il y a 2 ans
Parent
révision
5a00b5ee22
4 fichiers modifiés avec 83 ajouts et 3 suppressions
  1. +12
    -0
      src/apps/定期駐車場マスタ/customize-manifest.json
  2. +30
    -0
      src/apps/定期駐車場マスタ/index.tsx
  3. +2
    -3
      src/logic/契約状況同期.ts
  4. +39
    -0
      src/types/定期駐車場マスタ.ts

+ 12
- 0
src/apps/定期駐車場マスタ/customize-manifest.json Voir le fichier

@@ -0,0 +1,12 @@
{
"app": "",
"scope": "ALL",
"desktop": {
"js": ["dist/定期駐車場マスタ.js"],
"css":[]
},
"mobile": {
"js": [],
"css":[]
}
}

+ 30
- 0
src/apps/定期駐車場マスタ/index.tsx Voir le fichier

@@ -0,0 +1,30 @@
import { apptemplate } from "@/common/app-template";
import { setHeaderButton } from "@/common/header-button";
import { KintoneEvent } from "@/common/kintone-event";
import { 契約状況同期 } from "@/logic/契約状況同期";
import { ShowConfirmDialog, SuccessDialog } from "@/middleware/swal";
import { 定期駐車場マスタ } from "@/types/定期駐車場マスタ";

(() => {
console.info("script build at " + process.env.BUILD_TIME);

kintone.events.on(KintoneEvent.詳細.レコード詳細画面を表示した後, (event) => {
const record: 定期駐車場マスタ = event.record;

setHeaderButton(
"契約状況同期",
apptemplate(async () => {
const confirm = await ShowConfirmDialog({
text: "契約状況を同期しますか",
});
if (!confirm.isConfirmed) return;

await 契約状況同期(record.駐車場名.value);

await SuccessDialog.fire();

location.reload();
})
);
});
})();

+ 2
- 3
src/logic/契約状況同期.ts Voir le fichier

@@ -1,4 +1,5 @@
import { AppID } from "@/common/appids";
import { now } from "@/common/datetime";
import { makeRecordData } from "@/common/rest-api-client";
import { BulkRequest } from "@/rest-api/bulk";
import { get車室契約情報一覧 } from "@/rest-api/車室契約情報";
@@ -15,7 +16,7 @@ const 車室情報契約項目同期 = async (駐車場名: string, 車室番号
const 契約一覧 = await get車室契約情報一覧({
駐車場名,
車室番号,
契約中のみ: true,
契約中のみ: now(),
});

const 車室一覧 = await get車室情報一覧({
@@ -23,8 +24,6 @@ const 車室情報契約項目同期 = async (駐車場名: string, 車室番号
車室番号,
});

console.log({ 契約一覧, 車室一覧 });

車室一覧.forEach((車室) => {
const 契約 = 契約一覧.find((c) => c.車室番号.value === 車室.車室番号.value);



+ 39
- 0
src/types/定期駐車場マスタ.ts Voir le fichier

@@ -0,0 +1,39 @@
import { KintoneRecordField } from "@kintone/rest-api-client";
import { AppRecord } from ".";

const F = {} as const;

// export const 支払種別Dropdown = {
// 定期料金: "定期料金",
// 保証金: "保証金",
// 証明書郵送代: "証明書郵送代",
// 事務手数料: "事務手数料",
// 延滞金: "延滞金",
// 余剰金: "余剰金",
// } as const;
// export type 支払種別Dropdown =
// (typeof 支払種別Dropdown)[keyof typeof 支払種別Dropdown];

export const 自動承認グループフィールド名 = F;

export type 対象車室番号行データ = {
割当順: KintoneRecordField.Number;
車室番号: KintoneRecordField.SingleLineText;
利用中: KintoneRecordField.CheckBox;
自動承認スキップ: KintoneRecordField.CheckBox;
};
export type 定期駐車場マスタ = AppRecord & {
備考: KintoneRecordField.MultiLineText;
インボイス関連のメール表記: KintoneRecordField.RadioButton;
当月解約いつまで可能: KintoneRecordField.RadioButton;
状況: KintoneRecordField.Dropdown;
車室管理方法: KintoneRecordField.RadioButton;
収容台数: KintoneRecordField.SingleLineText;
当月解約申請: KintoneRecordField.RadioButton;
駐車場名: KintoneRecordField.SingleLineText;

解約可能日: KintoneRecordField.CheckBox;

位置図: KintoneRecordField.File;
場内図: KintoneRecordField.File;
};

Chargement…
Annuler
Enregistrer