예제 #1
0
 /// <summary>
 /// 我的单据新增
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool AddPersonalRecordList(T_PF_PERSONALRECORD model)
 {
     try
     {
         PersonalRecordDAL dal      = new PersonalRecordDAL();
         string            recordID = dal.GetExistRecord(model.SYSTYPE, model.MODELCODE, model.MODELID, model.OWNERID, model.OWNERCOMPANYID, model.ISFORWARD);
         if (recordID != "")
         {
             return(dal.UpdatePersonalRecord(model, recordID));
         }
         else
         {
             var bol = dal.AddPersonalRecord(model);
             if (bol)
             {
                 PersonnelWS.PersonnelServiceClient HRClient = new PersonnelWS.PersonnelServiceClient();
                 var user = HRClient.GetEmployeeByID(model.OWNERID);
                 SendEmail("你有新的单据请登录系统查看!", user.EMAIL);
                 Log.WriteLog("FormID=" + model.MODELID + ";MODELDESCRIPTION=" + model.MODELDESCRIPTION + ";接收EMAIL=" + user.EMAIL + ";所属人ID=" + user.OWNERID);
             }
             return(bol);
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
 }
예제 #2
0
        public bool AddPersonalRecord(T_PF_PERSONALRECORD model)
        {
            Record.WriteLogFunction("新增AddPersonalRecord():SYSTYPE:" + model.SYSTYPE + "||MODELCODE:" + model.MODELCODE + "||MODELID:" + model.MODELID + "||OWNERID" + model.OWNERID + "||转发ISFORWARD:" + model.ISFORWARD + "");
            PersonalRecordBLL bll = new PersonalRecordBLL();

            return(bll.AddPersonalRecord(model));
        }
예제 #3
0
 /// <summary>
 /// 新增我的单据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool AddPersonalRecord(T_PF_PERSONALRECORD model)
 {
     try
     {
         string sql = @"INSERT INTO T_WF_PERSONALRECORD(PERSONALRECORDID,SYSTYPE,MODELCODE,MODELID,CHECKSTATE,OWNERID,OWNERPOSTID,OWNERDEPARTMENTID,
                       OWNERCOMPANYID,CONFIGINFO,MODELDESCRIPTION,ISFORWARD) VALUES 
                      ('" + Guid.NewGuid().ToString() + "','" + model.SYSTYPE + "','" + model.MODELCODE + "','" + model.MODELID + "'," + model.CHECKSTATE + ",";
         sql += @"'" + model.OWNERID + "','" + model.OWNERPOSTID + "','" + model.OWNERDEPARTMENTID + "',";
         //sql += @"to_date('" + Convert.ToDateTime(entity.TRIGGERTIME).ToString("yyyy/MM/dd hh:mm") + "','YYYY-MM-DD hh24:mi:ss')
         sql += @"'" + model.OWNERCOMPANYID + "','" + model.CONFIGINFO + "','" + model.MODELDESCRIPTION + "'," + (model.ISFORWARD == "1" ? 1 : 0) + ")";
         Log.WriteLog("AddPersonalRecord():" + sql + "");
         dao.Open();
         LogHelper.WriteLog("新增我的单据 FormID=" + model.MODELID + "");
         return(dao.ExecuteNonQuery(sql) > 0 ? true : false);
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog(this, "AddPersonalRecord()", "新增我的单据发生异常 FormID=" + model.MODELID + "", ex);
         return(false);
     }
     finally
     {
         dao.Close();
     }
 }
예제 #4
0
 /// <summary>
 /// 获取我的单据(两种状态;未提交、转发)
 /// </summary>
 /// <param name="strSql"></param>
 /// <returns></returns>
 public List <T_PF_PERSONALRECORD> GetPersonalRecordList(int pageSize, string strFilter, int pageIndex, string strOrderBy, ref int pageCount)
 {
     try
     {
         if (string.IsNullOrEmpty(strOrderBy))
         {
             strOrderBy = "CREATEDATE DESC";
         }
         if (pageSize == 0)
         {
             pageSize = 15;
         }
         int number = pageIndex <= 1 ? 1 : (pageIndex - 1) * pageSize + 1;
         dao.Open();
         string countSql = @"SELECT count(1)  from T_WF_PERSONALRECORD where (1=1)";
         if (!string.IsNullOrWhiteSpace(strFilter))
         {
             countSql += strFilter + "";
         }
         string sql = @"SELECT * FROM (SELECT A.*, ROWNUM Page FROM (select * from T_WF_PERSONALRECORD 
                            order by " + strOrderBy + " ) A WHERE (1=1) AND ROWNUM<= " + pageIndex * pageSize + "";
         if (!string.IsNullOrWhiteSpace(strFilter))
         {
             sql += strFilter + ")";
         }
         sql += "WHERE  Page >= " + number + "";
         DataTable dt = dao.GetDataTable(sql);
         LogHelper.WriteLog("查找我的单据SQL:" + sql);
         pageCount = Convert.ToInt32(dao.ExecuteScalar(countSql));
         //LogHelper.WriteLog(countSql);
         pageCount = pageCount / pageSize + (pageCount % pageSize > 0 ? 1 : 0);
         List <T_PF_PERSONALRECORD> list = new List <T_PF_PERSONALRECORD>();
         if (dt != null && dt.Rows.Count > 0)
         {
             foreach (DataRow dr in dt.Rows)
             {
                 T_PF_PERSONALRECORD entity = new T_PF_PERSONALRECORD();
                 entity.PERSONALRECORDID = dr["PERSONALRECORDID"].ToString();
                 entity.SYSTYPE          = dr["SYSTYPE"].ToString();
                 entity.MODELCODE        = dr["MODELCODE"].ToString();
                 entity.MODELID          = dr["MODELID"].ToString();
                 entity.CHECKSTATE       = dr["CHECKSTATE"].ToString();
                 entity.MODELDESCRIPTION = dr["MODELDESCRIPTION"].ToString();
                 entity.CREATEDATE       = Convert.ToDateTime(dr["CREATEDATE"].ToString());
                 entity.CONFIGINFO       = dr["CHECKSTATE"].ToString() == "3" ? dr["CONFIGINFO"].ToString().Replace("<FormTypes>Audit", "<FormTypes>Resubmit").Replace("<FormTypes>Edit", "<FormTypes>Resubmit") : dr["CONFIGINFO"].ToString();;
                 list.Add(entity);
             }
         }
         return(list);
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog(this, "GetPersonalRecordList()", "获取我的单据(两种状态;未提交、转发)", ex);
         return(null);
     }
     finally
     {
         dao.Close();
     }
 }
예제 #5
0
        public bool UpdatePersonalRecord(T_PF_PERSONALRECORD model)
        {
            string message = "修改UpdatePersonalRecord():SYSTYPE:" + model.SYSTYPE + "||MODELCODE:" + model.MODELCODE + "||MODELID:" + model.MODELID + "||OWNERID" + model.OWNERID + "||OWNERCOMPANYID:" + model.OWNERCOMPANYID + "";

            message += "||CHECKSTATE:" + model.CHECKSTATE + "||CONFIGINFO:" + model.CONFIGINFO + "||PERSONALRECORDID:" + model.PERSONALRECORDID + "||OWNERPOSTID" + model.OWNERPOSTID + "";
            Record.WriteLogFunction(message);
            PersonalRecordBLL bll = new PersonalRecordBLL();

            return(bll.UpdatePersonalRecord(model));
        }
예제 #6
0
        /// <summary>
        /// 调整内容,原来是写入我的单据的数据,现在改为代办,查询做删除的时间要删除代办
        /// </summary>
        /// <param name="sysType"></param>
        /// <param name="modelCode"></param>
        /// <param name="modelID"></param>
        /// <param name="IsForward"></param>
        /// <returns></returns>
        public T_PF_PERSONALRECORD GetEntity(string sysType, string modelCode, string modelID, string IsForward)
        {
            try
            {
                string sql = "SELECT * FROM T_WF_DOTASK WHERE (1=1)";
                if (!string.IsNullOrEmpty(sysType))
                {
                    sql += "  AND SYSTEMCODE='" + sysType + "'";
                }
                if (!string.IsNullOrEmpty(modelCode))
                {
                    sql += "  AND MODELCODE ='" + modelCode + "'";
                }
                if (!string.IsNullOrEmpty(modelID))
                {
                    sql += "  AND ORDERID='" + modelID + "'";
                }
                sql += "  AND DOTASKSTATUS = 0";

                dao.Open();
                T_PF_PERSONALRECORD record = new T_PF_PERSONALRECORD();
                DataTable           dt     = dao.GetDataTable(sql);
                if (dt != null && dt.Rows.Count > 0)
                {
                    record.PERSONALRECORDID = dt.Rows[0]["DOTASKID"].ToString();
                    record.SYSTYPE          = dt.Rows[0]["SYSTEMCODE"].ToString();
                    record.MODELCODE        = dt.Rows[0]["MODELCODE"].ToString();
                    record.MODELID          = dt.Rows[0]["ORDERID"].ToString();
                    record.CHECKSTATE       = "0";
                    record.OWNERID          = dt.Rows[0]["RECEIVEUSERID"].ToString();
                    //record.OWNERPOSTID = dt.Rows[0]["OWNERPOSTID"].ToString();
                    //record.OWNERDEPARTMENTID = dt.Rows[0]["OWNERDEPARTMENTID"].ToString();
                    //record.OWNERCOMPANYID = dt.Rows[0]["OWNERCOMPANYID"].ToString();
                    record.CONFIGINFO = dt.Rows[0]["APPLICATIONURL"].ToString();
                    //record.MODELDESCRIPTION = dt.Rows[0]["MODELDESCRIPTION"].ToString();
                    //record.ISFORWARD = dt.Rows[0]["ISFORWARD"].ToString();
                    //record.ISVIEW = dt.Rows[0]["ISVIEW"].ToString();
                    record.CREATEDATE = Convert.ToDateTime(dt.Rows[0]["CREATEDATETIME"].ToString());
                }
                return(record);
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(this, "GetEntity()", "获取我的单据代办实体", ex);
                return(null);
            }
            finally
            {
                dao.Close();
            }
        }
예제 #7
0
        /// <summary>
        /// 修改的单据
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdatePersonalRecord(T_PF_PERSONALRECORD model)
        {
            PersonalRecordDAL dal = new PersonalRecordDAL();

            if (string.IsNullOrWhiteSpace(model.PERSONALRECORDID))
            {
                string recordID = dal.GetExistRecord(model.SYSTYPE, model.MODELCODE, model.MODELID, model.OWNERID, model.OWNERCOMPANYID, model.ISFORWARD);
                return(dal.UpdatePersonalRecord(model, recordID));
            }
            else
            {
                return(dal.UpdatePersonalRecord(model, model.PERSONALRECORDID));
            }
        }
예제 #8
0
 /// <summary>
 /// 删除我的单据
 /// </summary>
 /// <param name="_personalrecordID"></param>
 /// <returns></returns>
 public bool DeletePersonalRecord(string _personalrecordID)
 {
     if (string.IsNullOrWhiteSpace(_personalrecordID))
     {
         return(false);
     }
     else
     {
         PersonalRecordDAL   dal = new PersonalRecordDAL();
         T_PF_PERSONALRECORD ent = dal.GetEntity("", "", _personalrecordID, "");
         SMTEngine.EngineWcfGlobalFunctionClient client = new SMTEngine.EngineWcfGlobalFunctionClient();
         client.TaskCacheReflesh(ent.OWNERID);
         return(dal.DeletePersonalRecord(_personalrecordID));
     }
 }
예제 #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="model"></param>
 /// <param name="recordID"></param>
 /// <returns></returns>
 public bool UpdatePersonalRecord(T_PF_PERSONALRECORD model, string recordID)
 {
     try
     {
         string sql = "UPDATE T_WF_PERSONALRECORD SET CHECKSTATE=" + model.CHECKSTATE + ",CONFIGINFO='" + model.CONFIGINFO + "',MODELDESCRIPTION='" + model.MODELDESCRIPTION + "',";
         sql += "UPDATEDATE=to_date('" + DateTime.Now.ToString("yyyy/MM/dd hh:mm") + "','YYYY-MM-DD hh24:mi') WHERE PERSONALRECORDID='" + recordID + "'";
         Log.WriteLog("UpdatePersonalRecord():" + sql + "");
         dao.Open();
         LogHelper.WriteLog("修改我的单据 FormID=" + model.MODELID + " SQL语句=" + sql);
         return(dao.ExecuteNonQuery(sql) >= 0 ? true : false);
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog(this, "UpdatePersonalRecord()", "修改我的单据发生异常 FormID=" + model.MODELID + "", ex);
         return(false);
     }
     finally
     {
         dao.Close();
     }
 }
예제 #10
0
 /// <summary>
 /// 我的单据新增
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool AddPersonalRecord(T_PF_PERSONALRECORD model)
 {
     try
     {
         PersonalRecordDAL dal      = new PersonalRecordDAL();
         string            recordID = dal.GetExistDoTask(model.MODELCODE, model.MODELID, model.OWNERID, model.OWNERCOMPANYID);
         if (model.CHECKSTATE == "0" && string.IsNullOrWhiteSpace(recordID))
         {
             SMTEngine.EngineWcfGlobalFunctionClient client = new SMTEngine.EngineWcfGlobalFunctionClient();
             client.TaskCacheReflesh(model.OWNERID);
             return(dal.AddDoTask(model));
         }
         else
         {
             return(true); //修改状态该为流程来做
         }
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog("新增我的代办 CHECKSTATE=" + model.MODELCODE + "Exception:" + ex.Message);
         throw new Exception(ex.Message, ex);
     }
 }
예제 #11
0
 public T_PF_PERSONALRECORD GetEntity(string RecordID)
 {
     try
     {
         string sql = "SELECT * FROM T_WF_PERSONALRECORD WHERE PERSONALRECORDID='" + RecordID + "'";
         dao.Open();
         T_PF_PERSONALRECORD record = new T_PF_PERSONALRECORD();
         DataTable           dt     = dao.GetDataTable(sql);
         if (dt != null && dt.Rows.Count > 0)
         {
             record.PERSONALRECORDID  = dt.Rows[0]["PERSONALRECORDID"].ToString();
             record.SYSTYPE           = dt.Rows[0]["SYSTYPE"].ToString();
             record.MODELCODE         = dt.Rows[0]["MODELCODE"].ToString();
             record.MODELID           = dt.Rows[0]["MODELID"].ToString();
             record.CHECKSTATE        = dt.Rows[0]["CHECKSTATE"].ToString();
             record.OWNERID           = dt.Rows[0]["OWNERID"].ToString();
             record.OWNERPOSTID       = dt.Rows[0]["OWNERPOSTID"].ToString();
             record.OWNERDEPARTMENTID = dt.Rows[0]["OWNERDEPARTMENTID"].ToString();
             record.OWNERCOMPANYID    = dt.Rows[0]["OWNERCOMPANYID"].ToString();
             record.CONFIGINFO        = dt.Rows[0]["CONFIGINFO"].ToString();
             record.MODELDESCRIPTION  = dt.Rows[0]["MODELDESCRIPTION"].ToString();
             record.ISFORWARD         = dt.Rows[0]["ISFORWARD"].ToString();
             record.ISVIEW            = dt.Rows[0]["ISVIEW"].ToString();
             record.CREATEDATE        = Convert.ToDateTime(dt.Rows[0]["CREATEDATE"].ToString());
         }
         return(record);
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog(this, "GetEntity()", "获取单据实体", ex);
         return(null);
     }
     finally
     {
         dao.Close();
     }
 }
예제 #12
0
 /// <summary>
 /// 获取我的单据列表(三种状态,审核中,审核通过,审核不通过)
 /// </summary>
 /// <param name="strOrderBy"></param>
 /// <param name="strCreateID"></param>
 /// <param name="pageIndex"></param>
 /// <param name="checkstate"></param>
 /// <param name="strFilter"></param>
 /// <param name="BeginDate"></param>
 /// <param name="EndDate"></param>
 /// <param name="pageCount"></param>
 /// <returns></returns>
 public List <T_PF_PERSONALRECORD> GetPersonalRecord(int pageSize, string strOrderBy, string strCreateID, int pageIndex, string checkstate, string strFilter,
                                                     string BeginDate, string EndDate, ref int pageCount)
 {
     try
     {
         if (string.IsNullOrEmpty(strOrderBy))
         {
             strOrderBy = "CREATEDATE DESC";
         }
         if (pageSize == 0)
         {
             pageSize = 15;
         }
         string filter = "";
         if (!string.IsNullOrEmpty(checkstate))
         {
             filter += " AND CHECKSTATE=" + checkstate + "";
         }
         if (!string.IsNullOrEmpty(strCreateID))
         {
             filter += " AND CREATEUSERID='" + strCreateID + "'";
         }
         int number = pageIndex <= 1 ? 1 : (pageIndex - 1) * pageSize + 1;
         dao.Open();
         string countSql = @"SELECT COUNT(1) FROM(
                         SELECT FORMID, MODELCODE FROM FLOW_FLOWRECORDMASTER_T  WHERE (1=1) {0} GROUP BY  FORMID,MODELCODE
                         ) B
                         INNER JOIN (SELECT ORDERID,MODELCODE FROM T_WF_DOTASK GROUP BY  ORDERID ,MODELCODE) C
                         ON C.ORDERID=B.FORMID AND B.MODELCODE=C.MODELCODE WHERE (1=1) ";
         countSql = string.Format(countSql, filter);
         string sql = @"SELECT D.*,C.DESCRIPTION FROM 
                     (
                     SELECT B.SYSTYPE,B.MODELCODE,A.FORMID MODELID,A.CHECKSTATE,A.CREATEDATE,B.CONFIGINFO,rownum page FROM 
                     (
                     SELECT FORMID,MAX(CHECKSTATE) CHECKSTATE,MAX(CREATEDATE) CREATEDATE, MODELCODE FROM FLOW_FLOWRECORDMASTER_T  WHERE (1=1) {0} GROUP BY  FORMID,MODELCODE ORDER BY CREATEDATE DESC
                     ) A
                     INNER JOIN (SELECT ORDERID,MODELCODE,MAX(APPLICATIONURL) CONFIGINFO,MAX(SYSTEMCODE) SYSTYPE,MAX(CREATEDATETIME) CREATEDATE FROM T_WF_DOTASK GROUP BY  ORDERID ,MODELCODE order by
                     CREATEDATE desc) B
                     ON B.ORDERID=A.FORMID AND A.MODELCODE=B.MODELCODE where rownum<={1}
                     ) D
                     LEFT OUTER JOIN  FLOW_MODELDEFINE_T C ON C.MODELCODE= D.MODELCODE where D.page>={2} order by D.CREATEDATE desc";
         sql = string.Format(sql, filter, pageIndex * pageSize, number);
         DataTable dt = dao.GetDataTable(sql);
         pageCount = Convert.ToInt32(dao.ExecuteScalar(countSql));
         pageCount = pageCount / pageSize + (pageCount % pageSize > 0 ? 1 : 0);
         List <T_PF_PERSONALRECORD> list = new List <T_PF_PERSONALRECORD>();
         if (dt != null && dt.Rows.Count > 0)
         {
             foreach (DataRow dr in dt.Rows)
             {
                 T_PF_PERSONALRECORD entity = new T_PF_PERSONALRECORD();
                 entity.PERSONALRECORDID = Guid.NewGuid().ToString();
                 entity.SYSTYPE          = dr["SYSTYPE"].ToString();
                 entity.MODELCODE        = dr["MODELCODE"].ToString();
                 entity.MODELID          = dr["MODELID"].ToString();
                 entity.CHECKSTATE       = dr["CHECKSTATE"].ToString();
                 entity.MODELDESCRIPTION = string.Format("{0:F}", Convert.ToDateTime(dr["CREATEDATE"].ToString())) + " " + dr["DESCRIPTION"].ToString();
                 entity.CREATEDATE       = Convert.ToDateTime(dr["CREATEDATE"].ToString());
                 entity.CONFIGINFO       = dr["CHECKSTATE"].ToString() == "3" ? dr["CONFIGINFO"].ToString().Replace("Audit", "Resubmit").Replace("Edit", "Resubmit") : dr["CONFIGINFO"].ToString();
                 list.Add(entity);
             }
         }
         return(list);
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog(this, "GetPersonalRecord()", "获取我的单据列表(三种状态,审核中,审核通过,审核不通过)", ex);
         return(null);
     }
     finally
     {
         dao.Close();
     }
 }
