周红军 3 weeks ago
parent
commit
e53fe9e5c7
  1. 213
      API/TaskManager.Contracts/Dtos/Dtos.cs
  2. 212
      API/TaskManager.Entity/11-18/SUPPLIER_CON_DATE.cs
  3. 117
      API/TaskManager.Entity/11-18/SUPPLIER_CON_MMRP.cs
  4. 52
      API/TaskManager.Entity/11-18/SUPPLIER_CON_PO.cs
  5. 22
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_ATTACHMENT_DATA.cs
  6. 21
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_ENVIRONMENT.cs
  7. 30
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_FLAW.cs
  8. 24
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_MATERIAL_DATA.cs
  9. 27
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE.cs
  10. 22
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_OEE_TIME_DETAILS.cs
  11. 23
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_PROCESS.cs
  12. 34
      API/TaskManager.Entity/11-18/SUPPLIER_PRO_PROCESS_EQUIPMENT.cs
  13. 77
      API/TaskManager.Entity/11-18/SUPPLIER_SINV_DATA.cs
  14. 812
      API/TaskManager.Entity/Entity.cs
  15. 255
      API/TaskManager.EntityFramework/JobDbContext.cs
  16. 76
      API/Wood.Service/Controllers/LogController.cs
  17. 110
      API/Wood.Service/Controllers/NormalBaseController.cs
  18. 137
      API/Wood.Service/Controllers/TaskConifgureController.cs

213
API/TaskManager.Contracts/Dtos/Dtos.cs

@ -9,7 +9,9 @@ using System.Text.Json.Serialization;
namespace TaskManager.Contracts.Dtos
{
/// <summary>
///
/// </summary>
public class PAGE_OUT_DTO
{
/// <summary>数据总数</summary>
@ -100,51 +102,141 @@ namespace TaskManager.Contracts.Dtos
public class SUPPLIER_PRO_PLANING_DETIAL_DTO: CherryReadBaseEntityDto
{
//public string models { get; set; }
//public decimal? quantity1 { get; set; }
//public decimal? quantity2 { get; set; }
//public string startMonth { get; set; }
//public int isDelete { get; set; }
//public string updateByUser { get; set; }
//public string pattern { get; set; }
//public string omterior { get; set; }
//public string salseDepartment { get; set; }
//public string materialCode { get; set; }
//public DateTime? updateTime { get; set; }
//public string type { get; set; }
//public decimal? quantity3 { get; set; }
//public string releaseEdition { get; set; }
//public decimal? quantity4 { get; set; }
//public int? version { get; set; }
//public decimal? quantity5 { get; set; }
//public decimal? quantity6 { get; set; }
//public DateTime? createTime { get; set; }
//public string plant { get; set; }
//public string assembly { get; set; }
//public string id { get; set; }
//public string createByUser { get; set; }
[JsonProperty("models")]
public string Models { get; set; }
[JsonProperty("quantity1")]
public decimal? Quantity1 { get; set; }
[JsonProperty("quantity2")]
public decimal? Quantity2 { get; set; }
/// <summary>
/// 需求发布版次:唯一版次ID
/// </summary>
[JsonPropertyName("releaseEdition")]
[MaxLength(50)]
public string ReleaseEdition { get; set; } = string.Empty;
/// <summary>
/// 车型
/// </summary>
[JsonPropertyName("models")]
[MaxLength(50)]
public string Models { get; set; } = string.Empty;
/// <summary>
/// 类型
/// </summary>
[JsonPropertyName("type")]
[MaxLength(50)]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 动力总成
/// </summary>
[JsonPropertyName("assembly")]
[MaxLength(50)]
public string Assembly { get; set; } = string.Empty;
/// <summary>
/// 版型
/// </summary>
[JsonPropertyName("pattern")]
[MaxLength(50)]
public string Pattern { get; set; } = string.Empty;
[JsonProperty("startMonth")]
public string StartMonth { get; set; }
/// <summary>
/// 物料号
/// </summary>
[JsonPropertyName("materialCode")]
[MaxLength(50)]
public string MaterialCode { get; set; } = string.Empty;
/// <summary>
/// 起始月份-格式:yyyy-MM
/// </summary>
[JsonPropertyName("startMonth")]
[MaxLength(50)]
public string StartMonth { get; set; } = string.Empty;
/// <summary>
/// 数量1
/// </summary>
[JsonPropertyName("quantity1")]
public int Quantity1 { get; set; } = 1;
/// <summary>
/// 数量2
/// </summary>
[JsonPropertyName("quantity2")]
public int Quantity2 { get; set; } = 1;
/// <summary>
/// 数量3
/// </summary>
[JsonPropertyName("quantity3")]
public int Quantity3 { get; set; } = 1;
/// <summary>
/// 数量4
/// </summary>
[JsonPropertyName("quantity4")]
public int Quantity4 { get; set; } = 1;
/// <summary>
/// 数量5
/// </summary>
[JsonPropertyName("quantity5")]
public int Quantity5 { get; set; } = 1;
/// <summary>
/// 数量6
/// </summary>
[JsonPropertyName("quantity6")]
public int Quantity6 { get; set; } = 1;
/// <summary>
/// 工厂
/// </summary>
[JsonPropertyName("plant")]
[MaxLength(50)]
public string Plant { get; set; } = string.Empty;
/// <summary>
/// 创建人
/// </summary>
[JsonPropertyName("createByUser")]
[MaxLength(50)]
public string CreateByUser { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[JsonPropertyName("createTime")]
public DateTime CreateTime { get; set; }
[JsonProperty("isDelete")]
public int IsDelete { get; set; }
/// <summary>
/// 修改人
/// </summary>
[JsonPropertyName("updateByUser")]
[MaxLength(50)]
public string UpdateByUser { get; set; } = string.Empty;
/// <summary>
/// 修改时间
/// </summary>
[JsonPropertyName("updateTime")]
public DateTime UpdateTime { get; set; }
[JsonProperty("updateByUser")]
public string UpdateByUser { get; set; }
/// <summary>
/// 是否删除(0:否,1:是)
/// </summary>
[JsonPropertyName("isDelete")]
public int IsDelete { get; set; } = 0;
/// <summary>
/// 版本号
/// </summary>
[JsonPropertyName("version")]
public int Version { get; set; } = 1;
[JsonProperty("pattern")]
public string Pattern { get; set; }
[JsonProperty("omterior")] // 可能是拼写错误,保留原始名称
public string Omterior { get; set; }
@ -152,46 +244,6 @@ namespace TaskManager.Contracts.Dtos
[JsonProperty("salseDepartment")] // 可能是拼写错误,保留原始名称
public string SalseDepartment { get; set; }
[JsonProperty("materialCode")]
public string MaterialCode { get; set; }
[JsonProperty("updateTime")]
public DateTime? UpdateTime { get; set; }
[JsonProperty("type")]
public string Type { get; set; }
[JsonProperty("quantity3")]
public decimal? Quantity3 { get; set; }
[JsonProperty("releaseEdition")]
public string ReleaseEdition { get; set; }
[JsonProperty("quantity4")]
public decimal? Quantity4 { get; set; }
[JsonProperty("version")]
public int Version { get; set; }
[JsonProperty("quantity5")]
public decimal? Quantity5 { get; set; }
[JsonProperty("quantity6")]
public decimal? Quantity6 { get; set; }
[JsonProperty("createTime")]
public DateTime? CreateTime { get; set; }
[JsonProperty("plant")]
public string Plant { get; set; }
[JsonProperty("assembly")]
public string Assembly { get; set; }
[JsonProperty("createByUser")]
public string CreateByUser { get; set; }
}
@ -790,6 +842,7 @@ public class SUPPLIER_MRP_WARNING_DETAIL_DTO : CherryReadBaseEntityDto
public class SUPPLIER_MRP_DATE_DETAIL_DTO : CherryReadBaseEntityDto
{
public string ReleaseEdition { get; set; }
public string MaterialCode { get; set; }
public string MaterialDescription { get; set; }

212
API/TaskManager.Entity/11-18/SUPPLIER_CON_DATE.cs

@ -0,0 +1,212 @@
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 日物料需求计划风险确认
/// </summary>
public class SUPPLIER_CON_DATE : BaseEntity
{
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 需求发布版次,取自日物料需求计划接口中的需求发布版次,针对与这个版次的需求进行风险反馈
/// </summary>
[ExporterHeader(DisplayName = "需求发布版次,取自日物料需求计划接口中的需求发布版次,针对与这个版次的需求进行风险反馈")]
public string ReleaseEdition { get; set; }
/// <summary>
/// 零件号,奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "零件号,奇瑞零件号")]
public string MaterialCode { get; set; }
/// <summary>
/// 工厂代码
/// </summary>
[ExporterHeader(DisplayName = "工厂代码")]
public string PlantId { get; set; }
/// <summary>
/// 反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)
/// </summary>
[ExporterHeader(DisplayName = "反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)")]
public string FeedbackResults { get; set; }
/// <summary>
/// 风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他
/// </summary>
[ExporterHeader(DisplayName = "风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他")]
public string? VentureType { get; set; }
/// <summary>
/// 具体风险,当反馈结果=1时,此字段必输描述具体风险
/// </summary>
[ExporterHeader(DisplayName = "具体风险,当反馈结果=1时,此字段必输描述具体风险")]
public string? VentureSpecific { get; set; }
/// <summary>
/// 应对措施,当反馈结果=1时,此字段必输描述具体应对措施
/// </summary>
[ExporterHeader(DisplayName = "应对措施,当反馈结果=1时,此字段必输描述具体应对措施")]
public string? Measures { get; set; }
/// <summary>
/// 起始日期,格式:yyyy-MM-dd
/// </summary>
[ExporterHeader(DisplayName = "起始日期,格式:yyyy-MM-dd")]
public string StartDate { get; set; }
/// <summary>
/// 满足数量1,数量锁定,7日内满足数量必须等于需求数量
/// </summary>
[ExporterHeader(DisplayName = "满足数量1,数量锁定,7日内满足数量必须等于需求数量")]
public decimal QuantityMeet1 { get; set; }
/// <summary>
/// 满足数量2,
/// </summary>
[ExporterHeader(DisplayName = "满足数量2,")]
public decimal QuantityMeet2 { get; set; }
/// <summary>
/// 满足数量3,
/// </summary>
[ExporterHeader(DisplayName = "满足数量3,")]
public decimal QuantityMeet3 { get; set; }
/// <summary>
/// 满足数量4,
/// </summary>
[ExporterHeader(DisplayName = "满足数量4,")]
public decimal QuantityMeet4 { get; set; }
/// <summary>
/// 满足数量5,
/// </summary>
[ExporterHeader(DisplayName = "满足数量5,")]
public decimal QuantityMeet5 { get; set; }
/// <summary>
/// 满足数量6,
/// </summary>
[ExporterHeader(DisplayName = "满足数量6,")]
public decimal QuantityMeet6 { get; set; }
/// <summary>
/// 满足数量7,
/// </summary>
[ExporterHeader(DisplayName = "满足数量7,")]
public decimal QuantityMeet7 { get; set; }
/// <summary>
/// 满足数量8,根据物料需求计划接口发布的需求天数,针对企业自身产能情况反馈可满足数量注:目前发送数据为滚动12天的数据,13至31天的字段为预留,未来可能会增加至31天
/// </summary>
[ExporterHeader(DisplayName = "满足数量8,根据物料需求计划接口发布的需求天数,针对企业自身产能情况反馈可满足数量注:目前发送数据为滚动12天的数据,13至31天的字段为预留,未来可能会增加至31天")]
public decimal QuantityMeet8 { get; set; }
/// <summary>
/// 满足数量9,
/// </summary>
[ExporterHeader(DisplayName = "满足数量9,")]
public decimal QuantityMeet9 { get; set; }
/// <summary>
/// 满足数量10,
/// </summary>
[ExporterHeader(DisplayName = "满足数量10,")]
public decimal QuantityMeet10 { get; set; }
/// <summary>
/// 满足数量11,
/// </summary>
[ExporterHeader(DisplayName = "满足数量11,")]
public decimal QuantityMeet11 { get; set; }
/// <summary>
/// 满足数量12,
/// </summary>
[ExporterHeader(DisplayName = "满足数量12,")]
public decimal QuantityMeet12 { get; set; }
/// <summary>
/// 满足数量13,
/// </summary>
[ExporterHeader(DisplayName = "满足数量13,")]
public decimal? QuantityMeet13 { get; set; }
/// <summary>
/// 满足数量14,
/// </summary>
[ExporterHeader(DisplayName = "满足数量14,")]
public decimal? QuantityMeet14 { get; set; }
/// <summary>
/// 满足数量15,
/// </summary>
[ExporterHeader(DisplayName = "满足数量15,")]
public decimal? QuantityMeet15 { get; set; }
/// <summary>
/// 满足数量16,
/// </summary>
[ExporterHeader(DisplayName = "满足数量16,")]
public decimal? QuantityMeet16 { get; set; }
/// <summary>
/// 满足数量17,
/// </summary>
[ExporterHeader(DisplayName = "满足数量17,")]
public decimal? QuantityMeet17 { get; set; }
/// <summary>
/// 满足数量18,
/// </summary>
[ExporterHeader(DisplayName = "满足数量18,")]
public decimal? QuantityMeet18 { get; set; }
/// <summary>
/// 满足数量19,
/// </summary>
[ExporterHeader(DisplayName = "满足数量19,")]
public decimal? QuantityMeet19 { get; set; }
/// <summary>
/// 满足数量20,
/// </summary>
[ExporterHeader(DisplayName = "满足数量20,")]
public decimal? QuantityMeet20 { get; set; }
/// <summary>
/// 满足数量21,
/// </summary>
[ExporterHeader(DisplayName = "满足数量21,")]
public decimal? QuantityMeet21 { get; set; }
/// <summary>
/// 满足数量22,
/// </summary>
[ExporterHeader(DisplayName = "满足数量22,")]
public decimal? QuantityMeet22 { get; set; }
/// <summary>
/// 满足数量23,
/// </summary>
[ExporterHeader(DisplayName = "满足数量23,")]
public decimal? QuantityMeet23 { get; set; }
/// <summary>
/// 满足数量24,
/// </summary>
[ExporterHeader(DisplayName = "满足数量24,")]
public decimal? QuantityMeet24 { get; set; }
/// <summary>
/// 满足数量25,
/// </summary>
[ExporterHeader(DisplayName = "满足数量25,")]
public decimal? QuantityMeet25 { get; set; }
/// <summary>
/// 满足数量26,
/// </summary>
[ExporterHeader(DisplayName = "满足数量26,")]
public decimal? QuantityMeet26 { get; set; }
/// <summary>
/// 满足数量27,
/// </summary>
[ExporterHeader(DisplayName = "满足数量27,")]
public decimal? QuantityMeet27 { get; set; }
/// <summary>
/// 满足数量28,
/// </summary>
[ExporterHeader(DisplayName = "满足数量28,")]
public decimal? QuantityMeet28 { get; set; }
/// <summary>
/// 满足数量29,
/// </summary>
[ExporterHeader(DisplayName = "满足数量29,")]
public decimal? QuantityMeet29 { get; set; }
/// <summary>
/// 满足数量30,
/// </summary>
[ExporterHeader(DisplayName = "满足数量30,")]
public decimal? QuantityMeet30 { get; set; }
/// <summary>
/// 满足数量31,
/// </summary>
[ExporterHeader(DisplayName = "满足数量31,")]
public decimal? QuantityMeet31 { get; set; }
}
}

117
API/TaskManager.Entity/11-18/SUPPLIER_CON_MMRP.cs

@ -0,0 +1,117 @@
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// M+6月物料需求计划风险确认
/// </summary>
public class SUPPLIER_CON_MMRP : BaseEntity
{
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 需求发布版次,取自M+6月物料需求计划接口中的需求发布版次,针对与这个版次的需求进行风险反馈
/// </summary>
[ExporterHeader(DisplayName = "需求发布版次")]
public string ReleaseEdition { get; set; }
/// <summary>
/// 零件号,奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "零件号")]
public string MaterialCode { get; set; }
/// <summary>
/// 工厂代码,
/// </summary>
[ExporterHeader(DisplayName = "工厂代码,")]
public string PlantId { get; set; }
/// <summary>
/// 反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)
/// </summary>
[ExporterHeader(DisplayName = "反馈结果")]
public string FeedbackResults { get; set; }
/// <summary>
/// 风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他
/// </summary>
[ExporterHeader(DisplayName = "风险类型")]
public string? VentureType { get; set; }
/// <summary>
/// 具体风险,当反馈结果=1时,此字段必输描述具体风险
/// </summary>
[ExporterHeader(DisplayName = "具体风险")]
public string? VentureSpecific { get; set; }
/// <summary>
/// 应对措施,当反馈结果=1时,此字段必输描述具体应对措施
/// </summary>
[ExporterHeader(DisplayName = "应对措施")]
public string? Measures { get; set; }
/// <summary>
/// 起始月份-格式:yyyy-MM
/// </summary>
[ExporterHeader(DisplayName = "起始月份")]
public string StartMonth { get; set; }
/// <summary>
/// 满足数量1
/// </summary>
[ExporterHeader(DisplayName = "满足数量1")]
public decimal QuantityMeet1 { get; set; }
/// <summary>
/// 满足数量2
/// </summary>
[ExporterHeader(DisplayName = "满足数量2")]
public decimal QuantityMeet2 { get; set; }
/// <summary>
/// 满足数量3
/// </summary>
[ExporterHeader(DisplayName = "满足数量3")]
public decimal QuantityMeet3 { get; set; }
/// <summary>
/// 满足数量4
/// </summary>
[ExporterHeader(DisplayName = "满足数量4")]
public decimal QuantityMeet4 { get; set; }
/// <summary>
/// 满足数量5
/// </summary>
[ExporterHeader(DisplayName = "满足数量5")]
public decimal QuantityMeet5 { get; set; }
/// <summary>
/// 满足数量6
/// </summary>
[ExporterHeader(DisplayName = "满足数量6")]
public decimal QuantityMeet6 { get; set; }
/// <summary>
/// 满足数量7
/// </summary>
[ExporterHeader(DisplayName = "满足数量7")]
public decimal? QuantityMeet7 { get; set; }
/// <summary>
/// 满足数量8
/// </summary>
[ExporterHeader(DisplayName = "满足数量8")]
public decimal? QuantityMeet8 { get; set; }
/// <summary>
/// 满足数量9
/// </summary>
[ExporterHeader(DisplayName = "满足数量9")]
public decimal? QuantityMeet9 { get; set; }
/// <summary>
/// 满足数量10
/// </summary>
[ExporterHeader(DisplayName = "满足数量10")]
public decimal? QuantityMeet10 { get; set; }
/// <summary>
/// 满足数量11
/// </summary>
[ExporterHeader(DisplayName = "满足数量11")]
public decimal? QuantityMeet11 { get; set; }
/// <summary>
/// 满足数量12
/// </summary>
[ExporterHeader(DisplayName = "满足数量12")]
public decimal? QuantityMeet12 { get; set; }
}
}

52
API/TaskManager.Entity/11-18/SUPPLIER_CON_PO.cs

@ -0,0 +1,52 @@
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 采购订单风险确认
/// </summary>
public class SUPPLIER_CON_PO : BaseEntity
{
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 采购订单号
/// </summary>
[ExporterHeader(DisplayName = "采购订单号")]
public string PurchaseOrder { get; set; }
/// <summary>
/// 行项目号
/// </summary>
[ExporterHeader(DisplayName = "行项目号")]
public string SerialNumber { get; set; }
/// <summary>
/// 满足数量
/// </summary>
[ExporterHeader(DisplayName = "满足数量")]
public decimal QuantityMeet { get; set; }
/// <summary>
/// 反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)
/// </summary>
[ExporterHeader(DisplayName = "反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)")]
public string FeedbackResults { get; set; }
/// <summary>
/// 风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他
/// </summary>
[ExporterHeader(DisplayName = "风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他")]
public string? VentureType { get; set; }
/// <summary>
/// 具体风险,当反馈结果=1时,此字段必输描述具体风险
/// </summary>
[ExporterHeader(DisplayName = "具体风险,当反馈结果=1时,此字段必输描述具体风险")]
public string? VentureSpecific { get; set; }
/// <summary>
/// 应对措施,当反馈结果=1时,此字段必输描述具体应对措施
/// </summary>
[ExporterHeader(DisplayName = "应对措施,当反馈结果=1时,此字段必输描述具体应对措施")]
public string? Measures { get; set; }
}
}

22
API/TaskManager.Entity/11-18/SUPPLIER_PRO_ATTACHMENT_DATA.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 附件类数据
@ -8,70 +10,88 @@
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 数据类型(1产前管理;2人员资质;3监控视频)
/// </summary>
[ExporterHeader(DisplayName = "数据类型")]
public string Type { get; set; }
/// <summary>
/// 文件名
/// </summary>
[ExporterHeader(DisplayName = "文件名")]
public string FileName { get; set; }
/// <summary>
/// 图文地址
/// </summary>
[ExporterHeader(DisplayName = "图文地址")]
public string FileUrl { get; set; }
/// <summary>
/// 生成时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "生成时间")]
public string DateTime { get; set; }
/// <summary>
/// 产线名称
/// </summary>
[ExporterHeader(DisplayName = "产线名称")]
public string ProductionLineName { get; set; }
/// <summary>
/// 产线代码
/// </summary>
[ExporterHeader(DisplayName = "产线代码")]
public string ProductionLineId { get; set; }
/// <summary>
/// 工位名称
/// </summary>
[ExporterHeader(DisplayName = "工位名称")]
public string StationName { get; set; }
/// <summary>
/// 工位代码
/// </summary>
[ExporterHeader(DisplayName = "工位代码")]
public string StationId { get; set; }
/// <summary>
/// 设备名称
/// </summary>
[ExporterHeader(DisplayName = "设备名称")]
public string DeviceName { get; set; }
/// <summary>
/// 设备编码
/// </summary>
[ExporterHeader(DisplayName = "设备编码")]
public string? DeviceId { get; set; }
/// <summary>
/// 供应商总成零件号
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件号")]
public string VendorProductNo { get; set; }
/// <summary>
/// 供应商总成零件名称
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件名称")]
public string VendorProductName { get; set; }
/// <summary>
/// 奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件号")]
public string CheryProductNo { get; set; }
/// <summary>
/// 奇瑞零件名称
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件名称")]
public string CheryProductName { get; set; }
/// <summary>
/// 供应商总成SN码
/// </summary>
[ExporterHeader(DisplayName = "供应商总成SN码")]
public string? VendorProductSn { get; set; }
}

