From 0b679c8b18e2b598ff27cff2fa9ade2c46bde3be Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期一, 16 六月 2025 17:30:32 +0800 Subject: [PATCH] 优化AGV调试和出库逻辑,完成部分ERP反馈代码 --- wms/WCSHelper.cs | 3 api/DebugController.cs | 190 ++++++++---------- .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx | 0 config/config.comment.json | 4 core/Monitor.cs | 64 ------ /dev/null | 0 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx | 0 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx | 0 api/ApiHelper.cs | 3 config/config.json | 2 .vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx | 0 api/ApiModel.cs | 259 +++++++++++++++++++++++++ core/WCSCore.cs | 43 +++ 13 files changed, 384 insertions(+), 184 deletions(-) diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx new file mode 100644 index 0000000..5cb9b4d --- /dev/null +++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/389a9ecd-a526-48f5-a8fc-7674b5b1ccbb.vsidx Binary files differ diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx new file mode 100644 index 0000000..0ba4c07 --- /dev/null +++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/5bebbc83-b7b9-4df0-ac76-c479ffe00afd.vsidx Binary files differ diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx new file mode 100644 index 0000000..027c5ee --- /dev/null +++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/60d0bfba-4866-48d3-9cce-4f08e36a5c1a.vsidx Binary files differ diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/72b74e1b-3ce7-462f-a4d7-ab0ffca83287.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/72b74e1b-3ce7-462f-a4d7-ab0ffca83287.vsidx deleted file mode 100644 index 3bb3ce4..0000000 --- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/72b74e1b-3ce7-462f-a4d7-ab0ffca83287.vsidx +++ /dev/null Binary files differ diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx new file mode 100644 index 0000000..33bed14 --- /dev/null +++ b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/8fff2f95-d6df-452f-ad7d-079ab21a0f28.vsidx Binary files differ diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/d49484c3-00c1-4b7d-9deb-0d030288ff5a.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/d49484c3-00c1-4b7d-9deb-0d030288ff5a.vsidx deleted file mode 100644 index 5b54bf1..0000000 --- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/d49484c3-00c1-4b7d-9deb-0d030288ff5a.vsidx +++ /dev/null Binary files differ diff --git a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/f0bbbb2f-3b58-4dfe-8ac7-534413626ac1.vsidx b/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/f0bbbb2f-3b58-4dfe-8ac7-534413626ac1.vsidx deleted file mode 100644 index ac77e73..0000000 --- a/.vs/HH.WCS.Mobox3.DSZSH/FileContentIndex/f0bbbb2f-3b58-4dfe-8ac7-534413626ac1.vsidx +++ /dev/null Binary files differ diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index d851211..0279650 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -1515,8 +1515,7 @@ S_ITEM_CODE = model.cpdm, S_BATCH = model.ph, N_END_NUM = (int)model.pzsl, - //F_OUT_QTY = cgDetailList.Sum(a => a.N_QTY), - S_END_AREA = model.ysfs == "姹借溅" ? "QCCKQ" : "HCCKQ", // 鏆傛椂鐢ㄨ繍杈撴柟寮忥紙鐏溅/姹借溅锛夋潵鍖哄垎缁堢偣璐у尯 + S_END_AREA = "QCCKQ", // ERP涓嬪彂鍑哄簱浠诲姟涓烘苯杞﹀嚭搴撳尯 S_BS_NO = model.jhdh, S_BS_TYPE = "ERP", }; diff --git a/api/ApiModel.cs b/api/ApiModel.cs index ea5ebf7..efdf074 100644 --- a/api/ApiModel.cs +++ b/api/ApiModel.cs @@ -699,8 +699,265 @@ } public class PickUpReturnErpInfo { - public string LocCode { get; set; } + /// <summary> + /// 璁″垝鍗曞彿锛堝敮涓�爣璇嗭級 + /// </summary> + public string jhdh { get; set; } + /// <summary> + /// 鍑哄簱鐘舵� + /// </summary> + public string ckzt { get; set; } + + /// <summary> + /// 璁″垝绫诲埆 + /// </summary> + public string jhlb { get; set; } + + /// <summary> + /// 鍙傝�鍗曞彿 + /// </summary> + public string ckdh { get; set; } + + /// <summary> + /// 杞︾墝鍙�+ /// </summary> + public string cph { get; set; } + + /// <summary> + /// 杩愯緭鏂瑰紡 + /// </summary> + public string ysfs { get; set; } + + /// <summary> + /// 浜у搧鐘舵� + /// </summary> + public string cpzt { get; set; } + + /// <summary> + /// 涔版柇鍗曚綅 + /// </summary> + public string mddw { get; set; } + + /// <summary> + /// 浜у搧浠g爜 + /// </summary> + public string cpdm { get; set; } + + /// <summary> + /// 浜у搧绫诲埆 + /// </summary> + public string cplb { get; set; } + + /// <summary> + /// 浜у搧绫诲埆鏄庣粏 + /// </summary> + public string cplbmx { get; set; } + + /// <summary> + /// 鍝佺墝 + /// </summary> + public string pp { get; set; } + + /// <summary> + /// 绛夌骇 + /// </summary> + public string dj { get; set; } + + /// <summary> + /// 缃愬彿 + /// </summary> + public string gh { get; set; } + + /// <summary> + /// 鎵瑰彿 + /// </summary> + public string ph { get; set; } + + /// <summary> + /// 鍖呰绫诲瀷 + /// </summary> + public string bzlx { get; set; } + + /// <summary> + /// 娲捐鍗曞彿 + /// </summary> + public string pzdh { get; set; } + + /// <summary> + /// 娲捐鍗曞崟浣�+ /// </summary> + public string pzd_dw { get; set; } + + /// <summary> + /// 娲捐鍗曡皟杩愮紪鍙�+ /// </summary> + public string pzd_dybh { get; set; } + + /// <summary> + /// 娲捐浠舵暟 + /// </summary> + public double pzjs { get; set; } + + /// <summary> + /// 娲捐鏁伴噺 + /// </summary> + public decimal pzsl { get; set; } + + /// <summary> + /// 娲捐鏃ユ湡(yyyy-mm-dd) + /// </summary> + public string pz_rq { get; set; } + + /// <summary> + /// 娲捐鎿嶄綔鏃ユ湡 + /// </summary> + public long pz_czrq { get; set; } + + /// <summary> + /// 娲捐浣滃簾鏍囪 + /// </summary> + public int pz_zfbj { get; set; } + + /// <summary> + /// 娲捐浣滃簾鏃ユ湡 + /// </summary> + public long pz_zfrq { get; set; } + + /// <summary> + /// 娲捐澶囨敞 + /// </summary> + public string pz_bz { get; set; } + + /// <summary> + /// 鍑哄簱鍗曠紪鍙�+ /// </summary> + public string ckdbh { get; set; } + + /// <summary> + /// 瀹炲彂浠舵暟 + /// </summary> + public double sfjs { get; set; } + + /// <summary> + /// 瀹炲彂鏁伴噺 + /// </summary> + public decimal sfsl { get; set; } + + /// <summary> + /// 瀹炲彂杞︽暟 + /// </summary> + public int sfcs { get; set; } + + /// <summary> + /// 瑁呰溅鏃堕棿 + /// </summary> + public string zcsj { get; set; } + + /// <summary> + /// 璁¢噺鍗曚綅 + /// </summary> + public string jldw { get; set; } + + /// <summary> + /// 鍙戣揣鏃ユ湡 + /// </summary> + public long fhrq { get; set; } + + /// <summary> + /// 浠撳簱浠g爜 + /// </summary> + public string ckdm { get; set; } + + /// <summary> + /// 鍙戣揣浜�+ /// </summary> + public string fhr { get; set; } + + /// <summary> + /// 鎿嶄綔鍛�+ /// </summary> + public string czydm { get; set; } + + /// <summary> + /// 瀹℃牳浜�+ /// </summary> + public string shr_username { get; set; } + + /// <summary> + /// 瀹℃牳鏃ユ湡 + /// </summary> + public long shrq { get; set; } + + /// <summary> + /// 浣滃簾鏍囪 + /// </summary> + public long zfbj { get; set; } + + /// <summary> + /// 浣滃簾鏃ユ湡 + /// </summary> + public long zfrq { get; set; } + + /// <summary> + /// 缁撶畻鍗曚綅 + /// </summary> + public string jsdw { get; set; } + + /// <summary> + /// 鏀惰揣鍗曚綅 + /// </summary> + public string shdw { get; set; } + + /// <summary> + /// 杩愯緭鍗曚綅 + /// </summary> + public string ysdw { get; set; } + + /// <summary> + /// 鑱旂郴浜�+ /// </summary> + public string lxr { get; set; } + + /// <summary> + /// 瑁呭嵏宸�+ /// </summary> + public string ry_zxg { get; set; } + + /// <summary> + /// 鍙夎溅鍙告満 + /// </summary> + public string ry_ccsj { get; set; } + + /// <summary> + /// erp浜よ揣鍗曞彿 + /// </summary> + public string erphx_jhdh { get; set; } + + /// <summary> + /// erp鐗╂枡缂栫爜 + /// </summary> + public string erphx_wlbm { get; set; } + + /// <summary> + /// erp鐗╂枡鍚嶇О + /// </summary> + public string erphx_wlmc { get; set; } + + /// <summary> + /// erp鍒涘缓鏃ユ湡 + /// </summary> + public string erphx_cjrq { get; set; } + + /// <summary> + /// 璐т綅 + /// </summary> + public string hw { get; set; } + + /// <summary> + /// 璐т綅鐘舵� + /// </summary> + public string hwzt { get; set; } } } } diff --git a/api/DebugController.cs b/api/DebugController.cs index 836c7d7..4bee184 100644 --- a/api/DebugController.cs +++ b/api/DebugController.cs @@ -11,6 +11,8 @@ using Newtonsoft.Json; +using SqlSugar; + using static HH.WCS.Mobox3.DSZSH.api.ApiModel; using static HH.WCS.Mobox3.DSZSH.core.Monitor; @@ -19,8 +21,7 @@ /// 娴嬭瘯鐢細濡傛灉椤圭洰涓鍜岃澶囧鎺ワ紝鍓嶆湡璁惧鏃犳硶娴嬭瘯锛岀敤鎺ュ彛妯℃嫙 /// </summary> [RoutePrefix("api")] - public class DebugController : ApiController - { + public class DebugController : ApiController { /// <summary> /// AGV鐘舵�涓�敭鍥炴姤134562 /// </summary> @@ -29,22 +30,15 @@ [HttpPost] [Route("AGVSeriesReports")] public ReturnResults AGVSeriesReports(UpdateTaskState model) { - //var db = new SqlHelper<object>().GetInstance(); - - //var task = db.Queryable<TN_Task>().Where(t => t.S_CODE == model.TaskID).First(); - //if (task == null) return new ReturnResults(); - //if (task.S_B_STATE == "瀹屾垚" && task.N_B_STATE == 3 || task.S_B_STATE == "閿欒" && task.N_B_STATE == 4) { - // return new ReturnResults(); - //} + ReturnResults returnResult = new ReturnResults(); + returnResult.ResultList = new List<ReturnResult>(); var agvTaskState = new AgvTaskState() { task_no = model.TaskID, forklift_no = model.ForkliftNo, - state = 1 }; - ReturnResults returnResult = new ReturnResults(); - returnResult.ResultList = new List<ReturnResult>(); + agvTaskState.state = 1; var temp1 = WCSCore.OperateAgvTaskStatus(agvTaskState); returnResult.ResultList.Add(temp1); @@ -67,6 +61,67 @@ agvTaskState.state = 2; var temp2 = WCSCore.OperateAgvTaskStatus(agvTaskState); returnResult.ResultList.Add(temp2); + + return returnResult; + } + + [HttpPost] + [Route("AgvReports")] + public ReturnResults AgvReports(AgvReportsInfo model) { + var db = new SqlHelper<object>().GetInstance(); + ReturnResults returnResult = new ReturnResults(); + returnResult.ResultList = new List<ReturnResult>(); + var agvTaskState = new AgvTaskState() { + task_no = model.TaskId, + forklift_no = model.ForkliftNo, + }; + + var taskAction = db.Queryable<TN_Task_Action>() + .Where(t => t.S_TASK_CODE == model.TaskId) + .OrderBy(t => new { create = SqlFunc.Desc(t.T_CREATE) }).First(); // 鏈�悗涓�釜Action鐘舵� + + var lastState = taskAction?.N_ACTION_CODE ?? 0; + + if (model.NextState <= 0 || model.NextState >= 7) { + LogHelper.Info("灏忚溅鍥炴姤鐘舵�涓嶅湪134562鐨勮寖鍥村唴"); + } + + // 0 ==> 1,3,4,5,6,2 + if (lastState == 0 && model.NextState >= 1) { + agvTaskState.state = 1; + var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); + returnResult.ResultList.Add(temp); + } + // 0,1 ==> 3,4,5,6,2 + if (lastState < 2 && model.NextState >= 2) { + agvTaskState.state = 3; + var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); + returnResult.ResultList.Add(temp); + } + // 0,1,3 ==> 4,5,6,2 + if (lastState < 4 && lastState != 2 && (model.NextState >= 3 || model.NextState == 2)) { + agvTaskState.state = 4; + var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); + returnResult.ResultList.Add(temp); + } + // 0,1,3,4 ==> 5,6,2 + if (lastState < 5 && lastState != 2 && (model.NextState >= 4 || model.NextState == 2)) { + agvTaskState.state = 5; + var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); + returnResult.ResultList.Add(temp); + } + // 0,1,3,4,5 ==> 6,2 + if (lastState < 6 && lastState != 2 && (model.NextState >= 5 || model.NextState == 2)) { + agvTaskState.state = 6; + var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); + returnResult.ResultList.Add(temp); + } + // 0,1,3,4,5,6 ==> 2 + if (lastState != 2 && model.NextState == 2) { + agvTaskState.state = 2; + var temp = WCSCore.OperateAgvTaskStatus(agvTaskState); + returnResult.ResultList.Add(temp); + } return returnResult; } @@ -137,46 +192,12 @@ /// <returns></returns> [HttpPost] [Route("CreateDatabase")] - public string CreateDatabase(FalseOk model) { + public string CreateDatabase() { try { - if (model.JumpOut) { - return "璺冲嚭"; - } var db = new SqlHelper<object>().GetInstance(); var entityTypes = new Type[] { - //typeof(TN_CAR_IN), - //typeof(TN_CG_Detail), - //typeof(TN_Container), - //typeof(TN_Loc_Container), - //typeof(TN_Location), - //typeof(TN_Task), - //typeof(TN_Task_Action), - //typeof(SysHelper.OI_SYS_MAXID), - - //typeof(TN_Inbound_Order), - //typeof(TN_Check_Detail), - //typeof(TN_Check_Order), - //typeof(TN_CNTR_ITEM), - //typeof(TN_Outbound_Detail), - //typeof(TN_Outbound_Order), - //typeof(TN_Shift_Order), - //typeof(TN_Shift_Detail) - - //typeof(TN_Container_Item), }; - - //using (var tran = db.Ado.UseTran()) { - // //db.CodeFirst.InitTables(entityTypes); - // if (db.Insertable<TN_Location>(locationList).ExecuteCommand() <= 0) { - // tran.RollbackTran(); - // return "澶辫触"; - // } - - // tran.CommitTran(); - - - //} } catch (Exception ex) { @@ -203,45 +224,8 @@ const string cntrType = "鎵樼洏"; try { - //var itemCode = model.ItemCode; - //var batchNo = model.BatchNo; var cntrCode = model.CntrCode; var startLocCode = model.StartLoc; - - //var cgDetail = new TN_CG_Detail { - // S_ITEM_CODE = itemCode, - // S_BATCH_NO = batchNo, - // S_CNTR_CODE = cntrCode, - //}; - - //var needInsertContainer = false; - //var needUpdateContainer = false; - // 鏌ュ鍣ㄤ俊鎭〃鏄惁宸茬粡鏈夎繖涓鍣�- //var cntr = db.Queryable<TN_Container>() - // .Where(c => c.S_CODE == cntrCode).First(); - // 濡傛灉鎵句笉鍒拌瀹瑰櫒锛岄渶瑕佹坊鍔狅紝骞朵笖灏嗗鍣ㄦ潵婧愯缃负浠诲姟鍚嶇О - //if (cntr == null) { - // needInsertContainer = true; - // LogHelper.Info($"杞锛歿taskName}锛氬鍣細{cntrCode}锛屽湪瀹瑰櫒琛ㄤ腑娌℃湁鐧昏锛岀櫥璁板苟璁剧疆瀹瑰櫒鏉ユ簮涓猴細{taskName}"); - - // cntr = new TN_Container { - // S_CODE = cntrCode, - // S_TYPE = "鎵樼洏", - // S_SPEC = itemCode, - // S_SOURCE = taskName, - // }; - //} - //else { - // // 濡傛灉鎵惧埌璇ュ鍣紝浣嗗鍣ㄧ墿鏂欑被鍨嬩笌涓嬬嚎鐗╂枡涓嶇锛岃褰曞苟鐩存帴瑕嗙洊锛堝緟瀹氾級 - // if (!string.IsNullOrEmpty(cntr.S_SPEC) && cntr.S_SPEC != itemCode) { - // needUpdateContainer = true; - // LogHelper.Info($"杞锛歿taskName}锛氬鍣ㄨ〃涓鍣▄cntrCode}瀵瑰簲鐨勭墿鏂欎俊鎭細{cntr.S_SPEC}锛� + - // $"涓庢墍闇�鐨勭墿鏂欎俊鎭瘂itemCode}涓嶇锛岀洿鎺ヨ鐩栫粨鏋�); - - // cntr.S_SPEC = itemCode; - // cntr.S_SOURCE = taskName; - // } - //} var startLoc = db.Queryable<TN_Location>() .Where(l => l.S_CODE == startLocCode) @@ -297,29 +281,6 @@ return info; } } - //if (db.Insertable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) { - // tran.RollbackTran(); - // info = $"鎻掑叆瀹瑰櫒璐у搧淇℃伅琛ㄥけ璐ワ細鐗╂枡缂栫爜{cgDetail.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cgDetail.S_CNTR_CODE}"; - // LogHelper.Info(info); - // return info; - //} - - //if (needInsertContainer) { - // if (db.Insertable<TN_Container>(cntr).ExecuteCommand() <= 0) { - // info = $"鎻掑叆瀹瑰櫒琛ㄥけ璐ワ細" + JsonConvert.SerializeObject(cntr); - // tran.RollbackTran(); - // LogHelper.Info(info); - // return info; - // } - //} - //else if (needUpdateContainer) { - // if (db.Updateable<TN_Container>(cntr).ExecuteCommand() <= 0) { - // info = $"鏇存柊瀹瑰櫒琛ㄥけ璐ワ細" + JsonConvert.SerializeObject(cntr); - // tran.RollbackTran(); - // LogHelper.Info(info); - // return info; - // } - //} if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { tran.RollbackTran(); @@ -405,6 +366,21 @@ //public int NextState { set; get; } } + public class AgvReportsInfo { + /// <summary> + /// 浠诲姟鍙�+ /// </summary> + public string TaskId { set; get; } + /// <summary> + /// AGV 灏忚溅鍙�+ /// </summary> + public string ForkliftNo { get; set; } + /// <summary> + /// AGV 涓嬩竴鐘舵�锛堜换鍔″洖鎶ュ彿锛�+ /// </summary> + public int NextState { set; get; } = 0; + } + public class FalseOk { public bool JumpOut { set; get; } = true; } diff --git a/config/config.comment.json b/config/config.comment.json index 5c8dc33..4acea66 100644 --- a/config/config.comment.json +++ b/config/config.comment.json @@ -1,9 +1,11 @@ { //"WebApiUrl": "http://192.168.1.141:8901", + //"WebApiUrl": "http://192.168.1.67:8901", "WebApiUrl": "http://127.0.0.1:8901", "NdcApiUrl": "http://127.0.0.1:5201/api/order/", "ErpApiUrl": "http://127.0.0.1:8085/api/", - "SqlServer": "Data Source=192.168.1.87;Initial Catalog=AMS_OIMobox;User ID=sa;Password=123456;", + //"SqlServer": "Data Source=192.168.1.87;Initial Catalog=AMS_OIMobox;User ID=sa;Password=123456;", + "SqlServer": "Data Source=(local);Initial Catalog=DSZSHTest;User ID=sa;Password=123456;", "TcpServerIp": "127.0.0.1", "TcpServerPort": 8085, "Areas": [ diff --git a/config/config.json b/config/config.json index 81a3d4d..8622675 100644 --- a/config/config.json +++ b/config/config.json @@ -2,7 +2,7 @@ "WebApiUrl": "http://127.0.0.1:8901", "NdcApiUrl": "http://127.0.0.1:5201/api/order/", "ErpApiUrl": "http://127.0.0.1:8085/api/", - "SqlServer": "Data Source=192.168.1.87;Initial Catalog=AMS_OIMobox;User ID=sa;Password=123456;", + "SqlServer": "Data Source=(local);Initial Catalog=DSZSHTest;User ID=sa;Password=123456;", "TcpServerIp": "127.0.0.1", "TcpServerPort": 8085, "Areas": [ diff --git a/core/Monitor.cs b/core/Monitor.cs index 23f9962..487f856 100644 --- a/core/Monitor.cs +++ b/core/Monitor.cs @@ -65,41 +65,6 @@ var startLocCode = prod.OffLoc[0]; // 鐢ㄤ簬娴嬭瘯 //var startLocCode = "CX01"; // 鐢ㄤ簬娴嬭瘯 - //var cgDetail = new TN_CG_Detail { // 绌烘墭涓婄嚎鏃跺氨缁戝畾濂戒簡 - // S_ITEM_CODE = itemCode, - // S_BATCH_NO = batchNo, - // S_CNTR_CODE = cntrCode, - //}; - - //var needInsertContainer = false; - //var needUpdateContainer = false; - - // TEMP 鑷姩瑙﹀彂鐨勬墭鐩樹笅绾挎殏鏃朵笉鑰冭檻鍒ゆ柇锛岄粯璁ゆ病鏈夋椂鍐欏叆 - // 鏌ュ鍣ㄤ俊鎭〃鏄惁宸茬粡鏈夎繖涓鍣�- //var cntr = db.Queryable<TN_Container>() - // .Where(c => c.S_CODE == cntrCode).First(); - // 濡傛灉鎵句笉鍒拌瀹瑰櫒锛岄渶瑕佹坊鍔狅紝骞朵笖灏嗗鍣ㄦ潵婧愯缃负浠诲姟鍚嶇О - //if (cntr == null) { - // needInsertContainer = true; - // LogHelper.Info($"杞锛歿taskName}锛氬鍣細{cntrCode}锛屽湪瀹瑰櫒琛ㄤ腑娌℃湁鐧昏锛岀櫥璁板苟璁剧疆瀹瑰櫒鏉ユ簮涓猴細{taskName}"); - - // cntr = new TN_Container { - // S_CODE = cntrCode, - // S_TYPE = cntrType, - // S_SPEC = itemCode, - // }; - //} - //else { - // 濡傛灉鎵惧埌璇ュ鍣紝浣嗗鍣ㄧ墿鏂欑被鍨嬩笌涓嬬嚎鐗╂枡涓嶇锛岃褰曞苟鐩存帴瑕嗙洊锛堝緟瀹氾級 - // if (!string.IsNullOrEmpty(cntr.S_SPEC) && cntr.S_SPEC != itemCode) { - // needUpdateContainer = true; - // LogHelper.Info($"杞锛歿taskName}锛氬鍣ㄨ〃涓鍣▄cntrCode}瀵瑰簲鐨勭墿鏂欎俊鎭細{cntr.S_SPEC}锛� + - // $"涓庢墍闇�鐨勭墿鏂欎俊鎭瘂itemCode}涓嶇锛岀洿鎺ヨ鐩栫粨鏋�); - - // cntr.S_SPEC = itemCode; - // } - //} - var startLoc = db.Queryable<TN_Location>() .Where(l => l.S_CODE == startLocCode) .Where(l => Settings.AreaMap[startAreaName].Contains(l.S_AREA_CODE)) @@ -142,9 +107,6 @@ LocationHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿� LocationHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿� - //cntr.S_SOURCE = task.S_CODE; - //cntr.T_MODIFY = DateTime.Now; - using (var tran = db.Ado.UseTran()) { if (locCntrRelOld != null) { if (db.Deleteable<TN_Loc_Container>(locCntrRelOld).ExecuteCommand() <= 0 && @@ -155,30 +117,6 @@ continue; } } - //if (needInsertContainer) { - // if (db.Insertable<TN_Container>(cntr).ExecuteCommand() <= 0) { - // info = $"鎻掑叆瀹瑰櫒琛ㄥけ璐ワ細" + JsonConvert.SerializeObject(cntr); - // tran.RollbackTran(); - // LogHelper.Info(info); - // continue; - // } - //} - //else if (needUpdateContainer) { - // if (db.Updateable<TN_Container>(cntr) - // .UpdateColumns(c => new { c.S_SPEC, c.S_SOURCE, c.T_MODIFY }).ExecuteCommand() <= 0) { - // info = $"鏇存柊瀹瑰櫒琛ㄥけ璐ワ細" + JsonConvert.SerializeObject(cntr); - // tran.RollbackTran(); - // LogHelper.Info(info); - // continue; - // } - //} - - //if (db.Insertable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) { - // tran.RollbackTran(); - // info = $"鎻掑叆瀹瑰櫒璐у搧淇℃伅琛ㄥけ璐ワ細鐗╂枡缂栫爜{cgDetail.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cgDetail.S_CNTR_CODE}"; - // LogHelper.Info(info); - // continue; - //} if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { tran.RollbackTran(); @@ -374,6 +312,8 @@ LogHelper.Info(info); continue; } + + } diff --git a/core/WCSCore.cs b/core/WCSCore.cs index 4c9ff87..662ba22 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -20,7 +20,7 @@ public static ReturnResult OperateAgvTaskStatus(AgvTaskState model) { var result = new ReturnResult(); try { - if (model.state > 0 && model.state < 1000) { + if (model.state > 0) { // AGV 鎵ц浠诲姟鐨勯�杈戝鐞� if (!AgvTaskProcessOk(model)) { // 鎵ц涓峅K锛岃鏄庢病鏈夋壘鍒颁换鍔�@@ -38,7 +38,7 @@ } catch (Exception ex) { result.ResultCode = -1; - result.ResultMsg = $"鍙戠敓浜嗗紓甯革細+{ex.Message}"; + result.ResultMsg = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; LogHelper.Info(result.ResultMsg, "Error"); return result; } @@ -76,9 +76,9 @@ var nextOutboundTask = Task.Run(() => { UpdateOutboundTaskState(3); }); - //var pickUpReturnErpTask = Task.Run(() => { - // PickUpReturnErp(TN_Task); - //}); + var pickUpReturnErpTask = Task.Run(() => { + PickUpReturnErp(TN_Task); + }); } break; @@ -323,13 +323,40 @@ } public static void PickUpReturnErp(TN_Task task) { + var db = new SqlHelper<object>().GetInstance(); + var info = ""; var httpH = new HttpHelper(); - var model = new OtherModel.PickUpReturnErpInfo(); - model.LocCode = task.S_START_LOC; + try { + var plan = db.Queryable<TN_Outbound_Plan>() + .Where(p => p.JHDH == task.S_BS_NO) + .First(); + + if (plan == null) { + info = $"璁″垝鍗曞彿{task.S_BS_NO}涓嶅瓨鍦紒"; + LogHelper.Info(info); + } + + var cgDetail = db.Queryable<TN_CG_Detail>() + .Where(d => d.S_CNTR_CODE == task.S_CNTR_CODE) + .First(); + + if (cgDetail == null) { + info = $"鐗╂枡缂栫爜涓嶅瓨鍦紒"; + LogHelper.Info(info); + } + + // TODO + var model = new OtherModel.PickUpReturnErpInfo(); + model.sfjs = cgDetail.N_ITEM_NUM; + model.sfsl = 0; + //model.hw = task.S_START_LOC; + //model.hwzt = ""; + var jsonInfo = JsonConvert.SerializeObject(model); var result = httpH.WebPost(Settings.ErpApiUrl + "PickUpReturn", jsonInfo); - // TODO + + LogHelper.InfoApi("鍙栬揣瀹屾垚鍙嶉ERP鎺ュ彛", model); } catch (Exception ex) { LogHelper.InfoEx(ex); diff --git a/wms/WCSHelper.cs b/wms/WCSHelper.cs index a4ed288..5d2dde4 100644 --- a/wms/WCSHelper.cs +++ b/wms/WCSHelper.cs @@ -29,7 +29,7 @@ var db = new SqlHelper<TN_Task>().GetInstance(); task.S_B_STATE = TN_Task.GetStateStr(task.N_B_STATE); task.T_MODIFY = DateTime.Now; - db.Updateable(task).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY }).ExecuteCommand(); + res = db.Updateable(task).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY }).ExecuteCommand() > 0; return res; } internal static bool UpdateEQNo(TN_Task task) { @@ -174,7 +174,6 @@ task.S_EQ_NO = forklift_no; db.Updateable(task).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_START_TIME, it.S_EQ_NO }).ExecuteCommand(); } - } } internal static void End(TN_Task task) { -- Gitblit v1.9.1