예제 #13
0
 public bool AddDoTask(T_PF_PERSONALRECORD model)
 {
     ClosedDoTaskStatus(model.SYSTYPE, model.MODELID, model.OWNERID);
     try
     {
         using (OracleConnection con = new OracleConnection(dao.DatabaseString))
         {
             string insSql = @"INSERT INTO T_WF_DOTASK (DOTASKID,COMPANYID,ORDERID,ORDERUSERID,ORDERUSERNAME,ORDERSTATUS,MESSAGEBODY,
                              APPLICATIONURL,RECEIVEUSERID,BEFOREPROCESSDATE,ENGINECODE,DOTASKTYPE,DOTASKSTATUS,MAILSTATUS,
                              RTXSTATUS,SYSTEMCODE,MODELCODE,REMARK)
                              VALUES (:DOTASKID,:COMPANYID,:ORDERID,:ORDERUSERID,:ORDERUSERNAME,:ORDERSTATUS,:MESSAGEBODY,
                             :APPLICATIONURL,:RECEIVEUSERID,:BEFOREPROCESSDATE,:ENGINECODE,:DOTASKTYPE,:DOTASKSTATUS,:MAILSTATUS,
                             :RTXSTATUS,:SYSTEMCODE,:MODELCODE,:REMARK)";
             #region
             #region
             OracleParameter[] pageparm =
             {
                 new OracleParameter(":DOTASKID",          OracleType.NVarChar,   100),
                 new OracleParameter(":COMPANYID",         OracleType.NVarChar,   100),
                 new OracleParameter(":ORDERID",           OracleType.NVarChar,   100),
                 new OracleParameter(":ORDERUSERID",       OracleType.NVarChar,   100),
                 new OracleParameter(":ORDERUSERNAME",     OracleType.NVarChar,   100),
                 new OracleParameter(":ORDERSTATUS",       OracleType.Number),
                 new OracleParameter(":MESSAGEBODY",       OracleType.NVarChar,  4000),
                 new OracleParameter(":APPLICATIONURL",    OracleType.NVarChar,  2000),
                 new OracleParameter(":RECEIVEUSERID",     OracleType.NVarChar,   100),
                 new OracleParameter(":BEFOREPROCESSDATE", OracleType.DateTime),
                 new OracleParameter(":ENGINECODE",        OracleType.NVarChar,   100),
                 new OracleParameter(":DOTASKTYPE",        OracleType.Number),
                 new OracleParameter(":DOTASKSTATUS",      OracleType.Number),
                 new OracleParameter(":MAILSTATUS",        OracleType.Number),
                 new OracleParameter(":RTXSTATUS",         OracleType.Number),
                 new OracleParameter(":SYSTEMCODE",        OracleType.NVarChar,   100),
                 new OracleParameter(":MODELCODE",         OracleType.NVarChar,   100),
                 new OracleParameter(":REMARK",            OracleType.NVarChar,   200),
             };
             #endregion
             pageparm[0].Value  = MsOracle.GetValue(Guid.NewGuid().ToString()); //待办任务ID
             pageparm[1].Value  = MsOracle.GetValue(model.OWNERCOMPANYID);      //公司ID
             pageparm[2].Value  = MsOracle.GetValue(model.MODELID);             //单据ID
             pageparm[3].Value  = MsOracle.GetValue(model.OWNERID);             //单据所属人ID
             pageparm[4].Value  = MsOracle.GetValue("");                        //单据所属人名称
             pageparm[5].Value  = MsOracle.GetValue(0);                         //单据状态
             pageparm[6].Value  = MsOracle.GetValue(model.MODELDESCRIPTION);
             pageparm[7].Value  = MsOracle.GetValue(model.CONFIGINFO);
             pageparm[8].Value  = MsOracle.GetValue(model.OWNERID);
             pageparm[9].Value  = MsOracle.GetValue(DateTime.Now.AddDays(3));
             pageparm[10].Value = MsOracle.GetValue(""); //
             pageparm[11].Value = MsOracle.GetValue(4);  //待办任务类型(0、待办任务、1、流程咨询、3  )
             pageparm[12].Value = MsOracle.GetValue(0);  //代办任务状态(0、未处理 1、已处理 、2、任务撤销 10、删除)
             pageparm[13].Value = MsOracle.GetValue(1);  //邮件状态(0、未发送 1、已发送、2、未知 )
             pageparm[14].Value = MsOracle.GetValue(1);  //RTX状态(0、未发送 1、已发送、2、未知 )
             pageparm[15].Value = MsOracle.GetValue(model.SYSTYPE);
             pageparm[16].Value = MsOracle.GetValue(model.MODELCODE);
             pageparm[17].Value = MsOracle.GetValue("未提交单据");
             #endregion
             return(MsOracle.ExecuteNonQuery(con, CommandType.Text, insSql, pageparm) > 0 ? true : false);
         }
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog("新增未提交单据待办消息出错:" + ex);
         throw new Exception(ex.Message, ex);
     }
 }
