| | |
| | | "ExpandedNodes": [ |
| | | "" |
| | | ], |
| | | "SelectedNode": "\\C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A", |
| | | "SelectedNode": "\\Hanhe.iWCS.JingmenGEMTwoProtocol.sln", |
| | | "PreviewInSolutionExplorer": false |
| | | } |
New file |
| | |
| | | { |
| | | "Version": 1, |
| | | "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\", |
| | | "Documents": [], |
| | | "DocumentGroupContainers": [ |
| | | { |
| | | "Orientation": 0, |
| | | "VerticalTabListWidth": 256, |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 16, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | "DockedWidth": 18, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:1:0:{e8034f19-ab72-4f06-83fd-f6832b41aa63}" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | { |
| | | "Version": 1, |
| | | "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoProtocol\\", |
| | | "Documents": [], |
| | | "DocumentGroupContainers": [ |
| | | { |
| | | "Orientation": 0, |
| | | "VerticalTabListWidth": 256, |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 16, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{eefa5220-e298-11d0-8f78-00a0c9110057}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{3ae79031-e1bc-11d0-8f78-00a0c9110057}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:130:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | "DockedWidth": 18, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{d78612c7-9962-4b83-95d9-268046dad23a}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{34e76e81-ee4a-11d0-ae2e-00a0c90fffc3}" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:1:0:{e8034f19-ab72-4f06-83fd-f6832b41aa63}" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | |
| | | "VerticalTabListWidth": 256, |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "DockedWidth": 16, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | |
| | | ] |
| | | }, |
| | | { |
| | | "DockedWidth": 22, |
| | | "DockedWidth": 18, |
| | | "SelectedChildIndex": -1, |
| | | "Children": [ |
| | | { |
| | |
| | | { |
| | | // å
æ ¹æ®ä»»å¡æ¹æ¬¡å·å段è·åæ¶é´æ³ä¸é´è¡¨-TimeCuoInfoCom æ°æ®ï¼å¹¶è¿è¡åç»è°ç¨ï¼å¤çæåå 餿¶é´æ³ä¸é´è¡¨-TimeCuoInfoCom æ°æ® |
| | | |
| | | //int n = 0; //è¡å· |
| | | int n = 0; //è¡å· |
| | | sendERPTaskInfoList.ForEach(a => |
| | | { |
| | | //n = n + 1; |
| | | n = n + 1; |
| | | #region 计ç®åæ®ç¼å· |
| | | string FBillNO = ""; |
| | | int num = 0; |
| | |
| | | CMMLog.Info($"SendERPTaskCompleteFunc: {FBillNO}"); |
| | | #endregion |
| | | |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"); |
| | | string sql = $"INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"; |
| | | if(new SqlHelper<object>().ExecuteSql(sql, false)) |
| | | if(!string.IsNullOrEmpty(a.orderCode) && a.orderCode.Length >= 2 && a.orderCode.Substring(0,2) == "MO") |
| | | { |
| | | #region åé¦ä¿¡æ¯ç»mes å¯¹æ¥ææ¡£ https://365.kdocs.cn/l/cltzoEaznLco |
| | | bool result = sendMes(a, true); |
| | | |
| | | if (!result) |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"); |
| | | string sql = $"INSERT INTO T_JY_PRDINSTOCKOP (FBillNO,FSourceBillNo,FEntryID,FSEQ,FQTY,FStockNumber,FLot,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','{a.orderCode}','{a.FEntryID}','1','{a.totalNeedWeight}','CK020','{a.lotCode}','{a.productTime}','{a.invalidationTime}','{a.taskNo}','1','0')"; |
| | | if (new SqlHelper<object>().ExecuteSql(sql, false)) |
| | | { |
| | | //å°æ°æ®åå
¥ä¸é´è¡¨ï¼éæ°åé |
| | | MongoDBSingleton.Instance.Insert<SendMESTaskInfoTable>(new SendMESTaskInfoTable |
| | | #region åé¦ä¿¡æ¯ç»mes å¯¹æ¥ææ¡£ https://365.kdocs.cn/l/cltzoEaznLco |
| | | bool result = sendMes(a, true); |
| | | |
| | | if (!result) |
| | | { |
| | | taskNo = a.taskNo, |
| | | Bit = a.Bit, |
| | | packingMachineNumber = a.packingMachineNumber, |
| | | materiCode = a.materiCode, |
| | | materiName = a.materiName, |
| | | materialSpec = a.materialSpec, |
| | | totalWeight = a.totalWeight, |
| | | lotCode = a.lotCode, |
| | | timeStamp = a.timeStamp, |
| | | productTime = a.productTime, |
| | | invalidationTime = a.invalidationTime, |
| | | isFinish = a.isFinish, |
| | | dateTime = a.dateTime, |
| | | orderCode = a.orderCode, |
| | | totalNeedWeight = a.totalNeedWeight, |
| | | netWeight = a.netWeight, |
| | | FEntryID = a.FEntryID |
| | | }); |
| | | //å°æ°æ®åå
¥ä¸é´è¡¨ï¼éæ°åé |
| | | MongoDBSingleton.Instance.Insert<SendMESTaskInfoTable>(new SendMESTaskInfoTable |
| | | { |
| | | taskNo = a.taskNo, |
| | | Bit = a.Bit, |
| | | packingMachineNumber = a.packingMachineNumber, |
| | | materiCode = a.materiCode, |
| | | materiName = a.materiName, |
| | | materialSpec = a.materialSpec, |
| | | totalWeight = a.totalWeight, |
| | | lotCode = a.lotCode, |
| | | timeStamp = a.timeStamp, |
| | | productTime = a.productTime, |
| | | invalidationTime = a.invalidationTime, |
| | | isFinish = a.isFinish, |
| | | dateTime = a.dateTime, |
| | | orderCode = a.orderCode, |
| | | totalNeedWeight = a.totalNeedWeight, |
| | | netWeight = a.netWeight, |
| | | FEntryID = a.FEntryID |
| | | }); |
| | | } |
| | | #endregion |
| | | |
| | | //æå
¥æå æ¸
é¤ä¸é´è¡¨ |
| | | MongoDBSingleton.Instance.Remove<SendErpTaskInfoTable>(Query.EQ("_id", a._id), "SendErpTaskInfoTable", RemoveFlags.None); |
| | | MongoDBSingleton.Instance.Remove<TimeCuoInfoCom>(Query.EQ("timeStamp", int.Parse(a.timeStamp)), "TimeCuoInfoCom", RemoveFlags.None); |
| | | } |
| | | #endregion |
| | | } |
| | | else |
| | | { |
| | | CMMLog.Info($"SendERPTaskCompleteFunc:INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}',{sendERPTaskInfoList.Count},'0')"); |
| | | string sql = $"INSERT INTO T_JY_SPInStockADD (FBillNO,FStockOrgNumber,FPrdOrgNumber,FSeq,FMaterialNumber,Flot,FInStockType,FMustQty,FStockNumber,FWorkShopNumber,FStockStatus,FProduceDate ,FExpiryDate,FTaskNumber,FCountEntry,FOpStatus) VALUES ('{FBillNO}','02','02','{n}','{a.materiCode}','{a.lotCode}','1','{a.totalWeight}','CK020','BM000161','1','{a.productTime}','{a.invalidationTime}','{a.taskNo}',{sendERPTaskInfoList.Count},'0')"; |
| | | new SqlHelper<object>().ExecuteSql(sql, false); |
| | | |
| | | //æå
¥æå æ¸
é¤ä¸é´è¡¨ |
| | | MongoDBSingleton.Instance.Remove<SendErpTaskInfoTable>(Query.EQ("_id", a._id), "SendErpTaskInfoTable", RemoveFlags.None); |
| | | MongoDBSingleton.Instance.Remove<TimeCuoInfoCom>(Query.EQ("timeStamp", int.Parse(a.timeStamp)), "TimeCuoInfoCom", RemoveFlags.None); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | } |
| | |
| | | if (trayCode.errCode == 0 && trayCode.result.Length == 80) |
| | | { |
| | | //è·åæçç çä¿¡æ¯ è¯»åéé 10ã11ã12çæ°æ®ä½ä¸ºæçç 读åå
¶å®éé éé å å
çä¿¡æ¯ æææ°æ®åå
¥MachineInfo表 |
| | | GetMachineData(pmInfo, trayCode.result); |
| | | string location = ""; |
| | | GetMachineData(pmInfo,ref location, trayCode.result); |
| | | var tray = MongoDBSingleton.Instance.FindOne<MachineInfo>(Query.EQ("machineNo", pmInfo.location), "MachineInfo"); |
| | | if (tray != null && tray.addState == 0) |
| | | { |
| | |
| | | if (trayCode.errCode == 0 && trayCode.result.Length == 95) |
| | | { |
| | | //è·åæçç çä¿¡æ¯ è¯»åéé 11ã12ã13çæ°æ®ä½ä¸ºæçç 读åå
¶å®éé éé å å
çä¿¡æ¯ æææ°æ®åå
¥MachineInfo表 |
| | | GetMachineData(pmInfo, trayCode.result, false, "1"); |
| | | |
| | | string flLoc = ""; |
| | | string location = ""; |
| | | GetMachineData(pmInfo,ref location, trayCode.result, false, "1"); |
| | | if (pmInfo.location.Contains("FLZT")) |
| | | { |
| | | flLoc = pmInfo.location; |
| | | pmInfo.location = location; |
| | | } |
| | | |
| | | var tray = MongoDBSingleton.Instance.FindOne<MachineInfo>(Query.EQ("machineNo", pmInfo.location), "MachineInfo"); |
| | | if (tray != null) |
| | | { |
| | |
| | | { |
| | | CMMLog.Info($"ç©æç¼ç ï¼{tray.materialCode}ï¼æ¹æ¬¡å·ï¼{tray.lotNo}"); |
| | | string timeStamp = ProcessHelper.GetTimeStamp(31, 1, 1); |
| | | pmInfo.location = !string.IsNullOrEmpty(flLoc) ? flLoc : pmInfo.location; |
| | | HHAmsExecuteResult req = AMSHelper.CreateTask(DateTime.Now.Ticks.ToString(), pmInfo.location, PlcBit02, "3楼å
è£
åæ", 0, tray.trayCode, timeStamp); |
| | | ProcessHelper.deleteInfo(pmInfo.location + "-å
è£
ä¸çº¿"); |
| | | //å
è£
åæå¸è´§å®æï¼è®¾å¤ç产æ°éå ä¸ |
| | |
| | | if (trayCode.errCode == 0 && trayCode.result.Length == 80) |
| | | { |
| | | //è·åæçç çä¿¡æ¯ è¯»åéé 10ã11ã12çæ°æ®ä½ä¸ºæçç 读åå
¶å®éé éé å å
çä¿¡æ¯ æææ°æ®åå
¥MachineInfo表 |
| | | GetMachineData(pmInfo, trayCode.result); |
| | | string location = ""; |
| | | GetMachineData(pmInfo,ref location, trayCode.result); |
| | | var tray = MongoDBSingleton.Instance.FindOne<MachineInfo>(Query.EQ("machineNo", pmInfo.location), "MachineInfo"); |
| | | if (tray != null && tray.addState == 0) |
| | | { |
| | |
| | | if (trayCode.errCode == 0 && trayCode.result.Length == 95) |
| | | { |
| | | //è·åæçç çä¿¡æ¯ è¯»åéé 11ã12ã13çæ°æ®ä½ä¸ºæçç 读åå
¶å®éé éé å å
çä¿¡æ¯ æææ°æ®åå
¥MachineInfo表 |
| | | GetMachineData(pmInfo, trayCode.result, false, "2"); |
| | | string flLoc = ""; |
| | | string location = ""; |
| | | GetMachineData(pmInfo,ref location, trayCode.result, false, "2"); |
| | | if (pmInfo.location.Contains("FLZT")) |
| | | { |
| | | flLoc = pmInfo.location; |
| | | pmInfo.location = location; |
| | | } |
| | | var tray = MongoDBSingleton.Instance.FindOne<MachineInfo>(Query.EQ("machineNo", pmInfo.location), "MachineInfo"); |
| | | if (tray != null) |
| | | { |
| | |
| | | { |
| | | CMMLog.Info($"ç©æç¼ç ï¼{tray.materialCode}ï¼æ¹æ¬¡å·ï¼{tray.lotNo}"); |
| | | string timeStamp = ProcessHelper.GetTimeStamp(31, 1, 1); |
| | | pmInfo.location = !string.IsNullOrEmpty(flLoc) ? flLoc : pmInfo.location; |
| | | HHAmsExecuteResult req; |
| | | if (pmInfo.deviceType == "22") |
| | | { |
| | |
| | | /// <param name="info"></param> |
| | | /// <param name="result"></param> |
| | | /// <param name="noPack">true : MESäº¤äºæ¹å¼ false : æ MESäº¤äºæ¹å¼</param> |
| | | private static void GetMachineData(Settings.PlcInfo pmInfo,int[] result ,bool noPack = true,string isOne = "") |
| | | private static void GetMachineData(Settings.PlcInfo pmInfo, ref string loc, int[] result ,bool noPack = true,string isOne = "") |
| | | { |
| | | //Console.WriteLine($"è¿å
¥æ°æ®å¤çæµç¨ï¼"); |
| | | CMMLog.Info($"è¿å
¥æ°æ®å¤çæµç¨ï¼"); |
| | |
| | | string empCode = RemoveNull(GetTrayCode(result.Take(5).ToArray()));//åå·¥ç¼ç |
| | | string trayCode = RemoveNull(GetTrayCode(result.Skip(5).Take(3).ToArray()));//æçç |
| | | string location = RemoveNull(GetTrayCode(result.Skip(8).Take(1).ToArray()));//设å¤è´§ä½ç¼ç |
| | | loc = location; |
| | | #region 2024-12-30 åæ´ å å
¥mesç产订åç¼å· åå½ID åæ´æ³¨é |
| | | string orderCode = ""; //ç产订åç¼å· |
| | | int fEntryID = 0; //åå½ID |