From c9dd47185d603ccd09dd567f7eb5baeaf03b2746 Mon Sep 17 00:00:00 2001
From: 陈勇 <chenyong@hnkhzn.com>
Date: 星期五, 23 二月 2024 11:11:51 +0800
Subject: [PATCH] 上传MES及MES下发工单接口
---
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs | 17 +
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs | 121 +++++++
.gitignore | 3
代码管理/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs | 169 ++++++---
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs | 27 +
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs | 182 +++++-----
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs | 59 +++
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs | 14
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/MES_Response.cs | 46 ++
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_inventory.cs | 21 +
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs | 23 +
代码管理/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs | 125 +++++++
代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs | 42 ++
代码管理/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs | 8
代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs | 8
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/UploadMesInfo/MESAPIAddress.cs | 16
代码管理/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs | 10
代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs | 94 +++++
18 files changed, 825 insertions(+), 160 deletions(-)
diff --git a/.gitignore b/.gitignore
index a270f71..f79b0c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,6 @@
浠g爜绠$悊/WMS/WMS_Server/WIDESEA_WebApi/appsettings.json
*.json
浠g爜绠$悊/PCS/WCS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs
+浠g爜绠$悊/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_materielinfo.cs
+浠g爜绠$悊/WMS/WMS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs
+浠g爜绠$悊/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_materielinfo.cs
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
index 6dda51a..5505f75 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
@@ -14,6 +14,16 @@
public string workOrder { get; set; }
/// <summary>
+ /// 宸ュ崟绫诲瀷
+ /// </summary>
+ public string processCode { get; set; }
+
+ /// <summary>
+ /// 瀹屾垚鏁伴噺
+ /// </summary>
+ public int finishNum { get; set; }
+
+ /// <summary>
/// 宸ュ崟鍙�
/// </summary>
public string jobID { get; set; }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
new file mode 100644
index 0000000..80a7b11
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
@@ -0,0 +1,125 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+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_inventory")]
+ public partial class dt_inventory : BaseEntity
+ {
+ /// <summary>
+ ///杞﹁疆SN鍙�
+ /// </summary>
+ [Display(Name = "杞﹁疆SN鍙�")]
+ [MaxLength(255)]
+ [Column(TypeName = "nvarchar(255)")]
+ [Editable(true)]
+ public string SN { get; set; }
+
+ /// <summary>
+ ///浜у搧鍚嶇О
+ /// </summary>
+ [Display(Name = "浜у搧鍚嶇О")]
+ [MaxLength(255)]
+ [Column(TypeName = "nvarchar(255)")]
+ [Editable(true)]
+ public string Name { get; set; }
+
+ /// <summary>
+ ///浜у搧鍥惧彿
+ /// </summary>
+ [Display(Name = "浜у搧鍥惧彿")]
+ [MaxLength(255)]
+ [Column(TypeName = "nvarchar(255)")]
+ [Editable(true)]
+ public string FigureNumber { get; set; }
+
+ /// <summary>
+ ///鐔旂偧鐐夊彿
+ /// </summary>
+ [Display(Name = "鐔旂偧鐐夊彿")]
+ [MaxLength(255)]
+ [Column(TypeName = "varchar(255)")]
+ [Editable(true)]
+ public string HearthNumber { get; set; }
+
+ /// <summary>
+ ///鐐変唬鍙�
+ /// </summary>
+ [Display(Name = "鐐変唬鍙�")]
+ [MaxLength(50)]
+ [Column(TypeName = "nvarchar(50)")]
+ [Editable(true)]
+ public string HeatNumber { get; set; }
+
+ /// <summary>
+ ///閽㈠澂鍙�
+ /// </summary>
+ [Display(Name = "閽㈠澂鍙�")]
+ [Column(TypeName = "int")]
+ [Editable(true)]
+ public int? BilletNumber { get; set; }
+
+ /// <summary>
+ ///鍏ュ簱鏃堕棿
+ /// </summary>
+ [Display(Name = "鍏ュ簱鏃堕棿")]
+ [Column(TypeName = "datetime")]
+ [Editable(true)]
+ public DateTime? OnlineTime { get; set; }
+
+ /// <summary>
+ ///鎿嶄綔浜哄憳
+ /// </summary>
+ [Display(Name = "鎿嶄綔浜哄憳")]
+ [MaxLength(50)]
+ [Column(TypeName = "nvarchar(50)")]
+ [Editable(true)]
+ public string Operator { get; set; }
+
+ /// <summary>
+ ///鎻忚堪
+ /// </summary>
+ [Display(Name = "鎻忚堪")]
+ [Column(TypeName = "nvarchar(max)")]
+ [Editable(true)]
+ public string remark { get; set; }
+
+ /// <summary>
+ ///ID
+ /// </summary>
+ [Key]
+ [Display(Name = "ID")]
+ [Column(TypeName = "int")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings = false)]
+ public int ID { get; set; }
+
+ /// <summary>
+ ///璐т綅缂栧彿
+ /// </summary>
+ [Display(Name = "璐т綅缂栧彿")]
+ [MaxLength(30)]
+ [Column(TypeName = "nvarchar(30)")]
+ public string stationCode { get; set; }
+
+ [Display(Name = "鍖哄煙浠g爜")]
+ [Column(TypeName = "nvarchar(15)")]
+ [Editable(true)]
+ public string area { get; set; }
+
+ [Display(Name = "宸ュ崟缂栧彿")]
+ [Column(TypeName = "nvarchar(40)")]
+ [Editable(true)]
+ public string jobID { get; set; }
+ }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_inventory.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_inventory.cs"
new file mode 100644
index 0000000..3e9d13f
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/System/partial/dt_inventory.cs"
@@ -0,0 +1,21 @@
+/*
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *濡傛灉鏁版嵁搴撳瓧娈靛彂鐢熷彉鍖栵紝璇峰湪浠g爜鐢熷櫒閲嶆柊鐢熸垚姝odel
+ */
+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_inventory
+ {
+ //姝ゅ閰嶇疆瀛楁(瀛楁閰嶇疆瑙佹model鐨勫彟涓�涓猵artial),濡傛灉琛ㄤ腑娌℃湁姝ゅ瓧娈佃鍔犱笂 [NotMapped]灞炴�э紝鍚﹀垯浼氬紓甯�
+ }
+}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
index 55a2356..d7b76e5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_Entity/DomainModels/ToMES/dt_mes_head.cs"
@@ -72,6 +72,14 @@
public string processCode { get; set; }
/// <summary>
+ ///瀹屾垚鏁伴噺
+ /// </summary>
+ [Display(Name = "瀹屾垚鏁伴噺")]
+ [Column(TypeName = "int")]
+ [Editable(true)]
+ public int? finishNum { get; set; }
+
+ /// <summary>
///鐗╂枡缂栫爜
/// </summary>
[Display(Name = "鐗╂枡缂栫爜")]
@@ -117,9 +125,9 @@
public string productDesc { get; set; }
/// <summary>
- ///瀹屾垚鏁伴噺
+ ///宸ュ崟鏁伴噺
/// </summary>
- [Display(Name = "瀹屾垚鏁伴噺")]
+ [Display(Name = "宸ュ崟鏁伴噺")]
[Column(TypeName = "int")]
[Editable(true)]
public int? quantity { get; set; }
@@ -177,5 +185,7 @@
[MaxLength(40)]
[Column(TypeName = "nvarchar(40)")]
public string creator { get; set; }
+
+ //public string processCode { get; set; }
}
}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs"
index e9ff5f8..04209b7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/JobsPart/Common/StationTask.cs"
@@ -9,6 +9,7 @@
using WIDESEA_Core.FreeDB;
using WIDESEA_Entity.DomainModels;
using WIDESEA_Comm;
+using static System.Collections.Specialized.BitVector32;
namespace WIDESEA_WCS.JobsPart.Common
{
@@ -27,8 +28,9 @@
foreach (var item in stationinfos)
{
//鏍规嵁涓嬫枡鍙g殑缁戝畾淇℃伅鏌ヨ瀵瑰簲宸ュ崟锛屾娴嬫宸ュ崟鏄惁宸插畬鎴� 瀹屾垚鍗冲彲灏嗗叾閫佸叆搴�
- dt_Workinfo workinfo = workinfoRepository.FindFirst(x => x.WorkNumber == item.Number);
- int CompeletedNum = Convert.ToInt32(workinfo.PlannedQuantity) - Convert.ToInt32(workinfo.QuantityCompletion);
+
+ dt_mes_head mesinfo = freeDB.Select<dt_mes_head>().Where(x => x.jobID == item.Number).First();
+ int CompeletedNum = Convert.ToInt32(mesinfo.quantity) - Convert.ToInt32(mesinfo.finishNum);
//鍒ゅ畾浠诲姟鏄惁宸插垱寤�//濡傚凡瀛樺湪
if (freeDB.Select<dt_agvtask>().Where(x => x.agv_fromaddress == item.stationCode).Count() > 0)
@@ -36,11 +38,9 @@
if (item.quantity == 5 || CompeletedNum == 0) //寰幆璇诲彇杞﹁疆鏁颁负5鎴栬�呰鍗曞凡瀹屾垚鏁伴噺鐨勪笅鏂欏彛 鈫掑伐鍗曚汉宸ュ叧闂殑宸ュ崟
{
- dt_stationinfo TargetLocation = GetEmptyLocation(stationinfoRepository, workinfo, item);
-
- if (TargetLocation != null)
+ if (mesinfo.quantity <= 50) //灏忎簬50浠剁洿鎺ュ嚭搴�
{
- //todo: 璋冪敤WMS鎺ュ彛鍒涘缓浠诲姟
+ //todo 瀵绘壘鍙斁璐у鍗忔斁璐у彴
dt_agvtask agvtask = new dt_agvtask()
{
agv_fromaddress = item.stationCode,
@@ -49,16 +49,35 @@
agv_barcode = "",
agv_createtime = DateTime.Now,
agv_taskstate = TaskStatus.Created.ToString(),
- agv_toaddress = TargetLocation.stationCode,
+ //agv_toaddress = ,
};
-
freeDB.Add(agvtask);
- TargetLocation.location_state = LocationStateEnum.Busy.ToString();
- freeDB.Update(TargetLocation);
+ }
+ else
+ {
+ dt_stationinfo TargetLocation = GetEmptyLocation(stationinfoRepository, mesinfo, 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);
+ }
}
}
-
}
}
@@ -69,68 +88,67 @@
/// <param name="workinfo">璁㈠崟</param>
/// <param name="stationinfo">涓嬫枡鍙d俊鎭�</param>
/// <returns></returns>
- private dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository, dt_Workinfo workinfo, dt_stationinfo stationinfo)
+ private dt_stationinfo GetEmptyLocation(Idt_stationinfoRepository stationinfoRepository, dt_mes_head mesinfo, 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);
+ #region 鏍规嵁璁㈠崟鏁伴噺鏉ュ鎵惧搴斿簱鍖轰笖鍚岀墿鏂欑被鍨嬪簱浣�
+ //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();
+ //dt_materielinfo materielinfo = freeDB.Select<dt_materielinfo>().Where(x => x.materiel_id == stationinfo.stationType).First();
- if (materielinfo == null)
- throw new Exception($"鏃犳鐗╂枡绫诲瀷{stationinfo.stationType}搴撳尯");
+ //if (materielinfo == null)
+ // throw new Exception($"鏃犳鐗╂枡绫诲瀷{stationinfo.stationType}搴撳尯");
- string area = materielinfo.materiel_areaid.ToString();
+ //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();
- }
+ //濡傚瓨鍦ㄥ悓绫诲瀷鐗╂枡鍒欐斁缃悓琛屽簱浣� 涓嶅瓨鍦ㄥ垯鏀剧疆鏂拌鐨勭涓�鍒椾腑
+ //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("搴撲綅宸叉弧");
- }
+ //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
//{
@@ -148,7 +166,30 @@
//else if(workinfo.PlannedQuantity >= 110 && workinfo.PlannedQuantity < 180)
//{
- //}
+ //}
+ #endregion
+
+ //鏍规嵁璁㈠崟鐐夊彿/宸ュ崟鍙�/绫诲瀷
+ if (mesinfo.quantity >= 180)
+ {
+ //鏌ヨ搴撳瓨璁板綍涓槸鍚﹀瓨鍦ㄥ悓绫诲瀷/宸ュ崟/鐐夊彿鐨勮褰� 濡傛湁鍒欐斁缃悓涓�琛岋紝鏃犲垯瀵绘壘鏂板簱浣�
+ var detail = freeDB.Select<dt_mes_detail>().Where(x => x.jobID == mesinfo.jobID).First();
+ var inventory = freeDB.Select<dt_inventory>().Where(x => x.HeatNumber == detail.heatID /*&& x.*/).First();
+ if (inventory != null)
+ {
+ int line = Convert.ToInt16(inventory.stationCode.Split("-")[0]);
+ TargetLocation = stationinfoRepository.Find(x => x.line == line && x.location_state == LocationStateEnum.Empty.ToString() && x.area == inventory.area).FirstOrDefault();
+ }
+ else
+ {
+ TargetLocation = stationinfoRepository.Find(x => x.area == "2" && x.location_state == LocationStateEnum.Empty.ToString() && x.enable).OrderBy(x => x.line).ThenBy(x => x.column).FirstOrDefault();
+ }
+ }
+
+ if (TargetLocation == null)
+ {
+ throw new Exception("搴撲綅宸叉弧");
+ }
return TargetLocation;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
index ae1022e..32b03ed 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/PCS/WCS_Server/WIDESEA_WCS/ToMES/ToMesServer.cs"
@@ -58,7 +58,7 @@
var mesinfo = freeDB.Select<dt_mes_head>().Where(x => x.jobID == workInfo.jobID).First();
if (mesinfo != null)
{
- return content.Error($"宸ュ崟鍙穥mesinfo.jobID}宸插瓨鍦�,璇锋牳瀹炲悗鍦ㄥ彂閫侊紒");
+ return content.Error($"宸ュ崟鍙穥mesinfo.jobID}宸插瓨鍦�,璇锋牳瀹炲悗閲嶆柊鍙戦�侊紒");
}
Guid head = Guid.NewGuid();
@@ -81,7 +81,9 @@
reqIDLineNo = workInfo.reqIDLineNo,
stackNoRange = workInfo.stackNoRange,
typeID = workInfo.typeID,
- workOrder = workInfo.workOrder
+ workOrder = workInfo.workOrder,
+ processCode = workInfo.processCode,
+ finishNum = 0
};
freeDB.Add(mes_Head);
@@ -103,7 +105,7 @@
}
catch (Exception ex)
{
- return content.Error(ex.Message);
+ return content.Error(ex.Message);
}
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs"
new file mode 100644
index 0000000..843d6ce
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs"
@@ -0,0 +1,17 @@
+锘縰sing 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; }
+ }
+ }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/MES_Response.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/MES_Response.cs"
new file mode 100644
index 0000000..06317ac
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/MES_Response.cs"
@@ -0,0 +1,46 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info
+{
+ public class MES_Response
+ {
+ /// <summary>
+ /// 鐘舵�佺爜
+ /// </summary>
+ public string code { get; set; }
+
+ /// <summary>
+ /// 娑堟伅
+ /// </summary>
+ public string message { get; set; }
+
+ /// <summary>
+ /// 鍝嶅簲鏁版嵁
+ /// </summary>
+ public string data { get; set; }
+
+ /// <summary>
+ /// 鍫嗘爤娑堟伅
+ /// </summary>
+ public string stackMsg { get; set; }
+
+ /// <summary>
+ /// 鎵╁睍
+ /// </summary>
+ public string Extras { get; set; }
+
+ /// <summary>
+ /// 绫诲瀷
+ /// </summary>
+ public string Type { get; set; }
+
+ /// <summary>
+ /// 鏃堕棿
+ /// </summary>
+ public DateTime Time { get; set; }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
new file mode 100644
index 0000000..c0dbb10
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvInWarehousePara.cs"
@@ -0,0 +1,42 @@
+锘縰sing 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; }
+
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs"
new file mode 100644
index 0000000..018e7ce
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvMoveWarehousePara.cs"
@@ -0,0 +1,59 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_Comm.MES_Info.Request
+{
+ /// <summary>
+ /// 杞﹁疆绉诲簱鍙傛暟(搴撳唴绉诲簱)
+ /// </summary>
+ 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;}
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
new file mode 100644
index 0000000..ca20fd7
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvOutWarehousePara.cs"
@@ -0,0 +1,23 @@
+锘縰sing 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; }
+ }
+
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
new file mode 100644
index 0000000..a643e3e
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs"
@@ -0,0 +1,27 @@
+锘縰sing 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; }
+
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
new file mode 100644
index 0000000..d8e5971
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Response/Mes_WorkInfo.cs"
@@ -0,0 +1,121 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Runtime.CompilerServices;
+using System.Text;
+
+namespace WIDESEA_Common.Response
+{
+ 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>
+ /// 杞瀷浠g爜
+ /// </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; }
+ }
+
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
index 39d05f2..80a7b11 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_inventory.cs"
@@ -13,105 +13,113 @@
namespace WIDESEA_Entity.DomainModels
{
- [Entity(TableCnName = "搴撳瓨鏌ヨ",TableName = "dt_inventory")]
- public partial class dt_inventory:BaseEntity
+ [Entity(TableCnName = "搴撳瓨鏌ヨ", TableName = "dt_inventory")]
+ public partial class dt_inventory : BaseEntity
{
/// <summary>
- ///杞﹁疆SN鍙�
- /// </summary>
- [Display(Name ="杞﹁疆SN鍙�")]
- [MaxLength(255)]
- [Column(TypeName="nvarchar(255)")]
- [Editable(true)]
- public string SN { get; set; }
+ ///杞﹁疆SN鍙�
+ /// </summary>
+ [Display(Name = "杞﹁疆SN鍙�")]
+ [MaxLength(255)]
+ [Column(TypeName = "nvarchar(255)")]
+ [Editable(true)]
+ public string SN { get; set; }
- /// <summary>
- ///浜у搧鍚嶇О
- /// </summary>
- [Display(Name ="浜у搧鍚嶇О")]
- [MaxLength(255)]
- [Column(TypeName="nvarchar(255)")]
- [Editable(true)]
- public string Name { get; set; }
+ /// <summary>
+ ///浜у搧鍚嶇О
+ /// </summary>
+ [Display(Name = "浜у搧鍚嶇О")]
+ [MaxLength(255)]
+ [Column(TypeName = "nvarchar(255)")]
+ [Editable(true)]
+ public string Name { get; set; }
- /// <summary>
- ///浜у搧鍥惧彿
- /// </summary>
- [Display(Name ="浜у搧鍥惧彿")]
- [MaxLength(255)]
- [Column(TypeName="nvarchar(255)")]
- [Editable(true)]
- public string FigureNumber { get; set; }
+ /// <summary>
+ ///浜у搧鍥惧彿
+ /// </summary>
+ [Display(Name = "浜у搧鍥惧彿")]
+ [MaxLength(255)]
+ [Column(TypeName = "nvarchar(255)")]
+ [Editable(true)]
+ public string FigureNumber { get; set; }
- /// <summary>
- ///鐔旂偧鐐夊彿
- /// </summary>
- [Display(Name ="鐔旂偧鐐夊彿")]
- [MaxLength(255)]
- [Column(TypeName="varchar(255)")]
- [Editable(true)]
- public string HearthNumber { get; set; }
+ /// <summary>
+ ///鐔旂偧鐐夊彿
+ /// </summary>
+ [Display(Name = "鐔旂偧鐐夊彿")]
+ [MaxLength(255)]
+ [Column(TypeName = "varchar(255)")]
+ [Editable(true)]
+ public string HearthNumber { get; set; }
- /// <summary>
- ///鐐変唬鍙�
- /// </summary>
- [Display(Name ="鐐変唬鍙�")]
- [MaxLength(50)]
- [Column(TypeName="nvarchar(50)")]
- [Editable(true)]
- public string HeatNumber { get; set; }
+ /// <summary>
+ ///鐐変唬鍙�
+ /// </summary>
+ [Display(Name = "鐐変唬鍙�")]
+ [MaxLength(50)]
+ [Column(TypeName = "nvarchar(50)")]
+ [Editable(true)]
+ public string HeatNumber { get; set; }
- /// <summary>
- ///閽㈠澂鍙�
- /// </summary>
- [Display(Name ="閽㈠澂鍙�")]
- [Column(TypeName="int")]
- [Editable(true)]
- public int? BilletNumber { get; set; }
+ /// <summary>
+ ///閽㈠澂鍙�
+ /// </summary>
+ [Display(Name = "閽㈠澂鍙�")]
+ [Column(TypeName = "int")]
+ [Editable(true)]
+ public int? BilletNumber { get; set; }
- /// <summary>
- ///鍏ュ簱鏃堕棿
- /// </summary>
- [Display(Name ="鍏ュ簱鏃堕棿")]
- [Column(TypeName="datetime")]
- [Editable(true)]
- public DateTime? OnlineTime { get; set; }
+ /// <summary>
+ ///鍏ュ簱鏃堕棿
+ /// </summary>
+ [Display(Name = "鍏ュ簱鏃堕棿")]
+ [Column(TypeName = "datetime")]
+ [Editable(true)]
+ public DateTime? OnlineTime { get; set; }
- /// <summary>
- ///鎿嶄綔浜哄憳
- /// </summary>
- [Display(Name ="鎿嶄綔浜哄憳")]
- [MaxLength(50)]
- [Column(TypeName="nvarchar(50)")]
- [Editable(true)]
- public string Operator { get; set; }
+ /// <summary>
+ ///鎿嶄綔浜哄憳
+ /// </summary>
+ [Display(Name = "鎿嶄綔浜哄憳")]
+ [MaxLength(50)]
+ [Column(TypeName = "nvarchar(50)")]
+ [Editable(true)]
+ public string Operator { get; set; }
- /// <summary>
- ///鎻忚堪
- /// </summary>
- [Display(Name ="鎻忚堪")]
- [Column(TypeName="nvarchar(max)")]
- [Editable(true)]
- public string remark { get; set; }
+ /// <summary>
+ ///鎻忚堪
+ /// </summary>
+ [Display(Name = "鎻忚堪")]
+ [Column(TypeName = "nvarchar(max)")]
+ [Editable(true)]
+ public string remark { get; set; }
- /// <summary>
- ///ID
- /// </summary>
- [Key]
- [Display(Name ="ID")]
- [Column(TypeName="int")]
- [Editable(true)]
- [Required(AllowEmptyStrings=false)]
- public int ID { get; set; }
+ /// <summary>
+ ///ID
+ /// </summary>
+ [Key]
+ [Display(Name = "ID")]
+ [Column(TypeName = "int")]
+ [Editable(true)]
+ [Required(AllowEmptyStrings = false)]
+ public int ID { get; set; }
- /// <summary>
- ///璐т綅缂栧彿
- /// </summary>
- [Display(Name ="璐т綅缂栧彿")]
- [MaxLength(30)]
- [Column(TypeName="nvarchar(30)")]
- public string stationCode { get; set; }
+ /// <summary>
+ ///璐т綅缂栧彿
+ /// </summary>
+ [Display(Name = "璐т綅缂栧彿")]
+ [MaxLength(30)]
+ [Column(TypeName = "nvarchar(30)")]
+ public string stationCode { get; set; }
-
+ [Display(Name = "鍖哄煙浠g爜")]
+ [Column(TypeName = "nvarchar(15)")]
+ [Editable(true)]
+ public string area { get; set; }
+
+ [Display(Name = "宸ュ崟缂栧彿")]
+ [Column(TypeName = "nvarchar(40)")]
+ [Editable(true)]
+ public string jobID { get; set; }
}
}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
index 9d4b5ba..3255702 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/Taskinfo/dt_agvtask.cs"
@@ -206,12 +206,12 @@
public DateTime? agv_completeBeginTime { get; set; }
/// <summary>
- ///
+ ///宸ュ崟鍙�
/// </summary>
- [Display(Name = "unitag")]
- [Column(TypeName = "uniqueidentifier")]
+ [Display(Name = "宸ュ崟鍙�")]
+ [Column(TypeName = "nvarchar(40)")]
[Editable(true)]
- public Guid? unitag { get; set; }
+ public string jobID { get; set; }
/// <summary>
///杞﹁疆SN鍙�
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs"
new file mode 100644
index 0000000..1d8a2e8
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs"
@@ -0,0 +1,94 @@
+锘縰sing Newtonsoft.Json;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
+using WIDESEA_Comm.MES_Info;
+using WIDESEA_Comm.MES_Info.Request;
+using WIDESEA_Common;
+using WIDESEA_Entity.DomainModels;
+using WIDESEA_Entity.ToAGV;
+using static WIDESEA_Comm.MES_Info.BasicSN;
+
+namespace WIDESEA_WMS.Common.AGVTask
+{
+ public class HandleTask_Mes
+ {
+ public void UploadMESInfo(dt_agvtask task)
+ {
+ try
+ {
+ object obj = new object(); //涓婁紶MES鏁版嵁
+ string ActionName = ""; //璋冪敤MES鏂规硶鍚�
+ List<detail> list = new List<detail>(); //杞﹁疆淇℃伅
+ if (task == null)
+ {
+ throw new Exception("鏃犱换鍔℃暟鎹�");
+ }
+ foreach (var item in task.bindSN.Split(","))
+ {
+ detail detail = new detail();
+ detail.sn = item;
+ list.Add(detail);
+ }
+
+ if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Outbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceOutbound.ToString())
+ {
+ agvOutWarehousePara outWarehousePara = new agvOutWarehousePara()
+ {
+ JobID = task.jobID,
+ details = list
+ };
+ obj = outWarehousePara;
+ ActionName = "agvOutWarehouse";
+ }
+ else if (task.agv_tasktype == AGVTaskTypeEnum.TaskType_Inbound.ToString() || task.agv_tasktype == AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString())
+ {
+ agvInWarehousePara inWarehousePara = new agvInWarehousePara()
+ {
+ details = list,
+ JobID = task.jobID,
+ layerNo = 1,
+ stackID = task.agv_barcode,
+ warehouseName = "Agv搴�",
+ zoneID = task.agv_toaddress,
+ };
+ obj = inWarehousePara;
+ ActionName = "agvInWarehouse";
+ }
+ else if (task.agv_tasktype == "Transfer") //绉诲簱鍖哄垎 搴撳唴绉诲簱/澶栧崗绉诲簱
+ {
+ agvMoveWarehousePara moveWarehousePara = new agvMoveWarehousePara()
+ {
+ details = list,
+ fromLayerNo = "1",
+ fromStackID = "",
+ fromWarehouseName = "Agv搴�",
+ fromZoneID = task.agv_fromaddress,
+ toLayerNo = "1",
+ toStackID = "",
+ toWarehouseName = "Agv搴�",
+ toZoneID = task.agv_toaddress,
+ };
+ obj = moveWarehousePara;
+ ActionName = "agvMoveWarehouse";
+ }
+ //else if (task.agv_tasktype == "Transfer")
+ //{
+
+ //}
+
+ var postJson = JsonConvert.SerializeObject(obj);
+ string mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + ActionName);
+ var requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData);
+
+ if (requestMes.code == "200" && requestMes.Type == "success")
+ {
+ //鏃ュ織璁板綍涓婁紶鏁版嵁鎴愬姛
+ }
+
+ }
+ catch (Exception ex)
+ {
+ throw new Exception(ex.Message);
+ }
+ }
+ }
+}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/UploadMesInfo/MESAPIAddress.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/UploadMesInfo/MESAPIAddress.cs"
new file mode 100644
index 0000000..727cb5b
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/UploadMesInfo/MESAPIAddress.cs"
@@ -0,0 +1,16 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_WMS.Common
+{
+ public class MESAPIAddress
+ {
+ public const string IPAddress_MES = "http://10.13.3.102:80/api/agv/";
+
+
+
+ }
+}
--
Gitblit v1.9.3