21
API/TaskManager.Entity/11-18/SUPPLIER_PRO_ENVIRONMENT.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 环境业务数据
@ -8,70 +10,87 @@
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 工厂代码
/// </summary>
[ExporterHeader(DisplayName = "工厂代码")]
public string PlantId { get; set; }
/// <summary>
/// 工厂名称
/// </summary>
[ExporterHeader(DisplayName = "工厂名称")]
public string PlantName { get; set; }
/// <summary>
/// 车间代码
/// </summary>
[ExporterHeader(DisplayName = "车间代码)]
public string WorkshopId { get; set; }
/// <summary>
/// 车间名称
/// </summary>
[ExporterHeader(DisplayName = "车间名称")]
public string WorkshopName { get; set; }
/// <summary>
/// 产线代码
/// </summary>
[ExporterHeader(DisplayName = "产线代码")]
public string ProductionLineId { get; set; }
/// <summary>
/// 产线名称
/// </summary>
[ExporterHeader(DisplayName = "产线名称")]
public string ProductionLineName { get; set; }
/// <summary>
/// 环境指标名称,例如:温度、湿度、洁净度等
/// </summary>
[ExporterHeader(DisplayName = "环境指标名称")]
public string EnvIndicatorName { get; set; }
/// <summary>
/// 指标实测值,(最大支持11位整数+5位小数)
/// </summary>
[ExporterHeader(DisplayName = "指标实测值")]
public decimal? NumValue { get; set; }
/// <summary>
/// 上限值,(最大支持11位整数+5位小数)
/// </summary>
[ExporterHeader(DisplayName = "上限值")]
public decimal UpperLimit { get; set; }
/// <summary>
/// 下限值,(最大支持11位整数+5位小数)
/// </summary>
[ExporterHeader(DisplayName = "下限值")]
public decimal LowerLimit { get; set; }
/// <summary>
/// 单位,相应的单位名称,如度数
/// </summary>
[ExporterHeader(DisplayName = "单位")]
public string ChineseUnit { get; set; }
/// <summary>
/// 采集仪器代码,环境采集的仪器/工具代码
/// </summary>
[ExporterHeader(DisplayName = "采集仪器代码")]
public string EquipmentCode { get; set; }
/// <summary>
/// 采集仪器名称,环境采集的仪器/工具名称
/// </summary>
[ExporterHeader(DisplayName = "采集仪器名称")]
public string EquipmentName { get; set; }
/// <summary>
/// 数据采集的点位
/// </summary>
[ExporterHeader(DisplayName = "数据采集的点位")]
public string? DataCollectionPoint { get; set; }
/// <summary>
/// 数据采集的时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "数据采集的时间")]
public string CollectTime { get; set; }
}

30
API/TaskManager.Entity/11-18/SUPPLIER_PRO_FLAW.cs

@ -1,4 +1,5 @@
using System;
using Magicodes.ExporterAndImporter.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@ -14,110 +15,137 @@ namespace TaskManager.Entity.Entitys
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 工厂代码
/// </summary>
[ExporterHeader(DisplayName = "工厂代码")]
public string PlantId { get; set; }
/// <summary>
/// 工厂名称
/// </summary>
[ExporterHeader(DisplayName = "工厂名称")]
public string PlantName { get; set; }
/// <summary>
/// 车间代码
/// </summary>
[ExporterHeader(DisplayName = "车间代码")]
public string WorkshopId { get; set; }
/// <summary>
/// 车间名称
/// </summary>
[ExporterHeader(DisplayName = "车间名称")]
public string WorkshopName { get; set; }
/// <summary>
/// 产线代码
/// </summary>
[ExporterHeader(DisplayName = "产线代码")]
public string ProductionLineId { get; set; }
/// <summary>
/// 产线名称
/// </summary>
[ExporterHeader(DisplayName = "产线名称")]
public string ProductionLineName { get; set; }
/// <summary>
/// 工位代码
/// </summary>
[ExporterHeader(DisplayName = "工位代码")]
public string StationId { get; set; }
/// <summary>
/// 工位名称
/// </summary>
[ExporterHeader(DisplayName = "工位名称")]
public string StationName { get; set; }
/// <summary>
/// 缺陷代码
/// </summary>
[ExporterHeader(DisplayName = "缺陷代码")]
public string DefectsCode { get; set; }
/// <summary>
/// 缺陷名称
/// </summary>
[ExporterHeader(DisplayName = "缺陷名称")]
public string DefectsName { get; set; }
/// <summary>
/// 缺陷分类(外观,尺寸,材料,功能,性能,其他)
/// </summary>
[ExporterHeader(DisplayName = "缺陷分类")]
public string ClassOfName { get; set; }
/// <summary>
/// 供应商总成零件号
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件号")]
public string VendorProductNo { get; set; }
/// <summary>
/// 供应商总成零件名称
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件名称")]
public string VendorProductName { get; set; }
/// <summary>
/// 供应商总成批次号
/// </summary>
[ExporterHeader(DisplayName = "供应商总成批次号")]
public string VendorProductBatch { get; set; }
/// <summary>
/// 供应商总成SN码
/// </summary>
[ExporterHeader(DisplayName = "供应商总成SN码")]
public string VendorProductSn { get; set; }
/// <summary>
/// 奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件号")]
public string CheryProductNo { get; set; }
/// <summary>
/// 奇瑞零件名称
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件名称")]
public string CheryProductName { get; set; }
/// <summary>
/// 奇瑞SN码
/// </summary>
[ExporterHeader(DisplayName = "奇瑞SN码")]
public string CheryProductSn { get; set; }
/// <summary>
/// 生产批次号
/// </summary>
[ExporterHeader(DisplayName = "生产批次号")]
public string ProductBatchNo { get; set; }
/// <summary>
/// 生产工单号,或生产批次(工单业务数据)
/// </summary>
[ExporterHeader(DisplayName = "生产工单号")]
public string ManufactureNo { get; set; }
/// <summary>
/// 班次(白班,晚班,中班)
/// </summary>
[ExporterHeader(DisplayName = "班次")]
public string WorkShift { get; set; }
/// <summary>
/// 缺陷件数
/// </summary>
[ExporterHeader(DisplayName = "缺陷件数")]
public decimal Numberofdefect { get; set; }
/// <summary>
/// 缺陷描述
/// </summary>
[ExporterHeader(DisplayName = "缺陷描述")]
public string DefectsDesc { get; set; }
/// <summary>
/// 缺陷等级,(1.严重、2.一般、3.轻微)
/// </summary>
[ExporterHeader(DisplayName = "缺陷等级")]
public string DefectsLevel { get; set; }
/// <summary>
/// 缺陷录入时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "缺陷录入时间")]
public string StatisticalTime { get; set; }
}

