Files
RBMESAPICore/Models/Cloud/bill/STK_InStock.cs
yuyubohh e8494ba988 qqq
2025-09-09 22:41:29 +08:00

753 lines
29 KiB
C#

using RB_MES_API.Context;
using System.ComponentModel.DataAnnotations;
namespace RB_MES_API.Models.Cloud
{
/// <summary>
/// 采购入库单
/// </summary>
public class STK_InStock
{
/// <summary>
/// 实体主键(无需填写,保存时自动添加)
/// </summary>
public int FID { get; set; }
/// <summary>
/// 单据类型 (必填项)
/// </summary>
[StringLength(36)]
public Dictionary<string, string> FBillTypeID { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
///// <summary>
///// 业务类型
///// </summary>
//public string FBusinessType { get; set; }
/// <summary>
/// 单据编号
/// </summary>
[StringLength(36)]
public string FBillNo { get; set; } = string.Empty;
/// <summary>
/// 日期 (必填项)
/// </summary>
[DataType(DataType.Date)]
public string FDate { get; set; }
/// <summary>
/// 收货组织内码
/// </summary>
public Dictionary<string, string> FStockOrgId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",LocalStaticRequest.DefaultOrg}
};
/// <summary>
/// 收料部门,可以不填
/// </summary>
public Dictionary<string, string> FStockDeptId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 库存组
/// </summary>
public Dictionary<string, string> FStockerGroupId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 仓管员
/// </summary>
public Dictionary<string, string> FStockerId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 需求组织
/// </summary>
public Dictionary<string, string> FDemandOrgId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",LocalStaticRequest.DefaultOrg}
};
/// <summary>
/// 对应组织
/// </summary>
public Dictionary<string, string> FCorrespondOrgId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 采购组织 (必填项)
/// </summary>
public Dictionary<string, string> FPurchaseOrgId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",LocalStaticRequest.DefaultOrg}
};
/// <summary>
/// 采购部门内码
/// </summary>
public Dictionary<string, string> FPurchaseDeptId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 采购组
/// </summary>
public Dictionary<string, string> FPurchaserGroupId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 采购员
/// </summary>
public Dictionary<string, string> FPurchaserId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 供应商 (必填项)
/// </summary>
public Dictionary<string, string> FSupplierId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 供货方内码
/// </summary>
public Dictionary<string, string> FSupplyId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 供货方地址
/// </summary>
[StringLength(250)]
public string FSupplyAddress { get; set; }
/// <summary>
/// 结算方
/// </summary>
public Dictionary<string, string> FSettleId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 结算方内码
/// </summary>
public Dictionary<string, string> FChargeId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
///// <summary>
///// 货主类型 (必填项)
///// </summary>
//[StringLength(36)]
//public string FOwnerTypeIdHead { get; set; } = "BD_OwnerOrg";
///// <summary>
///// 货主 (必填项)
///// </summary>
//public Dictionary<string, string> FOwnerIdHead { get; set; } = new Dictionary<string, string>() {
// { "FNumber",LocalStaticRequest.DefaultOrg}
//};
/// <summary>
/// 确认人
/// </summary>
public Dictionary<string, string> FConfirmerId { get; set; } = new Dictionary<string, string>() {
{ "FUserID",""}
};
/// <summary>
/// 确认日期
/// </summary>
[DataType(DataType.Date)]
public string FConfirmDate { get; set; }
/// <summary>
/// 序列号上传
/// </summary>
[StringLength(36)]
public string FScanBox { get; set; }
/// <summary>
/// 创建日期偏移单位
/// </summary>
[StringLength(36)]
public string FCDateOffsetUnit { get; set; }
/// <summary>
/// 创建日期偏移量
/// </summary>
public int FCDateOffsetValue { get; set; }
/// <summary>
/// 供货方联系人
/// </summary>
public Dictionary<string, string> FProviderContactID { get; set; } = new Dictionary<string, string>() {
{ "FCONTACTNUMBER",""}
};
/// <summary>
/// 拆单类型
/// </summary>
[StringLength(36)]
public string FSplitBillType { get; set; }
/// <summary>
/// 邮箱
/// </summary>
[StringLength(36)]
public string FSupplyEMail { get; set; }
/// <summary>
/// 备注
/// </summary>
[StringLength(36)]
public string F_NOTE { get; set; }
/// <summary>
/// MES唯一标识
/// </summary>
[StringLength(50)]
public string F_SBMI_QUEUE_ID { get; set; }
/// <summary>
/// 送货单号#
/// </summary>
[StringLength(50)]
public string F_DELIVERY_NOTE_NUMBER { get; set; }
public InStockFin FInStockFin { get; set; }
/// <summary>
/// 入库单财务信息
/// </summary>
public class InStockFin
{
/// <summary>
/// 实体主键(无需填写,保存时自动添加)
/// </summary>
public int FEntryId { get; set; }
/// <summary>
/// 结算组织 (必填项)
/// </summary>
public Dictionary<string, string> FSettleOrgId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",LocalStaticRequest.DefaultOrg}
};
/// <summary>
/// 结算方式
/// </summary>
public Dictionary<string, string> FSettleTypeId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 付款条件
/// </summary>
public Dictionary<string, string> FPayConditionId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 结算币别 (必填项)
/// </summary>
public Dictionary<string, string> FSettleCurrId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 定价时点 (必填项)
/// </summary>
public string FPriceTimePoint { get; set; }
/// <summary>
/// 价目表
/// </summary>
public Dictionary<string, string> FPriceListId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } }; //空值和空的对象结果不一样!
/// <summary>
/// 折扣表
/// </summary>
public Dictionary<string, string> FDiscountListId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 本位币
/// </summary>
public Dictionary<string, string> FLocalCurrId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 汇率类型 (必填项)
/// </summary>
public Dictionary<string, string> FExchangeTypeId { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
/// <summary>
/// 汇率 (必填项)
/// </summary>
public decimal FExchangeRate { get; set; }
/// <summary>
/// 价外税
/// </summary>
public bool FISPRICEEXCLUDETAX { get; set; } = true;
/// <summary>
/// 含税
/// </summary>
public bool FIsIncludedTax { get; set; } = true;
/// <summary>
/// 整单折扣额
/// </summary>
public decimal FAllDisCount { get; set; }
/// <summary>
/// 税额
/// </summary>
public decimal FBillTaxAmount { get; set; }
/// <summary>
/// 金额(本位币)
/// </summary>
public decimal FBillAmount_LC { get; set; }
/// <summary>
/// 金额
/// </summary>
public decimal FBillAmount { get; set; }
/// <summary>
/// 税额(本位币)
/// </summary>
public decimal FBillTaxAmount_LC { get; set; }
///// <summary>
///// 价税合计
///// </summary>
//public decimal FBillAllAmount { get; set; }
///// <summary>
///// 价税合计(本位币)
///// </summary>
//public decimal FBillAllAmount_LC { get; set; }
}
public List<InStockEntry> FInStockEntry { get; set; } = new List<InStockEntry>();
/// <summary>
/// 入库单明细信息
/// </summary>
public class InStockEntry
{
/// <summary>
/// 实体主键(无需填写,保存时自动添加)
/// </summary>
public int FEntryID { get; set; }
/// <summary>
/// 物料编码 (必填项)
/// </summary>
public Dictionary<string, string> FMaterialId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 仓库
/// </summary>
public Dictionary<string, string> FStockId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 生产日期
/// </summary>
[DataType(DataType.Date)]
public string FProduceDate { get; set; } = string.Empty;
/// <summary>
/// 备注
/// </summary>
[StringLength(36)]
public string FNote { get; set; }
/// <summary>
/// 供应商批号
/// </summary>
[StringLength(36)]
public string FSupplierLot { get; set; }
/// <summary>
/// 应收数量
/// </summary>
public decimal FMustQty { get; set; }
/// <summary>
/// 实收数量 (必填项)
/// </summary>
public decimal FRealQty { get; set; }
/// <summary>
/// 数量(库存辅单位)
/// </summary>
public decimal FAuxUnitQty { get; set; }
/// <summary>
/// 有效期至
/// </summary>
[DataType(DataType.Date)]
public string FExpiryDate { get; set; } = string.Empty;
/// <summary>
/// 库存状态
/// </summary>
public Dictionary<string, string> FStockStatusId { get; set; } = new Dictionary<string, string>() { { "FNumber", "KCZT01_SYS" } };
/// <summary>
/// BOM版本
/// </summary>
public Dictionary<string, string> FBOMId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 含税单价
/// </summary>
public decimal FTaxPrice { get; set; }
/// <summary>
/// 成本价
/// </summary>
public decimal FCostPrice { get; set; }
/// <summary>
/// 税率(%)
/// </summary>
public decimal FEntryTaxRate { get; set; }
/// <summary>
/// 税额
/// </summary>
public decimal FEntryTaxAmount { get; set; }
/// <summary>
/// 折扣率(%)
/// </summary>
public decimal FDiscountRate { get; set; }
/// <summary>
/// 计价数量
/// </summary>
public decimal FPriceUnitQty { get; set; }
/// <summary>
/// 净价
/// </summary>
public decimal FTaxNetPrice { get; set; }
/// <summary>
/// 库存单位 (必填项)
/// </summary>
public Dictionary<string, string> FUnitID { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 基本单位
/// </summary>
public Dictionary<string, string> FBaseUnitID { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 计价单位 (必填项)
/// </summary>
public Dictionary<string, string> FPriceUnitID { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 辅助属性
/// </summary>
public AuxpropId FAuxPropId { get; set; }
/// <summary>
/// 订单单号
/// </summary>
public string FPOOrderNo { get; set; }
public StockLocId FStockLocId { get; set; } = new StockLocId();
/// <summary>
/// 源单类型
/// </summary>
public string FSRCBILLTYPEID { get; set; } = "PUR_PurchaseOrder";
/// <summary>
/// 源单单号
/// </summary>
public string FSRCBillNo { get; set; }
/// <summary>
/// 保管者类型
/// </summary>
public string FKEEPERTYPEID { get; set; } = "BD_KeeperOrg";
/// <summary>
/// 保管者
/// </summary>
public Dictionary<string, string> FKEEPERID { get; set; } = new Dictionary<string, string>() { { "FNumber", LocalStaticRequest.DefaultOrg } };
/// <summary>
/// 货主类型 (必填项)
/// </summary>
[StringLength(36)]
public string FOWNERTYPEID { get; set; } = "BD_OwnerOrg";
/// <summary>
/// 货主 (必填项)
/// </summary>
public Dictionary<string, string> FOWNERID { get; set; } = new Dictionary<string, string>() { { "FNumber", LocalStaticRequest.DefaultOrg } };
/// <summary>
/// 批号
/// </summary>
public Dictionary<string, string> FLot { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 税组合
/// </summary>
public Dictionary<string, string> FTaxCombination { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 单价
/// </summary>
public decimal FPrice { get; set; }
/// <summary>
/// 计划跟踪号
/// </summary>
[StringLength(36)]
public string FMtoNo { get; set; }
/// <summary>
/// 项目编号
/// </summary>
[StringLength(36)]
public string FProjectNo { get; set; }
/// <summary>
/// 是否赠品
/// </summary>
public bool FGiveAway { get; set; } = false;
/// <summary>
/// 来料检验
/// </summary>
public bool FCheckInComing { get; set; } = false;
/// <summary>
/// 收料更新库存
/// </summary>
public bool FIsReceiveUpdateStock { get; set; } = false;
/// <summary>
/// 辅单位
/// </summary>
public Dictionary<string, string> FExtAuxUnitId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 实收数量(辅单位)
/// </summary>
public decimal FExtAuxUnitQty { get; set; }
/// <summary>
/// 入库类型
/// </summary>
public string FWWInType { get; set; }
/// <summary>
/// 计价基本数量
/// </summary>
public decimal FPriceBaseQty { get; set; }
/// <summary>
/// 定价单位
/// </summary>
public Dictionary<string, string> FSetPriceUnitID { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 采购单位 (必填项)
/// </summary>
public Dictionary<string, string> FRemainInStockUnitId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 采购数量
/// </summary>
public decimal FRemainInStockQty { get; set; }
/// <summary>
/// 采购基本数量
/// </summary>
public decimal FRemainInStockBaseQty { get; set; }
/// <summary>
/// 立账关闭
/// </summary>
public bool FBILLINGCLOSE { get; set; } = false;
/// <summary>
/// 采购基本分子
/// </summary>
public decimal FPURBASENUM { get; set; }
/// <summary>
/// 库存基本分母
/// </summary>
public decimal FStockBaseDen { get; set; }
/// <summary>
/// 订单单号分录内码
/// </summary>
public string FPOORDERENTRYID { get; set; }
///// <summary>
///// 分录价目表
///// </summary>
//public Dictionary<string, string> FPRICELISTENTRY { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 产品类型
/// </summary>
public string FRowType { get; set; }
/// <summary>
/// 父项产品
/// </summary>
public Dictionary<string, string> FParentMatId { get; set; } = new Dictionary<string, string>() { { "FNumber", "" } };
/// <summary>
/// 单价折扣
/// </summary>
public decimal FPriceDiscount { get; set; }
/// <summary>
/// 消耗汇总数量
/// </summary>
public decimal FConsumeSumQty { get; set; }
/// <summary>
/// 消耗汇总基本单位数量
/// </summary>
public decimal FBaseConsumeSumQty { get; set; }
/// <summary>
/// 不良品折让金额
/// </summary>
public decimal FRejectsDiscountAmount { get; set; }
/// <summary>
/// 采购订单版本号
/// </summary>
public string FVERSIONNO { get; set; }
public class AuxpropId
{
public Dictionary<string, string> FAUXPROPID__FF100001 { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
}
///// <summary>
///// 拆单数量(计价)
///// </summary>
//public decimal FDisPriceQty { get; set; }
/// <summary>
/// 仓位
/// </summary>
public class StockLocId
{
public Dictionary<string, string> FSTOCKLOCID__FF100001 { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
public Dictionary<string, string> FSTOCKLOCID__FF100002 { get; set; } = new Dictionary<string, string>() {
{ "FNumber",""}
};
}
///// <summary>
///// 已开票关联数量
///// </summary>
//public decimal FInvoicedJoinQty { get; set; }
///// <summary>
///// 未关联应付数量(计价单位)
///// </summary>
//public decimal FAPNotJoinQty { get; set; }
///// <summary>
///// 金额
///// </summary>
//public decimal FAmount { get; set; }
///// <summary>
///// 金额(本位币)
///// </summary>
//public decimal FAmount_LC { get; set; }
///// <summary>
///// 价税合计(折前)
///// </summary>
//public decimal FAllAmountExceptDisCount { get; set; }
///// <summary>
///// 价税合计
///// </summary>
//public decimal FAllAmount { get; set; }
///// <summary>
///// 税额(本位币)
///// </summary>
//public decimal FTaxAmount_LC { get; set; }
///// <summary>
///// 价税合计(本位币)
///// </summary>
//public decimal FAllAmount_LC { get; set; }
///// <summary>
///// 拆单前原计价数量
///// </summary>
//public decimal FBeforeDisPriceQty { get; set; }
///// <summary>
///// 更新库存标志
///// </summary>
//public string FStockFlag { get; set; } = "0";
public List<EntryPruCost> FEntryPruCost { get; set; } = new List<EntryPruCost>() { new EntryPruCost { FDetailID = 0 } };
public List<TaxDetailSubEntity> FTaxDetailSubEntity { get; set; } = new List<TaxDetailSubEntity>() { new TaxDetailSubEntity { FDetailID = 0, FTaxRate = 0 } };
public List<SerialSubEntity> FSerialSubEntity { get; set; } = new List<SerialSubEntity>() { new SerialSubEntity { FDetailID = 0, FSerialNo = "", FSerialNote = "" } };
/// <summary>
/// 采购费用
/// </summary>
public class EntryPruCost
{
/// <summary>
/// 实体主键(无需填写,保存时自动添加)
/// </summary>
public int FDetailID { get; set; }
}
/// <summary>
/// 税务明细
/// </summary>
public class TaxDetailSubEntity
{
/// <summary>
/// 实体主键(无需填写,保存时自动添加)
/// </summary>
public int FDetailID { get; set; }
/// <summary>
/// 税率%
/// </summary>
public decimal FTaxRate { get; set; }
}
/// <summary>
/// 序列号子单据体
/// </summary>
public class SerialSubEntity
{
/// <summary>
/// 实体主键(无需填写,保存时自动添加)
/// </summary>
public int FDetailID { get; set; }
/// <summary>
/// 序列号
/// </summary>
public string FSerialNo { get; set; }
/// <summary>
/// 备注
/// </summary>
public string FSerialNote { get; set; }
}
/// <summary>
/// 关联关系表,当原单信息有提供时 new InStockEntry_Link()
/// </summary>
public List<InStockEntry_Link>? FInStockEntry_Link { get; set; }
/// <summary>
/// 关联关系表
/// </summary>
public class InStockEntry_Link
{
/// <summary>
/// 实体主键
/// </summary>
public string FLinkId { get; set; } = string.Empty;
/// <summary>
/// 业务流程图
/// </summary>
public string FInStockEntry_Link_FFlowId { get; set; }
/// <summary>
/// 推进路线
/// </summary>
public string FInStockEntry_Link_FFlowLineId { get; set; }
///// <summary>
///// 转换规则:单据转换内码,必录,(在转换规则设计界面中的唯一标识)
///// </summary>
//public string FInStockEntry_Link_FRuleId { get; set; } = "5cf78678-121d-49ea-8561-da8c239657af";
/// <summary>
/// 转换规则:单据转换内码,必录,(在转换规则设计界面中的唯一标识)
/// </summary>
public string FInStockEntry_Link_FRuleId { get; set; } = "PUR_PurchaseOrder-STK_InStock";
/// <summary>
/// 源单表内码
/// </summary>
public int FInStockEntry_Link_FSTableId { get; set; }
/// <summary>
/// 源单表
/// </summary>
public string FInStockEntry_Link_FSTableName { get; set; } = "t_PUR_POOrderEntry";
/// <summary>
/// 源单内码
/// </summary>
public string FInStockEntry_Link_FSBillId { get; set; }
/// <summary>
/// 源单分录内码
/// </summary>
public string FInStockEntry_Link_FSId { get; set; }
/// <summary>
/// 原始携带量
/// </summary>
public decimal FInStockEntry_Link_FRemainInStockBaseQtyOld { get; set; }
/// <summary>
/// 原始携带量
/// </summary>
public decimal FInStockEntry_Link_FRemainInStockBaseQty { get; set; }
/// <summary>
/// 原始携带量,控制字段,必录
/// </summary>
public decimal FInStockEntry_Link_FBaseUnitQtyOld { get; set; }
/// <summary>
/// 原始携带量,控制字段,必录
/// </summary>
public decimal FInStockEntry_Link_FBaseUnitQty { get; set; }
/// <summary>
/// 迁移图
/// </summary>
public string FInStockEntry_Link_FLnk1TrackerId { get; set; } = string.Empty;
/// <summary>
/// 上游状态
/// </summary>
public string FInStockEntry_Link_FLnk1SState { get; set; } = string.Empty;
/// <summary>
/// 数量FLnk1
/// </summary>
public decimal FInStockEntry_Link_FLnk1Amount { get; set; }
/// <summary>
/// 迁移图
/// </summary>
public string FInStockEntry_Link_FLnkTrackerId { get; set; } = string.Empty;
/// <summary>
/// 上游状态
/// </summary>
public string FInStockEntry_Link_FLnkSState { get; set; } = string.Empty;
/// <summary>
/// 数量FLnk
/// </summary>
public decimal FInStockEntry_Link_FLnkAmount { get; set; }
/// <summary>
/// 迁移图
/// </summary>
public string FInStockEntry_Link_FLnk2TrackerId { get; set; } = string.Empty;
/// <summary>
/// 上游状态
/// </summary>
public string FInStockEntry_Link_FLnk2SState { get; set; } = string.Empty;
/// <summary>
/// 数量FLnk2
/// </summary>
public decimal FInStockEntry_Link_FLnk2Amount { get; set; }
}
}
}
}