From 96258536e0b40f0e7ee5c36549921d7ce3674ab1 Mon Sep 17 00:00:00 2001 From: 陈勇 <chenyong@hnkhzn.com> Date: 星期二, 12 三月 2024 14:47:54 +0800 Subject: [PATCH] 后端PDA程序代码 --- 代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/BasicSN.cs | 3 .gitignore | 14 + 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/SendEpmtyTask.cs | 110 +++++++++++ 代码管理/WMS/WMS_Server/WIDESEA_Comm/MES_Info/Request/agvTransferListPara.cs | 18 + 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_MES_Info.cs | 234 +++++++++++++++++++++++ 代码管理/WMS/WMS_Server/WIDESEA_WMS/Common/AGVTask/HandleTask_Mes.cs | 2 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs | 75 +++++++ 代码管理/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_MES_Info.cs | 12 + 代码管理/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs | 83 ++++++++ 代码管理/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs | 35 +++ 10 files changed, 581 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index f79b0c7..21e7224 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,17 @@ 浠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 +浠g爜绠$悊/WMS/WMS_Server/.editorconfig +浠g爜绠$悊/PCS/WCS_Server/.editorconfig +浠g爜绠$悊/PCS/WCS_Server/WIDESEA_System/WIDESEA_System.csproj +*.sln +浠g爜绠$悊/PCS/WCS_Server/WIDESEA_WebApi/appsettings.json +浠g爜绠$悊/WMS/WMS_Server/WIDESEA_Comm/StateEnum/LocationStateEnum.cs +浠g爜绠$悊/WMS/WMS_Server/WIDESEA_Entity/DomainModels/System/dt_materielinfo.cs +浠g爜绠$悊/WMS/WMS_Server/WIDESEA_System/WIDESEA_System.csproj +浠g爜绠$悊/WMS/WMS_Server/WIDESEA_WebApi/appsettings.json +浠g爜绠$悊/WMS/WMS_Server/WIDESEA_WMS/WIDESEA_WMS.csproj +浠g爜绠$悊/WMS/WMS_Server/WIDESEA_WMSServe.sln +浠g爜绠$悊/PCS/WCS_Server/WIDESEA_System/WIDESEA_System.csproj +浠g爜绠$悊/PCS/WCS_Server/WIDESEA_System/WIDESEA_System.csproj +*.csproj 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" index 843d6ce..f47ad93 100644 --- "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" @@ -6,6 +6,9 @@ namespace WIDESEA_Comm.MES_Info { + /// <summary> + /// 鐢ㄤ簬涓婁紶MES淇℃伅鐨勮溅杞俊鎭� + /// </summary> public class BasicSN { public class detail 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" index 7a412cc..420ee9c 100644 --- "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" @@ -6,36 +6,46 @@ namespace WIDESEA_Comm.MES_Info.Request { + /// <summary> + /// 杞﹁疆绉诲簱浜ゆ帴锛岀敱AGV搴撲氦鎺ョ粰姣涜疆搴撴垨鑰呭叾浠栧簱鎴� + /// </summary> public class agvTransferListPara : BasicSN { /// <summary> - /// 杞Щ鍗曞彿 + /// 绉诲簱浜ゆ帴鍗曞彿 /// </summary> public string transferListID { get; set; } + /// <summary> - /// 杞﹁疆鐗╂枡缂栫爜 + /// 杞﹁疆鐗╂枡缂栧彿 /// </summary> public string materialCode { get; set; } + /// <summary> /// 鎶�鏈姸鎬� /// </summary> public string drawingNoVer { get; set; } + /// <summary> - /// 婧愬簱鎴垮悕绉� + /// 鍘熷簱鎴垮悕绉� /// </summary> public string fromWarehouse { get; set; } + /// <summary> /// 鐩爣搴撴埧鍚嶇О /// </summary> public string toWarehouse { get; set; } + /// <summary> /// 鎿嶄綔浜哄憳 /// </summary> public string Operator { get; set; } + /// <summary> /// 鎿嶄綔鏃堕棿 /// </summary> - public DateTime updateTime { get; set; } + public string updateTime { get; set; } + /// <summary> /// 杞﹁疆淇℃伅 /// </summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_MES_Info.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_MES_Info.cs" new file mode 100644 index 0000000..ada96fe --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/VV_MES_Info.cs" @@ -0,0 +1,234 @@ +锘縰sing System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Entity.DomainModels +{ + public partial class VV_MES_Info + { + /// <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 = "瀹屾垚鏁伴噺")] + [Column(TypeName = "int")] + [Editable(true)] + public int? finishNum { 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> + ///杞瀷浠g爜 + /// </summary> + [Display(Name = "杞瀷浠g爜")] + [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; } + + ///// <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> + //[Display(Name = "mes_headID")] + //[Column(TypeName = "uniqueidentifier")] + //[Required(AllowEmptyStrings = false)] + //public Guid mes_headID { 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; } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_MES_Info.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_MES_Info.cs" new file mode 100644 index 0000000..b60bbe2 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_Entity/DomainModels/ToMES/partial/VV_MES_Info.cs" @@ -0,0 +1,12 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WIDESEA_Entity.DomainModels +{ + public partial class VV_MES_Info + { + } +} 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" index 69994bc..35b8dcb 100644 --- "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" @@ -102,7 +102,7 @@ fromWarehouse = "AGV搴�", toWarehouse = "姣涜疆搴�", Operator = task.agv_userid, - updateTime = task.agv_createtime + updateTime = task.agv_createtime.ToString(), }; obj = agvTransferListPara; ActionName = "agvTransferList"; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" new file mode 100644 index 0000000..c2252b6 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/OutsourceInbound.cs" @@ -0,0 +1,75 @@ +锘縰sing Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using WIDESEA_Comm; +using WIDESEA_Comm.LogInfo; +using WIDESEA_Comm.MES_Info; +using WIDESEA_Comm.MES_Info.Request; +using WIDESEA_Common; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.ManageUser; +using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.DomainModels.Mes; +using WIDESEA_WMS.Common; +using WIDESEA_WMS.IRepositories; +using WIDESEA_WMS.Repositories; +using static WIDESEA_Comm.MES_Info.BasicSN; + +namespace WIDESEA_WMS +{ + public partial class ToMesServer + { + /// <summary> + /// 澶栧崗鍏ュ簱(妫�娴嬩笂鏂�) + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + public WebResponseContent OutsourceInbound(SaveModel saveModel) + { + WebResponseContent content = new WebResponseContent(); + try + { + string stationNo = saveModel.MainData["stationNo"].ToString(); //缂撳瓨鏋剁紪鍙� + string user = saveModel.MainData["creator"].ToString(); + string sn = saveModel.MainData["dataSN"].ToString(); //杞﹁疆SN鍙� + + int i = 1; //杞﹁疆鏁伴噺 + foreach (var item in sn.Split(",")) + { + if(item!= null) + { + var info = freeDB.Select<VV_MES_Info>().Where(x => x.SN == item).First(); + if (info == null) + { + return content.Error($"绗瑊i}涓溅杞棤妫�娴嬩笂鏂欏伐鍗曚俊鎭紝璇锋牳鏌ュ伐鍗曞悗鍦ㄦ壂鎻忥紒"); + } + i++; + } + + } + + + dt_agvtask agvtask = new dt_agvtask + { + agv_barcode = stationNo, + agv_code = user, + agv_createtime = DateTime.Now, + agv_fromaddress = stationNo, + agv_qty = i, + agv_grade = 1, + agv_tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(), + agv_taskstate = AGVTaskStateEnum.Create.ToString(), + agv_toaddress = "", + }; + freeDB.Add(agvtask); + return content.OK(); + } + catch (Exception ex) + { + return content.Error($"鍛煎彨AGV澶辫触:{ex.Message}"); + } + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/SendEpmtyTask.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/SendEpmtyTask.cs" new file mode 100644 index 0000000..53bb1da --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/SendEpmtyTask.cs" @@ -0,0 +1,110 @@ +锘縰sing Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using WIDESEA_Comm; +using WIDESEA_Comm.LogInfo; +using WIDESEA_Comm.MES_Info; +using WIDESEA_Comm.MES_Info.Request; +using WIDESEA_Common; +using WIDESEA_Core.EFDbContext; +using WIDESEA_Core.ManageUser; +using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.DomainModels.Mes; +using WIDESEA_WMS.Common; +using WIDESEA_WMS.IRepositories; +using WIDESEA_WMS.Repositories; +using static WIDESEA_Comm.MES_Info.BasicSN; + +namespace WIDESEA_WMS +{ + public partial class ToMesServer + { + /// <summary> + /// 绌虹洏鎿嶄綔 (澶栧崗绌虹洏鍏ュ簱锛岀┖鐩樿ˉ閫�) + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> + public WebResponseContent SendEpmtyTask(SaveModel saveModel) + { + WebResponseContent content = new WebResponseContent(); + try + { + string cacheNo = saveModel.MainData["cacheNo"].ToString(); //缂撳瓨鏋剁紪鍙� + string user = saveModel.MainData["creator"].ToString(); + string type = saveModel.MainData["radio"].ToString(); //1涓虹┖鐩樺叆搴� 2涓虹┖鐩樺嚭搴� + int number = Convert.ToInt32(saveModel.MainData["number"].ToString()); + + if (type == "1") //绌虹洏鍏ュ簱 + { + //瀵绘壘绌虹洏搴撲綅 + dt_stationinfo emptyLocation = GetEmptyLocation(); + + dt_agvtask agvtask = new dt_agvtask + { + agv_barcode = cacheNo, + agv_code = user, + agv_createtime = DateTime.Now, + agv_fromaddress = cacheNo, + agv_qty = number, + agv_grade = 1, + agv_tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(), + agv_taskstate = AGVTaskStateEnum.Create.ToString(), + agv_toaddress = emptyLocation.stationCode, + }; + freeDB.Add(agvtask); + } + else + { + //鏍规嵁搴撳瓨鏌ヨ绌虹洏搴撳瓨淇℃伅 + dt_inventory inventory = freeDB.Select<dt_inventory>().Where(x => x.area == "11").OrderByDescending(x => x.OnlineTime).First(); //鍙栨渶鏅氱殑鍏ュ簱杞﹁疆 + + //鏁伴噺锛� + //var stationinfo = freeDB.Select<dt_stationinfo>().Where(x => x.stationCode == inventory.stationCode).First(); + //int num = Convert.ToInt16(stationinfo.quantity); + + + dt_agvtask agvtask = new dt_agvtask + { + agv_barcode = cacheNo, + agv_code = user, + agv_createtime = DateTime.Now, + agv_fromaddress = inventory.stationCode, + agv_qty = 5, //inventory., //鍛婅瘔AGV鍙栫鍑犱釜杞﹁疆锛� + agv_grade = 1, + agv_tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString(), + agv_taskstate = AGVTaskStateEnum.Create.ToString(), + agv_toaddress = cacheNo, + }; + freeDB.Add(agvtask); + } + + return content.OK(); + } + catch (Exception ex) + { + return content.Error($"鍛煎彨AGV澶辫触:{ ex.Message}"); + } + } + + private dt_stationinfo GetEmptyLocation() + { + VOLContext context = new VOLContext(); + Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); + var station = stationinfoRepository.Find(x => x.line == 9 && x.location_state == LocationStateEnum.Empty.ToString() && x.area == "11").FirstOrDefault(); + + // todo鍖哄垎澶у皬鎵樼洏 + + if (station != null) + { + return station; + } + else + { + throw new Exception("绌虹洏搴撲綅宸叉弧,鏃犳硶鍏ュ簱!"); + } + + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" new file mode 100644 index 0000000..ba82d00 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WMS/ToMes/agvTransferList.cs" @@ -0,0 +1,83 @@ +锘縰sing Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using WIDESEA_Comm; +using WIDESEA_Comm.LogInfo; +using WIDESEA_Comm.MES_Info; +using WIDESEA_Comm.MES_Info.Request; +using WIDESEA_Common; +using WIDESEA_Core.ManageUser; +using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels; +using WIDESEA_Entity.DomainModels.Mes; +using WIDESEA_WMS.Common; +using static WIDESEA_Comm.MES_Info.BasicSN; + +namespace WIDESEA_WMS +{ + public partial class ToMesServer + { + /// <summary> + /// PDA绉诲簱浜ゆ帴 + /// </summary> + /// <param name="requestTemp"></param> + /// <returns></returns> + public WebResponseContent agvTransferList(SaveModel saveModel) + { + + WebResponseContent content = new WebResponseContent(); + try + { + string sn = saveModel.MainData["sn"].ToString(); + string user = saveModel.MainData["creator"].ToString(); + + //宸ュ崟鍙风敓鎴� + string jobID = "TW" + DateTime.Now.ToString("HH-mm-ss-ff"); + + //鏍规嵁搴撳瓨鏌ヨ杞﹁疆淇℃伅 + dt_inventory inventory = freeDB.Select<dt_inventory>().Where(x => x.SN.Contains(sn)).First(); + if (inventory == null) + { + return content.Error($"鏃犳杞﹁疆{sn}SN鍙�,璇锋牳鏌ュ簱瀛樿褰�!"); + } + + List<detail> list = new List<detail>(); //杞﹁疆淇℃伅 + foreach (var item in inventory.SN.Split(",")) + { + detail detail = new detail(); + detail.sn = item; + list.Add(detail); + } + + agvTransferListPara listPara = new agvTransferListPara + { + details = list, + transferListID = jobID, + toWarehouse = "姣涜疆搴�", + fromWarehouse = "AGV搴�", + updateTime = DateTime.Now.ToString(), + drawingNoVer = "", + materialCode = "", + Operator = user == null ? "admin" : user + }; + + var postJson = JsonConvert.SerializeObject(listPara); + string mesData = Request.RequestData(postJson, MESAPIAddress.IPAddress_MES + "agvTransferList"); + var requestMes = JsonConvert.DeserializeObject<MES_Response>(mesData); + + if (requestMes.code == "200" && requestMes.Type == "success") + { + return content.OK("绉诲簱浜ゆ帴鎴愬姛锛�"); + //鏃ュ織璁板綍涓婁紶鏁版嵁鎴愬姛 + } + + } + catch (Exception ex) + { + content.Error(ex.Message); + } + return content; + } + } +} diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs" index ed5be07..757cd40 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WMS_Server/WIDESEA_WebApi/Controllers/ToWms/ToWMSController.cs" @@ -1,6 +1,7 @@ 锘縰sing Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using WIDESEA_Core.Utilities; +using WIDESEA_Entity.DomainModels; using WIDESEA_Entity.DomainModels.Mes; using WIDESEA_WMS; @@ -21,5 +22,39 @@ return new ToMesServer().AddToFloat3(request); } + + /// <summary> + /// 澶栧崗绉诲簱 + /// </summary> + /// <param name="request"></param> + /// <returns></returns> + [HttpPost, Route("agvTransferList")] + public WebResponseContent agvTransferList([FromBody] SaveModel saveModel) + { + return new ToMesServer().agvTransferList(saveModel); + } + + /// <summary> + /// 澶栧崗鍏ュ簱(妫�娴嬩笂鏂�) + /// </summary> + /// <param name="request"></param> + /// <returns></returns> + [HttpPost, Route("OutsourceInbound")] + public WebResponseContent OutsourceInbound([FromBody] SaveModel saveModel) + { + return new ToMesServer().OutsourceInbound(saveModel); + } + + /// <summary> + /// 绌虹洏 + /// </summary> + /// <param name="request"></param> + /// <returns></returns> + [HttpPost, Route("SendEpmtyTask")] + public WebResponseContent SendEpmtyTask([FromBody] SaveModel saveModel) + { + return new ToMesServer().SendEpmtyTask(saveModel); + } + } } -- Gitblit v1.9.3