/// <summary>
        /// 构造一个MQ消息对象
        /// </summary>
        /// <param name="message"></param>
        /// <param name="prod"></param>
        /// <returns></returns>
        private anyType2anyTypeMapEntry[] BuildMQMessage(OAMQMessage message)
        {
            var receiveTime = DateTime.Now;
            var paramList   = new Dictionary <string, string>();

            paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
            paramList.Add("flowid", message.ProcessID);
            paramList.Add("requestname", message.Title);
            paramList.Add("workflowname", message.Flowtype);
            paramList.Add("nodename", message.Nodename);
            paramList.Add("pcurl", SSOToolkit.Instance.GetAuthOAUrlWithSSO(message.PtpUrl.Trim(), message.Userid, message.FlowID));
            if (message.Nodename == "填报人")
            {
                paramList.Add("appurl", "");
            }
            else
            {
                var url = System.Configuration.ConfigurationManager.AppSettings["WebURL"];
                paramList.Add("appurl", url + SSOToolkit.Instance.GetAuthOAUrlWithSSO(message.MobileUrl.Trim(), message.Userid, message.FlowID));
            }
            //paramList.Add("appurl", SSOToolkit.Instance.GetAuthOAUrlWithSSO(message.MobileUrl.Trim(), message.Userid, message.FlowID));
            paramList.Add("creator", message.Creator);
            paramList.Add("isremark", message.Flowmess.ToString());
            paramList.Add("viewtype", "0");
            paramList.Add("createdatetime", message.Createtime.ToString("yyyy-MM-dd HH:mm:ss"));
            paramList.Add("receiver", message.Userid);
            paramList.Add("receivedatetime", receiveTime.ToString("yyyy-MM-dd HH:mm:ss"));
            var array = paramList.Select(x => new Plugin.OAMessage.OAMessage.WebServices.anyType2anyTypeMapEntry()
            {
                key   = x.Key,
                value = x.Value
            }).ToArray();

            return(array);
        }
        private anyType2anyTypeMapEntry[] BuildMQMessageDelete(OAMQMessage message)
        {
            var paramList = new Dictionary <string, string>();

            paramList.Add("syscode", ConfigurationManager.AppSettings["OA.SysCode"]);
            paramList.Add("flowid", message.FlowID);
            paramList.Add("userid", message.Userid);

            var array = paramList.Select(x => new Plugin.OAMessage.OAMessage.WebServices.anyType2anyTypeMapEntry()
            {
                key   = x.Key,
                value = x.Value
            }).ToArray();

            return(array);
        }
        public List <Entities.OAMQMessage> LoadList(int count)
        {
            List <OAMQMessage> list          = new List <OAMQMessage>();
            string             senderCodeSQL = BPF.OAMQServices.OAMQBll.Instance.SendMode == 2 ? ",SenderCode" : "";
            string             oracleQuery   = @"SELECT MessageId,
       Sender,
       Sendertime,
       Flowtype,
       FlowID,
       Title,
       Nodename,
       PtpUrl,
       Userid,
       Creator,
       Createtime,
       Operatetime,
       Flowmess,
       Viewtype,
       Status,
       ErrorCount,
       MessageCreateTime,
       AllowMobile"
                                               + senderCodeSQL
                                               + @" FROM (SELECT MessageId,
               Sender,
               Sendertime,
               Flowtype,
               FlowID,
               Title,
               Nodename,
               PtpUrl,
               Userid,
               Creator,
               Createtime,
               Operatetime,
               Flowmess,
               Viewtype,
               Status,
               ErrorCount,
               MessageCreateTime,
               AllowMobile"
                                               + senderCodeSQL
                                               + @" FROM OAMQMessages
         WHERE Status = 0
         ORDER BY Sendertime ASC)
 WHERE ROWNUM <= " + count + @"
 ORDER BY ROWNUM ASC ;";
            DbCommand cmd = this.DbConnection.CreateCommand();

            cmd.CommandText = oracleQuery;
            DbDataAdapter dbDataAdapter = this.DbFactory.CreateDataAdapter();

            dbDataAdapter.SelectCommand = cmd;

            DataSet dataSet = new DataSet();

            if (dbDataAdapter.Fill(dataSet) > 0 &&
                dataSet.Tables != null &&
                dataSet.Tables.Count > 0 &&
                dataSet.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
                {
                    OAMQMessage         message = null;
                    System.Data.DataRow row     = dataSet.Tables[0].Rows[i];
                    foreach (object o in row.ItemArray)
                    {
                        message = new OAMQMessage()
                        {
                            MessageId         = DataTypeHelper.GetString(row["MessageId"]),
                            Sender            = DataTypeHelper.GetString(row["Sender"]),
                            Sendertime        = DataTypeHelper.GetDateTime(row["Sendertime"]),
                            Flowtype          = DataTypeHelper.GetString(row["Flowtype"]),
                            FlowID            = DataTypeHelper.GetString(row["FlowID"]),
                            Title             = DataTypeHelper.GetString(row["Title"]),
                            Nodename          = DataTypeHelper.GetString(row["Nodename"]),
                            PtpUrl            = DataTypeHelper.GetString(row["PtpUrl"]),
                            Userid            = DataTypeHelper.GetString(row["Userid"]),
                            Creator           = DataTypeHelper.GetString(row["Creator"]),
                            Createtime        = DataTypeHelper.GetDateTime(row["Createtime"]),
                            Operatetime       = DataTypeHelper.GetDateTime(row["Operatetime"]),
                            Flowmess          = DataTypeHelper.GetInt(row["Flowmess"]),
                            Viewtype          = DataTypeHelper.GetInt(row["Viewtype"]),
                            Status            = DataTypeHelper.GetInt(row["Status"]),
                            ErrorCount        = DataTypeHelper.GetInt(row["ErrorCount"]),
                            MessageCreateTime = DataTypeHelper.GetDateTime(row["MessageCreateTime"]),
                            AllowMobile       = DataTypeHelper.GetInt(row["AllowMobile"])
                        };
                        if (BPF.OAMQServices.OAMQBll.Instance.SendMode == 2)
                        {
                            message.SenderCode = DataTypeHelper.GetString(row["SenderCode"]);
                        }
                    }
                    list.Add(message);
                }
            }
            return(list);
        }
Exemple #4
0
 public int Update(OAMQMessage message)
 {
     return(this.DataSource.Update(message));
 }