24
API/TaskManager.Entity/11-18/SUPPLIER_PRO_MATERIAL_DATA.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 物料主数据
@ -8,82 +10,102 @@
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 供应商物料号
/// </summary>
[ExporterHeader(DisplayName = "供应商物料号")]
public string VendorProductNo { get; set; }
/// <summary>
/// 供应商物料名称
/// </summary>
[ExporterHeader(DisplayName = "供应商物料名称")]
public string VendorProductName { get; set; }
/// <summary>
/// 类型(成品,半成品,原材料)
/// </summary>
[ExporterHeader(DisplayName = "类型")]
public decimal Type { get; set; }
/// <summary>
/// 供应商零件版本号
/// </summary>
[ExporterHeader(DisplayName = "供应商零件版本号")]
public string? VendorHardwareRevision { get; set; }
/// <summary>
/// 奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件号")]
public string CheryProductNo { get; set; }
/// <summary>
/// 奇瑞零件名称
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件名称")]
public string CheryProductName { get; set; }
/// <summary>
/// 奇瑞硬件版本号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞硬件版本号")]
public string OemHardwareRevision { get; set; }
/// <summary>
/// 奇瑞软件版本号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞软件版本号")]
public string? OemSoftwareRevision { get; set; }
/// <summary>
/// 车型
/// </summary>
[ExporterHeader(DisplayName = "车型")]
public string? OemModel { get; set; }
/// <summary>
/// 项目名称
/// </summary>
[ExporterHeader(DisplayName = "项目名称")]
public string? OemProjectName { get; set; }
/// <summary>
/// 是否SOP(Y/N)
/// </summary>
[ExporterHeader(DisplayName = "是否SOP")]
public string? Launched { get; set; }
/// <summary>
/// 数据同步执行时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "数据同步执行时间")]
public string? DateTime { get; set; }
/// <summary>
/// 供应商工厂代码
/// </summary>
[ExporterHeader(DisplayName = "供应商工厂代码")]
public string? PlantId { get; set; }
/// <summary>
/// 供应商工厂名称
/// </summary>
[ExporterHeader(DisplayName = "供应商工厂名称")]
public string? PlantName { get; set; }
/// <summary>
/// 芯片采购类型(AVAP,CS,CMcontro)
/// </summary>
[ExporterHeader(DisplayName = "芯片采购类型")]
public string? ProcurementType { get; set; }
/// <summary>
/// 芯片MPN标识码
/// </summary>
[ExporterHeader(DisplayName = "芯片MPN标识码")]
public string? MpnCode { get; set; }
/// <summary>
/// 芯片MPN标识名称
/// </summary>
[ExporterHeader(DisplayName = "芯片MPN标识名称")]
public string? MpnName { get; set; }
/// <summary>
/// 物料有效期(天)
/// </summary>
[ExporterHeader(DisplayName = "物料有效期")]
public string ValidDays { get; set; }
}

27
API/TaskManager.Entity/11-18/SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 设备OEE达成率
@ -8,94 +10,117 @@
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 工厂代码
/// </summary>
[ExporterHeader(DisplayName = "工厂代码")]
public string PlantId { get; set; }
/// <summary>
/// 工厂名称
/// </summary>
[ExporterHeader(DisplayName = "工厂名称")]
public string PlantName { get; set; }
/// <summary>
/// 车间代码
/// </summary>
[ExporterHeader(DisplayName = "车间代码")]
public string WorkshopId { get; set; }
/// <summary>
/// 车间名称
/// </summary>
[ExporterHeader(DisplayName = "车间名称")]
public string WorkshopName { get; set; }
/// <summary>
/// 产线代码
/// </summary>
[ExporterHeader(DisplayName = "产线代码")]
public string ProductionLineId { get; set; }
/// <summary>
/// 产线名称
/// </summary>
[ExporterHeader(DisplayName = "产线名称")]
public string ProductionLineName { get; set; }
/// <summary>
/// 工位代码
/// </summary>
[ExporterHeader(DisplayName = "工位代码")]
public string StationId { get; set; }
/// <summary>
/// 工位名称
/// </summary>
[ExporterHeader(DisplayName = "工位名称")]
public string StationName { get; set; }
/// <summary>
/// 设备代码
/// </summary>
[ExporterHeader(DisplayName = "设备代码")]
public string DeviceId { get; set; }
/// <summary>
/// 设备名称
/// </summary>
[ExporterHeader(DisplayName = "设备名称")]
public string? DeviceName { get; set; }
/// <summary>
/// 奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件号")]
public string CheryProductNo { get; set; }
/// <summary>
/// 奇瑞零件名称
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件名称")]
public string CheryProductName { get; set; }
/// <summary>
/// 供应商总成零件号
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件号")]
public string VendorProductNo { get; set; }
/// <summary>
/// 供应商总成零件名称
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件名称")]
public string VendorProductName { get; set; }
/// <summary>
/// 生产批次号
/// </summary>
[ExporterHeader(DisplayName = "生产批次号")]
public string ProductBatchNo { get; set; }
/// <summary>
/// 生产工单号
/// </summary>
[ExporterHeader(DisplayName = "生产工单号")]
public string ManufactureNo { get; set; }
/// <summary>
/// OEE实际值
/// </summary>
[ExporterHeader(DisplayName = "OEE实际值")]
public decimal Rate { get; set; }
/// <summary>
/// OEE目标值
/// </summary>
[ExporterHeader(DisplayName = "OEE目标值")]
public decimal RateTagValue { get; set; }
/// <summary>
/// 班次(白班,晚班,中班)
/// </summary>
[ExporterHeader(DisplayName = "班次")]
public string WorkShift { get; set; }
/// <summary>
/// 生产日期,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "生产日期")]
public string StatisticalTime { get; set; }
/// <summary>
/// 值统计时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "值统计时间")]
public string DateTime { get; set; }
}

22
API/TaskManager.Entity/11-18/SUPPLIER_PRO_OEE_TIME_DETAILS.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// OEE时间明细
@ -8,74 +10,92 @@
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 工厂代码
/// </summary>
[ExporterHeader(DisplayName = "工厂代码")]
public string PlantId { get; set; }
/// <summary>
/// 工厂名称
/// </summary>
[ExporterHeader(DisplayName = "工厂名称")]
public string PlantName { get; set; }
/// <summary>
/// 车间代码
/// </summary>
[ExporterHeader(DisplayName = "车间代码")]
public string WorkshopId { get; set; }
/// <summary>
/// 车间名称
/// </summary>
[ExporterHeader(DisplayName = "")]
public string? WorkshopName { get; set; }
/// <summary>
/// 产线代码
/// </summary>
[ExporterHeader(DisplayName = "产线代码")]
public string ProductionLineId { get; set; }
/// <summary>
/// 产线名称
/// </summary>
[ExporterHeader(DisplayName = "产线名称")]
public string? ProductionLineName { get; set; }
/// <summary>
/// 工位代码
/// </summary>
[ExporterHeader(DisplayName = "工位代码")]
public string StationId { get; set; }
/// <summary>
/// 工位名称
/// </summary>
[ExporterHeader(DisplayName = "工位名称")]
public string StationName { get; set; }
/// <summary>
/// 设备代码
/// </summary>
[ExporterHeader(DisplayName = "设备代码")]
public string DeviceId { get; set; }
/// <summary>
/// 设备名称
/// </summary>
[ExporterHeader(DisplayName = "设备名称")]
public string DeviceName { get; set; }
/// <summary>
/// 记录ID
/// </summary>
[ExporterHeader(DisplayName = "记录ID")]
public string RecId { get; set; }
/// <summary>
/// 大类(1计划工作,2计划停机,3非计划停机)
/// </summary>
[ExporterHeader(DisplayName = "大类")]
public string Type { get; set; }
/// <summary>
/// 小类编码
/// </summary>
[ExporterHeader(DisplayName = "小类编码")]
public string SubType { get; set; }
/// <summary>
/// 小类描述
/// </summary>
[ExporterHeader(DisplayName = "小类描述")]
public string SubTypeName { get; set; }
/// <summary>
/// 开始时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "开始时间")]
public string StartTime { get; set; }
/// <summary>
/// 结束时间,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "结束时间")]
public string EndTime { get; set; }
}

