分支自 SuZhouGuanHong/TaiYuanTaiZhong

陈勇
2024-02-01 ba9d50cf57f3d1a35f1d043871a0f09bc3ac6116
MES接口等
已修改7个文件
已添加18个文件
1769 ■■■■■ 文件已修改
.gitignore 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/dt_materielinfo.cs 329 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/partial/dt_materielinfo.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask_hty.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
代码管理/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
代码管理/WMS/WMS_Server/WIDESEA_WebApi/appsettings.json
*.json
代码管理/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm.MES_Info
{
    public class BasicSN
    {
        public class detail
        {
            public string sn { get; set; }
        }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm.MES_Info.Request
{
    public class agvInWarehousePara :BasicSN
    {
        /// <summary>
        /// å·¥å•编号
        /// </summary>
        public string JobID { get; set; }
        /// <summary>
        /// è½¦è½®ä¿¡æ¯
        /// </summary>
        public List<detail> details { get; set; }
        /// <summary>
        /// åº“房名称
        /// </summary>
        public string warehouseName { get; set; }
        /// <summary>
        /// åŒºä½åç§°
        /// </summary>
        public string zoneID { get; set; }
        /// <summary>
        /// åž›ä½åç§°
        /// </summary>
        public string stackID { get; set; }
        /// <summary>
        /// å±‚号
        /// </summary>
        public int? layerNo { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm.MES_Info.Request
{
    public class agvMoveWarehousePara :BasicSN
    {
        /// <summary>
        /// è½¦è½®SN
        /// </summary>
        public List<detail> details { get; set; }
        /// <summary>
        /// æºåº“房名称
        /// </summary>
        public string fromWarehouseName { get; set; }
        /// <summary>
        /// æºåŒºä½åç§°
        /// </summary>
        public string fromZoneID { get; set; }
        /// <summary>
        /// æºåž›ä½åç§°
        /// </summary>
        public string fromStackID { get; set; }
        /// <summary>
        /// æºå±‚号
        /// </summary>
        public string fromLayerNo { get; set; }
        /// <summary>
        /// ç›®æ ‡åº“房名称
        /// </summary>
        public string toWarehouseName { get; set;}
        /// <summary>
        /// ç›®æ ‡åŒºä½åç§°
        /// </summary>
        public string toZoneID { get; set;}
        /// <summary>
        /// ç›®æ ‡åž›ä½åç§°
        /// </summary>
        public string toStackID { get; set;}
        /// <summary>
        /// ç›®æ ‡å±‚号
        /// </summary>
        public string toLayerNo { get; set;}
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm.MES_Info
{
    public class agvOutWarehousePara : BasicSN
    {
        /// <summary>
        /// å·¥å•号
        /// </summary>
        public string JobID { get; set; }
        /// <summary>
        /// è½¦è½®
        /// </summary>
        public List<detail> details { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_Comm.MES_Info.Request
{
    public class agvTransferListPara :BasicSN
    {
        public string transferListID { get; set; }
        public string materialCode { get; set; }
        public string drawingNoVer { get; set; }
        public string fromWarehouse { get; set; }
        public string toWarehouse { get; set; }
        public string Operator { get; set; }
        public string updateTime { get; set; }
        /// <summary>
        /// è½¦è½®ä¿¡æ¯
        /// </summary>
        public List<detail> details { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,121 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Text;
namespace WIDESEA_Common
{
    public class Mes_WorkInfo
    {
        /// <summary>
        /// å·¥ä½œä»¤å·
        /// </summary>
        public string workOrder { get; set; }
        /// <summary>
        /// å·¥å•号
        /// </summary>
        public string jobID { get; set; }
        /// <summary>
        /// éœ€æ±‚单号
        /// </summary>
        public string reqID { get; set; }
        /// <summary>
        /// éœ€æ±‚单号
        /// </summary>
        public string reqIDLineNo { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        public string materialCode { get; set; }
        /// <summary>
        /// å›¾å·
        /// </summary>
        public string drawingNo { get; set; }
        /// <summary>
        /// æŠ€æœ¯çŠ¶æ€
        /// </summary>
        public string drawingNoVer { get; set; }
        /// <summary>
        /// äº§å“å
        /// </summary>
        public string productName { get; set; }
        /// <summary>
        /// äº§å“æè¿°
        /// </summary>
        public string productDesc { get; set; }
        /// <summary>
        /// è®¡åˆ’数量
        /// </summary>
        public int? quantity { get; set; }
        /// <summary>
        /// è½®åž‹ä»£ç 
        /// </summary>
        //[AllowNull]
        public string typeID { get; set; }
        /// <summary>
        /// æ‰“包数量
        /// </summary>
        public int? stackNoRange { get; set; }
        /// <summary>
        /// è½®å¾„偏差
        /// </summary>
        public decimal? maxDiameterDiff { get; set; }
        /// <summary>
        /// è®¡åˆ’开始时间
        /// </summary>
        public DateTime? expectedStartTime { get; set; }
        /// <summary>
        /// è®¡åˆ’结束时间
        /// </summary>
        public DateTime? expectedFinishTime { get; set; }
        /// <summary>
        /// è½¦è½®ä¿¡æ¯é›†åˆ
        /// </summary>
        public List<detail> details { get; set; }
    }
    public class detail
    {
        /// <summary>
        /// å·¥å•编号
        /// </summary>
        public string jobID { get; set; }
        /// <summary>
        /// ç‚‰ä»£å·
        /// </summary>
        public string heatID { get; set; }
        /// <summary>
        ///钢坯号
        /// </summary>
        public int? billetID { get; set; }
        /// <summary>
        /// è½¦è½®SN号
        /// </summary>
        public string SN { get; set; }
        /// <summary>
        /// çƒ­å¤„理批次
        /// </summary>
        public string heatBatchID { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs
@@ -15,6 +15,11 @@
        /// <summary>
        /// ç©ºè´§ä½
        /// </summary>
<<<<<<< Updated upstream
        Empty
=======
        Empty,
        Busy
>>>>>>> Stashed changes
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Core/Utilities/Response/WebResponseContent.cs
@@ -1,4 +1,5 @@
using WIDESEA_Core.Enums;
using System;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Extensions;
namespace WIDESEA_Core.Utilities
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/dt_materielinfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,329 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "物料信息",TableName = "dt_materielinfo")]
    public partial class dt_materielinfo:BaseEntity
    {
        /// <summary>
       ///主键
       /// </summary>
       [Display(Name ="主键")]
       [Column(TypeName="uniqueidentifier")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public Guid materiel_pkid { get; set; }
       /// <summary>
       ///物料id
       /// </summary>
       [Display(Name ="物料id")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string materiel_id { get; set; }
       /// <summary>
       ///所属库区
       /// </summary>
       [Display(Name ="所属库区")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public int materiel_areaid { get; set; }
       /// <summary>
       ///物料名称
       /// </summary>
       [Display(Name ="物料名称")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       public string materiel_name { get; set; }
       /// <summary>
       ///物料信息描述
       /// </summary>
       [Display(Name ="物料信息描述")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       public string materiel_desc { get; set; }
       /// <summary>
       ///包装规格
       /// </summary>
       [Display(Name ="包装规格")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_packspes { get; set; }
       /// <summary>
       ///当前状态
       /// </summary>
       [Display(Name ="当前状态")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_state { get; set; }
       /// <summary>
       ///物料类型
       /// </summary>
       [Display(Name ="物料类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_type { get; set; }
       /// <summary>
       ///计量单位
       /// </summary>
       [Display(Name ="计量单位")]
       [MaxLength(10)]
       [Column(TypeName="nvarchar(10)")]
       [Editable(true)]
       public string materiel_unit { get; set; }
       /// <summary>
       ///最小包装
       /// </summary>
       [Display(Name ="最小包装")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_minpack_qty { get; set; }
       /// <summary>
       ///生产商
       /// </summary>
       [Display(Name ="生产商")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       public string materiel_mfacturer { get; set; }
       /// <summary>
       ///供应商
       /// </summary>
       [Display(Name ="供应商")]
       [MaxLength(40)]
       [Column(TypeName="nvarchar(40)")]
       [Editable(true)]
       public string materiel_supplier { get; set; }
       /// <summary>
       ///净重
       /// </summary>
       [Display(Name ="净重")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_netweight { get; set; }
       /// <summary>
       ///毛重
       /// </summary>
       [Display(Name ="毛重")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_grossweight { get; set; }
       /// <summary>
       ///有效期
       /// </summary>
       [Display(Name ="有效期")]
       [Column(TypeName="int")]
       [Editable(true)]
       public int? materiel_validity { get; set; }
       /// <summary>
       ///安全库存
       /// </summary>
       [Display(Name ="安全库存")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_safety { get; set; }
       /// <summary>
       ///创建者
       /// </summary>
       [Display(Name ="创建者")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_creator { get; set; }
       /// <summary>
       ///创建时间
       /// </summary>
       [Display(Name ="创建时间")]
       [Column(TypeName="datetime")]
       [Editable(true)]
       public DateTime? materiel_createtime { get; set; }
       /// <summary>
       ///备注
       /// </summary>
       [Display(Name ="备注")]
       [MaxLength(100)]
       [Column(TypeName="nvarchar(100)")]
       [Editable(true)]
       public string materiel_remark { get; set; }
       /// <summary>
       ///采购类型
       /// </summary>
       [Display(Name ="采购类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_purchaseType { get; set; }
       /// <summary>
       ///英文描述
       /// </summary>
       [Display(Name ="英文描述")]
       [MaxLength(200)]
       [Column(TypeName="nvarchar(200)")]
       [Editable(true)]
       public string materiel_englishdesc { get; set; }
       /// <summary>
       ///物料组
       /// </summary>
       [Display(Name ="物料组")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string materiel_materielGroup { get; set; }
       /// <summary>
       ///产品组
       /// </summary>
       [Display(Name ="产品组")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string materiel_productGroup { get; set; }
       /// <summary>
       ///大小/量纲
       /// </summary>
       [Display(Name ="大小/量纲")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_size { get; set; }
       /// <summary>
       ///MRP类型
       /// </summary>
       [Display(Name ="MRP类型")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_mrpType { get; set; }
       /// <summary>
       ///追溯标识
       /// </summary>
       [Display(Name ="追溯标识")]
       [MaxLength(20)]
       [Column(TypeName="varchar(20)")]
       [Editable(true)]
       public string materiel_traceabilityCode { get; set; }
       /// <summary>
       ///物料长
       /// </summary>
       [Display(Name ="物料长")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_long { get; set; }
       /// <summary>
       ///物料宽
       /// </summary>
       [Display(Name ="物料宽")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_width { get; set; }
       /// <summary>
       ///物料高
       /// </summary>
       [Display(Name ="物料高")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_height { get; set; }
       /// <summary>
       ///托盘长
       /// </summary>
       [Display(Name ="托盘长")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_palletlong { get; set; }
       /// <summary>
       ///托盘宽
       /// </summary>
       [Display(Name ="托盘宽")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_palletwidth { get; set; }
       /// <summary>
       ///托盘高
       /// </summary>
       [Display(Name ="托盘高")]
       [DisplayFormat(DataFormatString="18,2")]
       [Column(TypeName="decimal")]
       [Editable(true)]
       public decimal? materiel_palletheight { get; set; }
       /// <summary>
       ///库存地点
       /// </summary>
       [Display(Name ="库存地点")]
       [MaxLength(20)]
       [Column(TypeName="nvarchar(20)")]
       [Editable(true)]
       public string materiel_location { get; set; }
       /// <summary>
       ///
       /// </summary>
       [Key]
       [Display(Name ="ID")]
       [Column(TypeName="int")]
       [Editable(true)]
       [Required(AllowEmptyStrings=false)]
       [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ID { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Base/partial/dt_materielinfo.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_materielinfo
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_stationinfo.cs
@@ -134,6 +134,21 @@
       [Column(TypeName="int")]
       public int? column { get; set; }
        /// <summary>
        ///工单编号
        /// </summary>
        [Display(Name = "工单编号")]
        [MaxLength(255)]
        [Column(TypeName = "nvarchar(255)")]
        [Editable(true)]
        public string Number { get; set; }
        /// <summary>
        ///炉号
        /// </summary>
        [Display(Name = "炉号")]
        [Column(TypeName = "int")]
        [Required(AllowEmptyStrings = false)]
        public int heatNumber { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,225 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "AGV任务", TableName = "dt_agvtask")]
    public partial class dt_agvtask : BaseEntity
    {
        /// <summary>
        ///任务Id
        /// </summary>
        [Key]
        [Display(Name = "任务Id")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid agv_id { get; set; }
        /// <summary>
        ///任务编号
        /// </summary>
        [Display(Name = "任务编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasknum { get; set; }
        /// <summary>
        ///起点地址
        /// </summary>
        [Display(Name = "起点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_fromaddress { get; set; }
        /// <summary>
        ///终点地址
        /// </summary>
        [Display(Name = "终点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_toaddress { get; set; }
        /// <summary>
        ///AGV编号
        /// </summary>
        [Display(Name = "AGV编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_code { get; set; }
        /// <summary>
        ///任务状态
        /// </summary>
        [Display(Name = "任务状态")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_taskstate { get; set; }
        /// <summary>
        ///AGV工作类型
        /// </summary>
        [Display(Name = "AGV工作类型")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_worktype { get; set; }
        /// <summary>
        ///物料类型
        /// </summary>
        [Display(Name = "物料类型")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_materielid { get; set; }
        /// <summary>
        ///数量
        /// </summary>
        [Display(Name = "数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int? agv_qty { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_createtime { get; set; }
        /// <summary>
        ///执行时间
        /// </summary>
        [Display(Name = "执行时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_realesstime { get; set; }
        /// <summary>
        ///完成时间
        /// </summary>
        [Display(Name = "完成时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_finishedtime { get; set; }
        /// <summary>
        ///任务类型
        /// </summary>
        [Display(Name = "任务类型")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasktype { get; set; }
        /// <summary>
        ///备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Editable(true)]
        public string agv_remark { get; set; }
        /// <summary>
        ///任务等级
        /// </summary>
        [Display(Name = "任务等级")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_grade { get; set; }
        /// <summary>
        ///创建者
        /// </summary>
        [Display(Name = "创建者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string agv_userid { get; set; }
        /// <summary>
        ///托盘码
        /// </summary>
        [Display(Name = "托盘码")]
        [MaxLength(30)]
        [Column(TypeName = "nvarchar(30)")]
        [Editable(true)]
        //[Required(AllowEmptyStrings = false)]//不能为空
        public string agv_barcode { get; set; }
        /// <summary>
        ///物料码
        /// </summary>
        [Display(Name = "物料码")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_materbarcode { get; set; }
        /// <summary>
        ///起始点执行中
        /// </summary>
        [Display(Name = "起始点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingBeginTime { get; set; }
        /// <summary>
        ///起始点完成
        /// </summary>
        [Display(Name = "起始点完成")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingEndTime { get; set; }
        /// <summary>
        ///目的点执行中
        /// </summary>
        [Display(Name = "目的点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_completeBeginTime { get; set; }
        /// <summary>
        ///
        /// </summary>
        [Display(Name = "unitag")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        public Guid? unitag { get; set; }
        /// <summary>
        ///车轮SN号
        /// </summary>
        [Display(Name = "车轮SN号")]
        [MaxLength(500)]
        [Column(TypeName = "nvarchar(500)")]
        public string bindSN { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask_hty.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,257 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "AGV历史任务", TableName = "dt_agvtask_hty")]
    public partial class dt_agvtask_hty : BaseEntity
    {
        /// <summary>
        ///历史任务ID
        /// </summary>
        [Key]
        [Display(Name = "历史任务ID")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid hty_pkid { get; set; }
        /// <summary>
        ///任务ID
        /// </summary>
        [Display(Name = "任务ID")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid agv_id { get; set; }
        /// <summary>
        ///任务编号
        /// </summary>
        [Display(Name = "任务编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasknum { get; set; }
        /// <summary>
        ///物料类型
        /// </summary>
        [Display(Name = "物料类型")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_materielid { get; set; }
        /// <summary>
        ///数量
        /// </summary>
        [Display(Name = "数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int? agv_qty { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_createtime { get; set; }
        /// <summary>
        ///执行时间
        /// </summary>
        [Display(Name = "执行时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_realesstime { get; set; }
        /// <summary>
        ///完成时间
        /// </summary>
        [Display(Name = "完成时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_finishedtime { get; set; }
        /// <summary>
        ///任务状态
        /// </summary>
        [Display(Name = "任务状态")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_taskstate { get; set; }
        /// <summary>
        ///任务类型
        /// </summary>
        [Display(Name = "任务类型")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_tasktype { get; set; }
        /// <summary>
        ///起点地址
        /// </summary>
        [Display(Name = "起点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_fromaddress { get; set; }
        /// <summary>
        ///终点地址
        /// </summary>
        [Display(Name = "终点地址")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_toaddress { get; set; }
        /// <summary>
        ///操作类型
        /// </summary>
        [Display(Name = "操作类型")]
        [MaxLength(10)]
        [Column(TypeName = "nvarchar(10)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_operatetype { get; set; }
        /// <summary>
        ///操作者
        /// </summary>
        [Display(Name = "操作者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_compeletor { get; set; }
        /// <summary>
        ///操作时间
        /// </summary>
        [Display(Name = "操作时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime agv_completedate { get; set; }
        /// <summary>
        ///任务等级
        /// </summary>
        [Display(Name = "任务等级")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? agv_grade { get; set; }
        /// <summary>
        ///创建者
        /// </summary>
        [Display(Name = "创建者")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string agv_userid { get; set; }
        /// <summary>
        ///托盘码
        /// </summary>
        [Display(Name = "托盘码")]
        [MaxLength(30)]
        [Column(TypeName = "nvarchar(30)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_barcode { get; set; }
        /// <summary>
        ///AGV编号
        /// </summary>
        [Display(Name = "AGV编号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string agv_code { get; set; }
        /// <summary>
        ///AGV工作类型
        /// </summary>
        [Display(Name = "AGV工作类型")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int? agv_worktype { get; set; }
        /// <summary>
        ///物料码
        /// </summary>
        [Display(Name = "物料码")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string agv_materbarcode { get; set; }
        /// <summary>
        ///起始点执行中
        /// </summary>
        [Display(Name = "起始点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingBeginTime { get; set; }
        /// <summary>
        ///起始点完成
        /// </summary>
        [Display(Name = "起始点完成")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_executingEndTime { get; set; }
        /// <summary>
        ///目的点执行中
        /// </summary>
        [Display(Name = "目的点执行中")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? agv_completeBeginTime { get; set; }
        /// <summary>
        ///备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(100)]
        [Column(TypeName = "nvarchar(100)")]
        [Editable(true)]
        public string agv_remark { get; set; }
        /// <summary>
        ///车轮SN号
        /// </summary>
        [Display(Name = "车轮SN号")]
        [MaxLength(500)]
        [Column(TypeName = "nvarchar(500)")]
        public string bindSN { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_agvtask
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/Taskinfo/partial/dt_agvtask_hty.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_agvtask_hty
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_detail.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "工单详细信息", TableName = "dt_mes_detail")]
    public partial class dt_mes_detail : BaseEntity
    {
        /// <summary>
        ///工单明细ID
        /// </summary>
        [Key]
        [Display(Name = "mes_detail_id")]
        [Column(TypeName = "uniqueidentifier")]
        [Required(AllowEmptyStrings = false)]
        public Guid mes_detail_id { get; set; }
        /// <summary>
        ///工单头表ID
        /// </summary>
        [Key]
        [Display(Name = "mes_headID")]
        [Column(TypeName = "uniqueidentifier")]
        [Required(AllowEmptyStrings = false)]
        public Guid mes_headID { get; set; }
        /// <summary>
        ///工单单号
        /// </summary>
        [Display(Name = "jobID")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Editable(true)]
        public string jobID { get; set; }
        /// <summary>
        ///炉代号
        /// </summary>
        [Display(Name = "炉代号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string heatID { get; set; }
        /// <summary>
        ///钢坯号
        /// </summary>
        [Display(Name = "钢坯号")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? billetID { get; set; }
        /// <summary>
        ///车轮SN号
        /// </summary>
        [Display(Name = "车轮SN号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string SN { get; set; }
        /// <summary>
        ///热处理批次
        /// </summary>
        [Display(Name = "热处理批次")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        public string heatBatchID { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,181 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    [Entity(TableCnName = "工单信息", TableName = "dt_mes_head")]
    public partial class dt_mes_head : BaseEntity
    {
        /// <summary>
        ///ID
        /// </summary>
        [Key]
        [Display(Name = "mes_id")]
        [Column(TypeName = "uniqueidentifier")]
        [Required(AllowEmptyStrings = false)]
        public Guid mes_id { get; set; }
        /// <summary>
        ///工作令号
        /// </summary>
        [Display(Name = "工作令号")]
        [MaxLength(50)]
        [Column(TypeName = "nvarchar(50)")]
        [Editable(true)]
        public string workOrder { get; set; }
        /// <summary>
        ///工单编号
        /// </summary>
        [Display(Name = "工单编号")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Editable(true)]
        public string jobID { get; set; }
        /// <summary>
        ///需求单号
        /// </summary>
        [Display(Name = "需求单号")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Editable(true)]
        public string reqID { get; set; }
        /// <summary>
        ///需求单号行号
        /// </summary>
        [Display(Name = "需求单号行号")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string reqIDLineNo { get; set; }
        /// <summary>
        ///工单类型 (17-机加工 28-检测线)
        /// </summary>
        [Display(Name = "工单类型")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string processCode { get; set; }
        /// <summary>
        ///物料编码
        /// </summary>
        [Display(Name = "物料编码")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string materialCode { get; set; }
        /// <summary>
        ///图号
        /// </summary>
        [Display(Name = "图号")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string drawingNo { get; set; }
        /// <summary>
        ///技术状态
        /// </summary>
        [Display(Name = "技术状态")]
        [MaxLength(10)]
        [Column(TypeName = "nvarchar(10)")]
        [Editable(true)]
        public string drawingNoVer { get; set; }
        /// <summary>
        ///产品名称
        /// </summary>
        [Display(Name = "产品名称")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        [Editable(true)]
        public string productName { get; set; }
        /// <summary>
        ///产品描述
        /// </summary>
        [Display(Name = "产品描述")]
        [Column(TypeName = "nvarchar(200)")]
        [Editable(true)]
        [MaxLength(200)]
        public string productDesc { get; set; }
        /// <summary>
        ///完成数量
        /// </summary>
        [Display(Name = "完成数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? quantity { get; set; }
        /// <summary>
        ///轮型代码
        /// </summary>
        [Display(Name = "轮型代码")]
        [MaxLength(20)]
        [Column(TypeName = "nvarchar(20)")]
        [Editable(true)]
        public string typeID { get; set; }
        /// <summary>
        ///打包数量
        /// </summary>
        [Display(Name = "打包数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? stackNoRange { get; set; }
        /// <summary>
        ///轮径偏差
        /// </summary>
        [Display(Name = "轮径偏差")]
        [Column(TypeName = "nmberic(18,2)")]
        [Editable(true)]
        public decimal? maxDiameterDiff { get; set; }
        /// <summary>
        ///工单开始时间
        /// </summary>
        [Display(Name = "工单开始时间")]
        [Column(TypeName = "datetime")]
        public DateTime? expectedStartTime { get; set; }
        /// <summary>
        ///工单结束时间
        /// </summary>
        [Display(Name = "工单结束时间")]
        [Column(TypeName = "datetime")]
        public DateTime? expectedFinishTime { get; set; }
        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        public DateTime CreateTime { get; set; }
        /// <summary>
        ///创建者
        /// </summary>
        [Display(Name = "创建者")]
        [MaxLength(40)]
        [Column(TypeName = "nvarchar(40)")]
        public string creator { get; set; }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_detail.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_ActualProduction
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/dt_mes_head.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化,请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Entity.SystemModels;
namespace WIDESEA_Entity.DomainModels
{
    public partial class dt_mes_head
    {
        //此处配置字段(字段配置见此model的另一个partial),如果表中没有此字段请加上 [NotMapped]属性,否则会异常
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,171 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_WCS.IRepositories;
using WIDESEA_WCS.Repositories;
using WIDESEA_Core.EFDbContext;
using WIDESEA_Core.FreeDB;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Comm;
namespace WIDESEA_WCS.JobsPart.Common
{
    public class StationTask
    {
        FreeDB freeDB = new FreeDB();
        public void CreateTask()
        {
            VOLContext context = new VOLContext();
            Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context);
            Idt_WorkinfoRepository workinfoRepository = new dt_WorkinfoRepository(context);
            List<dt_stationinfo> stationinfos = stationinfoRepository.Find(x => x.stationCode.Contains('X'));
            foreach (var item in stationinfos)
            {
                //根据下料口的绑定信息查询对应工单,检测此工单是否已完成  å®Œæˆå³å¯å°†å…¶é€å…¥åº“
                dt_Workinfo workinfo = workinfoRepository.FindFirst(x => x.WorkNumber == item.Number);
                int CompeletedNum = Convert.ToInt32(workinfo.PlannedQuantity) - Convert.ToInt32(workinfo.QuantityCompletion);
                //判定任务是否已创建//如已存在
                if (freeDB.Select<dt_agvtask>().Where(x => x.agv_fromaddress == item.stationCode).Count() > 0)
                    continue;
                if (item.quantity == 5 || CompeletedNum == 0)  //循环读取车轮数为5或者订单已完成数量的下料口    â†’工单人工关闭的工单
                {
                    dt_stationinfo TargetLocation = GetEmptyLocation(stationinfoRepository, workinfo, item);
                    if (TargetLocation != null)
                    {
                        //todo:  è°ƒç”¨WMS接口创建任务
                        dt_agvtask agvtask = new dt_agvtask()
                        {
                            agv_fromaddress = item.stationCode,
                            agv_id = Guid.NewGuid(),
                            agv_grade = 0,
                            agv_barcode = "",
                            agv_createtime = DateTime.Now,
                            agv_taskstate = TaskStatus.Created.ToString(),
                            agv_toaddress = TargetLocation.stationCode,
                        };
                        freeDB.Add(agvtask);
                        TargetLocation.location_state = LocationStateEnum.Busy.ToString();
                        freeDB.Update(TargetLocation);
                    }
                }
            }
        }
        /// <summary>
        /// èŽ·å–ç©ºåº“ä½
        /// </summary>
        /// <param name="stationinfoRepository">库存</param>
        /// <param name="workinfo">订单</param>
        /// <param name="stationinfo">下料口信息</param>
        /// <returns></returns>
        private dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository, dt_Workinfo workinfo, dt_stationinfo stationinfo)
        {
            //放货位
            dt_stationinfo TargetLocation = null;
            //根据订单数量来寻找对应库区且同物料类型库位
            if (workinfo.PlannedQuantity < 50)    //库区1 ç‰©æ–™ç±»åž‹å¤š
            {
                dt_stationinfo station = stationinfoRepository.Find(x => x.stationType == stationinfo.stationType && x.area == "1").OrderByDescending(x => x.lastUpdateTime).FirstOrDefault();
                if (station != null)
                {
                    //如存在同物料类型且在1行的库存则新入库的物料放至同列 ä¸å­˜åœ¨åˆ™å¯»æ‰¾æ–°è¡Œåº“位
                    if (station.line == 1)
                    {
                        TargetLocation = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.column == station.column && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
                    }
                    TargetLocation = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.line == 1 && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
                }
                else
                {
                    TargetLocation = stationinfoRepository.Find(x => x.area == "1" && x.location_state == LocationStateEnum.Empty.ToString() && x.line == 1 && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
                }
            }
            else
            {
                //int quantity = Convert.ToInt32(workinfo.PlannedQuantity);
                //string area = GetArea(quantity);
                dt_materielinfo materielinfo = freeDB.Select<dt_materielinfo>().Where(x => x.materiel_id == stationinfo.stationType).First();
                if (materielinfo == null)
                    throw new Exception($"无此物料类型{stationinfo.stationType}库区");
                string area = materielinfo.materiel_areaid.ToString();
                //如存在同类型物料则放置同行库位 ä¸å­˜åœ¨åˆ™æ”¾ç½®æ–°è¡Œçš„第一列中
                dt_stationinfo station = stationinfoRepository.Find(x => x.stationType == stationinfo.stationType && x.area == area).OrderBy(x => x.lastUpdateTime).FirstOrDefault();
                if (station != null)
                {
                    TargetLocation = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.line == station.line).OrderBy(x => x.column).FirstOrDefault();
                    if (TargetLocation == null)
                    {
                        TargetLocation = stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
                    }
                }
                else
                {
                    TargetLocation = stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
                }
                //todo  å¦‚物料已满则放置其他库区
                //if (TargetLocation == null)
                //{
                //    stationinfoRepository.Find(x => x.area == area && x.location_state == LocationStateEnum.Empty.ToString() && x.enable && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
                //}
            }
            if (TargetLocation == null)
            {
                throw new Exception("库位已满");
            }
            //else if (workinfo.PlannedQuantity >= 50 && workinfo.PlannedQuantity < 110)  //库区2
            //{
            //    //如存在同类型物料则放置同行库位 ä¸å­˜åœ¨åˆ™æ”¾ç½®æ–°è¡Œçš„第一列中
            //    dt_stationinfo station = stationinfoRepository.Find(x => x.stationType == stationinfo.stationType && x.area == "2").OrderBy(x => x.lastUpdateTime).FirstOrDefault();
            //    if (station != null)
            //    {
            //        TargetLocation  = stationinfoRepository.Find(x => x.area == station.area && x.location_state == LocationStateEnum.Empty.ToString() && x.line == station.line).OrderBy(x => x.column).FirstOrDefault();
            //    }
            //    else
            //    {
            //        TargetLocation = stationinfoRepository.Find(x => x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.column == '1').OrderBy(x => x.line).FirstOrDefault();
            //    }
            //}
            //else if(workinfo.PlannedQuantity >= 110 && workinfo.PlannedQuantity < 180)
            //{
            //}
            return TargetLocation;
        }
        /// <summary>
        /// æ ¹æ®è®¢å•数量返回库区(暂时弃用)   //更换为库位类型匹配
        /// </summary>
        /// <param name="quantity"></param>
        /// <returns></returns>
        private string GetArea(int quantity)
        {
            if (quantity >= 50 && quantity < 180)
                return "2";
            else if (quantity >= 180 && quantity < 180)
                return "3";
            else if (quantity >= 180 && quantity < 220)
                return "4";
            return null;
        }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs
@@ -1,15 +1,21 @@
using System;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common;
using WIDESEA_Core.FreeDB;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using static FreeSql.Internal.GlobalFilter;
namespace WIDESEA_WCS
{
    public partial class ToMesServer
    {
        /// <summary>
        /// æ·»åŠ å·¥å•ä¿¡æ¯
        /// </summary>
@@ -30,5 +36,75 @@
            WebResponseContent content = new WebResponseContent();
            return content;
        }
        /// <summary>
        /// MES下发WMS工单接口
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static WebResponseContent AddMes_Info(object json)
        {
            WebResponseContent content = new WebResponseContent();
            FreeDB freeDB = new FreeDB();
            try
            {
                Mes_WorkInfo workInfo = JsonConvert.DeserializeObject<Mes_WorkInfo>(json.ToString());
                if (workInfo == null)
                {
                    return content.Error("工单信息数据为空");
                }
                var mesinfo = freeDB.Select<dt_mes_head>().Where(x => x.jobID == workInfo.jobID).First();
                if (mesinfo != null)
                {
                    return content.Error($"工单号{mesinfo.jobID}已存在,请核实后在发送!");
                }
                Guid head = Guid.NewGuid();
                dt_mes_head mes_Head = new dt_mes_head
                {
                    mes_id = head,
                    CreateTime = DateTime.Now,
                    creator = "MES",
                    drawingNo = workInfo.drawingNo,
                    drawingNoVer = workInfo.drawingNoVer,
                    expectedFinishTime = workInfo.expectedFinishTime,
                    expectedStartTime = workInfo.expectedStartTime,
                    jobID = workInfo.jobID,
                    materialCode = workInfo.materialCode,
                    maxDiameterDiff = workInfo.maxDiameterDiff,
                    productDesc = workInfo.productDesc,
                    productName = workInfo.productName,
                    quantity = workInfo.quantity,
                    reqID = workInfo.reqID,
                    reqIDLineNo = workInfo.reqIDLineNo,
                    stackNoRange = workInfo.stackNoRange,
                    typeID = workInfo.typeID,
                    workOrder = workInfo.workOrder
                };
                freeDB.Add(mes_Head);
                foreach (var item in workInfo.details)
                {
                    dt_mes_detail mes_Detail = new dt_mes_detail
                    {
                        mes_detail_id = Guid.NewGuid(),
                        mes_headID = head,
                        jobID = item.jobID,
                        billetID = item.billetID,
                        heatBatchID = item.heatBatchID,
                        heatID = item.heatID,
                        SN = item.SN
                    };
                    freeDB.Add(mes_Detail);
                }
                return content.OK();
            }
            catch (Exception ex)
            {
                return content.Error(ex.Message);
            }
        }
    }
}
´úÂë¹ÜÀí/PCS/WCS_Server/WIDESEA_WebApi/Controllers/ToMes/ToMESController.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core.Utilities;
using WIDESEA_Entity.DomainModels;
using WIDESEA_WCS;
@@ -32,5 +33,16 @@
        {
            return ToMesServer.AddActualProduction(request);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        [HttpPost,Route("AddMes_Info"),AllowAnonymous]
        public WebResponseContent AddMES_info([FromBody] object json)
        {
            return ToMesServer.AddMes_Info(json);
        }
    }
}
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_areainfoService.cs
@@ -1,11 +1,3 @@
/*
 *所有关于dt_areainfo类的业务代码应在此处编写
*可使用repository.调用常用方法,获取EF/Dapper等信息
*如果需要事务请使用repository.DbContextBeginTransaction
*也可使用DBServerProvider.手动获取数据库相关信息
*用户信息、权限、角色等使用UserContext.Current操作
*dt_areainfoService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter
*/
using WIDESEA_Core.BaseProvider;
using WIDESEA_Core.Extensions.AutofacManager;
using WIDESEA_Entity.DomainModels;
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs
@@ -99,5 +99,8 @@
            return base.Add(saveDataModel);
        }
    }
}