ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/settings.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ams/Hanhe.iWCS.JingmenGEMTwoTCP/.vs/Hanhe.iWCS.JingmenGEMTwoTCP/v17/DocumentLayout.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ams/Hanhe.iWCS.JingmenGEMTwoTCP/WCSServer.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ERPService.cs
@@ -1,4 +1,5 @@ using Hanhe.iWCS.Common; using Hanhe.iWCS.DeviceDriver; using Hanhe.iWCS.MData; using Hanhe.iWCS.Model; using MongoDB.Bson; @@ -14,10 +15,13 @@ using System.Net.NetworkInformation; using System.Net.Sockets; using System.Security.Cryptography; using System.Security.Policy; using System.Text; using System.Threading.Tasks; using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper; using static Hanhe.iWCS.JingmenGEMTwoProtocol.MESHelper; using static Hanhe.iWCS.JingmenGEMTwoProtocol.PLCControl; using static Hanhe.iWCS.JingmenGEMTwoProtocol.ProtocolAnalysis; namespace Hanhe.iWCS.JingmenGEMTwoProtocol { @@ -35,6 +39,7 @@ static WebApiHelper api = new WebApiHelper(); public const string ERPSwitch01 = "1";// ERP变更流程开关 public static HardwareAccessObject hao = HardwareAccessHelper.Instance.GetEquipmentsHAO(Constants.WMS_DEVICE_TYPE_WMS); public static List<string> SendERPTaskType = Settings.SendERPTaskType.Split(',').ToList();//回报任务类型 public static List<string> LoginInfo = Settings.LoginInfo.Split(',').ToList();// ERP登录接口传输信息 @@ -2035,26 +2040,54 @@ } internal static void senderpTaskDG(string startBit) internal static void senderpTaskDG(string startBit, string trayCode) { try { //通过托盘号调用wms接口获取物料信息 CMMLog.Info("插入SendErpTaskInfoTable 表 开始:" + startBit); var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTable>(Query.EQ("Bit", startBit), "SendErpTaskInfoTable"); CMMLog.Info("SendErpTaskInfoTableDG 表 开始:" + startBit); var url = hao.WebUrl + "GlmTrayItemSet"; var erpInfo = MongoDBSingleton.Instance.FindOne<SendErpTaskInfoTableDG>(Query.EQ("Bit", startBit), "SendErpTaskInfoTableDG"); if (erpInfo == null) { //string fEntryId = time.FEntryID_1.ToString() + (time.FEntryID_2 == 0 ? "" : ";" + time.FEntryID_2.ToString()) + (time.FEntryID_3 == 0 ? "" : ";" + time.FEntryID_3.ToString()) + (time.FEntryID_4 == 0 ? "" : ";" + time.FEntryID_4.ToString()); string materiCode = ""; string lotCode = ""; int totalWeight = 0; string productTime = ""; CMMLog.Info("插入SendErpTaskInfoTable 表 1"); MongoDBSingleton.Instance.Insert<SendErpTaskInfoTable>(new SendErpTaskInfoTable //根据托盘号获取入库物料信息 CJWareNum model = new CJWareNum { TrayCode = trayCode }; string msgData = JsonConvert.SerializeObject(model); var feedback = helper.WebPost(url, msgData).Replace(@"\", "").Trim(); CMMLog.Info($"SendErpTaskInfoTableDG:【调用wms获取物料信息】:接收数据:" + feedback); if (!string.IsNullOrEmpty(feedback)) { var wmsResponse = JsonConvert.DeserializeObject<LKInfoResModel>(feedback); if (wmsResponse.Success == true) { materiCode = wmsResponse.Data.CN_S_MATERI_CODE; lotCode = wmsResponse.Data.CN_S_LOT_NO; totalWeight = wmsResponse.Data.CN_N_WEIGHT; productTime = wmsResponse.Data.CN_S_Data; } } CMMLog.Info("SendErpTaskInfoTableDG 表 1"); MongoDBSingleton.Instance.Insert<SendErpTaskInfoTableDG>(new SendErpTaskInfoTableDG { Bit = startBit, //materiCode = time.materialCode, //lotCode = time.batchNumber, //productTime = Convert.ToDateTime(time.ProductionDate).AddHours(8), //invalidationTime = Convert.ToDateTime(time.ProductionDate).AddHours(8).AddDays(365), materiCode = materiCode, lotCode = lotCode, totalWeight = totalWeight, productTime = Convert.ToDateTime(productTime).AddHours(8), invalidationTime = Convert.ToDateTime(productTime).AddHours(8).AddDays(365), dateTime = DateTime.Now.AddHours(8), //变更注释 mesSucess = "0" ams/Hanhe.iWCS.JingmenGEMTwoProtocol/PLCControl.cs
@@ -3979,7 +3979,7 @@ } /// <summary> /// 四钴接驳位入立库任务 /// 电钴接驳位入立库任务 /// </summary> /// <param name="locCode"></param> internal static void DGInWarehouse(string locCode) @@ -4525,7 +4525,7 @@ } /// <summary> /// 四钴A(洗板烘干机组)设备上空下满 /// 电钴A(洗板烘干机组)设备上空下满 /// </summary> /// <param name="plc"></param> /// <exception cref="NotImplementedException"></exception> @@ -4548,8 +4548,8 @@ { //送空 bool req = WMSHelper.WMSOut(plc.location, "", ""); if (req) CMMLog.Debug($"四钴A设备 调用WMS获取空托出库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"四钴A设备 调用WMS获取空托出库生成任务失败!"); if (req) CMMLog.Debug($"电钴A设备 调用WMS获取空托出库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"电钴A设备 调用WMS获取空托出库生成任务失败!"); } if (result.result[0] == 2) { @@ -4557,20 +4557,20 @@ string wmstaskno = ""; string traycode = ""; bool req = WMSHelper.WMSIn(plc.location, "", ref wmstaskno, ref traycode); if (req) CMMLog.Debug($"四钴A设备 调用WMS获取满托入库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"四钴A设备 调用WMS获取满托入库生成任务失败!"); if (req) CMMLog.Debug($"电钴A设备 调用WMS获取满托入库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"电钴A设备 调用WMS获取满托入库生成任务失败!"); } } } catch (Exception ex) { CMMLog.Info($"四钴A设备 err:{ex.Message}"); CMMLog.Info($"电钴A设备 err:{ex.Message}"); } } } /// <summary> /// 四钴C(钴板剪切机组)设备上满下空 /// 电钴C(钴板剪切机组)设备上满下空 /// </summary> /// <param name="a"></param> /// <exception cref="NotImplementedException"></exception> @@ -4593,8 +4593,8 @@ { //送满 bool req = WMSHelper.WMSOut(plc.location, "", ""); if (req) CMMLog.Debug($"四钴C设备 调用WMS获取满托出库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"四钴C设备 调用WMS获取满托出库生成任务失败!"); if (req) CMMLog.Debug($"电钴C设备 调用WMS获取满托出库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"电钴C设备 调用WMS获取满托出库生成任务失败!"); } if (result.result[0] == 2) { @@ -4602,14 +4602,14 @@ string wmstaskno = ""; string traycode = ""; bool req = WMSHelper.WMSIn(plc.location, "", ref wmstaskno, ref traycode); if (req) CMMLog.Debug($"四钴C设备 调用WMS获取空托入库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"四钴C设备 调用WMS获取空托入库生成任务失败!"); if (req) CMMLog.Debug($"电钴C设备 调用WMS获取空托入库生成任务成功!");//现在任务由WMS自己下发,AMS做拦截处理(查询ext1里面对应的任务类型,并更改任务类型) else CMMLog.Debug($"电钴C设备 调用WMS获取空托入库生成任务失败!"); } } } catch (Exception ex) { CMMLog.Info($"四钴C设备 err:{ex.Message}"); CMMLog.Info($"电钴C设备 err:{ex.Message}"); } } } @@ -4785,7 +4785,7 @@ } catch (Exception ex) { CMMLog.Info($"四钴C设备 err:{ex.Message}"); CMMLog.Info($"电钴C设备 err:{ex.Message}"); } } } @@ -4834,13 +4834,28 @@ public string Msg { get; set; } public LKData Data { get; set; } public int AffectedRows { get; set; } public bool Success { get; set; } } public class LKData { /// <summary> /// 批次号 /// </summary> public string CN_S_LOT_NO { get; set; } /// <summary> /// 物料编码 /// </summary> public string CN_S_MATERI_CODE { get; set; } /// <summary> /// 桶重量(单个桶重量*桶数量) /// </summary> public int CN_N_WEIGHT { get; set; } /// <summary> /// 生产日期 /// </summary> public string CN_S_Data { get; set; } public int CN_S_EXT8 { get; set; } } ams/Hanhe.iWCS.JingmenGEMTwoProtocol/WMSHelper.cs
@@ -510,14 +510,14 @@ //将数据插入中间表 ERPService.senderpTask(time, startBit); } else if (ItemCode == "四钴打包下线") else if (ItemCode == "电钴打包下线") { var DGinfoList = MongoDBSingleton.Instance.FindAll<DGPackingLineFullModel>("DGPackingLineFullModel"); if(DGinfoList.Count > 0){ var DGinfo = DGinfoList.OrderBy(a => a.createTime).First(); model.trayCode = DGinfo.trayCode; //将数据插入中间表 ERPService.senderpTaskDG(startBit); ERPService.senderpTaskDG(startBit, DGinfo.trayCode); } } } ams/Hanhe.iWCS.JingmenGEMTwoProtocol/settings.xml
@@ -289,7 +289,7 @@ </Connectingbits> <!-- 成品入库的接驳位-四钴 成品入库的接驳位-电钴 参数说明: locCode:货位编码 --> ams/Hanhe.iWCS.JingmenGEMTwoTCP/.vs/Hanhe.iWCS.JingmenGEMTwoTCP/v17/DocumentLayout.json
@@ -1,6 +1,6 @@ { "Version": 1, "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\GIT\\\u8346\u95E8\u683C\u6797\u7F8E\u5357\u533A\\ams\\Hanhe.iWCS.JingmenGEMTwoTCP\\", "WorkspaceRootPath": "C:\\software\\A-\u5DE5\u4F5C\\\u6E90\u7801\\WCS\\Hanhe.iWCS.3.3\\\u8346\u95E8\u683C\u6797\u7F8E\\Hanhe.iWCS.JingmenGEMTwoTCP\\", "Documents": [], "DocumentGroupContainers": [ { ams/Hanhe.iWCS.JingmenGEMTwoTCP/WCSServer.cs
@@ -136,6 +136,10 @@ //10021-erp简单生产入库表反馈失败,重新反馈 IEnentListen SendERPTaskCompleteFuncThree = DataAccess.CreateEnentListen(); SendERPTaskCompleteFuncThree.EnentSubscribe(new TN_I_TASK_DTL_ACTION() { CN_N_ACTION_CODE = 10021 }); //10022-反馈erp 插入简单生产入库表(电钴) IEnentListen SendERPTaskCompleteFuncDG = DataAccess.CreateEnentListen(); SendERPTaskCompleteFuncDG.EnentSubscribe(new TN_I_TASK_DTL_ACTION() { CN_N_ACTION_CODE = 10021 }); } public class YourReceiveFilter : IReceiveFilterFactory<BinaryRequestInfo> {