23
API/TaskManager.Entity/11-18/SUPPLIER_PRO_PROCESS.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 工艺
@ -8,78 +10,97 @@
/// <summary>
/// 奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件号")]
public string CheryProductNo { get; set; }
/// <summary>
/// 奇瑞零件名称
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件名称")]
public string CheryProductName { get; set; }
/// <summary>
/// 供应商总成零件号
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件号")]
public string VendorProductNo { get; set; }
/// <summary>
/// 供应商总成零件名称
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件名称")]
public string VendorProductName { get; set; }
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 工艺编码
/// </summary>
[ExporterHeader(DisplayName = "工艺编码")]
public string TechCode { get; set; }
/// <summary>
/// 工艺名称
/// </summary>
[ExporterHeader(DisplayName = "工艺名称")]
public string TechName { get; set; }
/// <summary>
/// 有效期,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "有效期")]
public string ValidPeriod { get; set; }
/// <summary>
/// 工艺版本
/// </summary>
[ExporterHeader(DisplayName = "工艺版本")]
public string TechVersion { get; set; }
/// <summary>
/// 模具编码
/// </summary>
[ExporterHeader(DisplayName = "模具编码")]
public string MoldCode { get; set; }
/// <summary>
/// 模具名称
/// </summary>
[ExporterHeader(DisplayName = "模具名称")]
public string MoldName { get; set; }
/// <summary>
/// 最大加工能力
/// </summary>
[ExporterHeader(DisplayName = "最大加工能力")]
public string MaxProcessingCapacity { get; set; }
/// <summary>
/// 工序编码
/// </summary>
[ExporterHeader(DisplayName = "工序编码")]
public string ProcessCode { get; set; }
/// <summary>
/// 工序名称
/// </summary>
[ExporterHeader(DisplayName = "工序名称")]
public string ProcessName { get; set; }
/// <summary>
/// 工序顺序号
/// </summary>
[ExporterHeader(DisplayName = "工序顺序号")]
public decimal ProcessOrder { get; set; }
/// <summary>
/// 设备编码
/// </summary>
[ExporterHeader(DisplayName = "设备编码")]
public string DeviceCode { get; set; }
/// <summary>
/// 工序节拍
/// </summary>
[ExporterHeader(DisplayName = "工序节拍")]
public decimal Rhythm { get; set; }
/// <summary>
/// 节拍单位
/// </summary>
[ExporterHeader(DisplayName = "节拍单位")]
public string RhythmUnit { get; set; }
}

34
API/TaskManager.Entity/11-18/SUPPLIER_PRO_PROCESS_EQUIPMENT.cs

@ -1,4 +1,6 @@
namespace TaskManager.Entity.Entitys
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 工艺装备
@ -8,122 +10,152 @@
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 奇瑞零件号
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件号")]
public string CheryProductNo { get; set; }
/// <summary>
/// 奇瑞零件名称
/// </summary>
[ExporterHeader(DisplayName = "奇瑞零件名称")]
public string CheryProductName { get; set; }
/// <summary>
/// 供应商总成零件号
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件号")]
public string VendorProductNo { get; set; }
/// <summary>
/// 供应商总成零件名称
/// </summary>
[ExporterHeader(DisplayName = "供应商总成零件名称")]
public string VendorProductName { get; set; }
/// <summary>
/// 工艺装备类型分类(1模具;2检具;3夹具)
/// </summary>
[ExporterHeader(DisplayName = "工艺装备类型分类")]
public decimal DeviceType { get; set; }
/// <summary>
/// 工艺装备编码
/// </summary>
[ExporterHeader(DisplayName = "工艺装备编码")]
public string DeviceCode { get; set; }
/// <summary>
/// 工艺装备名称
/// </summary>
[ExporterHeader(DisplayName = "工艺装备名称")]
public string DeviceName { get; set; }
/// <summary>
/// 生产厂家
/// </summary>
[ExporterHeader(DisplayName = "生产厂家")]
public string Manufacturer { get; set; }
/// <summary>
/// 工艺装备型号
/// </summary>
[ExporterHeader(DisplayName = "工艺装备型号")]
public string ModelNumber { get; set; }
/// <summary>
/// 工艺装备序列号
/// </summary>
[ExporterHeader(DisplayName = "工艺装备序列号")]
public string SerialNumber { get; set; }
/// <summary>
/// 工艺装备制造日期,格式(yyyy-MM-dd)
/// </summary>
[ExporterHeader(DisplayName = "工艺装备制造日期")]
public string ProductionDate { get; set; }
/// <summary>
/// 主要材质
/// </summary>
[ExporterHeader(DisplayName = "主要材质")]
public string Material { get; set; }
/// <summary>
/// 当前存放地点
/// </summary>
[ExporterHeader(DisplayName = "当前存放地点")]
public string CurrentLocation { get; set; }
/// <summary>
/// 工艺装备状态
/// </summary>
[ExporterHeader(DisplayName = "工艺装备状态")]
public string DeviceStatus { get; set; }
/// <summary>
/// 穴腔数量
/// </summary>
[ExporterHeader(DisplayName = "穴腔数量")]
public decimal CavityCount { get; set; }
/// <summary>
/// 模具尺寸规格
/// </summary>
[ExporterHeader(DisplayName = "模具尺寸规格")]
public string MoldSize { get; set; }
/// <summary>
/// 设计寿命单位
/// </summary>
[ExporterHeader(DisplayName = "设计寿命单位")]
public string DesignLifeUnits { get; set; }
/// <summary>
/// 设计寿命
/// </summary>
[ExporterHeader(DisplayName = "设计寿命")]
public string DesignLifeValue { get; set; }
/// <summary>
/// 当前剩余寿命,
/// </summary>
[ExporterHeader(DisplayName = "当前剩余寿命")]
public string CurrentUsageCount { get; set; }
/// <summary>
/// 模具大修次数
/// </summary>
[ExporterHeader(DisplayName = "模具大修次数")]
public decimal OverhaulCount { get; set; }
/// <summary>
/// 图纸编号描述
/// </summary>
[ExporterHeader(DisplayName = "图纸编号描述")]
public string CoolingChannelLayout { get; set; }
/// <summary>
/// 检测精度
/// </summary>
[ExporterHeader(DisplayName = "检测精度")]
public string DetectionAccuracy { get; set; }
/// <summary>
/// 最近校准日期,格式(yyyy-MM-ddHH:mm:ss)
/// </summary>
[ExporterHeader(DisplayName = "最近校准日期")]
public string CalibrationDate { get; set; }
/// <summary>
/// 校准到期天数
/// </summary>
[ExporterHeader(DisplayName = "校准到期天数")]
public string CalibrationDueDays { get; set; }
/// <summary>
/// 允许误差范围
/// </summary>
[ExporterHeader(DisplayName = "允许误差范围")]
public string ToleranceRange { get; set; }
/// <summary>
/// 磨损阈值
/// </summary>
[ExporterHeader(DisplayName = "磨损阈值")]
public string WearThreshold { get; set; }
/// <summary>
/// 检测范围
/// </summary>
[ExporterHeader(DisplayName = "检测范围")]
public string DetectionRange { get; set; }
/// <summary>
/// 检测单位
/// </summary>
[ExporterHeader(DisplayName = "检测单位")]
public string UnitType { get; set; }
}

77
API/TaskManager.Entity/11-18/SUPPLIER_SINV_DATA.cs

