Example #1
0
        public static void DoActions(string actionParams, ExtendEventHandler extendAction)
        {
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(actionParams);

            foreach (XmlNode node in xmlDoc.SelectNodes("ROOT/Action"))
            {
                string factoryName = node.Attributes["Action"].Value.ToString();
                if (factoryName != "")
                {
                    IUDFActionFactory factory =
                        (IUDFActionFactory)Assembly.Load("IRAP.Client.Actions").CreateInstance(
                            string.Format(
                                "IRAP.Client.Actions.{0}Factory",
                                factoryName));
                    if (factory != null)
                    {
                        IUDFAction action = factory.CreateAction(node, extendAction);

                        try
                        {
                            action.DoAction();
                        }
                        catch (Exception error)
                        {
                            throw error;
                        }
                    }
                }
            }
        }
Example #2
0
        public RefreshSPortMapping(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag) :
            base(actionParams, extendAction, ref tag)
        {
            if (tag is List <ScannerView> )
            {
                views = tag as List <ScannerView>;
            }

            if (actionParams.Attributes["PortName"] != null)
            {
                sportName = actionParams.Attributes["PortName"].Value;
            }
            if (actionParams.Attributes["WorkUnitLeaf"] != null)
            {
                workUnitLeaf = Tools.ConvertToInt32(actionParams.Attributes["WorkUnitLeaf"].Value, -1);
            }
            if (actionParams.Attributes["WorkUnitCode"] != null)
            {
                workUnitCode = actionParams.Attributes["WorkUnitCode"].Value;
            }
            if (actionParams.Attributes["WorkUnitName"] != null)
            {
                workUnitName = actionParams.Attributes["WorkUnitName"].Value;
            }
        }
Example #3
0
 public IUDFAction CreateAction(
     XmlNode actionParams,
     ExtendEventHandler extendAction,
     ref object tag)
 {
     return(new PWOOutputDetailAction(actionParams, extendAction, ref tag));
 }
Example #4
0
 public IUDFAction CreateAction(
     XmlNode actionParams,
     ExtendEventHandler extendAction)
 {
     return(new PrintWithFastReportAction(
                actionParams,
                extendAction));
 }
