From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。
---
ProtosExpan/UseInfo/UseRoom.Client.cs | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 169 insertions(+), 0 deletions(-)
diff --git a/ProtosExpan/UseInfo/UseRoom.Client.cs b/ProtosExpan/UseInfo/UseRoom.Client.cs
new file mode 100644
index 0000000..c0f3e7c
--- /dev/null
+++ b/ProtosExpan/UseInfo/UseRoom.Client.cs
@@ -0,0 +1,169 @@
+using System;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Text;
+using HotelPms.Share.Data;
+using HotelPms.Share.Util;
+using Google.Protobuf.WellKnownTypes;
+using customTypes;
+using System.Data.Common;
+using HotelPms.Share.IO;
+using System.Reflection;
+using HotelPms.Data.Common;
+
+namespace HotelPms.Data.UseInfo;
+
+/// ****************************** Description *******************************
+/// ◇システム名称
+/// ホテルPMS
+/// ◇概要
+///
+/// ◇履歴
+/// 2021/05/14 コード作成ツール 自動作成
+/// ****************************** Declarations ******************************
+public partial class UseRoom
+{
+ #region ★★★★★ Property ★★★★★
+
+ #endregion
+
+ #region ★★★★★ Function ★★★★★
+
+ /// <summary>
+ /// 通常売上伝票の削除
+ /// ※手配、備品の関連売上伝票除外
+ /// ※パックの場合、子伝票も削除する
+ /// </summary>
+ /// <returns></returns>
+ public bool RemoveSale(Sale item)
+ {
+ try
+ {
+ if (item.Pack)
+ {
+ List<Sale> childList = new List<Sale>();
+ foreach (Sale child in SaleList)
+ {
+ if (child.PackSaleID == item.SaleID) { childList.Add(child); }
+ }
+ foreach (var child in childList) { SaleList.Remove(child); }
+ }
+
+ //売上伝票削除
+ SaleList.Remove(item);
+ return true;
+ }
+ catch (Exception ex)
+ {
+ OperationLog.Instance.WriteLog($"{MethodInfo.GetCurrentMethod()}:{ex.Message}");
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// 部屋に売上伝票を追加
+ /// </summary>
+ /// <param name="item"></param>
+ public void AddSale(Sale item)
+ {
+ item.Parent = this;
+ SaleList.Add(item);
+ }
+
+ /// <summary>
+ /// 科目より売上伝票を作成する
+ /// 完全新規
+ /// </summary>
+ /// <param name="item"></param>
+ /// <returns></returns>
+ public Sale AddSaleByItem(int saleID, int taxRate, HotelPms.Data.Master.Item item)
+ {
+ return AddSaleByItem(saleID, taxRate, item, null);
+ }
+
+ /// <summary>
+ /// 科目より売上伝票を作成する
+ /// </summary>
+ /// <param name="item"></param>
+ /// <param name="orgSale"></param>
+ /// <returns></returns>
+ public Sale AddSaleByItem(int saleID, int taxRate, HotelPms.Data.Master.Item item, Sale? orgSale)
+ {
+ Sale sale = new()
+ {
+ ID = ID,
+ DetailID = DetailID,
+ UseDate = UseDate,
+ SaleID = saleID,
+ ReceiptID = 0,
+ ItemID = item.ID,
+ ItemName = item.Name,
+ Price = item.Price,
+ Amount = 1,
+ ServiceIOType = item.ServiceIOType, //サービス料区分
+ ServiceRate = item.ServiceRate,
+ TaxType = item.TaxType, //0.消費税 1.軽減税
+ TaxIOType = item.TaxIOType, //消費税区分
+ TaxRate = (decimal)taxRate,
+ BathTaxIOType = item.BathTaxIOType,
+ AccTaxIOType = item.AccTaxIOType,
+ DiscountRate = item.DiscountRate,
+ DiscountSummary = item.DiscountSummary,
+ DiscountID = item.DiscountID,
+ Pack = item.PackFlg,
+ PackChild = false,
+ PackSaleID = 0,
+ PersonType = item.PersonType,
+ PersonCount = item.PersonCount,
+ InFemale = 0,
+ UseType = item.UseType, //0.ルームチャージ 1.一人単価
+ BaseAmount = 1, //一人単価時の基本数量(人数連動用)
+ PersonRef = false, //人数連動があるかどうか
+ SrcType = 0, //生成元 0.通常 1.PBX課金 2.会場料金 3.手配 4.貸出 5.手配貸出
+ FixturesID = string.Empty,
+ ItemKind = item.Kind, //科目種別
+
+ //インボイス制度:内訳計算必要???
+ Summary = 0,
+ ServiceSummary = 0,
+ TaxSummary = 0,
+ BathTaxSummary = 0,
+ AccTaxSummary = 0,
+ TotalSummary = 0,
+ };
+
+ if (sale.ItemKind == (int)EItemKind.StayBase || sale.ItemKind == (int)EItemKind.DayUseBase)
+ {
+ sale.BathTaxType = 0; //0.固定 1.可変(マスタ参照)
+ sale.BathTaxUnitPrice = 0; //一人毎入湯税
+ }
+
+ //旧情報を引き継ぐ
+ if(orgSale == null)
+ {
+ sale.ReceiptItemName = item.ReceiptName;
+ sale.ReceiptPrtType = item.ReceiptPrtType;
+ sale.ReceiptPage = 1;
+ }
+ else
+ {
+ sale.ReceiptItemName = orgSale.ReceiptItemName;
+ sale.ReceiptPrtType = orgSale.ReceiptPrtType;
+ sale.ReceiptPage = orgSale.ReceiptPage;
+ sale.FixturesID = orgSale.FixturesID;
+ }
+
+ //パックの場合、子科目の追加
+ if(item.PackFlg) { sale.AddChild(); }
+
+ //親UseRoom
+ sale.Parent = this;
+
+ //部屋の売上一覧に追加する
+ SaleList.Add(sale);
+ return sale;
+ }
+
+ #endregion
+}
\ No newline at end of file
--
Gitblit v1.10.0