@ -0,0 +1,77 @@
using Magicodes.ExporterAndImporter.Core;
namespace TaskManager.Entity.Entitys
{
/// <summary>
/// 供应商共享库存
/// </summary>
public class SUPPLIER_SINV_DATA : BaseEntity
{
/// <summary>
/// 供应商代码
/// </summary>
[ExporterHeader(DisplayName = "供应商代码")]
public string SupplierCode { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
[ExporterHeader(DisplayName = "供应商名称")]
public string SupplierName { get; set; }
/// <summary>
/// 零件号
/// </summary>
[ExporterHeader(DisplayName = "零件号")]
public string MaterialCode { get; set; }
/// <summary>
/// 零件名称
/// </summary>
[ExporterHeader(DisplayName = "零件名称")]
public string MaterialDescription { get; set; }
/// <summary>
/// 物料类型(成品,半成品,原材料)
/// </summary>
[ExporterHeader(DisplayName = "物料类型")]
public string MaterialType { get; set; }
/// <summary>
/// 当前库存数量
/// </summary>
[ExporterHeader(DisplayName = "当前库存数量")]
public decimal QuantityCurrent { get; set; }
/// <summary>
/// 原材料在途数量
/// </summary>
[ExporterHeader(DisplayName = "原材料在途数量")]
public decimal QuantityPlan { get; set; }
/// <summary>
/// 库存状态(生产件,呆滞件,备件,KD件)
/// </summary>
[ExporterHeader(DisplayName = "库存状态")]
public string InventoryStatus { get; set; }
/// <summary>
/// 安全库存
/// </summary>
[ExporterHeader(DisplayName = "安全库存")]
public decimal SafetyStock { get; set; }
/// <summary>
/// 生产/采购周期:成品即半成品为生产周期(天),原材料为采购周期(天)
/// </summary>
[ExporterHeader(DisplayName = "生产/采购周期")]
public string ProductionCycle { get; set; }
/// <summary>
/// 库存更新时间-格式:yyyy-MM-ddHH:mm:ss
/// </summary>
[ExporterHeader(DisplayName = "库存更新时间")]
public string DataUpdateTime { get; set; }
/// <summary>
/// 批次
/// </summary>
[ExporterHeader(DisplayName = "批次")]
public string? SupplierBatch { get; set; }
/// <summary>
/// 有效期截止日期 非必填
/// </summary>
[ExporterHeader(DisplayName = "有效期截止日期")]
public string? SupplieryxqDate { get; set; }
}
}

812
API/TaskManager.Entity/Entity.cs

@ -6,6 +6,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace TaskManager.Entity
@ -66,30 +67,40 @@ namespace TaskManager.Entity
}
public class TaskLog
public class TaskLog:BaseEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long UId { get; set; }
/// <summary>
/// 详细描述
/// </summary>
[ExporterHeader(DisplayName = "信息")]
public string Info { get; set; }
/// <summary>
/// 日志类型
/// </summary>
[ExporterHeader(DisplayName = "日志类型")]
public string Type { get; set; }
/// <summary>
/// 任务名称
/// </summary>
[ExporterHeader(DisplayName = "任务名")]
public string TaskName { get; set; }
/// <summary>
/// 任务名称
/// </summary>
[ExporterHeader(DisplayName = "任务ID")]
public Guid TaskId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[ExporterHeader(DisplayName = "创建时间")]
public DateTime CreationTime { set; get; }
/// <summary>
/// 备注
/// </summary>
[ExporterHeader(DisplayName = "备注")]
public string Remark { get; set; }
}
@ -115,7 +126,13 @@ namespace TaskManager.Entity
public class CherryReadBaseEntity:BaseEntity
{
/// <summary>
/// 请求发出日期
/// </summary>
public string RequestDate { get; set; }
/// <summary>
/// 同步ID
/// </summary>
public string Id { get; set; }
@ -128,27 +145,27 @@ namespace TaskManager.Entity
/// </summary>
public class TaskSub:BaseEntity
{
[ExporterHeader(DisplayName = "用户名")]
[ExporterHeader(DisplayName = "名")]
/// <summary>
/// 关联的数据表名称(如:订单表、用户表等,可为空)
/// </summary>
public string? TableName { get; set; }
[ExporterHeader(DisplayName = "任务名称")]
/// <summary>
/// 任务名称(用于业务层面标识任务,如:数据同步任务、报表生成任务)
/// </summary>
public string? TaskName { get; set; }
[ExporterHeader(DisplayName = "同步总数量")]
/// <summary>
/// 数据总量(任务处理的数据条目数)
/// </summary>
public int DataCount { get; set; }
[ExporterHeader(DisplayName = "发布客户")]
/// <summary>
/// 发布给那个客户
/// </summary>
public string? Subscriber { get; set; }
[ExporterHeader(DisplayName = "失败次数")]
/// <summary>
/// 失败次数(任务执行失败的累计次数)
/// </summary>
@ -157,38 +174,41 @@ namespace TaskManager.Entity
/// <summary>
/// 失败详情(记录失败原因、异常堆栈等信息,支持长文本)
/// </summary>
[ExporterHeader(DisplayName = "失败信息")]
public string? FailedInfo { get; set; }
/// <summary>
/// 所属域(多租户场景下标识租户,如:租户A、租户B)
/// </summary>
[ExporterHeader(DisplayName = "域名")]
public string? Domain { get; set; }
/// <summary>
/// 站点标识(多站点部署时标识所属站点,如:Site1、Site2)
/// </summary>
[ExporterHeader(DisplayName = "站点")]
public string? Site { get; set; }
[ExporterHeader(DisplayName = "创建用户")]
/// <summary>
/// 从那个内部系统创建系统
/// </summary>
public string? CreateUser { get; set; }
[ExporterHeader(DisplayName = "创建时间")]
/// <summary>
/// 创建时间(任务创建的时间戳)
/// </summary>
public DateTime CreateTime { get; set; }
[ExporterHeader(DisplayName = "备注")]
/// <summary>
/// 备注信息(任务相关的补充说明,支持长文本)
/// </summary>
public string? Remark { get; set; }
[ExporterHeader(DisplayName = "更新客户系统名")]
/// <summary>
/// 最后更新人(记录任务最后修改者)
/// </summary>
public string? UpdateUser { get; set; }
[ExporterHeader(DisplayName = "更新完成时间")]
/// <summary>
/// 最后更新时间(任务最后修改的时间戳,可为空)
/// </summary>
@ -196,86 +216,157 @@ namespace TaskManager.Entity
}
/// <summary>
/// 整车月度生产计划-2
/// </summary>
public class SUPPLIER_PRO_PLANING : CherryReadBaseEntity
{
/// <summary>
/// 主键ID
/// </summary>
[JsonPropertyName("id")]
public string Id { get; set; }
[JsonProperty("models")]
public string Models { get; set; }
/// <summary>
/// 需求发布版次:唯一版次ID
/// </summary>
[JsonPropertyName("releaseEdition")]
[MaxLength(50)]
public string ReleaseEdition { get; set; } = string.Empty;
[JsonProperty("quantity1")]
public decimal? Quantity1 { get; set; }
/// <summary>
/// 车型
/// </summary>
[JsonPropertyName("models")]
[MaxLength(50)]
public string Models { get; set; } = string.Empty;
[JsonProperty("quantity2")]
public decimal? Quantity2 { get; set; }
[JsonProperty("startMonth")]
public string StartMonth { get; set; }
/// <summary>
/// 类型
/// </summary>
[JsonPropertyName("type")]
[MaxLength(50)]
public string Type { get; set; } = string.Empty;
[JsonProperty("isDelete")]
public int IsDelete { get; set; }
/// <summary>
/// 动力总成
/// </summary>
[JsonPropertyName("assembly")]
[MaxLength(50)]
public string Assembly { get; set; } = string.Empty;
[JsonProperty("updateByUser")]
public string UpdateByUser { get; set; }
/// <summary>
/// 版型
/// </summary>
[JsonPropertyName("pattern")]
[MaxLength(50)]
public string Pattern { get; set; } = string.Empty;
[JsonProperty("pattern")]
public string Pattern { get; set; }
[JsonProperty("omterior")] // 可能是拼写错误,保留原始名称
public string Omterior { get; set; }
/// <summary>
/// 物料号
/// </summary>
[JsonPropertyName("materialCode")]
[MaxLength(50)]
public string MaterialCode { get; set; } = string.Empty;
[JsonProperty("salseDepartment")] // 可能是拼写错误,保留原始名称
public string SalseDepartment { get; set; }
/// <summary>
/// 起始月份-格式:yyyy-MM
/// </summary>
[JsonPropertyName("startMonth")]
[MaxLength(50)]
public string StartMonth { get; set; } = string.Empty;
[JsonProperty("materialCode")]
public string MaterialCode { get; set; }
/// <summary>
/// 数量1
/// </summary>
[JsonPropertyName("quantity1")]
public decimal Quantity1 { get; set; } = 1;
[JsonProperty("updateTime")]
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 数量2
/// </summary>
[JsonPropertyName("quantity2")]
public decimal Quantity2 { get; set; } = 1;
[JsonProperty("type")]
public string Type { get; set; }
/// <summary>
/// 数量3
/// </summary>
[JsonPropertyName("quantity3")]
public decimal Quantity3 { get; set; } = 1;
[JsonProperty("quantity3")]
public decimal? Quantity3 { get; set; }
/// <summary>
/// 数量4
/// </summary>
[JsonPropertyName("quantity4")]
public decimal Quantity4 { get; set; } = 1;
[JsonProperty("releaseEdition")]
public string ReleaseEdition { get; set; }
/// <summary>
/// 数量5
/// </summary>
[JsonPropertyName("quantity5")]
public decimal Quantity5 { get; set; } = 1;
[JsonProperty("quantity4")]
public decimal? Quantity4 { get; set; }
/// <summary>
/// 数量6
/// </summary>
[JsonPropertyName("quantity6")]
public decimal Quantity6 { get; set; } = 1;
[JsonProperty("version")]
public int Version { get; set; }
/// <summary>
/// 工厂
/// </summary>
[JsonPropertyName("plant")]
[MaxLength(50)]
public string Plant { get; set; } = string.Empty;
[JsonProperty("quantity5")]
public decimal? Quantity5 { get; set; }
/// <summary>
/// 创建人
/// </summary>
[JsonPropertyName("createByUser")]
[MaxLength(50)]
public string CreateByUser { get; set; } = string.Empty;
[JsonProperty("quantity6")]
public decimal? Quantity6 { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[JsonPropertyName("createTime")]
public DateTime CreateTime { get; set; }
[JsonProperty("createTime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
[JsonPropertyName("updateByUser")]
[MaxLength(50)]
public string UpdateByUser { get; set; } = string.Empty;
[JsonProperty("plant")]
public string Plant { get; set; }
/// <summary>
/// 修改时间
/// </summary>
[JsonPropertyName("updateTime")]
public DateTime UpdateTime { get; set; }
[JsonProperty("assembly")]
public string Assembly { get; set; }
/// <summary>
/// 是否删除(0:否,1:是)
/// </summary>
[JsonPropertyName("isDelete")]
public int IsDelete { get; set; } = 0;
/// <summary>
/// 版本号
/// </summary>
[JsonPropertyName("version")]
public int Version { get; set; } = 1;
[JsonProperty("omterior")] // 可能是拼写错误,保留原始名称
public string Omterior { get; set; }
[JsonProperty("salseDepartment")] // 可能是拼写错误,保留原始名称
public string SalseDepartment { get; set; }
[JsonProperty("createByUser")]
public string CreateByUser { get; set; }
}
/// <summary>
@ -283,37 +374,172 @@ namespace TaskManager.Entity
/// </summary>
public class SUPPLIER_MRP_MONTH : CherryReadBaseEntity
{
public string ReleaseEdition { get; set; }
public string MaterialCode { get; set; }
public string MaterialDescription { get; set; }
public string PlantId { get; set; }
public string PlantName { get; set; }
public string StartMonth { get; set; }
public decimal QuantityDemand1 { get; set; }
public decimal QuantityDemand2 { get; set; }
public decimal QuantityDemand3 { get; set; }
public decimal QuantityDemand4 { get; set; }
public decimal QuantityDemand5 { get; set; }
public decimal QuantityDemand6 { get; set; }
public decimal QuantityDemand7 { get; set; }
public decimal QuantityDemand8 { get; set; }
public decimal QuantityDemand9 { get; set; }
public decimal QuantityDemand10 { get; set; }
public decimal QuantityDemand11 { get; set; }
public decimal QuantityDemand12 { get; set; }
public string IsUpdate { get; set; }
public string CreateByUser { get; set; }
public DateTime CreateTime { get; set; }
public string UpdateByUser { get; set; }
public DateTime UpdateTime { get; set; }
public string IsDelete { get; set; }
public int Version { get; set; }
/// <summary>
/// 主键ID
/// </summary>
[JsonPropertyName("id")]
public string Id { get; set; }
/// <summary>
/// 需求发布版次:M+6月物料需求计划风险确认接口对应需求版次,需求ID
/// </summary>
[JsonPropertyName("releaseEdition")]
[MaxLength(50)]
public string ReleaseEdition { get; set; } = string.Empty;
/// <summary>
/// 零件号:奇瑞零件号
/// </summary>
[JsonPropertyName("materialCode")]
[MaxLength(50)]
public string MaterialCode { get; set; } = string.Empty;
/// <summary>
/// 零件名称
/// </summary>
[JsonPropertyName("materialDescription")]
[MaxLength(50)]
public string MaterialDescription { get; set; } = string.Empty;
/// <summary>
/// 工厂代码
/// </summary>
[JsonPropertyName("plantId")]
[MaxLength(50)]
public string PlantId { get; set; } = string.Empty;
/// <summary>
/// 工厂名称
/// </summary>
[JsonPropertyName("plantName")]
[MaxLength(50)]
public string PlantName { get; set; } = string.Empty;
/// <summary>
/// 起始月份-格式:yyyy-MM
/// </summary>
[JsonPropertyName("startMonth")]
[MaxLength(50)]
public string StartMonth { get; set; } = string.Empty;
/// <summary>
/// 需求数量1
/// </summary>
[JsonPropertyName("quantityDemand1")]
public decimal QuantityDemand1 { get; set; } = 1;
/// <summary>
/// 需求数量2
/// </summary>
[JsonPropertyName("quantityDemand2")]
public decimal QuantityDemand2 { get; set; } = 1;
/// <summary>
/// 需求数量3
/// </summary>
[JsonPropertyName("quantityDemand3")]
public decimal QuantityDemand3 { get; set; } = 1;
/// <summary>
/// 需求数量4
/// </summary>
[JsonPropertyName("quantityDemand4")]
public decimal QuantityDemand4 { get; set; } = 1;
/// <summary>
/// 需求数量5
/// </summary>
[JsonPropertyName("quantityDemand5")]
public decimal QuantityDemand5 { get; set; } = 1;
/// <summary>
/// 需求数量6
/// </summary>
[JsonPropertyName("quantityDemand6")]
public decimal QuantityDemand6 { get; set; } = 1;
/// <summary>
/// 需求数量7
/// </summary>
[JsonPropertyName("quantityDemand7")]
public decimal QuantityDemand7 { get; set; } = 1;
/// <summary>
/// 需求数量8
/// </summary>
[JsonPropertyName("quantityDemand8")]
public decimal QuantityDemand8 { get; set; } = 1;
/// <summary>
/// 需求数量9
/// </summary>
[JsonPropertyName("quantityDemand9")]
public decimal QuantityDemand9 { get; set; } = 1;
/// <summary>
/// 需求数量10
/// </summary>
[JsonPropertyName("quantityDemand10")]
public decimal QuantityDemand10 { get; set; } = 1;
/// <summary>
/// 需求数量11
/// </summary>
[JsonPropertyName("quantityDemand11")]
public decimal QuantityDemand11 { get; set; } = 1;
/// <summary>
/// 需求数量12
/// </summary>
[JsonPropertyName("quantityDemand12")]
public int QuantityDemand12 { get; set; } = 1;
/// <summary>
/// 当文件夹数据发生变更时(更新需求=1/否则=0)
/// </summary>
[JsonPropertyName("isUpdate")]
[MaxLength(50)]
public string IsUpdate { get; set; } = string.Empty;
/// <summary>
/// 创建人
/// </summary>
[JsonPropertyName("createByUser")]
[MaxLength(50)]
public string CreateByUser { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[JsonPropertyName("createTime")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
[JsonPropertyName("updateByUser")]
[MaxLength(50)]
public string UpdateByUser { get; set; } = string.Empty;
/// <summary>
/// 修改时间
/// </summary>
[JsonPropertyName("updateTime")]
public DateTime UpdateTime { get; set; }
/// <summary>
/// 是否删除(0:否,1是)
/// </summary>
[JsonPropertyName("isDelete")]
public int IsDelete { get; set; } = 1;
/// <summary>
/// 版本号
/// </summary>
[JsonPropertyName("version")]
public int Version { get; set; } = 1;
}
@ -321,134 +547,252 @@ namespace TaskManager.Entity
/// <summary>
/// M+6月物料需求计划风险确认
/// </summary>
public class SUPPLIER_CON_MMRP : BaseEntity
{
public string SupplierCode { get; set; }
public string ReleaseEdition { get; set; }
public string MaterialCode { get; set; }
public string PlantId { get; set; }
public string FeedbackResults { get; set; }
public string VentureType { get; set; }
public string VentureSpecific { get; set; }
public string Measures { get; set; }
public string StartMonth { get; set; }
public int QuantityMeet1 { get; set; }
public int QuantityMeet2 { get; set; }
public int QuantityMeet3 { get; set; }
public int QuantityMeet4 { get; set; }
public int QuantityMeet5 { get; set; }
public int QuantityMeet6 { get; set; }
public int QuantityMeet7 { get; set; }
public int QuantityMeet8 { get; set; }
public int QuantityMeet9 { get; set; }
public int QuantityMeet10 { get; set; }
public int QuantityMeet11 { get; set; }
public int QuantityMeet12 { get; set; }
}
//public class SUPPLIER_CON_MMRP : BaseEntity
//{
// public string SupplierCode { get; set; }
// public string ReleaseEdition { get; set; }
// public string MaterialCode { get; set; }
// public string PlantId { get; set; }
// public string FeedbackResults { get; set; }
// public string VentureType { get; set; }
// public string VentureSpecific { get; set; }
// public string Measures { get; set; }
// public string StartMonth { get; set; }
// public int QuantityMeet1 { get; set; }
// public int QuantityMeet2 { get; set; }
// public int QuantityMeet3 { get; set; }
// public int QuantityMeet4 { get; set; }
// public int QuantityMeet5 { get; set; }
// public int QuantityMeet6 { get; set; }
// public int QuantityMeet7 { get; set; }
// public int QuantityMeet8 { get; set; }
// public int QuantityMeet9 { get; set; }
// public int QuantityMeet10 { get; set; }
// public int QuantityMeet11 { get; set; }
// public int QuantityMeet12 { get; set; }
//}
/// <summary>
/// 日物料需求计划
/// </summary>
public class SUPPLIER_MRP_DATE : CherryReadBaseEntity
{
public string ReleaseEdition { get; set; }
public string MaterialCode { get; set; }
public string MaterialDescription { get; set; }
public string PlantId { get; set; }
public string PlantName { get; set; }
public string StartDate { get; set; }
public int QuantityDemand1 { get; set; }
public int QuantityDemand2 { get; set; }
public int QuantityDemand3 { get; set; }
public int QuantityDemand4 { get; set; }
public int QuantityDemand5 { get; set; }
public int QuantityDemand6 { get; set; }
public int QuantityDemand7 { get; set; }
public int QuantityDemand8 { get; set; }
public int QuantityDemand9 { get; set; }
public int QuantityDemand10 { get; set; }
public int QuantityDemand11 { get; set; }
public int QuantityDemand12 { get; set; }
public int QuantityDemand13 { get; set; }
public int QuantityDemand14 { get; set; }
public int QuantityDemand15 { get; set; }
public int QuantityDemand16 { get; set; }
public int QuantityDemand17 { get; set; }
public int QuantityDemand18 { get; set; }
public int QuantityDemand19 { get; set; }
public int QuantityDemand20 { get; set; }
public int QuantityDemand21 { get; set; }
public int QuantityDemand22 { get; set; }
public int QuantityDemand23 { get; set; }
public int QuantityDemand24 { get; set; }
public int QuantityDemand25 { get; set; }
public int QuantityDemand26 { get; set; }
public int QuantityDemand27 { get; set; }
public int QuantityDemand28 { get; set; }
public int QuantityDemand29 { get; set; }
public int QuantityDemand30 { get; set; }
public int QuantityDemand31 { get; set; }
public string IsUpdate { get; set; }
public string CreateByUser { get; set; }
public string CreateTime { get; set; }
public string UpdateByUser { get; set; }
public string UpdateTime { get; set; }
public int IsDelete { get; set; }
public int Version { get; set; }
// <summary>
/// 主键ID
/// </summary>
[JsonPropertyName("id")]
public int Id { get; set; }
/// <summary>
/// 需求发布版次:M+6月物料需求计划风险确认接口对应需求版次,需求ID
/// </summary>
[JsonPropertyName("releaseEdition")]
[MaxLength(50)]
public string ReleaseEdition { get; set; } = string.Empty;
/// <summary>
/// 零件号:奇瑞零件号
/// </summary>
[JsonPropertyName("materialCode")]
[MaxLength(50)]
public string MaterialCode { get; set; } = string.Empty;
/// <summary>
/// 零件名称
/// </summary>
[JsonPropertyName("materialDescription")]
[MaxLength(50)]
public string MaterialDescription { get; set; } = string.Empty;
/// <summary>
/// 工厂代码
/// </summary>
[JsonPropertyName("plantId")]
[MaxLength(50)]
public string PlantId { get; set; } = string.Empty;
/// <summary>
/// 工厂名称
/// </summary>
[JsonPropertyName("plantName")]
[MaxLength(50)]
public string PlantName { get; set; } = string.Empty;
/// <summary>
/// 起始月份-格式:yyyy-MM
/// </summary>
[JsonPropertyName("startMonth")]
[MaxLength(50)]
public string StartMonth { get; set; } = string.Empty;
/// <summary>
/// 需求数量1
/// </summary>
[JsonPropertyName("quantityDemand1")]
public int QuantityDemand1 { get; set; } = 1;
/// <summary>
/// 需求数量2
/// </summary>
[JsonPropertyName("quantityDemand2")]
public int QuantityDemand2 { get; set; } = 1;
/// <summary>
/// 需求数量3
/// </summary>
[JsonPropertyName("quantityDemand3")]
public int QuantityDemand3 { get; set; } = 1;
/// <summary>
/// 需求数量4
/// </summary>
[JsonPropertyName("quantityDemand4")]
public int QuantityDemand4 { get; set; } = 1;
/// <summary>
/// 需求数量5
/// </summary>
[JsonPropertyName("quantityDemand5")]
public int QuantityDemand5 { get; set; } = 1;
/// <summary>
/// 需求数量6
/// </summary>
[JsonPropertyName("quantityDemand6")]
public int QuantityDemand6 { get; set; } = 1;
/// <summary>
/// 需求数量7
/// </summary>
[JsonPropertyName("quantityDemand7")]
public int QuantityDemand7 { get; set; } = 1;
/// <summary>
/// 需求数量8
/// </summary>
[JsonPropertyName("quantityDemand8")]
public int QuantityDemand8 { get; set; } = 1;
/// <summary>
/// 需求数量9
/// </summary>
[JsonPropertyName("quantityDemand9")]
public int QuantityDemand9 { get; set; } = 1;
/// <summary>
/// 需求数量10
/// </summary>
[JsonPropertyName("quantityDemand10")]
public int QuantityDemand10 { get; set; } = 1;
/// <summary>
/// 需求数量11
/// </summary>
[JsonPropertyName("quantityDemand11")]
public int QuantityDemand11 { get; set; } = 1;
/// <summary>
/// 需求数量12
/// </summary>
[JsonPropertyName("quantityDemand12")]
public int QuantityDemand12 { get; set; } = 1;
/// <summary>
/// 当文件夹数据发生变更时(更新需求=1/否则=0)
/// </summary>
[JsonPropertyName("isUpdate")]
[MaxLength(50)]
public string IsUpdate { get; set; } = string.Empty;
/// <summary>
/// 创建人
/// </summary>
[JsonPropertyName("createByUser")]
[MaxLength(50)]
public string CreateByUser { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[JsonPropertyName("createTime")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
[JsonPropertyName("updateByUser")]
[MaxLength(50)]
public string UpdateByUser { get; set; } = string.Empty;
/// <summary>
/// 修改时间
/// </summary>
[JsonPropertyName("updateTime")]
public DateTime UpdateTime { get; set; }
/// <summary>
/// 是否删除(0:否,1是)
/// </summary>
[JsonPropertyName("isDelete")]
public int IsDelete { get; set; } = 1;
/// <summary>
/// 版本号
/// </summary>
[JsonPropertyName("version")]
public int Version { get; set; } = 1;
}
/// <summary>
/// 日物料需求计划风险确认
/// </summary>
public class SUPPLIER_CON_DATE : BaseEntity
{
public string SupplierCode { get; set; }
public string ReleaseEdition { get; set; }
public string MaterialCode { get; set; }
public string PlantId { get; set; }
public string FeedbackResults { get; set; }
public string VentureType { get; set; }
public string VentureSpecific { get; set; }
public string Measures { get; set; }
public string StartDate { get; set; }
// QuantityMeet from 1 to 31
public int QuantityMeet1 { get; set; }
public int QuantityMeet2 { get; set; }
public int QuantityMeet3 { get; set; }
public int QuantityMeet4 { get; set; }
public int QuantityMeet5 { get; set; }
public int QuantityMeet6 { get; set; }
public int QuantityMeet7 { get; set; }
public int QuantityMeet8 { get; set; }
public int QuantityMeet9 { get; set; }
public int QuantityMeet10 { get; set; }
public int QuantityMeet11 { get; set; }
public int QuantityMeet12 { get; set; }
public int QuantityMeet13 { get; set; }
public int QuantityMeet14 { get; set; }
public int QuantityMeet15 { get; set; }
public int QuantityMeet16 { get; set; }
public int QuantityMeet17 { get; set; }
public int QuantityMeet18 { get; set; }
public int QuantityMeet19 { get; set; }
public int QuantityMeet20 { get; set; }
public int QuantityMeet21 { get; set; }
public int QuantityMeet22 { get; set; }
public int QuantityMeet23 { get; set; }
public int QuantityMeet24 { get; set; }
public int QuantityMeet25 { get; set; }
public int QuantityMeet26 { get; set; }
public int QuantityMeet27 { get; set; }
public int QuantityMeet28 { get; set; }
public int QuantityMeet29 { get; set; }
public int QuantityMeet30 { get; set; }
public int QuantityMeet31 { get; set; }
}
//public class SUPPLIER_CON_DATE : BaseEntity
//{
// public string SupplierCode { get; set; }
// public string ReleaseEdition { get; set; }
// public string MaterialCode { get; set; }
// public string PlantId { get; set; }
// public string FeedbackResults { get; set; }
// public string VentureType { get; set; }
// public string VentureSpecific { get; set; }
// public string Measures { get; set; }
// public string StartDate { get; set; }
// // QuantityMeet from 1 to 31
// public int QuantityMeet1 { get; set; }
// public int QuantityMeet2 { get; set; }
// public int QuantityMeet3 { get; set; }
// public int QuantityMeet4 { get; set; }
// public int QuantityMeet5 { get; set; }
// public int QuantityMeet6 { get; set; }
// public int QuantityMeet7 { get; set; }
// public int QuantityMeet8 { get; set; }
// public int QuantityMeet9 { get; set; }
// public int QuantityMeet10 { get; set; }
// public int QuantityMeet11 { get; set; }
// public int QuantityMeet12 { get; set; }
// public int QuantityMeet13 { get; set; }
// public int QuantityMeet14 { get; set; }
// public int QuantityMeet15 { get; set; }
// public int QuantityMeet16 { get; set; }
// public int QuantityMeet17 { get; set; }
// public int QuantityMeet18 { get; set; }
// public int QuantityMeet19 { get; set; }
// public int QuantityMeet20 { get; set; }
// public int QuantityMeet21 { get; set; }
// public int QuantityMeet22 { get; set; }
// public int QuantityMeet23 { get; set; }
// public int QuantityMeet24 { get; set; }
// public int QuantityMeet25 { get; set; }
// public int QuantityMeet26 { get; set; }
// public int QuantityMeet27 { get; set; }
// public int QuantityMeet28 { get; set; }
// public int QuantityMeet29 { get; set; }
// public int QuantityMeet30 { get; set; }
// public int QuantityMeet31 { get; set; }
//}
/// <summary>
/// 计划协议
@ -508,19 +852,19 @@ namespace TaskManager.Entity
/// <summary>
/// 采购订单风险确认
/// </summary>
public class SUPPLIER_CON_PO : BaseEntity
{
public string SupplierCode { get; set; }
public string PurchaseOrder { get; set; }
public string SerialNumber { get; set; }
public int QuantityMeet { get; set; }
public string FeedbackResults { get; set; }
public string VentureType { get; set; }
public string VentureSpecific { get; set; }
public string Measures { get; set; }
//public class SUPPLIER_CON_PO : BaseEntity
//{
// public string SupplierCode { get; set; }
// public string PurchaseOrder { get; set; }
// public string SerialNumber { get; set; }
// public int QuantityMeet { get; set; }
// public string FeedbackResults { get; set; }
// public string VentureType { get; set; }
// public string VentureSpecific { get; set; }
// public string Measures { get; set; }
}
//}
/// <summary>
/// 过焊装未过总装
@ -681,22 +1025,22 @@ namespace TaskManager.Entity
/// <summary>
/// 供应商共享库存
/// </summary>
public class SUPPLIER_SINV_DATA : CherryReadBaseEntity
{
public string SupplierCode { get; set; }
public string SupplierName { get; set; }
public string MaterialCode { get; set; }
public string MaterialDescription { get; set; }
public string MaterialType { get; set; }
public int QuantityCurrent { get; set; }
public int QuantityPlan { get; set; }
public string InventoryStatus { get; set; }
public int SafetyStock { get; set; }
public string ProductionCycle { get; set; }
public string DataUpdateTime { get; set; }
public string SupplierBatch { get; set; }
public string SupplieryxqDate { get; set; }
}
//public class SUPPLIER_SINV_DATA : CherryReadBaseEntity
//{
// public string SupplierCode { get; set; }
// public string SupplierName { get; set; }
// public string MaterialCode { get; set; }
// public string MaterialDescription { get; set; }
// public string MaterialType { get; set; }
// public int QuantityCurrent { get; set; }
// public int QuantityPlan { get; set; }
// public string InventoryStatus { get; set; }
// public int SafetyStock { get; set; }
// public string ProductionCycle { get; set; }
// public string DataUpdateTime { get; set; }
// public string SupplierBatch { get; set; }
// public string SupplieryxqDate { get; set; }
//}
/// <summary>
/// 日MRP状态监控

255
API/TaskManager.EntityFramework/JobDbContext.cs

@ -115,40 +115,7 @@ namespace TaskManager.EntityFramework
/// </summary>
public DbSet<SUPPLIER_PRO_FLAW> SUPPLIER_PRO_FLAW { get; set; }
///// <summary>
///// 环境业务数据
///// </summary>
//public DbSet<SUPPLIER_PRO_ENVIRONMENT> SUPPLIER_PRO_ENVIRONMENT { get; set; }
///// <summary>
///// 设备OEE达成率
///// </summary>
//public DbSet<SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE> SUPPLIER_PRO_OEE_ACHIEVEMENT_RATE { get; set; }
///// <summary>
///// OEE时间明细
///// </summary>
//public DbSet<SUPPLIER_PRO_OEE_TIME_DETAILS> SUPPLIER_PRO_OEE_TIME_DETAILS { get; set; }
///// <summary>
///// 物料主数据
///// </summary>
//public DbSet<SUPPLIER_PRO_MATERIAL_DATA> SUPPLIER_PRO_MATERIAL_DATA { get; set; }
///// <summary>
///// 附件类数据
///// </summary>
//public DbSet<SUPPLIER_PRO_ATTACHMENT_DATA> SUPPLIER_PRO_ATTACHMENT_DATA { get; set; }
///// <summary>
///// 工艺装备
///// </summary>
//public DbSet<SUPPLIER_PRO_PROCESS_EQUIPMENT> SUPPLIER_PRO_PROCESS_EQUIPMENT { get; set; }
///// <summary>
///// 工艺
///// </summary>
//public DbSet<SUPPLIER_PRO_PROCESS> SUPPLIER_PRO_PROCESS { get; set; }
/// <summary>
/// 整车月度生产计划-2
@ -1297,6 +1264,226 @@ namespace TaskManager.EntityFramework
});
#endregion
#region M+6月物料需求计划风险确认
modelBuilder.Entity<SUPPLIER_CON_MMRP>(b =>
{
b.ToTable("SUPPLIER_CON_MMRP");
//供应商代码
b.Property(e => e.SupplierCode).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//需求发布版次,取自M+6月物料需求计划接口中的需求发布版次,针对与这个版次的需求进行风险反馈
b.Property(e => e.ReleaseEdition).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//零件号,奇瑞零件号
b.Property(e => e.MaterialCode).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired();
//工厂代码,
b.Property(e => e.PlantId).HasColumnType("VARCHAR").HasMaxLength(64).IsRequired();
//反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)
b.Property(e => e.FeedbackResults).HasColumnType("VARCHAR").HasMaxLength(10).IsRequired();
//风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他
b.Property(e => e.VentureType).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired(false);
//具体风险,当反馈结果=1时,此字段必输描述具体风险
b.Property(e => e.VentureSpecific).HasColumnType("VARCHAR").HasMaxLength(255).IsRequired(false);
//应对措施,当反馈结果=1时,此字段必输描述具体应对措施
b.Property(e => e.Measures).HasColumnType("VARCHAR").HasMaxLength(255).IsRequired(false);
//起始月份-格式:yyyy-MM
b.Property(e => e.StartMonth).HasColumnType("CHAR").HasMaxLength(7).IsRequired();
//满足数量1
b.Property(e => e.QuantityMeet1).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量2
b.Property(e => e.QuantityMeet2).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量3
b.Property(e => e.QuantityMeet3).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量4
b.Property(e => e.QuantityMeet4).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量5
b.Property(e => e.QuantityMeet5).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量6
b.Property(e => e.QuantityMeet6).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量7
b.Property(e => e.QuantityMeet7).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量8
b.Property(e => e.QuantityMeet8).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量9
b.Property(e => e.QuantityMeet9).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量10
b.Property(e => e.QuantityMeet10).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量11
b.Property(e => e.QuantityMeet11).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量12
b.Property(e => e.QuantityMeet12).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
b.Property(e => e.UId).HasColumnType("bigint").ValueGeneratedOnAdd().IsRequired();
b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500).IsRequired(false);
b.Property(e => e.ReadState).HasDefaultValue(false);
b.Property(e => e.WriteState).HasDefaultValue(false);
b.HasKey(e => e.UId);
});
#endregion
#region 日物料需求计划风险确认
modelBuilder.Entity<SUPPLIER_CON_DATE>(b =>
{
b.ToTable("SUPPLIER_CON_DATE");
//供应商代码
b.Property(e => e.SupplierCode).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//需求发布版次,取自日物料需求计划接口中的需求发布版次,针对与这个版次的需求进行风险反馈
b.Property(e => e.ReleaseEdition).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//零件号,奇瑞零件号
b.Property(e => e.MaterialCode).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired();
//工厂代码
b.Property(e => e.PlantId).HasColumnType("VARCHAR").HasMaxLength(64).IsRequired();
//反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)
b.Property(e => e.FeedbackResults).HasColumnType("VARCHAR").HasMaxLength(10).IsRequired();
//风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他
b.Property(e => e.VentureType).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired(false);
//具体风险,当反馈结果=1时,此字段必输描述具体风险
b.Property(e => e.VentureSpecific).HasColumnType("VARCHAR").HasMaxLength(255).IsRequired(false);
//应对措施,当反馈结果=1时,此字段必输描述具体应对措施
b.Property(e => e.Measures).HasColumnType("VARCHAR").HasMaxLength(255).IsRequired(false);
//起始日期,格式:yyyy-MM-dd
b.Property(e => e.StartDate).HasColumnType("CHAR").HasMaxLength(10).IsRequired();
//满足数量1,数量锁定,7日内满足数量必须等于需求数量
b.Property(e => e.QuantityMeet1).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量2,
b.Property(e => e.QuantityMeet2).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量3,
b.Property(e => e.QuantityMeet3).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量4,
b.Property(e => e.QuantityMeet4).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量5,
b.Property(e => e.QuantityMeet5).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量6,
b.Property(e => e.QuantityMeet6).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量7,
b.Property(e => e.QuantityMeet7).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量8,根据物料需求计划接口发布的需求天数,针对企业自身产能情况反馈可满足数量注:目前发送数据为滚动12天的数据,13至31天的字段为预留,未来可能会增加至31天
b.Property(e => e.QuantityMeet8).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量9,
b.Property(e => e.QuantityMeet9).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量10,
b.Property(e => e.QuantityMeet10).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量11,
b.Property(e => e.QuantityMeet11).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量12,
b.Property(e => e.QuantityMeet12).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//满足数量13,
b.Property(e => e.QuantityMeet13).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量14,
b.Property(e => e.QuantityMeet14).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量15,
b.Property(e => e.QuantityMeet15).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量16,
b.Property(e => e.QuantityMeet16).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量17,
b.Property(e => e.QuantityMeet17).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量18,
b.Property(e => e.QuantityMeet18).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量19,
b.Property(e => e.QuantityMeet19).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量20,
b.Property(e => e.QuantityMeet20).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量21,
b.Property(e => e.QuantityMeet21).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量22,
b.Property(e => e.QuantityMeet22).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量23,
b.Property(e => e.QuantityMeet23).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量24,
b.Property(e => e.QuantityMeet24).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量25,
b.Property(e => e.QuantityMeet25).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量26,
b.Property(e => e.QuantityMeet26).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量27,
b.Property(e => e.QuantityMeet27).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量28,
b.Property(e => e.QuantityMeet28).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量29,
b.Property(e => e.QuantityMeet29).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量30,
b.Property(e => e.QuantityMeet30).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
//满足数量31,
b.Property(e => e.QuantityMeet31).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired(false);
b.Property(e => e.UId).HasColumnType("bigint").ValueGeneratedOnAdd().IsRequired();
b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500).IsRequired(false);
b.Property(e => e.ReadState).HasDefaultValue(false);
b.Property(e => e.WriteState).HasDefaultValue(false);
b.HasKey(e => e.UId);
});
#endregion
#region 采购订单风险确认
modelBuilder.Entity<SUPPLIER_CON_PO>(b =>
{
b.ToTable("SUPPLIER_CON_PO");
//供应商代码
b.Property(e => e.SupplierCode).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//采购订单号
b.Property(e => e.PurchaseOrder).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired();
//行项目号
b.Property(e => e.SerialNumber).HasColumnType("VARCHAR").HasMaxLength(10).IsRequired();
//满足数量
b.Property(e => e.QuantityMeet).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//反馈结果,1-异常;0-无异常(匹配峰值需求缺口,如果可满足峰值,即选择无异常)
b.Property(e => e.FeedbackResults).HasColumnType("VARCHAR").HasMaxLength(10).IsRequired();
//风险类型,当反馈结果=1时,此字段必输1.生产节拍不足2.人员不足3.原材料不足4.设备异常5.其他
b.Property(e => e.VentureType).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired(false);
//具体风险,当反馈结果=1时,此字段必输描述具体风险
b.Property(e => e.VentureSpecific).HasColumnType("VARCHAR").HasMaxLength(255).IsRequired(false);
//应对措施,当反馈结果=1时,此字段必输描述具体应对措施
b.Property(e => e.Measures).HasColumnType("VARCHAR").HasMaxLength(255).IsRequired(false);
b.Property(e => e.UId).HasColumnType("bigint").ValueGeneratedOnAdd().IsRequired();
b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500).IsRequired(false);
b.Property(e => e.ReadState).HasDefaultValue(false);
b.Property(e => e.WriteState).HasDefaultValue(false);
b.HasKey(e => e.UId);
});
#endregion
#region 供应商共享库存
modelBuilder.Entity<SUPPLIER_SINV_DATA>(b =>
{
b.ToTable("SUPPLIER_SINV_DATA");
//供应商代码
b.Property(e => e.SupplierCode).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//供应商名称
b.Property(e => e.SupplierName).HasColumnType("VARCHAR").HasMaxLength(64).IsRequired();
//零件号
b.Property(e => e.MaterialCode).HasColumnType("VARCHAR").HasMaxLength(50).IsRequired();
//零件名称
b.Property(e => e.MaterialDescription).HasColumnType("VARCHAR").HasMaxLength(100).IsRequired();
//物料类型(成品,半成品,原材料)
b.Property(e => e.MaterialType).HasColumnType("VARCHAR").HasMaxLength(20).IsRequired();
//当前库存数量
b.Property(e => e.QuantityCurrent).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//原材料在途数量
b.Property(e => e.QuantityPlan).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//库存状态(生产件,呆滞件,备件,KD件)
b.Property(e => e.InventoryStatus).HasColumnType("VARCHAR").HasMaxLength(32).IsRequired();
//安全库存
b.Property(e => e.SafetyStock).HasColumnType("DECIMAL").HasPrecision(precision: 16, scale: 5).IsRequired();
//生产/采购周期:成品即半成品为生产周期(天),原材料为采购周期(天)
b.Property(e => e.ProductionCycle).HasColumnType("VARCHAR").HasMaxLength(10).IsRequired();
//库存更新时间-格式:yyyy-MM-ddHH:mm:ss
b.Property(e => e.DataUpdateTime).HasColumnType("CHAR").HasMaxLength(19).IsRequired();
//批次
b.Property(e => e.SupplierBatch).HasColumnType("VARCHAR").HasMaxLength(64).IsRequired(false);
//有效期截止日期 非必填
b.Property(e => e.SupplieryxqDate).HasColumnType("CHAR").HasMaxLength(19).IsRequired(false);
b.Property(e => e.UId).HasColumnType("bigint").ValueGeneratedOnAdd().IsRequired();
b.Property(e => e.Remark).HasColumnType("NVarchar").HasMaxLength(500).IsRequired(false);
b.Property(e => e.ReadState).HasDefaultValue(false);
b.Property(e => e.WriteState).HasDefaultValue(false);
b.HasKey(e => e.UId);
});
#endregion
}
}
}