예제 #14
0
        /// <summary>
        /// 添加我的单据 edit ljx
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="entity"></param>
        /// <param name="strIsForward">传递过来的参数默认为0</param>
        /// <param name="createuserid">添加人ID,替换属人ID</param>
        public static void SubmitMyRecord <TEntity>(object entity, string strIsForward, string createuserid)
        {
            try
            {
                //如果为空 直接退出
                if (string.IsNullOrEmpty(createuserid))
                {
                    return;
                }
                if (string.IsNullOrEmpty(strIsForward))
                {
                    strIsForward = "0";//如果为空,默认为0
                }
                //PersonalRecordServiceClient client = new PersonalRecordServiceClient();
                string strSystype = string.Empty, strSysName = string.Empty, strFormName = string.Empty, strModelCode = string.Empty, strModelDesp = string.Empty, strFormId = string.Empty, strSubmitXmlObj = string.Empty;

                Type           a        = entity.GetType();
                PropertyInfo[] piSource = a.GetProperties();

                var n = from m in piSource
                        where m.Name == "CHECKSTATE" || m.Name == "CHECKSTATES" || m.Name == "AUDITSTATE"
                        select m;

                if (n == null)
                {
                    return;
                }

                if (n.Count() == 0)
                {
                    return;
                }

                strSysName   = GetSysName(a.FullName);
                strSystype   = GetSystypeByName(strSysName);
                strModelCode = a.Name;
                strFormName  = GetResourceValue(strModelCode);

                bool bIsExcludeTable = false;
                bIsExcludeTable = CheckExcludeTable(strSystype, strModelCode);
                if (bIsExcludeTable)
                {
                    return;
                }

                T_PF_PERSONALRECORD entSubmit = null;

                foreach (PropertyInfo prop in piSource)
                {
                    if (prop.PropertyType.BaseType == typeof(System.Data.Objects.DataClasses.EntityReference) ||
                        prop.PropertyType.BaseType == typeof(System.Data.Objects.DataClasses.RelatedEnd) ||
                        prop.PropertyType == typeof(System.Data.EntityState) ||
                        prop.PropertyType == typeof(System.Data.EntityKey) ||
                        prop.PropertyType.BaseType == typeof(System.Data.Objects.DataClasses.EntityObject))
                    {
                        continue;
                    }

                    if (entity is System.Data.Objects.DataClasses.EntityObject)
                    {
                        System.Data.Objects.DataClasses.EntityObject ent = entity as System.Data.Objects.DataClasses.EntityObject;
                        if (ent != null && ent.EntityKey != null && ent.EntityKey.EntityKeyValues != null && ent.EntityKey.EntityKeyValues.Count() > 0)
                        {
                            bool isKeyField = false;
                            foreach (var key in ent.EntityKey.EntityKeyValues)
                            {
                                if (key.Key == prop.Name)
                                {
                                    isKeyField = true;
                                    object obj = prop.GetValue(entity, null);
                                    if (obj != null)
                                    {
                                        strFormId = obj.ToString();
                                    }
                                    break;
                                }
                            }

                            if (isKeyField)
                            {
                                //if (entSubmit == null && !string.IsNullOrEmpty(strFormId))
                                //{
                                //    entSubmit = client.GetPersonalRecordModelByModelID(strSystype, strModelCode, strFormId, strIsForward);
                                //}

                                continue;
                            }
                        }

                        if (entSubmit == null)
                        {
                            entSubmit = new T_PF_PERSONALRECORD();
                            entSubmit.PERSONALRECORDID = System.Guid.NewGuid().ToString();
                            entSubmit.SYSTYPE          = strSystype;
                            entSubmit.MODELCODE        = strModelCode;
                            entSubmit.MODELID          = strFormId;
                            entSubmit.ISFORWARD        = strIsForward;
                        }
                        ;


                        if (entSubmit != null)
                        {
                            Type           b        = entSubmit.GetType();
                            PropertyInfo[] piTarget = b.GetProperties();

                            //prop.Name
                            object valueTemp = prop.GetValue(entity, null);
                            try
                            {
                                string strMemberName = prop.Name;
                                if (strMemberName == "CHECKSTATE" || strMemberName == "CHECKSTATES" || strMemberName == "AUDITSTATE")
                                {
                                    strMemberName = "CHECKSTATE";
                                }

                                var q = from t in piTarget
                                        where t.Name == strMemberName
                                        select t;

                                if (q.Count() == 0)
                                {
                                    continue;
                                }

                                PropertyInfo piTemp = q.FirstOrDefault();

                                if (valueTemp == null)
                                {
                                    if (piTemp.PropertyType.Name == "String")
                                    {
                                        valueTemp = "";
                                    }
                                    else if (piTemp.PropertyType.FullName.Contains("System.DateTime"))
                                    {
                                        DateTime dtTemp = new DateTime();
                                        valueTemp = dtTemp;
                                    }
                                    else if (piTemp.PropertyType.FullName.Contains("System.Decimal"))
                                    {
                                        valueTemp = 0;
                                    }
                                }
                                else
                                {
                                    if (string.IsNullOrEmpty(valueTemp.ToString()))
                                    {
                                        if (piTemp.PropertyType.Name == "String")
                                        {
                                            valueTemp = "";
                                        }
                                        else if (piTemp.PropertyType.FullName.Contains("System.DateTime"))
                                        {
                                            DateTime dtTemp = new DateTime();
                                            valueTemp = dtTemp;
                                        }
                                        else if (piTemp.PropertyType.FullName.Contains("System.Decimal"))
                                        {
                                            valueTemp = 0;
                                        }
                                    }
                                }

                                if (piTemp.CanWrite)
                                {
                                    if (piTemp.PropertyType.Name == "String")
                                    {
                                        piTemp.SetValue(entSubmit, valueTemp.ToString(), null);
                                    }
                                    else if (piTemp.PropertyType.FullName.Contains("System.Decimal"))
                                    {
                                        piTemp.SetValue(entity, Convert.ToDecimal(valueTemp), null);
                                    }
                                    else
                                    {
                                        piTemp.SetValue(entSubmit, valueTemp, null);
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                string e = ex.ToString();
                                Tracer.Debug("我的单据调用发生了错误:" + ex.ToString() + entSubmit.MODELCODE + " " + entSubmit.MODELID);
                            }
                        }
                    }
                }

                switch (entSubmit.CHECKSTATE)
                {
                case "0":
                    strSubmitXmlObj = SetSubmitXmlObj(strSysName, strFormName, strFormId, "Edit");
                    strModelDesp    = GetModelDescription(entSubmit.CREATEDATE.Value, strModelCode, "您{0}的[{1}]还未提交!");
                    break;

                case "1":
                    strSubmitXmlObj = SetSubmitXmlObj(strSysName, strFormName, strFormId, "Audit");
                    strModelDesp    = GetModelDescription(entSubmit.CREATEDATE.Value, strModelCode, "您{0}的[{1}]正在审核中!");
                    break;

                case "2":
                    strSubmitXmlObj = SetSubmitXmlObj(strSysName, strFormName, strFormId, "View");
                    strModelDesp    = GetModelDescription(entSubmit.CREATEDATE.Value, strModelCode, "您{0}的[{1}]已经审核通过!");
                    break;

                case "3":
                    strSubmitXmlObj = SetSubmitXmlObj(strSysName, strFormName, strFormId, "View");
                    strModelDesp    = GetModelDescription(entSubmit.CREATEDATE.Value, strModelCode, "您{0}的[{1}]已审核未通过!");
                    break;

                default:
                    strSubmitXmlObj = SetSubmitXmlObj(strSysName, strFormName, strFormId, "View");
                    strModelDesp    = GetModelDescription(entSubmit.CREATEDATE.Value, strModelCode, "您{0}的[{1}],还未提交!");
                    break;
                }

                entSubmit.MODELDESCRIPTION = strModelDesp;
                entSubmit.CONFIGINFO       = strSubmitXmlObj;
                if (!string.IsNullOrEmpty(createuserid))
                {
                    entSubmit.OWNERID = createuserid;
                }
                //if (entSubmit != null)
                //{
                //    Tracer.Debug("开始调用我的单据服务:");
                //    Tracer.Debug("CHECKSTATE:" + entSubmit.CHECKSTATE);
                //    Tracer.Debug("CONFIGINFO:" + entSubmit.CONFIGINFO);
                //    Tracer.Debug("CREATEDATE:" + entSubmit.CREATEDATE.ToString());
                //    Tracer.Debug("ISFORWARD:" + entSubmit.ISFORWARD);
                //    Tracer.Debug("ISVIEW:" + entSubmit.ISVIEW);
                //    Tracer.Debug("MODELCODE:" + entSubmit.MODELCODE);
                //    Tracer.Debug("MODELDESCRIPTION:" + entSubmit.MODELDESCRIPTION);
                //    Tracer.Debug("MODELID:" + entSubmit.MODELID);
                //    Tracer.Debug("OWNERCOMPANYID:" + entSubmit.OWNERCOMPANYID);
                //    Tracer.Debug("OWNERDEPARTMENTID:" + entSubmit.OWNERDEPARTMENTID);
                //    Tracer.Debug("OWNERID:" + entSubmit.OWNERID);
                //    Tracer.Debug("OWNERPOSTID:" + entSubmit.OWNERPOSTID);
                //    Tracer.Debug("PERSONALRECORDID:" + entSubmit.PERSONALRECORDID);
                //    Tracer.Debug("SYSTYPE:" + entSubmit.SYSTYPE);
                //    //Tracer.Debug("单据ID:"+entSubmit.MODELID + "模块名称:"+entSubmit.CONFIGINFO);

                //}
                //if (client.AddPersonalRecord(entSubmit))
                //{
                //    Tracer.Debug("模块" + entSubmit.MODELCODE + "ID:" + entSubmit.MODELID + "调用了我的单据新建服务" + "成功!");
                //}
                //else
                //{
                //    Tracer.Debug("模块" + entSubmit.MODELCODE + "ID:" + entSubmit.MODELID + "调用了我的单据新建服务" + "失败!");
                //}
                //if (entSubmit.EntityKey != null)
                //{
                //    Tracer.Debug("调用了我的单据更新服务" + System.DateTime.Now.ToString());
                //    client.UpdatePersonalRecord(entSubmit);
                //}
                //else
                //{
                //    Tracer.Debug("调用了我的单据新建服务" + System.DateTime.Now.ToString());
                //    client.AddPersonalRecord(entSubmit);
                //}
            }
            catch (Exception ex)
            {
                Tracer.Debug("我的单据出现错误:" + ex.ToString() + System.DateTime.Now.ToString());
            }
        }