Merged PR 933: Functions修正

## 概要
[Task4557: Functions修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/4557)

- 国情報を追加
- テスト修正

## レビューポイント
- 特になし

## クエリの変更
- Repositoryを変更し、クエリが変更された場合は変更内容を確認する
- Before/Afterのクエリ
- クエリ置き場

## 動作確認状況
- ローカルで確認

## 補足
- 相談、参考資料などがあれば
This commit is contained in:
saito.k 2024-10-16 07:40:27 +00:00
parent 85fdec2e5a
commit ad397f6fe7
3 changed files with 115 additions and 74 deletions

View File

@ -351,6 +351,7 @@ export const FILE_RETENTION_DAYS_DEFAULT = 30;
*/
export const LICENSE_COUNT_ANALYSIS_HEADER = {
ACCOUNT: "アカウント",
COUNTRY:"国",
TARGET_YEAE_AND_MONTH: "対象年月",
CATEGORY_1: "カテゴリー1",
CATEGORY_2: "カテゴリー2",

View File

@ -435,6 +435,7 @@ export async function transferData(
// 出力データのヘッダーを作成
const header = [
'"' + LICENSE_COUNT_ANALYSIS_HEADER.ACCOUNT + '",',
'"' + LICENSE_COUNT_ANALYSIS_HEADER.COUNTRY + '",',
'"' + LICENSE_COUNT_ANALYSIS_HEADER.TARGET_YEAE_AND_MONTH + '",',
'"' + LICENSE_COUNT_ANALYSIS_HEADER.CATEGORY_1 + '",',
'"' + LICENSE_COUNT_ANALYSIS_HEADER.CATEGORY_2 + '",',
@ -821,6 +822,7 @@ export async function transferData(
await createOutputData(
context,
account.company_name,
account.country,
targetMonthYYYYMM,
trialLicensesCount,
normalLicensesCount,
@ -863,6 +865,7 @@ export async function transferData(
await createOutputData(
context,
account.company_name,
account.country,
targetMonthYYYYMM,
trialLicensesCount,
normalLicensesCount,
@ -905,6 +908,7 @@ export async function transferData(
await createOutputData(
context,
account.company_name,
account.country,
targetMonthYYYYMM,
trialLicensesCount,
normalLicensesCount,
@ -994,7 +998,7 @@ export async function transferData(
(license) => license.status === LICENSE_ALLOCATED_STATUS.ALLOCATED
);
const usedNoneLicense = noneLicense.filter(
(license) => (license.status === LICENSE_ALLOCATED_STATUS.ALLOCATED)
(license) => license.status === LICENSE_ALLOCATED_STATUS.ALLOCATED
);
// どのロールのユーザーが使用しているライセンスかを判別し、ロールごとに分ける。
// allcated_user_idからユーザーを特定
@ -1271,6 +1275,7 @@ export async function transferData(
await createOutputData(
context,
account.id.toString(),
account.country,
targetMonthYYYYMM,
trialLicensesCount,
normalLicensesCount,
@ -1313,6 +1318,7 @@ export async function transferData(
await createOutputData(
context,
account.id.toString(),
account.country,
targetMonthYYYYMM,
trialLicensesCount,
normalLicensesCount,
@ -1355,6 +1361,7 @@ export async function transferData(
await createOutputData(
context,
account.id.toString(),
account.country,
targetMonthYYYYMM,
trialLicensesCount,
normalLicensesCount,
@ -1451,6 +1458,7 @@ export async function transferData(
async function createOutputData(
context: InvocationContext,
company_name: string,
country: string,
targetMonthYYYYMM: string,
trialLicensesCount: number,
normalLicensesCount: number,
@ -1494,6 +1502,8 @@ async function createOutputData(
resultOutputData.push(
// 会社名(ダブルクォーテーションで囲む)
'"' + company_name + '",',
// 国
'"' + country + '",',
// 対象年月先月YYYYMM
// 2024年3月に実行した場合202402
'"' + targetMonthYYYYMM + '",',
@ -1511,6 +1521,7 @@ async function createOutputData(
// アカウントが保持する通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.OWNER_LICENSES + '",',
@ -1521,6 +1532,7 @@ async function createOutputData(
// アカウントが保持するカードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.OWNER_LICENSES + '",',
@ -1531,6 +1543,7 @@ async function createOutputData(
// ユーザーが使用中の移行ライセンス
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1541,6 +1554,7 @@ async function createOutputData(
// Authorが使用中のトライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1551,6 +1565,7 @@ async function createOutputData(
// Typistが使用中のトライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1561,6 +1576,7 @@ async function createOutputData(
// Noneが使用中のトライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1571,6 +1587,7 @@ async function createOutputData(
// Authorが使用中の通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1581,6 +1598,7 @@ async function createOutputData(
// Typistが使用中の通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1591,6 +1609,7 @@ async function createOutputData(
// Noneが使用中の通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1601,6 +1620,7 @@ async function createOutputData(
// Authorが使用中のカードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1611,6 +1631,7 @@ async function createOutputData(
// Typistが使用中のカードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1621,6 +1642,7 @@ async function createOutputData(
// Noneが使用中のカードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_2.IN_USE_LICENSES + '",',
@ -1631,6 +1653,7 @@ async function createOutputData(
// アカウントが保持する当月発行トライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.NEW_ISSUE_LICENSES + '",',
'"' + "" + '",',
@ -1641,6 +1664,7 @@ async function createOutputData(
// アカウントが保持する当月発行通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.NEW_ISSUE_LICENSES + '",',
'"' + "" + '",',
@ -1651,6 +1675,7 @@ async function createOutputData(
// アカウントが保持する当月発行カードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.NEW_ISSUE_LICENSES + '",',
'"' + "" + '",',
@ -1661,6 +1686,7 @@ async function createOutputData(
// Authorに割り当てられたままの失効トライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1671,6 +1697,7 @@ async function createOutputData(
// Typistに割り当てられたままの失効トライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1681,6 +1708,7 @@ async function createOutputData(
// Noneに割り当てられたままの失効トライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1691,6 +1719,7 @@ async function createOutputData(
// 未割当の失効トライアルライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1701,6 +1730,7 @@ async function createOutputData(
// Authorに割り当てられたままの失効通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1711,6 +1741,7 @@ async function createOutputData(
// Typistに割り当てられたままの失効通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1721,6 +1752,7 @@ async function createOutputData(
// Noneに割り当てられたままの失効通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1731,6 +1763,7 @@ async function createOutputData(
// 未割当の失効通常ライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1741,6 +1774,7 @@ async function createOutputData(
// Authorに割り当てられたままの失効カードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1751,6 +1785,7 @@ async function createOutputData(
// Typistに割り当てられたままの失効カードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1761,6 +1796,7 @@ async function createOutputData(
// Noneに割り当てられたままの失効カードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1771,6 +1807,7 @@ async function createOutputData(
// 未割当の失効カードライセンス[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.INVALID_LICENSES + '",',
'"' + "" + '",',
@ -1781,6 +1818,7 @@ async function createOutputData(
// Authorにトライアルライセンスからの切り替え[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + "" + '",',
@ -1791,6 +1829,7 @@ async function createOutputData(
// Typistにトライアルライセンスからの切り替え[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + "" + '",',
@ -1801,6 +1840,7 @@ async function createOutputData(
// Noneにトライアルライセンスからの切り替え[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + "" + '",',
@ -1811,6 +1851,7 @@ async function createOutputData(
// Authorにカードライセンスからの切り替え[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + "" + '",',
@ -1821,6 +1862,7 @@ async function createOutputData(
// Typistにカードライセンスからの切り替え[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + "" + '",',
@ -1831,6 +1873,7 @@ async function createOutputData(
// Noneにカードライセンスからの切り替え[]
resultOutputData.push(
'"' + company_name + '",',
'"' + country + '",',
'"' + targetMonthYYYYMM + '",',
'"' + LICENSE_COUNT_ANALYSIS_CATEGORY_1.VALID_LICENSES + '",',
'"' + "" + '",',

View File

@ -23,10 +23,6 @@ import {
import { InvocationContext } from "@azure/functions";
import {
LICENSE_ALLOCATED_STATUS,
LICENSE_COUNT_ANALYSIS_CATEGORY_1,
LICENSE_COUNT_ANALYSIS_CATEGORY_2,
LICENSE_COUNT_ANALYSIS_LICENSE_TYPE,
LICENSE_COUNT_ANALYSIS_ROLE,
SWITCH_FROM_TYPE,
} from "../constants";
import { BlobstorageService } from "../blobstorage/blobstorage.service";
@ -1808,6 +1804,7 @@ describe("analysisLicenses", () => {
{
tier: 5,
parent_account_id: account4.id,
country: "CA",
},
{
external_id: "external_id_tier5admin1",
@ -2776,143 +2773,143 @@ describe("analysisLicenses", () => {
csvContentUS += transferDataResult.outputDataUS[i];
}
expect(csvContentUS).toBe(
'"アカウント","対象年月","カテゴリー1","カテゴリー2","ライセンス種別","役割","数量"' +
'"アカウント","国","対象年月","カテゴリー1","カテゴリー2","ライセンス種別","役割","数量"' +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` +
`\r\n` +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` +
`"test inc.","US","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` +
`"test inc.","US","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` +
`"test inc.","US","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` +
`"test inc.","US","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` +
"\r\n" +
`"test inc.","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` +
`"test inc.","US","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Trial","","9"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Standard","","9"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","所有ライセンス数","Card","","7"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","移行ライセンス","","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Author","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","Typist","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Trial","None","3"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Author","4"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","Typist","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Standard","None","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Author","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","Typist","3"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","使用中ライセンス数","Card","None","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` +
`"1","CA","${lastMonthYYYYMM}","新規発行ライセンス数","","Trial","","3"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` +
`"1","CA","${lastMonthYYYYMM}","新規発行ライセンス数","","Standard","","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` +
`"1","CA","${lastMonthYYYYMM}","新規発行ライセンス数","","Card","","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Author","5"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Typist","3"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","None","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Trial","Unallocated","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Author","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Typist","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","None","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Standard","Unallocated","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","Author","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","Typist","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","None","3"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` +
`"1","CA","${lastMonthYYYYMM}","失効ライセンス数","","Card","Unallocated","5"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Author","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","Typist","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","トライアルから切り替え","None","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Author","1"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","Typist","2"` +
"\r\n" +
`"1","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` +
`"1","CA","${lastMonthYYYYMM}","有効ライセンス数","","カードから切り替え","None","3"` +
"\r\n"
);
});