76
API/Wood.Service/Controllers/LogController.cs

@ -1,36 +1,41 @@

using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using TaskManager.Controllers;
using TaskManager.Entity;
using TaskManager.EntityFramework;
using TaskManager.EntityFramework.Repository;
using Wood.Service.Controllers;
namespace TaskManager.Controllers
{
public class LogController:ControllerBase
public class LogController:NormalBaseController<TaskLog>
{
private readonly JobDbContext _dbContext;
public LogController(JobDbContext dbContext)
public LogController(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository<TaskLog> repository) : base(context, builder, configuration, repository)
{
_dbContext = dbContext;
}
public async Task<List<TaskLog>> GetAll()
{
var log = await _dbContext.TaskLogs.ToListAsync();
var log = await _context.TaskLogs.ToListAsync();
return log;
}
[HttpGet("AddError")]
public async Task<bool> AddError(string message,string taskname)
{
_dbContext.TaskLogs.Add(new TaskLog() { Info = message, Type = "错误",TaskName=taskname ,CreationTime=DateTime.Now});
var result =await _dbContext.SaveChangesAsync();
_context.TaskLogs.Add(new TaskLog() { Info = message, Type = "错误",TaskName=taskname ,CreationTime=DateTime.Now});
var result =await _context.SaveChangesAsync();
if (result > 0)
{
return true;
@ -40,16 +45,63 @@ namespace TaskManager.Controllers
[HttpGet("AddInfo")]
public async Task<bool> AddInfo(string message, string taskname)
{
_dbContext.TaskLogs.Add(new TaskLog() { Info = message, Type = "记录", TaskName = taskname, CreationTime = DateTime.Now });
var result = await _dbContext.SaveChangesAsync();
_context.TaskLogs.Add(new TaskLog() { Info = message, Type = "记录", TaskName = taskname, CreationTime = DateTime.Now });
var result = await _context.SaveChangesAsync();
if (result > 0)
{
return true;
}
return false;
}
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
{
var pagingParams = new PagingParams
{
PageNumber = pageNumber,
PageSize = pageSize,
SortBy = sortBy,
IsAscending = isAscending,
Filters = filters
};
// 可以在这里构建表达式树过滤条件
Expression<Func<T, bool>> filter = null;
var pagedResult = await _repository.GetPagedAsync(null, pagingParams);
return await ExportFile<TaskLog>(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx");
}
protected async Task<FileStreamResult> ExportFile<T>(ICollection<T> dtos, string fileName) where T : class, new()
{
var excelExporter = HttpContext.RequestServices.GetRequiredService<IExcelExporter>();
var res = await excelExporter.ExportAsByteArray(dtos);
return new FileStreamResult(new MemoryStream(res), "application/octet-stream") { FileDownloadName = DateTime.Now.ToString("yyyyMMddHHmm") + "_" + fileName };
}
}
/// 导出
/// </summary>
/// <param name="pageNumber">第几页</param>
/// <param name="pageSize">每页条数</param>
/// <param name="sortBy">排序列</param>
/// <param name="isAscending">是否升序</param>
/// <param name="filters">查询条件</param>
/// <returns></returns>
//private readonly IServiceProvider _serviceProvider;
//public LogController(IServiceProvider serviceProvider)
//{
@ -63,5 +115,5 @@ namespace TaskManager.Controllers
//}
}
}

110
API/Wood.Service/Controllers/NormalBaseController.cs

@ -0,0 +1,110 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using TaskManager.Entity;
using TaskManager.EntityFramework;
using TaskManager.EntityFramework.Repository;
namespace Wood.Service.Controllers
{
public class NormalBaseController<T>:ControllerBase where T:BaseEntity
{
protected readonly JobDbContext _context;
protected readonly IServiceProvider _builder;
protected readonly IConfiguration _configuration;
protected readonly IRepository<T> _repository;
public NormalBaseController(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository<T> repository)
{
_builder = builder;
_context = context;
_configuration = configuration;
_repository = repository;
}
/// <summary>
/// 通过UID获得实体
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("{id}")]
public async Task<ActionResult<T>> GetById(int id)
{
var entity = await _repository.GetByIdAsync(id);
if (entity == null) return NotFound();
return entity;
}
/// <summary>
/// 创建实体
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<T>> Create(T entity)
{
entity.CreationTime = DateTime.Now;
var createdEntity = await _repository.AddAsync(entity);
return new JsonResult(new { Code = 200, Message = "创建成功!" });
}
/// <summary>
/// 更新实体UID
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPut("{id}")]
public async Task<IActionResult> Update(T entity)
{
var _first = await _repository.GetByIdAsync(entity.UId);
if (_first == null)
{
return new JsonResult(new { Code = 400, Message = "修改失败!" });
}
await _repository.UpdateAsync(entity);
return new JsonResult(new { Code = 200, Message = "修改成功!" });
}
/// <summary>
/// 删除实体通过UID
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<IActionResult> Delete(int id)
{
await _repository.DeleteAsync(id);
return new JsonResult(new { Code = 200, Message = "删除成功!" }); ;
}
[HttpGet]
public async Task<ActionResult<PagedResult<T>>> GetPaged(
[FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
{
var pagingParams = new PagingParams
{
PageNumber = pageNumber,
PageSize = pageSize,
SortBy = sortBy,
IsAscending = isAscending,
Filters = filters
};
// 可以在这里构建表达式树过滤条件
Expression<Func<T, bool>> filter = null;
var pagedResult = await _repository.GetPagedAsync(filter, pagingParams);
return Ok(pagedResult);
}
}
}

137
API/Wood.Service/Controllers/TaskConifgureController.cs

@ -18,6 +18,7 @@ using TaskManager.Controllers;
using TaskManager.Entity;
using TaskManager.EntityFramework;
using TaskManager.EntityFramework.Repository;
using Wood.Service.Controllers;
namespace TaskManager.Controllers
{
@ -25,20 +26,13 @@ namespace TaskManager.Controllers
//[Route("[controller]")]
[AllowAnonymous]
public class TaskConifgureController : ControllerBase
public class TaskConifgureController :NormalBaseController<TaskConifgure>
{
private readonly JobDbContext _context;
private readonly IServiceProvider _builder;
private readonly IConfiguration _configuration;
private readonly IRepository<TaskConifgure> _repository;
public TaskConifgureController(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository<TaskConifgure> repository)
public TaskConifgureController(JobDbContext context, IServiceProvider builder, IConfiguration configuration, IRepository<TaskConifgure> repository) : base(context, builder, configuration, repository)
{
_builder = builder;
_context = context;
_configuration = configuration;
_repository = repository;
}
protected async Task<FileStreamResult> ExportFile<T>(ICollection<T> dtos, string fileName) where T : class, new()
{
var excelExporter = HttpContext.RequestServices.GetRequiredService<IExcelExporter>();
@ -85,38 +79,7 @@ namespace TaskManager.Controllers
}
/// <summary>
/// 导出
/// </summary>
/// <param name="pageNumber">第几页</param>
/// <param name="pageSize">每页条数</param>
/// <param name="sortBy">排序列</param>
/// <param name="isAscending">是否升序</param>
/// <param name="filters">查询条件</param>
/// <returns></returns>
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
{
var pagingParams = new PagingParams
{
PageNumber = pageNumber,
PageSize = pageSize,
SortBy = sortBy,
IsAscending = isAscending,
Filters = filters
};
// 可以在这里构建表达式树过滤条件
Expression<Func<TaskConifgure, bool>> filter = null;
var pagedResult = await _repository.GetPagedAsync(null, pagingParams);
return await ExportFile<TaskConifgure>(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx");
}
@ -618,82 +581,23 @@ namespace TaskManager.Controllers
}
}
}
/// <summary>
/// 获得所有揭露
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<ActionResult<IEnumerable<TaskConifgure>>> GetAll()
{
return await _repository.GetAllAsync() as List<TaskConifgure>;
}
/// <summary>
/// 通过UID获得实体
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("{id}")]
public async Task<ActionResult<TaskConifgure>> GetById(int id)
{
var entity = await _repository.GetByIdAsync(id);
if (entity == null) return NotFound();
return entity;
}
/// <summary>
/// 创建实体
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost]
public async Task<ActionResult<TaskConifgure>> Create(TaskConifgure entity)
{
entity.CreationTime = DateTime.Now;
var createdEntity = await _repository.AddAsync(entity);
return new JsonResult(new { Code = 200, Message = "创建成功!" });
}
/// <summary>
/// 更新实体UID
/// 导出
/// </summary>
/// <param name="entity"></param>
/// <param name="pageNumber">第几页</param>
/// <param name="pageSize">每页条数</param>
/// <param name="sortBy">排序列</param>
/// <param name="isAscending">是否升序</param>
/// <param name="filters">查询条件</param>
/// <returns></returns>
[HttpPut("{id}")]
public async Task<IActionResult> Update(TaskConifgure entity)
{
var _first = await _repository.GetByIdAsync(entity.UId);
if (_first == null)
{
return new JsonResult(new { Code = 400, Message = "修改失败!" });
}
await _repository.UpdateAsync(entity);
return new JsonResult(new { Code = 200, Message = "修改成功!" });
}
/// <summary>
/// 删除实体通过UID
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("{id}")]
public async Task<IActionResult> Delete(int id)
{
await _repository.DeleteAsync(id);
return new JsonResult(new { Code = 200, Message = "删除成功!" }); ;
}
[HttpGet]
public async Task<ActionResult<PagedResult<TaskConifgure>>> GetPaged(
[FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
public async Task<FileStreamResult> Export([FromQuery] int pageNumber = 1,
[FromQuery] int pageSize = 10,
[FromQuery] string sortBy = "",
[FromQuery] bool isAscending = true,
[FromQuery] Dictionary<string, string> filters = null)
{
var pagingParams = new PagingParams
{
@ -707,11 +611,12 @@ namespace TaskManager.Controllers
// 可以在这里构建表达式树过滤条件
Expression<Func<TaskConifgure, bool>> filter = null;
var pagedResult = await _repository.GetPagedAsync(filter, pagingParams);
return Ok(pagedResult);
}
var pagedResult = await _repository.GetPagedAsync(null, pagingParams);
return await ExportFile<TaskConifgure>(pagedResult.Data, Guid.NewGuid().ToString() + ".xlsx");
}
// 使用 Hangfire 注册定时任务

Loading…
Cancel
Save