add
zongzhibin
2024-11-24 272ea6040258a7adfc807123036378915860fb90
SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -195,13 +195,7 @@
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写  " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_DataFinish);
                    return false;
                }
                int i_result = 0;
                if (value)
                {
@@ -211,13 +205,22 @@
                {
                    i_result = 999;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo);
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_DataFinish);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写  " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_DataFinish);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
@@ -231,7 +234,7 @@
        }
        public bool InboundFinishConfirm(string stationCode, out string msg)
        public bool InboundFinishConfirm(string stationCode, bool value, out string msg)
        {
            try
            {
@@ -239,10 +242,10 @@
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, true, view_stationObj.W_DataFinish);
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_InboundFinishConfirm, value, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写  " + true + "失败,返回结果:" + b2.resMsg,
                    msg = string.Format("向Station地址{0}  入库完成确认 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_InboundFinishConfirm);
                    return false;
                }
@@ -259,7 +262,7 @@
            }
        }
        public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg)
        public bool OutboundFinishConfirm(string stationCode, bool value, out string msg)
        {
            try
            {
@@ -267,11 +270,99 @@
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_OutboundFinishConfirm, value, view_stationObj.W_OutboundFinishConfirm);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 读码解析完成 " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_DataFinish);
                    msg = string.Format("向Station 出库任务完成确认 地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_OutboundFinishConfirm);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, false, view_stationObj.W_ReqOut);
                if (!b2.result)
                {
                    msg = string.Format("向Station W_ReqOut 地址{0} 写  " + false + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_ReqOut);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, 0, view_stationObj.W_Destination_Out);
                if (!b2.result)
                {
                    msg = string.Format("向Station W_Destination_Out 地址{0} 写  " + 0 + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_Destination_Out);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, 0, view_stationObj.W_Outbound_TaskID);
                if (!b2.result)
                {
                    msg = string.Format("向Station W_Outbound_TaskID 地址{0} 写  " + 0 + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_Outbound_TaskID);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                var logcontext = string.Format("向Statio 出库任务完成确认 出现异常:" + JsonConvert.SerializeObject(ex),
                        "");
                Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                return false;
            }
        }
        /// <summary>
        /// 切换模式
        /// </summary>
        /// <param name="stationCode"></param>
        /// <param name="value"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public bool ChangeMode(string stationCode, int value, out string msg)
        {
            try
            {
                msg = "";
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Mode, value, view_stationObj.W_Mode);
                if (!b2.result)
                {
                    msg = string.Format("向Station 切换模式 地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_Mode);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                var logcontext = string.Format("向Statio 切换模式 出现异常:" + JsonConvert.SerializeObject(ex),
                        "");
                Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                return false;
            }
        }
        public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg, int inbound_TaskID)
        {
            try
            {
                msg = "";
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Inbound_TaskID, inbound_TaskID, view_stationObj.W_Inbound_TaskID);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 入库任务号 " + inbound_TaskID + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Inbound_TaskID);
                    return false;
                }
@@ -305,6 +396,16 @@
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 读码解析完成 " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_DataFinish);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
@@ -316,6 +417,197 @@
                return false;
            }
        }
        /// <summary>
        /// 写入码垛任务信息
        /// </summary>
        /// <param name="stationCode"></param>
        /// <param name=""></param>
        /// <param name="taskID"></param>
        /// <param name="isLast"></param>
        /// <param name="length"></param>
        /// <param name="width"></param>
        /// <param name="height"></param>
        /// <param name="rotate"></param>
        /// <param name="toplace"></param>
        /// <param name="placeX"></param>
        /// <param name="placeY"></param>
        /// <param name=""></param>
        /// <param name=""></param>
        /// <returns></returns>
        public bool WritePalletizingTaskInfo(string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, out string msg)
        {
            try
            {
                msg = "";
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskID, taskID, view_stationObj.W_PalletizingTaskID);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 码垛任务号 " + taskID + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Inbound_TaskID);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_EndMark, isLast, view_stationObj.W_EndMark);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 是否末板 " + isLast + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Destination_In);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 长度 " + length + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Length);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Width, width, view_stationObj.W_Width);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 宽度 " + width + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Width);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Height, height, view_stationObj.W_Height);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 高度 " + height + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingStation, toplace, view_stationObj.W_PalletizingStation);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 目标位 " + toplace + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Rotate, rotate, view_stationObj.W_Rotate);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 是否旋转 " + rotate + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceX, placeX, view_stationObj.W_PalletizingPlaceX);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 X坐标 " + placeX + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceY, placeY, view_stationObj.W_PalletizingPlaceY);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 Y坐标 " + placeY + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 读码解析完成 " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_DataFinish);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                var logcontext = string.Format("WriteInStoreTaskInfo出现异常:" + JsonConvert.SerializeObject(ex),
                        "");
                Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                return false;
            }
        }
        /// <summary>
        /// 写入站点任务完成确认
        /// </summary>
        /// <param name="stationCode"></param>
        /// <param name="value"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public bool WriteStation_FinishACK(string stationCode, bool value, out string msg)
        {
            try
            {
                msg = "";
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskFinish, value, view_stationObj.W_PalletizingTaskFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station"+stationCode+" 写入任务完成确认 地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_OutboundFinishConfirm);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                var logcontext = string.Format("向Statio 出库任务完成确认 出现异常:" + JsonConvert.SerializeObject(ex),
                        "");
                Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                return false;
            }
        }
        public bool WriteOutStoreTaskInfo(string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID)
        {
            try
            {
                msg = "";
                var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, outbound_TaskID, view_stationObj.W_Outbound_TaskID);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 出库任务号 " + outbound_TaskID + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_Outbound_TaskID);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, Convert.ToInt32(sourcePlaceNo), view_stationObj.W_Destination_Out);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 库位号 " + sourcePlaceNo + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Destination_Out);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, true, view_stationObj.W_ReqOut);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 请求出库 " + true + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_ReqOut);
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                var logcontext = string.Format("WriteOutStoreTaskInfo 出现异常:" + JsonConvert.SerializeObject(ex),
                        "");
                Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                return false;
            }
        }
        /// <summary>