Example #5
0
 public MultiPrint(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
     : base(actionParams, extendAction, ref tag)
 {
     print = CustomPrintFactory.CreateInstance(actionParams);
     if (actionParams.Attributes["DataCommand"] != null)
     {
         sqlCmd = actionParams.Attributes["DataCommand"].Value.ToString();
     }
 }
Example #6
0
 public CmdToLPTAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
     : base(actionParams, extendAction, ref tag)
 {
     try
     {
         strLPTPort = actionParams.Attributes["PrintTo"].Value.ToString();
     }
     catch { }
     strData = actionParams.Attributes["Data"].Value.ToString();
 }
Example #7
0
 public MultipleCommandAction(
     XmlNode actionParams,
     ExtendEventHandler extendAction,
     ref object tag)
     : base(actionParams, extendAction, ref tag)
 {
     if (actionParams.Attributes["SQLCommand"] != null)
     {
         sqlCommand = actionParams.Attributes["SQLCommand"].Value;
     }
 }
Example #8
0
        public SerialPortOutputAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
            : base(actionParams, extendAction, ref tag)
        {
            portName = actionParams.Attributes["PortName"].Value;
            int.TryParse(actionParams.Attributes["BaudRate"].Value, out baudRate);
            parity   = (Parity)Convert.ToInt32(actionParams.Attributes["Parity"].Value);
            dataBits = Convert.ToInt32(actionParams.Attributes["DataBits"].Value);
            stopBits = (StopBits)Convert.ToInt32(actionParams.Attributes["StopBits"].Value);

            dataType = actionParams.Attributes["DataType"].Value;
            data     = actionParams.Attributes["Data"].Value;
        }
Example #9
0
 public UploadAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
     : base(actionParams, extendAction, ref tag)
 {
     try
     {
         uploadType = actionParams.Attributes["UploadType"].Value.ToString();
         fileName   = actionParams.Attributes["FileName"].Value.ToString();
         strData    = actionParams.Attributes["Data"].Value.ToString();
         address    = actionParams.Attributes["Address"].Value.ToString();
         strPort    = actionParams.Attributes["Port"].Value.ToString();
         userID     = actionParams.Attributes["UserID"].Value.ToString();
         pwd        = actionParams.Attributes["PWD"].Value.ToString();
     }
     catch { }
 }
Example #10
0
        public CustomAction(XmlNode actionParams, ExtendEventHandler extendAction)
        {
            if (actionParams != null)
            {
                try
                {
                    ordinal = Convert.ToInt32(actionParams.Attributes["Ordinal"].ToString());
                }
                catch
                {
                    ordinal = -1;
                }
            }

            ExtendAction += extendAction;
        }
Example #11
0
        public PWOOutputDetailAction(
            XmlNode actionParam,
            ExtendEventHandler extendAction,
            ref object tag)
            : base(actionParam, extendAction, ref tag)
        {
            try
            {
                if (actionParam.Attributes["IRAPCacheAddr"] != null)
                {
                    irapCacheAddr = actionParam.Attributes["IRAPCacheAddr"].Value;
                }
                if (actionParam.Attributes["Scenario"] != null)
                {
                    scenario =
                        Tools.ConvertToInt32(
                            actionParam.Attributes["Scenario"].Value,
                            0);
                }

                if (irapCacheAddr.Trim() == "")
                {
                    throw new Exception("Redis 服务地址没有配置");
                }
                if (scenario != 3 && scenario != 4)
                {
                    throw new Exception("Scenario 的值只能是 3 或者 4");
                }

                paramNode = actionParam.SelectSingleNode("Param");
                if (paramNode == null)
                {
                    throw new Exception("Action 节点中未找到 Param 子节点");
                }

                rowsNode = actionParam.SelectSingleNode("Rows");
                if (rowsNode == null)
                {
                    throw new Exception("Action 节点中未找到 Rows 子节点");
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Example #12
0
        public CustomAction(
            XmlNode actionParams,
            ExtendEventHandler extendAction,
            ref object tag)
        {
            if (actionParams != null)
            {
                try
                {
                    ordinal = Convert.ToInt32(actionParams.Attributes["Ordinal"].Value.ToString());
                }
                catch
                {
                    ordinal = -1;
                }
            }

            ExtendAction += extendAction;
            this.tag      = tag;
        }
Example #13
0
 public IUDFAction CreateAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
 {
     return(new Upload2Action(actionParams, extendAction, ref tag));
 }
Example #14
0
 public SelectChoiceAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
     : base(actionParams, extendAction, ref tag)
 {
     t107LeafID = Tools.ConvertToInt32(actionParams.Attributes["T107LeafID"].Value);
     t102LeafID = Tools.ConvertToInt32(actionParams.Attributes["T102LeafID"].Value);
 }
Example #15
0
 public IUDFAction CreateAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
 {
     return(new RefreshSPortMapping(actionParams, extendAction, ref tag));
 }
Example #16
0
 public IUDFAction CreateAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
 {
     return(new SendToControlBoxAction(actionParams, extendAction, ref tag));
 }
Example #17
0
        public SendToControlBoxAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
            : base(actionParams, extendAction, ref tag)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            if (actionParams.Attributes["ControlBoxType"] != null)
            {
                controlBoxType = actionParams.Attributes["ControlBoxType"].Value.ToUpper();
            }

            WriteLog.Instance.Write(
                string.Format(
                    "ControlBoxType={0}",
                    controlBoxType),
                strProcedureName);

            if (controlBoxType == "")
            {
                return;
            }

            XmlNode child = null;

            child = actionParams.FirstChild;
            while (child != null)
            {
                if (child.Name.ToUpper() == controlBoxType)
                {
                    try
                    {
                        controlBox =
                            (ICustomCtrlBox)Assembly.Load(
                                "IRAP.Client.GUI.MESPDC").CreateInstance(
                                string.Format(
                                    "IRAP.Client.GUI.MESPDC.Actions.CtrlBox_{0}",
                                    controlBoxType));
                        if (controlBox != null)
                        {
                            controlBox.Init(child);
                        }
                    }
                    catch (Exception ex)
                    {
                        string errText =
                            string.Format("无法创建控制盒对象,原因:[{0}]", ex.Message);

                        WriteLog.Instance.Write(errText, strProcedureName);
                        XtraMessageBox.Show(
                            errText,
                            "错误消息",
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
                    }
                }
                else if (child.Name.ToUpper() == "RELAY")
                {
                    if (child.Attributes["Value"].Value.ToUpper() == "ON")
                    {
                        relaies.Add(1);
                    }
                    else
                    {
                        relaies.Add(0);
                    }
                }

                child = child.NextSibling;
            }
        }
Example #18
0
 public RefreshFormAction(XmlNode actionParam, ExtendEventHandler extendAction, ref object tag)
     : base(actionParam, extendAction, ref tag)
 {
 }
Example #19
0
 public IUDFAction CreateAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
 {
     return(new SerialPortOutputAction(actionParams, extendAction, ref tag));
 }
Example #20
0
        public PrintWithFastReportAction(
            XmlNode actionParams,
            ExtendEventHandler extendAction,
            ref object tag) :
            base(actionParams, extendAction, ref tag)
        {
            if (actionParams.Attributes["DataSource"] == null)
            {
                dataSource = "CUSTOM";
            }
            else
            {
                dataSource = actionParams.Attributes["DataSource"].Value.ToUpper();
            }

            XmlNode child = null;

            switch (dataSource)
            {
            case "CUSTOM":
                child = actionParams.FirstChild;
                while (child != null)
                {
                    if (child.NodeType == XmlNodeType.CDATA)
                    {
                        report.LoadFromString(child.Value);
                    }
                    else if (child.Name.ToUpper() == "ROW")
                    {
                        datas.Add(
                            new TemplateData()
                        {
                            Cnt                = GetAttributeIntValue(child, "Cnt", 1),
                            SendAddress        = GetAttributeStringValue(child, "SendAddress"),
                            CustomerCode       = GetAttributeStringValue(child, "CustomerCode"),
                            CustomerName       = GetAttributeStringValue(child, "CustomerName"),
                            ReceiveAddress     = GetAttributeStringValue(child, "ReceiveAddress"),
                            CustomerPartNumber = GetAttributeStringValue(child, "CustomerPartNumber"),
                            SupplierPartNumber = GetAttributeStringValue(child, "SupplierPartNumber"),
                            PartName           = GetAttributeStringValue(child, "PartName"),
                            Quantity           = GetAttributeStringValue(child, "Quantity"),
                            ContainerNo        = GetAttributeStringValue(child, "ContainerNo"),
                            ProductDate        = GetAttributeStringValue(child, "ProductDate"),
                            CustomerSN         = GetAttributeStringValue(child, "CustomerSN"),
                            SupplierCode       = GetAttributeStringValue(child, "SupplierCode"),
                        });
                    }

                    child = child.NextSibling;
                }
                break;

            case "SQLCOMMAND":
                child = actionParams.FirstChild;
                while (child != null)
                {
                    if (child.NodeType == XmlNodeType.CDATA)
                    {
                        report.LoadFromString(child.Value);
                    }
                    else if (child.NodeType == XmlNodeType.Text)
                    {
                        report.LoadFromString(child.Value);
                    }
                    else if (child.Name.ToUpper() == "SQLCOMMAND")
                    {
                        if (child.Attributes["command"] != null)
                        {
                            sqlCmd = child.Attributes["command"].Value;
                        }
                    }

                    child = child.NextSibling;
                }
                break;
            }

            report.PrintSettings.ShowDialog = false;
        }
Example #21
0
        public static void DoActions(
            string actionParams,
            ExtendEventHandler extendAction,
            ref object tag)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(actionParams);

            foreach (XmlNode node in xmlDoc.SelectNodes("ROOT/Action"))
            {
                string factoryName = node.Attributes["Action"].Value.ToString();
                WriteLog.Instance.Write(
                    string.Format("FactoryName={0}", factoryName),
                    strProcedureName);

                if (factoryName != "")
                {
                    factoryName =
                        string.Format(
                            "IRAP.Client.GUI.MESPDC.Actions.{0}Factory",
                            factoryName);

                    IUDFActionFactory factory =
                        (IUDFActionFactory)Assembly.Load("IRAP.Client.GUI.MESPDC").CreateInstance(factoryName);
                    if (factory != null)
                    {
                        IUDFAction action = factory.CreateAction(node, extendAction, ref tag);

                        try
                        {
                            WriteLog.Instance.Write(
                                string.Format(
                                    "执行类[{0}]中的动作",
                                    action.GetType().Name),
                                strProcedureName);
                            action.DoAction();
                            WriteLog.Instance.Write("执行完成", strProcedureName);
                        }
                        catch (Exception error)
                        {
                            XtraMessageBox.Show(
                                error.Message,
                                "系统信息",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                            throw error;
                        }
                    }
                    else
                    {
                        WriteLog.Instance.Write(
                            string.Format("无法创建工厂对象[{0}]", factoryName),
                            strProcedureName);
                        throw new Exception($"无法创建工厂对象[{factoryName}]");
                    }
                }
            }
        }
Example #22
0
        public void SaveOLTPUDFFormDataWithoutFactIDAndTransactNo(
            int processLeaf,
            int workUnitLeaf,
            ExtendEventHandler extendAction,
            object tag)
        {
            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                long intTransactNo     = 0;
                long intFactID         = 0;
                int  ctrlParameter1    = this.ctrlParameter1;
                int  ctrlParameter2    = this.ctrlParameter2;
                int  ctrlParameter3    = this.ctrlParameter3;
                int  ctrlParameter2_bk = 0;
                int  ctrlParameter3_bk = 0;

                #region 统一防错校验
                try
                {
                    if (ctrlParameter2 >= 0)
                    {
                        ctrlParameter2_bk = ctrlParameter2;
                        ctrlParameter3_bk = ctrlParameter3;

                        IRAPUTSClient.Instance.ssp_PokaYoke_UDFForm(
                            IRAPUser.Instance.CommunityID,
                            ctrlParameter1,
                            ref ctrlParameter2,
                            ref ctrlParameter3,
                            IRAPUser.Instance.SysLogID,
                            ref strParameter1,
                            ref strParameter2,
                            ref strParameter3,
                            ref strParameter4,
                            ref strParameter5,
                            ref strParameter6,
                            ref strParameter7,
                            ref strParameter8,
                            ref outputStr,
                            out errorCode,
                            out errorMessage);
                    }
                    else
                    {
                        ctrlParameter2    = processLeaf;
                        ctrlParameter3    = workUnitLeaf;
                        ctrlParameter2_bk = ctrlParameter2;
                        ctrlParameter3_bk = ctrlParameter3;

                        IRAPUTSClient.Instance.ssp_PokaYoke_UDFForm(
                            IRAPUser.Instance.CommunityID,
                            ctrlParameter1,
                            ref ctrlParameter2,
                            ref ctrlParameter3,
                            IRAPUser.Instance.SysLogID,
                            ref strParameter1,
                            ref strParameter2,
                            ref strParameter3,
                            ref strParameter4,
                            ref strParameter5,
                            ref strParameter6,
                            ref strParameter7,
                            ref strParameter8,
                            ref outputStr,
                            out errorCode,
                            out errorMessage);
                    }
                    WriteLog.Instance.Write(
                        string.Format(
                            "{0}.{1}",
                            errorCode,
                            errorMessage),
                        strProcedureName);

                    WriteLog.Instance.Write(
                        string.Format("Output={0}", outputStr),
                        strProcedureName);
                    if (outputStr != "")
                    {
                        try
                        {
                            UDFActions.DoActions(
                                outputStr,
                                extendAction,
                                ref tag);
                        }
                        catch (Exception error)
                        {
                            outputStr = "";
                            WriteLog.Instance.Write(
                                string.Format("错误信息:{0}。跟踪堆栈:{1}。",
                                              error.Message,
                                              error.StackTrace),
                                strProcedureName);
                            throw error;
                        }
                    }

                    outputStr = "";
                }
                catch (Exception err)
                {
                    outputStr = "";
                    WriteLog.Instance.Write(err.Message, strProcedureName);
                    throw err;
                }
                if (errorCode != 0)
                {
                    return;
                }
                #endregion

                #region 如果交易存储过程返回的 CtrlParameter2 和 CtrlParameter3 有变化,则刷新选项一和选项二
                if (ctrlParameter2 != ctrlParameter2_bk)
                {
                    outputStr =
                        string.Format(
                            "T107LeafID=\"{0}\" ",
                            ctrlParameter2);
                }
                else
                {
                    outputStr = "T107LeafID=\"\" ";
                }
                if (ctrlParameter3 != ctrlParameter3_bk)
                {
                    outputStr +=
                        string.Format(
                            " T102LeafID=\"{1}\" ",
                            ctrlParameter3);
                }
                else
                {
                    outputStr += " T102LeafID=\"\" ";
                }

                outputStr =
                    string.Format(
                        "<ROOT><Action Ordinal=\"1\" Action=\"SelectChoice\" {0}/></ROOT>",
                        outputStr);
                if (ctrlParameter2 != ctrlParameter2_bk ||
                    ctrlParameter3 != ctrlParameter3_bk)
                {
                    try
                    {
                        UDFActions.DoActions(
                            outputStr,
                            extendAction,
                            ref tag);
                    }
                    catch (Exception error)
                    {
                        outputStr = "";
                        WriteLog.Instance.Write(
                            string.Format("错误信息:{0}。跟踪堆栈:{1}。",
                                          error.Message,
                                          error.StackTrace),
                            strProcedureName);
                        throw error;
                    }
                }
                #endregion

                #region 保存
                try
                {
                    if (ctrlParameter2 >= 0)
                    {
                        IRAPUTSClient.Instance.ssp_OLTP_UDFForm(
                            IRAPUser.Instance.CommunityID,
                            intTransactNo,
                            intFactID,
                            ctrlParameter1,
                            ctrlParameter2,
                            ctrlParameter3,
                            IRAPUser.Instance.SysLogID,
                            strParameter1,
                            strParameter2,
                            strParameter3,
                            strParameter4,
                            strParameter5,
                            strParameter6,
                            strParameter7,
                            strParameter8,
                            ref outputStr,
                            out errorCode,
                            ref errorMessage);
                    }
                    else
                    {
                        IRAPUTSClient.Instance.ssp_OLTP_UDFForm(
                            IRAPUser.Instance.CommunityID,
                            intTransactNo,
                            intFactID,
                            ctrlParameter1,
                            processLeaf,
                            workUnitLeaf,
                            IRAPUser.Instance.SysLogID,
                            strParameter1,
                            strParameter2,
                            strParameter3,
                            strParameter4,
                            strParameter5,
                            strParameter6,
                            strParameter7,
                            strParameter8,
                            ref outputStr,
                            out errorCode,
                            ref errorMessage);
                    }
                }
                catch (Exception error)
                {
                    outputStr = "";
                    WriteLog.Instance.Write(error.Message, strProcedureName);
                    throw error;
                }
                #endregion
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }
Example #23
0
 public PrintWithLabAction(XmlNode actionParams, ExtendEventHandler extendAction, ref object tag)
     : base(actionParams, extendAction, ref tag)
 {
     if (actionParams.Attributes["Template"] != null)
     {
         labFileName.Append(actionParams.Attributes["Template"].Value);
     }
     if (actionParams.Attributes["Cnt"] != null)
     {
         cnt = actionParams.Attributes["Cnt"].Value;
     }
     if (actionParams.Attributes["Var0"] != null)
     {
         var0.Append(actionParams.Attributes["Var0"].Value);
     }
     if (actionParams.Attributes["Var1"] != null)
     {
         var1.Append(actionParams.Attributes["Var1"].Value);
     }
     if (actionParams.Attributes["Var2"] != null)
     {
         var2.Append(actionParams.Attributes["Var2"].Value);
     }
     if (actionParams.Attributes["Var3"] != null)
     {
         var3.Append(actionParams.Attributes["Var3"].Value);
     }
     if (actionParams.Attributes["Var4"] != null)
     {
         var4.Append(actionParams.Attributes["Var4"].Value);
     }
     if (actionParams.Attributes["Var5"] != null)
     {
         var5.Append(actionParams.Attributes["Var5"].Value);
     }
     if (actionParams.Attributes["Var6"] != null)
     {
         var6.Append(actionParams.Attributes["Var6"].Value);
     }
     if (actionParams.Attributes["Var7"] != null)
     {
         var7.Append(actionParams.Attributes["Var7"].Value);
     }
     if (actionParams.Attributes["Var8"] != null)
     {
         var8.Append(actionParams.Attributes["Var8"].Value);
     }
     if (actionParams.Attributes["Var9"] != null)
     {
         var9.Append(actionParams.Attributes["Var9"].Value);
     }
     if (actionParams.Attributes["Var10"] != null)
     {
         var10.Append(actionParams.Attributes["Var10"].Value);
     }
     if (actionParams.Attributes["Var11"] != null)
     {
         var11.Append(actionParams.Attributes["Var11"].Value);
     }
     if (actionParams.Attributes["Var12"] != null)
     {
         var12.Append(actionParams.Attributes["Var12"].Value);
     }
     if (actionParams.Attributes["Var13"] != null)
     {
         var13.Append(actionParams.Attributes["Var13"].Value);
     }
     if (actionParams.Attributes["Var14"] != null)
     {
         var14.Append(actionParams.Attributes["Var14"].Value);
     }
     if (actionParams.Attributes["Var15"] != null)
     {
         var15.Append(actionParams.Attributes["Var15"].Value);
     }
     if (actionParams.Attributes["Var16"] != null)
     {
         var16.Append(actionParams.Attributes["Var16"].Value);
     }
     if (actionParams.Attributes["Var17"] != null)
     {
         var17.Append(actionParams.Attributes["Var17"].Value);
     }
     if (actionParams.Attributes["Var18"] != null)
     {
         var18.Append(actionParams.Attributes["Var18"].Value);
     }
     if (actionParams.Attributes["Var19"] != null)
     {
         var19.Append(actionParams.Attributes["Var19"].Value);
     }
 }