| | |
| | | result = ApiHelper.Bzxx(model); |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 电钴包装下线 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpGet] |
| | | [Route("DGPackingLineFull")] |
| | | public SimpleResult DGPackingLineFull(string trayCode) |
| | | { |
| | | SimpleResult result = new SimpleResult(); |
| | | CMMLog.Debug("DGPackingLineFull Request:" + trayCode); |
| | | result = ApiHelper.DGPackingLineFull(trayCode); |
| | | return result; |
| | | } |
| | | } |
| | | } |
| | |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 电钴车间包装下线获取wms传入的托盘 |
| | | /// </summary> |
| | | /// <param name="trayCode"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | internal static SimpleResult DGPackingLineFull(string trayCode) |
| | | { |
| | | SimpleResult result = new SimpleResult() { success = false,errCode = -1 }; |
| | | |
| | | if (!string.IsNullOrEmpty(trayCode)){ |
| | | var DGInfo = MongoDBSingleton.Instance.FindOne<DGPackingLineFullModel>(Query.EQ("trayCode", trayCode), "DGPackingLineFullModel"); |
| | | if (DGInfo == null) |
| | | { |
| | | MongoDBSingleton.Instance.Insert<DGPackingLineFullModel>(new DGPackingLineFullModel() { trayCode = trayCode, createTime = DateTime.Now }, "DGPackingLineFullModel"); |
| | | result.success = true; |
| | | result.errCode = 0; |
| | | } |
| | | else |
| | | { |
| | | result.errMsg = $"当前托盘号,已存在于ams中间表中,托盘号:{trayCode}"; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | result.errMsg = $"当前托盘号为空"; |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public class mesInfo |
| | | { |
| | | public int code { get; set; } |
| | |
| | | public int haveItem { get; set; } |
| | | } |
| | | |
| | | public class DGPackingLineFullModel |
| | | { |
| | | public ObjectId _id { get; set; } |
| | | public string trayCode { get; set; } |
| | | public DateTime createTime { get; set; } |
| | | } |
| | | |
| | | public class secondResultCache |
| | | { |
| | | /// <summary> |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region 10019-电钴接驳位入立库 |
| | | if (currActionModel.CN_N_ACTION_CODE == 10019) |
| | | { |
| | | var conInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList(); |
| | | if (conInfo != null) |
| | | { |
| | | foreach (var a in conInfo) |
| | | { |
| | | CMMLog.Info(JsonConvert.SerializeObject(a)); |
| | | PLCControl.DGInWarehouse(a.locCode); |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #endregion |
| | | return bResult; |
| | | } |
| | |
| | | internal static void PickUpFullDoorComplete(string ip, string taskNo) |
| | | { |
| | | var plc = Settings.GetPlcInfo().Where(a => a.ip == ip).FirstOrDefault(); |
| | | if (plc != null && !plc.location.Contains("FLZT")) |
| | | if (plc != null) |
| | | { |
| | | if (plc.location.Contains("FLZT")) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 四钴接驳位入立库任务 |
| | | /// </summary> |
| | | /// <param name="locCode"></param> |
| | | internal static void DGInWarehouse(string locCode) |
| | | { |
| | | try |
| | | { |
| | | var locInfo = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", locCode), "DGConnectingBits"); |
| | | if (locInfo != null) |
| | | { |
| | | if (locInfo.state == "1") |
| | | { |
| | | CMMLog.Info("DGInWarehouse:" + JsonConvert.SerializeObject(locInfo)); |
| | | string wmstaskno = ""; |
| | | string trayCode = ""; |
| | | bool req = WMSHelper.WMSIn(locCode, "电钴打包下线", ref wmstaskno, ref trayCode, "", "CKHJ"); |
| | | if (req) |
| | | { |
| | | CMMLog.Info($"电钴接驳位入立库流程:WMS生成任务成功!"); |
| | | MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", locCode), Update.Set("state", "2"), "DGConnectingBits", UpdateFlags.None); |
| | | } |
| | | else CMMLog.Info($"电钴接驳位入立库流程:WMS生成任务失败!"); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | CMMLog.Info("DGInWarehouse" + ex.Message); |
| | | } |
| | | } |
| | | |
| | | internal static void outWare(string taskNo,bool flage) |
| | | { |
| | | var plc = Settings.GetPlcInfo().Where(a => a.Extend == "2" && a.enable == 1).FirstOrDefault(); |
| | |
| | | //成品下线任务生成到接驳平台 |
| | | string traycode = DateTime.Now.ToString("yyyy-MM-dd").Replace("-", ""); |
| | | //可生成任务 |
| | | var CBInfo = Settings.GetConnectingbitsList().Where(a => a.enable == 1).ToList(); |
| | | var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList(); |
| | | if (CBInfo != null) |
| | | { |
| | | //string timeStamp = timecuo.data.First().timeStamp.ToString(); |
| | |
| | | if (!string.IsNullOrEmpty(a.locCode)) |
| | | { |
| | | //在中间表中查找点位 |
| | | var CBTable = MongoDBSingleton.Instance.FindOne<ConnectingBits>(Query.EQ("Bit", a.locCode), "ConnectingBits"); |
| | | var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits"); |
| | | if (CBTable != null) |
| | | { |
| | | if (string.IsNullOrEmpty(CBTable.trayCode)) |
| | |
| | | if (amsResult.success) |
| | | { |
| | | CMMLog.Debug($"包装机满托下线:AMS调用API成功!"); |
| | | MongoDBSingleton.Instance.Update<ConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeStamp), UpdateFlags.None); |
| | | MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", traycode).Set("timeCuo", timeStamp), UpdateFlags.None); |
| | | |
| | | break; |
| | | } |
| | |
| | | CMMLog.Debug($"包装机满托下线:AMS调用API成功!"); |
| | | //打包下线任务生成成功,向中间表插入数据 |
| | | |
| | | MongoDBSingleton.Instance.Insert<ConnectingBits>(new ConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeStamp }); |
| | | MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = traycode, state = "0", timeCuo = timeStamp }); |
| | | break; |
| | | } |
| | | else CMMLog.Debug($"包装机满托下线:AMS调用API失败,开始重新调用!"); |
| | |
| | | if (plc.Count > 0) |
| | | { |
| | | #region 判断输送线模式 变更注释 |
| | | //bool action = true; |
| | | //foreach(var a in plc) |
| | | //{ |
| | | // 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) |
| | | // { |
| | | // action = false; |
| | | // CMMLog.Debug($"OutWareTask:输送线为 入库模式,输送线点位:{a.location}"); |
| | | // break; |
| | | // } |
| | | // else |
| | | // { |
| | | // //读取中间表模式 |
| | | // var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList"); |
| | | // if (modelInfo != null) |
| | | // { |
| | | // if (modelInfo.Mode == "入库模式") |
| | | // { |
| | | // action = false; |
| | | // CMMLog.Debug($"OutWareTask:中间表 ModeList为 入库模式"); |
| | | // break; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // action = false; |
| | | // CMMLog.Debug("OutWareTask:中间表 ModeList 为空"); |
| | | // break; |
| | | // } |
| | | // } |
| | | // } |
| | | //}; |
| | | //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 |
| | | |
| | | |
| | |
| | | { |
| | | //打包下线取货完成,将数据写入中间表 |
| | | } |
| | | |
| | | if (mst.CN_S_BUSS_TYPE == "电钴缓存架入立库") |
| | | { |
| | | MongoDBSingleton.Instance.Remove<DGPackingLineFullModel>(Query.EQ("trayCode", mst.CN_S_BATCH_NO),RemoveFlags.None); |
| | | } |
| | | } |
| | | if (action.CN_N_ACTION_CODE == 6) |
| | | { |
| | |
| | | /// </summary> |
| | | //public string END_LOC { get; set; } //变更注释 |
| | | } |
| | | |
| | | public class DGConnectingBits |
| | | { |
| | | public ObjectId _id { get; set; } |
| | | /// <summary> |
| | | /// 货位编码 |
| | | /// </summary> |
| | | public string Bit { get; set; } |
| | | /// <summary> |
| | | /// 托盘号 |
| | | /// </summary> |
| | | public string trayCode { get; set; } |
| | | /// <summary> |
| | | /// 货位状态 0 无货 1 有货 |
| | | /// </summary> |
| | | public string state { get; set; } |
| | | /// <summary> |
| | | /// 时间戳 |
| | | /// </summary> |
| | | public string timeCuo { get; set; } |
| | | /// <summary> |
| | | /// 二段任务的终点货位 |
| | | /// </summary> |
| | | //public string END_LOC { get; set; } //变更注释 |
| | | } |
| | | |
| | | #endregion |
| | | public class InAndOutQuantity |
| | | { |
| | | public ObjectId _id { get; set; } |
| | |
| | | public string Day { get; set; } |
| | | public int Quntity { get; set; } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | internal void writeAGVState(TN_I_TASK_DTL_ACTION action) |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region SGConnectingbits |
| | | private static string _SGConnectingbits = ""; |
| | | private static string SGConnectingbitsList |
| | | { |
| | | get |
| | | { |
| | | if (_SGConnectingbits == "") |
| | | { |
| | | _SGConnectingbits = XmlHelper.GetElementValue("SGConnectingbits"); |
| | | } |
| | | return _SGConnectingbits; |
| | | } |
| | | } |
| | | |
| | | private static List<SGConnectingbitsModel> SGconnectingbits = new List<SGConnectingbitsModel>(); |
| | | public static List<SGConnectingbitsModel> GetDGConnectingbitsList() |
| | | { |
| | | if (SGconnectingbits.Count == 0 && SGConnectingbitsList != "") |
| | | { |
| | | SGconnectingbits = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SGConnectingbitsModel>>(SGConnectingbitsList); |
| | | } |
| | | return SGconnectingbits; |
| | | } |
| | | |
| | | public class SGConnectingbitsModel |
| | | { |
| | | public string locCode { get; set; } |
| | | public int[] agvSite { get; set; } |
| | | public int enable { get; set; } |
| | | } |
| | | #endregion |
| | | |
| | | #region ThirdUrl |
| | | private static string _ThirdUrl = ""; |
| | | private static string ThirdUrlList |
| | |
| | | using System.Security.Cryptography; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper; |
| | | using static Hanhe.iWCS.JingmenGEMTwoProtocol.ERPService; |
| | | using static Hanhe.iWCS.JingmenGEMTwoProtocol.MESHelper; |
| | | using static System.Runtime.CompilerServices.RuntimeHelpers; |
| | |
| | | //将数据插入中间表 |
| | | ERPService.senderpTask(time, startBit); |
| | | } |
| | | 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; |
| | | //model.endArea = endArea; |
| | | } |
| | | |
| | | //将数据插入中间表 |
| | | //ERPService.senderpTask(time, startBit); |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | </Connectingbits> |
| | | |
| | | <!-- |
| | | 成品入库的接驳位-四钴 |
| | | 参数说明: |
| | | locCode:货位编码 |
| | | --> |
| | | <SGConnectingbits> |
| | | <![CDATA[ |
| | | [ |
| | | {"locCode":"1","agvSite":[],"enable":1}, |
| | | {"locCode":"2","agvSite":[],"enable":1} |
| | | ]]]> |
| | | </SGConnectingbits> |
| | | |
| | | <!-- |
| | | 第三方接口URL配置项 |
| | | 参数说明: |
| | | UrlNo:URL标识(唯一,开发指定,不允许修改) |