From ff48949f706e899725c1ef7d0426c12c2b3e674f Mon Sep 17 00:00:00 2001 From: cjs <2216046164@qq.com> Date: 星期四, 17 七月 2025 17:18:16 +0800 Subject: [PATCH] 1 --- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs | 82 ++++++-- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.backup.json | 22 -- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.json | 24 ++ ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs | 44 ++-- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs | 10 + ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs | 295 ++++++++++++++++++-------------- ams/Hanhe.iWCS.JingmenGEMTwoProtocol/MESHelper.cs | 6 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs | 9 8 files changed, 289 insertions(+), 203 deletions(-) diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.backup.json b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.backup.json index b353696..3042840 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.backup.json +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.backup.json @@ -1,12 +1,7 @@ { "Version": 1, "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\", - "Documents": [ - { - "AbsoluteMoniker": "D:0:0:{BCE5B4FC-C2CD-459E-AAD0-34D4900B4528}|Hanhe.iWCS.JingmenGEMTwoProtocol.csproj|c:\\software\\a-\u5DE5\u4F5C\\\u6E90\u7801\\git\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\hanhe.iwcs.jingmengemtwoprotocol\\enentlisten.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{BCE5B4FC-C2CD-459E-AAD0-34D4900B4528}|Hanhe.iWCS.JingmenGEMTwoProtocol.csproj|solutionrelative:enentlisten.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - } - ], + "Documents": [], "DocumentGroupContainers": [ { "Orientation": 0, @@ -14,7 +9,7 @@ "DocumentGroups": [ { "DockedWidth": 16, - "SelectedChildIndex": 7, + "SelectedChildIndex": -1, "Children": [ { "$type": "Bookmark", @@ -43,19 +38,6 @@ { "$type": "Bookmark", "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" - }, - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "EnentListen.cs", - "DocumentMoniker": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\EnentListen.cs", - "RelativeDocumentMoniker": "EnentListen.cs", - "ToolTip": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\EnentListen.cs", - "RelativeToolTip": "EnentListen.cs", - "ViewState": "AgIAACIAAAAAAAAAAAAcwE0BAAAMAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-07-14T00:36:42.299Z", - "EditorCaption": "" } ] }, diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.json b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.json index 3042840..8532650 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.json +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/.vs/Hanhe.iWCS.JingmenGEMTwoProtocol/v17/DocumentLayout.json @@ -1,7 +1,12 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\", - "Documents": [], + "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\WCS\\Hanhe.iWCS.3.3\\\u8346\u95E8\u683C\u6797\u7F8E\\Hanhe.iWCS.JingmenGEMTwoProtocol\\", + "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{BCE5B4FC-C2CD-459E-AAD0-34D4900B4528}|Hanhe.iWCS.JingmenGEMTwoProtocol.csproj|c:\\software\\a-\u5DE5\u4F5C\\\u6E90\u7801\\wcs\\hanhe.iwcs.3.3\\\u8346\u95E8\u683C\u6797\u7F8E\\hanhe.iwcs.jingmengemtwoprotocol\\enentlisten.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{BCE5B4FC-C2CD-459E-AAD0-34D4900B4528}|Hanhe.iWCS.JingmenGEMTwoProtocol.csproj|solutionrelative:enentlisten.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + } + ], "DocumentGroupContainers": [ { "Orientation": 0, @@ -9,7 +14,7 @@ "DocumentGroups": [ { "DockedWidth": 16, - "SelectedChildIndex": -1, + "SelectedChildIndex": 7, "Children": [ { "$type": "Bookmark", @@ -38,6 +43,19 @@ { "$type": "Bookmark", "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "EnentListen.cs", + "DocumentMoniker": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\WCS\\Hanhe.iWCS.3.3\\\u8346\u95E8\u683C\u6797\u7F8E\\Hanhe.iWCS.JingmenGEMTwoProtocol\\EnentListen.cs", + "RelativeDocumentMoniker": "EnentListen.cs", + "ToolTip": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\WCS\\Hanhe.iWCS.3.3\\\u8346\u95E8\u683C\u6797\u7F8E\\Hanhe.iWCS.JingmenGEMTwoProtocol\\EnentListen.cs", + "RelativeToolTip": "EnentListen.cs", + "ViewState": "AgIAAOYAAAAAAAAAAAAgwFEBAAA1AAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2025-07-14T00:36:42.299Z", + "EditorCaption": "" } ] }, diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs index 2736558..aa44d84 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ApiHelper.cs @@ -453,10 +453,8 @@ var req = JsonConvert.DeserializeObject<mesInfo>(res); if(req != null) { - if (req.isSucess) + if (req.isSuccess) { - var mesCodeLen = req.data.mesCode.Length; - var mesCodeTwo = int.Parse(req.data.mesCode.Substring(0, mesCodeLen - 3)); var timeCuo = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("packingMachineNumber", models.machineNo), "TimeCuoInfoCom"); if (timeCuo == null) { @@ -471,7 +469,7 @@ productModel = req.data.materialSpec, bagNumber_1 = req.data.bagNum, totalCount = 1, - timeStamp = mesCodeTwo, + timeStampMES = req.data.mesCode, photoURL = req.data.barCode, ProductionDate = req.data.ywDate, // ERP鍙樻洿-鐓х浉鏈烘柊澧炲瓧娈�@@ -497,7 +495,7 @@ //鍙樻洿娉ㄩ噴 UpdateBuilder update = Update.Set("isFold", 1).Set("packingMachineNumber", models.machineNo).Set("needWeight", (int)req.data.FMustQty) .Set("realWeight", (int)req.data.FMustQty).Set("totalWeight", (int)req.data.FMustQty).Set("batchNumber", req.data.Flot) - .Set("productModel", req.data.materialSpec).Set("bagNumber_1", req.data.bagNum).Set("totalCount", 1).Set("timeStamp", mesCodeTwo) + .Set("productModel", req.data.materialSpec).Set("bagNumber_1", req.data.bagNum).Set("totalCount", 1).Set("timeStampMES", req.data.mesCode) .Set("photoURL", req.data.barCode).Set("ProductionDate", req.data.ywDate).Set("materialCode", req.data.FMaterialNumber) .Set("materialName", req.data.materialName).Set("measurementUnit", req.data.FUnit) .Set("createOrganization", req.data.FPrdOrgNumber).Set("WarehouseCode", req.data.FStockNumber).Set("workshopCode", req.data.FWorkShopNumber) @@ -508,7 +506,6 @@ //鐢熸垚鍒版帴椹冲钩鍙扮殑浠诲姟 string traycode = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", ""); - string timeCuo2 = mesCodeTwo.ToString(); var CBInfo = Settings.GetConnectingbitsList().Where(a => a.enable == 1).ToList(); if (CBInfo != null) { @@ -529,11 +526,7 @@ { result.success = true; CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API鎴愬姛锛�); - MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeCuo2), UpdateFlags.None); - - //涓婃姤鏉$爜琛�- CMMLog.Info($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')"); - new SqlHelper<object>().ExecuteSql($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')", false); + MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", req.data.mesCode), UpdateFlags.None); break; } @@ -549,16 +542,29 @@ result.success = true; CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API鎴愬姛锛�); //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�- - MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeCuo2 }); - - //涓婃姤鏉$爜琛�- CMMLog.Info($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')"); - new SqlHelper<object>().ExecuteSql($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')", false); - + MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = req.data.mesCode }); + break; } else CMMLog.Debug($"PDA鎵撳寘涓嬬嚎锛欰MS璋冪敤API澶辫触锛屽紑濮嬮噸鏂拌皟鐢紒"); + } + if (amsResult != null && amsResult.success) + { + //涓婃姤鏉$爜琛�+ CMMLog.Info($"INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')"); + new SqlHelper<object>().ExecuteSql($" INSERT INTO T_JY_BARCODESync (FBarCode, FBarCodeRule,FMaterialNumber,FCreateOrgNumber,FLot,FUnit,FQty,FStockNumber,FDept,FBillDate,F_JY_CZZ,FOpStatus) VALUES ('{req.data.barCode}','01','{req.data.materialName}','02','{req.data.Flot}','{req.data.FUnit}','{req.data.FMustQty}','CK020','BM000161','{req.data.ywDate}','{req.data.jycjj}','0')", false); + //var plc = Settings.GetPlcInfo().Where(b => b.location == models.machineNo && b.enable == 1).First(); + //if(plc != null) + //{ + // var wirteall01 = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel + // { + // addr = plc.writeAddr, + // host = plc.ip, + // port = plc.port, + // data = 4 + // }); + //} + } } else CMMLog.Debug("鎵撳寘涓嬬嚎鍙f帴椹充綅鐐逛綅鏈厤缃�); @@ -634,7 +640,7 @@ public int code { get; set; } public string msg { get; set; } public mesData data { get; set; } - public bool isSucess { get; set; } + public bool isSuccess { get; set; } } public class mesData diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/MESHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/MESHelper.cs index 5a5b2c6..0629bae 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/MESHelper.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/MESHelper.cs @@ -752,7 +752,11 @@ /// <summary> /// 鏃堕棿鎴� /// </summary> - public int timeStamp { get; set; } + public int timeStamp { get; set; } + /// <summary> + /// 鏃堕棿鎴�+ /// </summary> + public string timeStampMES { get; set; } /// <summary> /// 鐓х墖url /// </summary> diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs index 5eb3b3d..6fa8241 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs @@ -596,11 +596,15 @@ /// 灏忚溅鍒拌揪鍖呰鏈哄畨鍏ㄩ棬鍙h姹傝繘鍏� /// </summary> /// <param name="ips"></param> - internal static void PickUpFullDoorUnload(string ip, string taskNo) + internal static void PickUpFullDoorUnload(string ip, string taskNo, string type) { var plc = Settings.GetPlcInfo().Where(a => a.ip == ip).FirstOrDefault(); //ASM鍐欏叆閫氶亾0灏忚溅鍔ㄤ綔锛�-鍙栨枡 int[] num = new int[2] { 1, 1 }; + //if(type == "PDA鎵撳寘涓嬬嚎") + //{ + // num[0] = 4; + //} var writeRes0 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti { host = ip, @@ -3930,8 +3934,8 @@ if (locInfo.state == "1") { //鍙樻洿娉ㄩ噴 - //if (string.IsNullOrEmpty(locInfo.END_LOC)) - //{ + if (string.IsNullOrEmpty(locInfo.END_LOC)) + { CMMLog.Info("InWarehouse:" + JsonConvert.SerializeObject(locInfo)); string wmstaskno = ""; string trayCode = locInfo.timeCuo; @@ -3956,19 +3960,16 @@ } } else CMMLog.Info($"鎺ラ┏浣嶅叆绔嬪簱娴佺▼锛歐MS鐢熸垚浠诲姟澶辫触锛�); - //} - //else - //{ - // //闃叉杈呮潗鍥炲簱鐨勭粓鐐硅揣浣嶆暟鎹病鍒狅紝瀵艰嚧鍏ュ簱浠诲姟璁$畻鎴愪簡杈呮潗浠诲姟锛岃繖閲岄渶瑕佷簩娆″垽鏂�- // if(locInfo.trayCode.Substring(0,3) == "SWT") - // { - // HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locCode, locInfo.END_LOC, "杈呮潗杞繍", 0, locInfo.trayCode); - // } - // else - // { - // MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("_id", locInfo._id), Update.Set("END_LOC", ""), UpdateFlags.None); - // } - //} + } + else + { + //闃叉杈呮潗鍑哄簱鐨勭粓鐐硅揣浣嶆暟鎹病鍒狅紝瀵艰嚧鍏ュ簱浠诲姟璁$畻鎴愪簡杈呮潗浠诲姟锛岃繖閲岄渶瑕佷簩娆″垽鏂�+ HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), locCode, locInfo.END_LOC, "杈呮潗鍑哄簱锛堜簩娈碉級", 0, locInfo.trayCode); + if (req.success) + { + MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "ConnectingBits", UpdateFlags.None); + } + } } } } @@ -4523,17 +4524,48 @@ else CMMLog.Info("绔嬪簱閫氶亾鏈厤缃�); } - internal static void fcrk(Settings.PlcInfo plc) + internal static void fcrk(Settings.PlcInfo plc,bool action, string taskNo = "") { - int[] num = new int[1] { 2 }; - var wirte1 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti + if (action) { - addr = plc.writeAddr + 2, - host = plc.ip, - port = plc.port, - data = num - }); - CMMLog.Info($"鍦ㄩ�閬搟plc.writeAddr + 2}涓啓鍏JsonConvert.SerializeObject(num)}锛宨p锛歿plc.ip}锛岀鍙o細{plc.port}"); + var writeRes = OITcpHelper.RegisterWriteOutPut(new OITcpHelper.RegisterWriteOutPutModel + { + host = plc.ip, + addr = plc.writeAddr, + data = 1, + port = plc.port + }); + CMMLog.Debug($"鍐欏叆璁惧{plc.location}閫氶亾{plc.writeAddr}閲岄潰鏁版嵁涓�."); + + var result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel + { + dataNum = 2, + addr = plc.readAddr, + host = plc.ip, + port = plc.port + }); + CMMLog.Debug($"鏌ヨ璁惧{plc.location}閫氶亾{plc.readAddr}閲岄潰鏁版嵁涓簕result.result[0]}銆亄result.result[1]}."); + if (result != null && result.errCode == 0) + { + if (result.result[0] == 1 && result.result[1] == 2) + { + //鎺ㄩ�灏忚溅杩涘叆 + TSHelper.GoToAGV(taskNo, 10, 1); + } + } + } + else + { + int[] num = new int[1] { 2 }; + var wirte1 = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti + { + addr = plc.writeAddr + 2, + host = plc.ip, + port = plc.port, + data = num + }); + CMMLog.Info($"鍦ㄩ�閬搟plc.writeAddr + 2}涓啓鍏JsonConvert.SerializeObject(num)}锛宨p锛歿plc.ip}锛岀鍙o細{plc.port}"); + } } /// <summary> diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs index 3a74ae0..7199b41 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs @@ -15,6 +15,7 @@ using System.Linq; using System.Net.Configuration; using System.Text; +using System.Threading; using System.Web.UI.WebControls.WebParts; using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper; using static Hanhe.iWCS.JingmenGEMTwoProtocol.EnentListen; @@ -131,22 +132,6 @@ if(mst.CN_S_STATUS=="鏈墽琛� || mst.CN_S_STATUS == "寰呮帹閫�) { mst = MongoDBSingleton.Instance.FindOne<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), "TN_I_TASK_MST"); - if (mst.CN_S_BUSS_TYPE == "杈呮潗鍥炲簱") - { - var CBTableList = MongoDBSingleton.Instance.FindAll<ConnectingBits>("ConnectingBits"); - foreach (var a in CBTableList) - { - if (string.IsNullOrEmpty(a.trayCode)) - { - string cntrType = mst.transportInfo[0].trayCode; - MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.Bit), Update.Set("trayCode", cntrType).Set("END_LOC", mst.CN_S_END_BIT), UpdateFlags.None); - - MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.Bit), UpdateFlags.None); - - new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.Bit}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.Bit)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'"); - } - } - } StringBuilder sbMsg = new StringBuilder(); var start = StockInstance.Instance.GetLocationInfoTwo(mst.CN_S_START_BIT); @@ -158,11 +143,27 @@ //涓や釜鎺ラ┏骞冲彴 if (mst.CN_S_START_BIT == conn[0].locCode || mst.CN_S_START_BIT == conn[1].locCode) { - start.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1]; + if(mst.CN_S_BUSS_TYPE == "杈呮潗鍑哄簱锛堜簩娈碉級") + { + start.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0]; + } + else + { + start.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1]; + } + } if (mst.CN_S_END_BIT == conn[0].locCode || mst.CN_S_END_BIT == conn[1].locCode) { - end.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0]; + if(mst.CN_S_BUSS_TYPE == "杈呮潗鍑哄簱锛堜簩娈碉級") + { + end.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1]; + } + else + { + end.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0]; + } + } } if (conn.Count == 1) @@ -280,7 +281,7 @@ var endLoc = MongoDBSingleton.Instance.FindOne<MongoTN_AB_STOCK_LOCATION>(Query.EQ("CN_S_LOCATION_CODE", mst.CN_S_END_BIT), "MongoTN_AB_STOCK_LOCATION"); if(startLoc != null && endLoc != null) { - if(startLoc.CN_S_AREA_CODE == "CKHJ" || endLoc.CN_S_AREA_CODE == "CKHJ") + if(startLoc.CN_S_AREA_CODE == "CKHJ" || endLoc.CN_S_AREA_CODE == "CKHJ" || endLoc.CN_S_AREA_CODE == "CPTPFCHJ" || startLoc.CN_S_AREA_CODE == "CPTPFCHJ") { TRow = "1"; } @@ -424,11 +425,12 @@ if (code == 1012) { //鍗歌揣鐢宠锛屽厛鍒ゆ柇璁惧鏄惁鍏佽杩涙枡锛屽鏋滄槸鐩存帴鏀瑰弬鏁帮紝骞堕�鐭ヨ澶�- if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") PLCControl.PickUpFullDoorUnload(plc.ip, mst.CN_S_TASK_NO);//杩涘叆3妤煎寘瑁呭彇鏂欐祦绋�012,ip:{plc.ip},task:{mst.CN_S_TASK_NO} + if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") PLCControl.PickUpFullDoorUnload(plc.ip, mst.CN_S_TASK_NO, mst.CN_S_BUSS_TYPE);//杩涘叆3妤煎寘瑁呭彇鏂欐祦绋�012,ip:{plc.ip},task:{mst.CN_S_TASK_NO} if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G") PLCControl.SecondWeightInCache1012(plc.ip, mst.CN_S_TASK_NO);//浜屾湡锛氱洿鎺ユ敼鍙傛暟 if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) TSHelper.GoToAGV(mst.CN_S_TASK_NO, 10, 1); if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingReqUnload(plc.deviceType, mst.CN_S_TASK_NO); if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineUnload1012(plc.ip, mst.CN_S_TASK_NO); + if (mst.CN_S_BUSS_TYPE == "杈呮潗鍏ュ簱") PLCControl.fcrk(plc, true, mst.CN_S_TASK_NO); if (mst.CN_S_BUSS_TYPE == "鐑樺共鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈虹┖鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�) PLCControl.DGMachine(plc,mst.CN_S_TASK_NO,true); } if (code == 4) @@ -440,7 +442,7 @@ if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineComplete4(plc.ip, mst.CN_S_SOURCE_NO); if (mst.CN_S_BUSS_TYPE != "3妤煎寘瑁呭彇鏂�) WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, 4); if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵楴G") PLCControl.CacheStackingMouth6(plc); - if (mst.CN_S_BUSS_TYPE == "杈呮潗鍏ュ簱") PLCControl.fcrk(plc); + if (mst.CN_S_BUSS_TYPE == "杈呮潗鍏ュ簱") PLCControl.fcrk(plc, false); if (mst.CN_S_BUSS_TYPE == "鐑樺共鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈虹┖鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�) PLCControl.DGMachine(plc, mst.CN_S_TASK_NO, false); } @@ -546,7 +548,7 @@ // } //} } - if (mst.CN_S_BUSS_TYPE == "3妤兼垚鍝佸嚭搴� || mst.CN_S_BUSS_TYPE == "杈呮潗鍑哄簱") + if (mst.CN_S_BUSS_TYPE == "3妤兼垚鍝佸嚭搴�) { //3妤兼垚鍝佸嚭搴撲换鍔℃嫤鎴� if (!OutWareTask(mst)) @@ -561,6 +563,10 @@ { result = true; } + } + if (mst.CN_S_BUSS_TYPE == "杈呮潗鍑哄簱") + { + FCOutTask(mst); } if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱") { @@ -629,6 +635,48 @@ } /// <summary> + /// 杈呮潗鍑哄簱 + /// </summary> + /// <param name="mst"></param> + private static void FCOutTask(TN_I_TASK_MST mst) + { + var CBInfo = Settings.GetConnectingbitsList().Where(a => a.enable == 1).ToList(); + if (CBInfo != null) + { + foreach (var a in CBInfo) + { + if (!string.IsNullOrEmpty(a.locCode)) + { + //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�+ var CBTable = MongoDBSingleton.Instance.FindOne<ConnectingBits>(Query.EQ("Bit", a.locCode), "ConnectingBits"); + if (CBTable != null) + { + if (string.IsNullOrEmpty(CBTable.trayCode)) + { + //淇敼浠诲姟缁堢偣锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�+ MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None); + + new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'"); + + MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", mst.CN_S_BATCH_NO).Set("END_LOC", a.locCode), UpdateFlags.None); + } + } + else + { + //淇敼浠诲姟缁堢偣锛屽苟涓斿皢鐐逛綅鍐欏叆涓棿琛�+ MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None); + + new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'"); + + MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = mst.CN_S_BATCH_NO, state = "0", END_LOC = a.locCode }); + } + } + else CMMLog.Debug("鎺ラ┏浣嶇偣浣嶆湭閰嶇疆"); + } + } + } + + /// <summary> /// 鍥涢挻鐢熶骇閫�簱 /// 灏嗕换鍔℃媶鍒嗘垚涓ゆ浠诲姟锛岀涓�浠诲姟缁堢偣鏀逛负鎺ラ┏骞冲彴 /// 浜屾浠诲姟浠庢帴椹冲钩鍙板叆搴�@@ -688,90 +736,77 @@ { //1銆佸垽鏂緟鏉愬叆搴撶粓鐐规槸鍚︽湁浠诲姟 //2銆佸垽鏂緭閫佺嚎妯″紡鍜屼腑闂磋〃妯″紡閮芥槸鍏ュ簱妯″紡 - bool action = true; - var plc = Settings.GetPlcInfo().Where(a => a.deviceType == "18" && a.enable == 1).ToList(); - if (plc.Count > 0) + CMMLog.Debug("杈呮潗鍏ュ簱娴佺▼ 寮�"); + + bool action = false; + var plc = Settings.GetPlcInfo().Where(a => a.location == mst.CN_S_START_BIT && a.enable == 1).First(); + if (plc != null) { - foreach(var a in plc) + var result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel { - if(CheckStartFree(a.location) && CheckEndFree(a.location)) + dataNum = 1, + addr = plc.readAddr + 3, + host = plc.ip, + port = plc.port + }); + if (result != null && result.errCode == 0) + { + CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼锛氳鍙栨粴绛掓満{plc.ip}閫氶亾鍙蜂负锛歿plc.readAddr + 3}鐨勫�涓猴細{result.result[0]}"); + if (result.result[0] == 1) { - var result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel + CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼:杈撻�绾夸负 鍑哄簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿plc.location}"); + return action; + } + if (result.result[0] == 2) + { + //璇诲彇涓棿琛ㄦā寮�+ var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList"); + if (modelInfo != null) { - dataNum = 1, - addr = a.readAddr + 3, - host = a.ip, - port = a.port - }); - if (result != null && result.errCode == 0) - { - CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr + 3}鐨勫�涓猴細{result.result[0]}"); - if (result.result[0] == 1) + if (modelInfo.Mode == "鍑哄簱妯″紡") { - action = false; - CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼:杈撻�绾夸负 鍑哄簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}"); - break; + CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼:涓棿琛�ModeList涓�鍑哄簱妯″紡"); + return action; } else { - //璇诲彇涓棿琛ㄦā寮�- var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList"); - if(modelInfo != null) - { - if(modelInfo.Mode == "鍑哄簱妯″紡") - { - action = false; - CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼:涓棿琛�ModeList涓�鍑哄簱妯″紡"); - break; - } - } - else - { - action = false; - CMMLog.Debug("杈呮潗鍏ュ簱娴佺▼:涓棿琛�ModeList 涓虹┖"); - break; - } + action = true; } } + else + { + CMMLog.Debug("杈呮潗鍏ュ簱娴佺▼:涓棿琛�ModeList 涓虹┖"); + return action; + } } - else - { - action = false; - CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼:褰撳墠鐐逛綅鏈変换鍔★紝鐐逛綅锛歿a.location}"); - break; - } - }; + } if (action) { //鍏ュ簱妯″紡鏍搁獙姝g‘ 鍒ゆ柇璐х墿鏄惁鍒颁綅 - var startPlc = plc.Where(a => a.location == mst.CN_S_START_BIT).First(); - if(startPlc != null) + result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel { - var result = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel - { - dataNum = 1, - addr = startPlc.readAddr + 1, - host = startPlc.ip, - port = startPlc.port - }); + dataNum = 1, + addr = plc.readAddr + 1, + host = plc.ip, + port = plc.port + }); - if (result != null && result.errCode == 0) + if (result != null && result.errCode == 0) + { + CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼锛氳鍙栨粴绛掓満{plc.ip}閫氶亾鍙蜂负锛歿plc.readAddr + 1}鐨勫�涓猴細{result.result[0]}"); + if (result.result[0] == 2) { - CMMLog.Debug($"杈呮潗鍏ュ簱娴佺▼锛氳鍙栨粴绛掓満{startPlc.ip}閫氶亾鍙蜂负锛歿startPlc.readAddr + 3}鐨勫�涓猴細{result.result[0]}"); - if (result.result[0] == 2) + int[] num = new int[2] { 2, 1 }; + var wirteal = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti { - int[] num = new int[2] { 2, 1 }; - var wirteal = OITcpHelper.RegisterWriteOutPutMulti(new OITcpHelper.RegisterWriteOutPutModelMulti - { - addr = startPlc.writeAddr + 1, - host = startPlc.ip, - data = num, - port = startPlc.port - }); + addr = plc.writeAddr + 1, + host = plc.ip, + data = num, + port = plc.port + }); - return true; - } + return true; } } } @@ -813,50 +848,50 @@ { #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴 - //foreach(var a in plc) - //{ - // bool action = false; - // var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel - // { - // dataNum = 1, - // addr = a.readAddr + 3, - // host = a.ip, - // port = a.port - // }); - // if (modeResult != null && modeResult.errCode == 0) - // { - // CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr + 3}鐨勫�涓猴細{modeResult.result[0]}"); - // if (modeResult.result[0] == 2) - // { - // CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}"); - // break; - // } - // else - // { - // //璇诲彇涓棿琛ㄦā寮�- // var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList"); - // if (modelInfo != null) - // { - // if (modelInfo.Mode == "鍏ュ簱妯″紡") - // { - // CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡"); - // } - // else - // { - // action = true; - // } - // } - // else - // { - // CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖"); - // } - // } - // } - // if (!action) - // { - // return false; - // } - //}; + foreach(var a in plc) + { + bool action = false; + var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel + { + dataNum = 1, + addr = a.readAddr + 3, + host = a.ip, + port = a.port + }); + if (modeResult != null && modeResult.errCode == 0) + { + CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr + 3}鐨勫�涓猴細{modeResult.result[0]}"); + if (modeResult.result[0] == 2) + { + CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}"); + break; + } + else + { + //璇诲彇涓棿琛ㄦā寮�+ var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList"); + if (modelInfo != null) + { + if (modelInfo.Mode == "鍏ュ簱妯″紡") + { + CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡"); + } + else + { + action = true; + } + } + else + { + CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖"); + } + } + } + if (!action) + { + return false; + } + }; #endregion diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs index 27e5351..817c59f 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs @@ -392,9 +392,10 @@ WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, action.CN_N_ACTION_CODE); if (mst.CN_S_BUSS_TYPE == "鍖呰绾胯ˉ绌�) PLCControl.PickUpBlankComplete(mst.CN_S_END_BIT, mst.CN_S_START_BIT); //if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂�) PLCControl.CheckUpReqUnload(mst.CN_S_END_BIT, mst.CN_S_TASK_NO,); - if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "杈呮潗杞繍") + if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "杈呮潗鍑哄簱锛堜簩娈碉級") { - MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0"), UpdateFlags.None); + MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0").Set("END_LOC", ""), UpdateFlags.None); + //MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_START_BIT), Update.Set("trayCode", "").Set("state", "0"), UpdateFlags.None); } if (mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱(浜屾)") { @@ -443,7 +444,7 @@ } - if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") + if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎" || mst.CN_S_BUSS_TYPE == "杈呮潗鍑哄簱") { MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", mst.CN_S_END_BIT), Update.Set("state", "1"), UpdateFlags.None); } @@ -845,7 +846,7 @@ /// <summary> /// 浜屾浠诲姟鐨勭粓鐐硅揣浣� /// </summary> - //public string END_LOC { get; set; } //鍙樻洿娉ㄩ噴 + public string END_LOC { get; set; } } public class DGConnectingBits diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs index 1ac220b..b725d86 100644 --- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs +++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs @@ -417,7 +417,15 @@ else if (ItemCode == "time" || ItemCode == "鎷嗙洏鍙樻洿" || ItemCode == "鎵撳寘涓嬬嚎") { CMMLog.Info($"{trayCode}"); - var time = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("timeStamp", int.Parse(trayCode)), "TimeCuoInfoCom"); + TimeCuoInfoCom time = new TimeCuoInfoCom { }; + if (trayCode.Contains("MES")) + { + time = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("timeStampMES", trayCode), "TimeCuoInfoCom"); + } + else + { + time = MongoDBSingleton.Instance.FindOne<TimeCuoInfoCom>(Query.EQ("timeStamp", int.Parse(trayCode)), "TimeCuoInfoCom"); + } if (ItemCode == "time" && time != null) { int TimeStamp = string.IsNullOrEmpty(timeStamp) ? time.timeStamp : int.Parse(timeStamp); -- Gitblit v1.9.1