From e888bfb15f44a57f4fd61182c00bad066f093ee9 Mon Sep 17 00:00:00 2001 From: lss <2538410689@qq.com> Date: 星期四, 03 七月 2025 22:56:51 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs | 418 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 252 insertions(+), 166 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs index 2655f71..eae1cba 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs @@ -2,10 +2,13 @@ using HH.WCS.JiaTong.core; using HH.WCS.JiaTong.device; using HH.WCS.JiaTong.dispatch; +using HH.WCS.JiaTong.LISTA.models; using HH.WCS.JiaTong.LISTA.process; using HH.WCS.JiaTong.util; using HH.WCS.JiaTong.wms; +using Microsoft.Owin.BuilderProperties; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using SqlSugar; using System; using System.Collections.Generic; @@ -14,6 +17,7 @@ using System.Linq; using System.Security.Cryptography; using System.Threading; +using System.Threading.Tasks; using static HH.WCS.JiaTong.api.ApiModel; using static HH.WCS.JiaTong.LISTA.process.HttpModel; @@ -43,7 +47,7 @@ else { LogHelper.Info($"浠诲姟{mst.S_CODE} 鎵樼洏涓虹┖ ,鍙В閿佽揣浣�); - LocationHelper.UnlockLoc(mst.S_START_LOC); + LocationHelper.UnlockLocDeleteCntrs(mst.S_START_LOC); } } else @@ -52,7 +56,7 @@ if (!string.IsNullOrEmpty(mst.S_CNTR_CODE)) { - LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); + LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } else @@ -80,13 +84,10 @@ } else { - //璧风偣缁堢偣瑙i攣 LocationHelper.UnLockLoc(mst.S_START_LOC); LocationHelper.UnLockLoc(mst.S_END_LOC); - } - } /// <summary> @@ -111,7 +112,38 @@ //璇锋眰鍙栬揣锛� type = 1; loc = TN_Task.S_START_LOC; - if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 + if (TN_Task.S_TYPE.Contains("鐢垫2")) + { + var device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault(); + var EndLoc = LocationHelper.GetLocByLoc(TN_Task.S_END_LOC); + if (device == null) + { + LogHelper.Info($"鏍规嵁浠诲姟璧风偣:{TN_Task.S_START_LOC},鏈壘鍒板搴旂數姊厤缃枃浠�); + } + if (EndLoc == null) + { + LogHelper.Info($"鏍规嵁浠诲姟缁堢偣:{TN_Task.S_END_LOC},鏈壘鍒板搴旇揣浣�); + } + var value = ModbusHelper.ReadHoldingRegisters(40005, 1, device.address, 1024); + var value2 = ModbusHelper.ReadHoldingRegisters(40101, 1, device.address, 1024); + if (value[0] == EndLoc.N_LAYER && value2[0] == 2) + { + NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); + } + else + { + int layerValue = 0; + if (EndLoc.N_LAYER == 1) layerValue = 1; + else if (EndLoc.N_LAYER == 2) layerValue = 3; + else if (EndLoc.N_LAYER == 3) layerValue = 5; + ModbusHelper.WriteSingleRegister(40089, layerValue, device.address, 1024); + ModbusHelper.WriteSingleRegister(40101, 2, device.address, 1024); + ModbusHelper.WriteSingleRegister(40003, 2, device.address, 1024); + ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); + } + + } + else if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 { if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) { @@ -124,21 +156,29 @@ //浜曟澗鍙犵洏鏈哄畨鍏ㄤ氦浜� if (TN_Task.S_NOTE == "绌烘墭鍥炲簱") { - if (S7Helper.WriteDpj(1002, 1)) + var Device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault(); + if (Device != null) { - int value = S7Helper.ReadDpj(2004, S7.Net.VarType.Byte); - if (value == 1) + if (S7Helper.WriteDpj(Device.address, 1002, 1)) { - NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); + int value = S7Helper.ReadDpj(Device.address, 2004, S7.Net.VarType.Byte); + if (value == 1) + { + NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); + } + else + { + LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝璇诲彇VB2004鐨勫�涓簕2004}"); + } } else { - LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝璇诲彇VB2004鐨勫�涓簕2004}"); + LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鍐欏叆VB1002鍊�澶辫触"); } } else { - LogHelper.Info("鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鍐欏叆VB1002鍊�澶辫触"); + LogHelper.Info($"鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鏍规嵁浠诲姟璧风偣{TN_Task.S_START_LOC},鏈壘鍒板彔鐩樻満閰嶇疆鏂囦欢"); } } @@ -168,14 +208,34 @@ } if (TN_Task.S_NOTE == "绌烘墭鍥炲簱") { - //鍐欏叆澶辫触閲嶆柊鍐欏叆 - while (!S7Helper.WriteDpj(1001, 1)) + var Device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_START_LOC).FirstOrDefault(); + if (Device != null) { - Thread.Sleep(1000); + //鍐欏叆澶辫触閲嶆柊鍐欏叆 + if (!S7Helper.WriteDpj(Device.address, 1001, 1)) + { + Task.Run(() => + { + while (!S7Helper.WriteDpj(Device.address, 1001, 1)) + { + Thread.Sleep(1000); + } + }); + } + if (!S7Helper.WriteDpj(Device.address, 1002, 0)) + { + Task.Run(() => + { + while (!S7Helper.WriteDpj(Device.address, 1002, 0)) + { + Thread.Sleep(1000); + } + }); + } } - while (!S7Helper.WriteDpj(1002, 0)) + else { - Thread.Sleep(1000); + LogHelper.Info($"鍙犵洏鏈哄畨鍏ㄤ氦浜掑け璐ワ紝鏍规嵁浠诲姟璧风偣{TN_Task.S_START_LOC},鏈壘鍒板彔鐩樻満閰嶇疆鏂囦欢"); } } } @@ -184,9 +244,41 @@ //璇锋眰鍗歌揣 type = 2; loc = TN_Task.S_END_LOC; - if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 + if (TN_Task.S_TYPE.Contains("鐢垫1")) { - loc = TN_Task.S_END_LOC; + var device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_END_LOC).FirstOrDefault(); + var startloc = LocationHelper.GetLocByLoc(TN_Task.S_START_LOC); + if (device == null) + { + LogHelper.Info($"鏍规嵁浠诲姟缁堢偣:{TN_Task.S_END_LOC},鏈壘鍒板搴旂數姊厤缃枃浠�); + } + if (startloc == null) + { + LogHelper.Info($"鏍规嵁浠诲姟璧风偣:{TN_Task.S_START_LOC},鏈壘鍒板搴旇揣浣�); + } + var value = ModbusHelper.ReadHoldingRegisters(40005, 1, device.address, 1024); + var value2 = ModbusHelper.ReadHoldingRegisters(40101, 1, device.address, 1024); + if (value[0] == startloc.N_LAYER && value2[0] == 2) + { + NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); + } + else + { + int layerValue = 0; + if (startloc.N_LAYER == 1) layerValue = 1; + else if (startloc.N_LAYER == 2) layerValue = 3; + else if (startloc.N_LAYER == 3) layerValue = 5; + ModbusHelper.WriteSingleRegister(40101, 2, device.address, 1024); + ModbusHelper.WriteSingleRegister(40003, 2, device.address, 1024); + ModbusHelper.WriteSingleRegister(40089, layerValue, device.address, 1024); + ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); + } + + } + else if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 + { + + // loc = TN_Task.S_END_LOC; if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) { // NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1103, 18); @@ -204,7 +296,38 @@ if (model.state == 1104) { type = 4; - if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 + if (TN_Task.S_TYPE.Contains("鐢垫1")) + { + var db = new SqlHelper<object>().GetInstance(); + var device = Settings.deviceInfos.Where(a => a.TN_Location == TN_Task.S_END_LOC).FirstOrDefault(); + var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO == TN_Task.S_EQ_NO && a.S_TYPE.Contains("鐢垫2")).First(); + if (mstbyEqno != null) + { + var Endloc = LocationHelper.GetLocByLoc(mstbyEqno.S_END_LOC); + // var startloc = LocationHelper.GetLocByLoc(TN_Task.S_START_LOC); + if (device == null) + { + LogHelper.Info($"鏍规嵁浠诲姟缁堢偣:{TN_Task.S_END_LOC},鏈壘鍒板搴旂數姊厤缃枃浠�); + } + if (Endloc == null) + { + LogHelper.Info($"鏍规嵁浠诲姟缁堢偣:{mstbyEqno.S_END_LOC},鏈壘鍒板搴旇揣浣�); + } + int value = 0; + if (Endloc.N_LAYER == 1) value = 1; + else if (Endloc.N_LAYER == 2) value = 3; + else if (Endloc.N_LAYER == 3) value = 5; + ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024); + ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); + + } + else + { + LogHelper.Info($"鏍规嵁浠诲姟鏉ユ簮锛歿TN_Task.S_EQ_NO}锛屾湭鎵惧埌鐢垫2浠诲姟"); + } + + } + else if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 { loc = TN_Task.S_END_LOC; if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) @@ -330,6 +453,14 @@ { var result = true; var db = new SqlHelper<object>().GetInstance(); + //鏍规嵁璧风偣浠撳簱缂栫爜鍒ゆ柇鏄惁鍙互鎺ㄩ� + var taskLimit = db.Queryable<TASK_LIMIT>().Where(a => a.S_WH_CODE == mst.S_START_WH && a.OPEN == "1").First(); + if (taskLimit != null) + { + Console.WriteLine($"浠诲姟锛歿mst.S_CODE},璧风偣浠撳簱锛歿mst.S_START_WH}宸茬粡绂佺敤鎺ㄩ�"); + return false; + } + var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO == mst.S_EQ_NO).ToList(); if (mstbyEqno.Count() == 1) { @@ -355,12 +486,16 @@ else if (mst.S_TYPE == "鐢垫2") { var mst2 = mstbyEqno.Where(a => a.S_TYPE == "鐢垫1").First(); - if (mst2.S_B_STATE == "鍗歌揣瀹屾垚" || mst2.S_B_STATE == "瀹屾垚") + if (mst2 == null) { return result; } else { + if (mst2.S_B_STATE == "鍗歌揣瀹屾垚" || mst2.S_B_STATE == "瀹屾垚") + { + return result; + } result = false; } } @@ -415,145 +550,7 @@ } private static object locLocker = new object(); - /// <summary> - /// 鍫嗗彔搴撳尯鍑哄叆搴撲换鍔$敵璇�- /// </summary> - /// <param name="ls"></param> - /// <param name="cntrs"></param> - /// <param name="area"></param> - /// <param name="itemCode"></param> - /// <param name="itemBatch"></param> - /// <param name="taskType"></param> - /// <param name="insStock"></param> - /// <returns></returns> - internal static bool ApplyTN_Task(Location ls, ref List<string> cntrs, string area, string itemCode, string itemBatch, string taskType, bool insStock = true) - { - var result = false; - lock (locLocker) - { - try - { - if (insStock) - { - Console.WriteLine($"MoboxHelperCreateTask: {area}-{itemCode}-{itemBatch}-{taskType}"); - var endTN_Location = GetLocation4In(area, itemCode, itemBatch, 3); - if (endTN_Location != null) - { - var endLayer = endTN_Location.N_CURRENT_NUM == 0 ? 1 : 2; - var taskNo = DateTime.Now.Ticks.ToString(); - result = TaskProcess.CreateTransport(ls.S_CODE, endTN_Location.S_CODE, taskType, cntrs, 1, endLayer, 3, 70); - } - else - { - Console.WriteLine($"MoboxHelperCreateTask: 鏈壘鍒扮粓鐐硅揣浣�); - } - } - else - { - var startTN_Location = GetLocation4Out(area, itemCode, itemBatch, 3); - if (startTN_Location != null) - { - var startLayer = startTN_Location.N_CURRENT_NUM <= 3 ? 1 : 2; - var taskNo = DateTime.Now.Ticks.ToString(); - var carryCount = startTN_Location.N_CURRENT_NUM > 3 ? startTN_Location.N_CURRENT_NUM - 3 : startTN_Location.N_CURRENT_NUM; - //鍑哄簱瑕佷粠璧风偣鑾峰彇鎵樼洏 - var cntrList = LocationHelper.GetLocCntr(startTN_Location.S_CODE); - if (cntrList.Count == startTN_Location.N_CURRENT_NUM) - { - cntrs = cntrList.OrderByDescending(a => a.T_CREATE).Take(carryCount).Select(a => a.S_CNTR_CODE.Trim()).ToList(); - result = TaskProcess.CreateTransport(startTN_Location.S_CODE, ls.S_CODE, taskType, cntrs, startLayer, 1, carryCount, 65); - } - else - { - Console.WriteLine($"璧风偣鎵樼洏鏁伴噺鍜岃揣浣嶅鍣ㄨ〃涓嶇鍚堬紝璇锋鏌ャ�璐т綅琛ㄣ�鍜屻�璐т綅瀹瑰櫒琛ㄣ�"); - } - } - } - } - catch (Exception ex) - { - - Console.WriteLine("MoboxHelperCreateTask:" + ex.Message); - LogHelper.Error("MoboxHelperCreateTask:" + ex.Message, ex); - } - } - return result; - - - } - - private static Location GetLocation4Out(string area, string itemCode, string itemBatch, int v) - { - throw new NotImplementedException(); - } - - private static Location GetLocation4In(string area, string itemCode, string itemBatch, int v) - { - throw new NotImplementedException(); - } - - /// <summary> - /// 鏅�璐ф灦鍖虹殑鍑哄叆搴撶敵璇�- /// </summary> - /// <param name="ls"></param> - /// <param name="cntrs"></param> - /// <param name="area"></param> - /// <param name="taskType"></param> - /// <param name="itemCode"></param> - /// <param name="insStock"></param> - /// <returns></returns> - internal static bool ApplyNormalTN_Task(Location ls, ref List<string> cntrs, string area, string taskType, string itemCode, bool insStock = true) - { - var result = false; - lock (locLocker) - { - try - { - if (insStock) - { - Console.WriteLine($"MoboxHelperCreateTask: {area}-{taskType}"); - var endTN_Location = new Location(); - if (endTN_Location != null) - { - var taskNo = DateTime.Now.Ticks.ToString(); - result = TaskProcess.CreateTransport(ls.S_CODE, endTN_Location.S_CODE, taskType, cntrs, 70); - } - else - { - Console.WriteLine($"MoboxHelperCreateTask: 鏈壘鍒扮粓鐐硅揣浣�); - } - } - else - { - var startTN_Location = new Location(); - if (startTN_Location != null) - { - //鍑哄簱瑕佷粠璧风偣鑾峰彇鎵樼洏 - var cntrList = LocationHelper.GetLocCntr(startTN_Location.S_CODE); - if (cntrList.Count == startTN_Location.N_CURRENT_NUM) - { - result = TaskProcess.CreateTransport(startTN_Location.S_CODE, ls.S_CODE, taskType, new List<string> { cntrList[0].S_CNTR_CODE }, 65); - } - else - { - Console.WriteLine($"璧风偣鎵樼洏鏁伴噺鍜岃揣浣嶅鍣ㄨ〃涓嶇鍚堬紝璇锋鏌ャ�璐т綅琛ㄣ�鍜屻�璐т綅瀹瑰櫒琛ㄣ�"); - } - - } - } - } - catch (Exception ex) - { - - Console.WriteLine("MoboxHelperCreateTask:" + ex.Message); - LogHelper.Error("MoboxHelperCreateTask:" + ex.Message, ex); - } - } - return result; - - - } /// <summary> /// 鎺ㄩ�浠诲姟 /// </summary> @@ -561,14 +558,22 @@ internal static bool SendTask(WCSTask mst) { - + var db = new SqlHelper<object>().GetInstance(); var result = false; var start = "0"; var end = "0"; var taskType = mst.S_TYPE.Trim(); + var list = db.Queryable<Location>().ToList().Count; + // if (mst.N_B_STATE == 0) { if (mst.N_SCHEDULE_TYPE == 1) { LogHelper.Info($"浠诲姟鎺ㄩ�鏁版嵁锛歿JsonConvert.SerializeObject(mst)}"); + if (string.IsNullOrEmpty(mst.S_START_LOC) || string.IsNullOrEmpty(mst.S_END_LOC)) + { + LogHelper.Info($"浠诲姟{mst.S_CODE},璧风偣缁堢偣鏈夌┖鍙傛暟锛屼笉鎺ㄩ�浠诲姟"); + } + + start = LocationHelper.GetAgvSite(mst.S_START_LOC); end = LocationHelper.GetAgvSite(mst.S_END_LOC); //if (mst.N_START_LAYER > 1) @@ -608,6 +613,28 @@ WCSHelper.UpdateStatus(mst);//鏇存柊浠诲姟鐘舵� result = true; LogHelper.Info($"NDC鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE}start= {mst.S_START_LOC} + end = {mst.S_END_LOC}"); + if (mst.S_TYPE.Contains("鐢垫1")) + { + var device = Settings.deviceInfos.Where(a => a.TN_Location == mst.S_END_LOC).FirstOrDefault(); + var loc = LocationHelper.GetLocByLoc(mst.S_START_LOC); + if (device == null) + { + LogHelper.Info($"鏍规嵁浠诲姟缁堢偣:{mst.S_END_LOC},鏈壘鍒板搴旂數姊厤缃枃浠�); + } + if (loc == null) + { + LogHelper.Info($"鏍规嵁浠诲姟璧风偣:{mst.S_START_LOC},鏈壘鍒板搴旇揣浣�); + } + int value = 0; + if (loc.N_LAYER == 1) value = 1; + else if (loc.N_LAYER == 2) value = 3; + else if (loc.N_LAYER == 3) value = 5; + + ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024); + ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); + + + } } else { @@ -804,7 +831,29 @@ //鑾峰彇鏃堕棿鎴� var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); statusarrive.RequestId = "鏉弶AGV" + time; - + string info = ""; + switch (status) + { + case 1: + info = "agv宸叉帴鍙楀師鏂欏簱涓嬪彂鐨勪换鍔�; + break; + case 4: + info = "agv宸插彇璐у畬鎴�; + break; + case 6: + info = "agv宸插嵏璐у埌鎸囧畾浣嶇疆"; + break; + case 2: + info = "agv宸插畬鎴愰�鏂欎换鍔�; + break; + } + string message = "1"; + if (status == 7) { message = "agv浠诲姟宸插彇娑�; } + int flag = 0; + if (mst.S_NOTE == "绮夋枡") + { + flag = 1; + } //List<StatusArrive> statusArrives = new List<StatusArrive>(); StatusArrive statusArrive = new StatusArrive(); statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs"; @@ -812,6 +861,11 @@ statusArrive.LocationNum = mst.S_END_LOC; statusArrive.Time = DateTime.Now.ToString(); statusArrive.Status = status.ToString(); + statusArrive.Rfid = mst.S_CNTR_CODE; + statusArrive.Flag = flag; + statusArrive.Info = info; + statusArrive.Message = message; + //statusArrives.Add(statusArrive); statusarrive.data = statusArrive; //寮�鍥炴姤 @@ -854,7 +908,16 @@ //鍥炴姤鏁版嵁 Request<MesItemBackModel> request = new Request<MesItemBackModel>(); List<MesItemBackInfoModel> list = new List<MesItemBackInfoModel>(); - + string MesNo = mst.S_EQ_NO; + if (!string.IsNullOrEmpty(mst.S_MES_NO)) + { + MesNo = mst.S_MES_NO; + } + //绮夋枡鍥炲簱涓嶉渶瑕佸洖鎶�+ if (cntritem != null && mst.S_TYPE == "浣欐枡杩斿洖" && cntritem.S_ITEM_CODE.StartsWith("4X")) + { + return; + } //鑾峰彇鏃堕棿鎴� var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); //鐗╂枡鍒颁綅鎺ュ彛鍜岀姸鎬佸弽棣堝悓鏃惰皟IIOT锛屼负浜嗗尯鍒唅d锛岀墿鏂欏埌浣嶉暱搴﹀姞涓�尯鍒�@@ -862,18 +925,36 @@ request.UseToken = "iFQ5fExGrLYLXliHYWzs"; MesItemBackModel mesItemBackModel = new MesItemBackModel(); - mesItemBackModel.TaskNumber = mst.S_EQ_NO; + + mesItemBackModel.TaskNumber = MesNo; mesItemBackModel.WmsTaskNumber = mst.S_WMS_NO; mesItemBackModel.Rfid = mst.S_CNTR_CODE; mesItemBackModel.LocationNum = mst.S_END_LOC; mesItemBackModel.Result = "1"; - mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd"); + mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + if (cntritem != null) { + string curBagNum = null; + string weightBag = null; + string initBagNum = null; + if (cntritem.F_QTY > 0) + { + curBagNum = cntritem.F_QTY.ToString(); + } + if (!string.IsNullOrEmpty(cntritem.F_WEIGHT1) && int.Parse(cntritem.F_WEIGHT1) > 0) + { + weightBag = cntritem.F_WEIGHT1; + } + if (!string.IsNullOrEmpty(cntritem.F_QTY1) && int.Parse(cntritem.F_QTY1) > 0) + { + initBagNum = cntritem.F_QTY1; + } list.Add(new MesItemBackInfoModel() { + LotNumber = cntritem.S_BATCH_NO, - PartNumber = cntritem.S_ITEM_NAME, + PartNumber = cntritem.S_ITEM_CODE, Subpool = cntritem.Subpool, ReceiveLot = cntritem.ReceiveLot, Supplier = cntritem.S_SUPPLIER_NO, @@ -881,11 +962,16 @@ ProduceTime = cntritem.D_PRD_DATE, Rfid = cntritem.S_CNTR_CODE, Qty = cntritem.F_WEIGHT, - Level = cntritem.LEV + PartLevel = cntritem.LEV, + WmsLot = cntritem.WmsLot, + WeightBag = weightBag, + CurBagNum = curBagNum, + InitBagNum = initBagNum }); } + mesItemBackModel.List = list; request.data = mesItemBackModel; -- Gitblit v1.9.1