예제 #1
0
        /// <summary>
        ///  增加一条数据
        /// </summary>
        public int Insert(SqlTransaction sqltran, Entities.TTable model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@RecID",        SqlDbType.Int,        4),
                new SqlParameter("@TTCode",       SqlDbType.NVarChar,  20),
                new SqlParameter("@TTDesName",    SqlDbType.NVarChar,  40),
                new SqlParameter("@TTName",       SqlDbType.NVarChar,  40),
                new SqlParameter("@Status",       SqlDbType.Int,        4),
                new SqlParameter("@CreateTime",   SqlDbType.DateTime),
                new SqlParameter("@CreateUserID", SqlDbType.Int,        4),
                new SqlParameter("@TTIsData",     SqlDbType.Int, 4)
            };
            parameters[0].Direction = ParameterDirection.Output;
            parameters[1].Value     = model.TTCode;
            parameters[2].Value     = model.TTDesName;
            parameters[3].Value     = model.TTName;
            parameters[4].Value     = model.Status;
            parameters[5].Value     = model.CreateTime;
            parameters[6].Value     = model.CreateUserID;
            parameters[7].Value     = model.TTIsData;

            SqlHelper.ExecuteNonQuery(sqltran, CommandType.StoredProcedure, P_TTABLE_INSERT, parameters);
            return((int)parameters[0].Value);
        }
예제 #2
0
        private void Generate(out string msg)
        {
            msg = "";

            int RecID = int.Parse(recid);

            Entities.TTable        ttableModel = new Entities.TTable();
            List <Entities.TField> fieldList   = new List <Entities.TField>();

            Entities.TPage tpageModel = BLL.TPage.Instance.GetTPage(RecID);
            if (tpageModel != null)
            {
                ttableModel = BLL.TTable.Instance.GetTTableByTTCode(tpageModel.TTCode);
                fieldList   = BLL.TField.Instance.GetTFieldListByTTCode(tpageModel.TTCode);
                if (fieldList.Count > 0)
                {
                    GenerateFields(tpageModel, ttableModel, fieldList, out msg);
                }
                else
                {
                    msg += "模板没有字段,不能生成";
                }
            }
            else
            {
                msg += "没有找到对应的模板信息";
            }
        }
예제 #3
0
        private Entities.TTable LoadSingleTTable(DataRow row)
        {
            Entities.TTable model = new Entities.TTable();

            if (row["RecID"].ToString() != "")
            {
                model.RecID = int.Parse(row["RecID"].ToString());
            }
            model.TTCode    = row["TTCode"].ToString();
            model.TTDesName = row["TTDesName"].ToString();
            model.TTName    = row["TTName"].ToString();
            if (row["Status"].ToString() != "")
            {
                model.Status = int.Parse(row["Status"].ToString());
            }
            if (row["CreateTime"].ToString() != "")
            {
                model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
            }
            if (row["CreateUserID"].ToString() != "")
            {
                model.CreateUserID = int.Parse(row["CreateUserID"].ToString());
            }
            if (row["TTIsData"].ToString() != "")
            {
                model.TTIsData = int.Parse(row["TTIsData"].ToString());
            }
            return(model);
        }
예제 #4
0
        public Entities.TTable GetTTableByTTCode(string ttcode)
        {
            Entities.TTable      ttableModel = new Entities.TTable();
            Entities.QueryTTable query       = new QueryTTable();
            query.TTCode = ttcode;
            int       totalCount = 0;
            DataTable dt         = BLL.TTable.Instance.GetTTable(query, "", 1, 999, out totalCount);

            if (dt != null && dt.Rows.Count > 0)
            {
                ttableModel = Dal.TTable.Instance.GetTTable(int.Parse(dt.Rows[0]["RecID"].ToString()));
            }
            return(ttableModel);
        }
예제 #5
0
        //获取状态   add lxw 13.3.22
        //未完成-保存但未生成模板-status=0;已完成-已保存且生成模板但新建的新表没数据-status=1;已使用:已生成模板并新建的新表存在数据-status=1
        //在为已完成时,需要根据TTable表查询该TTcode下的TTIsData是否为1,如果为1则为已使用,status赋值为2
        public int getStatusByTTCode(string status, string ttCode)
        {
            int _status;

            if (int.TryParse(status, out _status) && ttCode != string.Empty)
            {
                if (_status == 1)
                {
                    //判断该生成的模板表是否存在数据
                    Entities.TTable model = BLL.TTable.Instance.GetTTableByTTCode(ttCode);
                    if (model != null && model.TTIsData == 1)//等于1,表示模板表有数据,状态修改为已使用
                    {
                        _status = 2;
                    }
                }
            }
            return(_status);
        }
예제 #6
0
 public void GetTaskOrderInfoValues(string PTID, out string ProvinceID, out string CityID, out string YXBrandID, out string YXSerialID)
 {
     ProvinceID = "";
     CityID     = "";
     YXBrandID  = "";
     YXSerialID = "";
     //BLL.Loger.Log4Net.Info(string.Format("BitAuto.ISDC.CC2012.BLL.OtherTaskInfo,根据任务id:{0}取意向车型,意向品牌,省份,城市,开始...", PTID));
     Entities.OtherTaskInfo taskInfo = BLL.OtherTaskInfo.Instance.GetOtherTaskInfo(PTID);
     if (taskInfo != null)
     {
         Entities.TTable ttable = BLL.TTable.Instance.GetTTableByTTCode(taskInfo.RelationTableID);
         if (ttable != null)
         {
             DataTable TempDataTable = Dal.OtherTaskInfo.Instance.GetCustomTable(taskInfo.RelationID, ttable.TTName);
             if (TempDataTable.Rows.Count == 1)
             {
                 for (int colIndex = TempDataTable.Columns.Count - 1; colIndex >= 0; colIndex--)
                 {
                     if (TempDataTable.Columns[colIndex].ColumnName.IndexOf("_Province") != -1)
                     {
                         //存在省份字段
                         ProvinceID = TempDataTable.Rows[0][colIndex].ToString();
                     }
                     if (TempDataTable.Columns[colIndex].ColumnName.IndexOf("_City") != -1)
                     {
                         //存在城市字段
                         CityID = TempDataTable.Rows[0][colIndex].ToString();
                     }
                     if (TempDataTable.Columns[colIndex].ColumnName.IndexOf("_YXBrand") != -1)
                     {
                         //存在意向品牌字段
                         YXBrandID = TempDataTable.Rows[0][colIndex].ToString();
                     }
                     if (TempDataTable.Columns[colIndex].ColumnName.IndexOf("_YXSerial") != -1)
                     {
                         //存在意向车型字段
                         YXSerialID = TempDataTable.Rows[0][colIndex].ToString();
                     }
                 }
             }
         }
     }
     //BLL.Loger.Log4Net.Info(string.Format("BitAuto.ISDC.CC2012.BLL.OtherTaskInfo,根据任务id:{0}取意向车型,意向品牌,省份,城市,结束", PTID));
 }
예제 #7
0
        /// <summary>
        /// 获取项目、自定义数据表、字段信息 基本信息
        /// </summary>
        /// <param name="ProjectID"></param>
        /// <param name="model"></param>
        /// <param name="TTCode"></param>
        /// <param name="ttable"></param>
        /// <param name="TTName"></param>
        /// <param name="fieldList"></param>
        /// <param name="msg"></param>
        private void GetBaseInfo(int ProjectID, out Entities.ProjectInfo model, out string TTCode, out Entities.TTable ttable, out string TTName, out List <Entities.TField> fieldList, out string msg)
        {
            msg = string.Empty;

            model = BLL.ProjectInfo.Instance.GetProjectInfo(ProjectID);

            TTCode = string.Empty;

            ttable = new Entities.TTable();

            TTName = string.Empty;

            fieldList = new List <Entities.TField>();

            if (model == null)
            {
                msg += "没找到对应的项目";
                return;
            }
            if (model.Source != 4)
            {
                msg += "此类型项目不允许导出";
                return;
            }

            TTCode = model.TTCode;

            ttable = BLL.TTable.Instance.GetTTableByTTCode(TTCode); //

            if (ttable.TTName == "" || ttable.TTName == null)
            {
                msg += "没有找到定义的自定义数据表名称";
                return;
            }

            TTName = ttable.TTName;

            fieldList = BLL.TField.Instance.GetTFieldListByTTCode(TTCode);
        }
예제 #8
0
        /// <summary>
        ///  更新一条数据
        /// </summary>
        public int Update(Entities.TTable model)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@RecID",        SqlDbType.Int,        4),
                new SqlParameter("@TTCode",       SqlDbType.NVarChar,  20),
                new SqlParameter("@TTDesName",    SqlDbType.NVarChar,  40),
                new SqlParameter("@TTName",       SqlDbType.NVarChar,  40),
                new SqlParameter("@Status",       SqlDbType.Int,        4),
                new SqlParameter("@CreateTime",   SqlDbType.DateTime),
                new SqlParameter("@CreateUserID", SqlDbType.Int,        4),
                new SqlParameter("@TTIsData",     SqlDbType.Int, 4)
            };
            parameters[0].Value = model.RecID;
            parameters[1].Value = model.TTCode;
            parameters[2].Value = model.TTDesName;
            parameters[3].Value = model.TTName;
            parameters[4].Value = model.Status;
            parameters[5].Value = model.CreateTime;
            parameters[6].Value = model.CreateUserID;
            parameters[7].Value = model.TTIsData;

            return(SqlHelper.ExecuteNonQuery(CONNECTIONSTRINGS, CommandType.StoredProcedure, P_TTABLE_UPDATE, parameters));
        }
예제 #9
0
        private void Submit(out string msg, int userID, out string returnTTCode)
        {
            msg          = "";
            returnTTCode = "";

            string       datainfoStr    = DataStr;
            TemplateInfo tempInfoData   = null;
            int          templateStatus = -1;//模板状态

            Entities.TPage         tpageModel    = new Entities.TPage();
            Entities.TTable        ttable        = new Entities.TTable();
            List <Entities.TField> editfieldList = new List <Entities.TField>();
            List <Entities.TField> addfieldList  = new List <Entities.TField>();

            Entities.TField fieldModel = new Entities.TField();

            List <Entities.TField> delFields = new List <Entities.TField>();

            tempInfoData = (TemplateInfo)Newtonsoft.Json.JavaScriptConvert.DeserializeObject(datainfoStr, typeof(TemplateInfo));

            #region 验证数据

            CheckMsg(tempInfoData, out msg);

            if (msg != "")
            {
                return;
            }
            #endregion

            #region 准备数据

            if (tempInfoData.ttcode != "")
            {
                //编辑

                #region 模板信息

                tpageModel = BLL.TPage.Instance.GetTPageByTTCode(tempInfoData.ttcode);
                if (tpageModel != null)
                {
                    //状态
                    templateStatus = BLL.TPage.Instance.getStatus(tpageModel.RecID.ToString(), tpageModel.Status.ToString());

                    if (templateStatus != 0)
                    {
                        msg += "模板当前状态下不允许编辑";
                        return;
                    }

                    tpageModel.TPName             = tempInfoData.templateName;
                    tpageModel.BGID               = int.Parse(tempInfoData.BGID);
                    tpageModel.SCID               = int.Parse(tempInfoData.CID);
                    tpageModel.TPContent          = tempInfoData.templateDesc;
                    tpageModel.IsShowBtn          = int.Parse(tempInfoData.IsShowBtn);
                    tpageModel.IsShowWorkOrderBtn = int.Parse(tempInfoData.IsShowWorkOrderBtn);
                    tpageModel.IsShowSendMsgBtn   = int.Parse(tempInfoData.IsShowSendMsgBtn);
                    tpageModel.IsShowQiCheTong    = int.Parse(tempInfoData.IsShowQiCheTong);
                    tpageModel.IsShowSubmitOrder  = int.Parse(tempInfoData.IsShowSubmitOrder);
                }
                else
                {
                    msg += "没有找到相关模板信息";
                    return;
                }

                #endregion

                #region 自定义数据表

                ttable = BLL.TTable.Instance.GetTTableByTTCode(tempInfoData.ttcode);
                if (ttable != null)
                {
                    ttable.TTDesName = tempInfoData.templateName;
                }
                else
                {
                    msg += "没有找到相关的自定义表信息";
                    return;
                }

                #endregion

                #region 编辑字段
                editfieldList = BLL.TField.Instance.GetTFieldListByTTCode(tempInfoData.ttcode);
                List <FieldInfoData> updateFieldInfo = new List <FieldInfoData>();
                #region 新增的
                for (int i = tempInfoData.fieldListInfo.Length - 1; i >= 0; i--)
                {
                    if (tempInfoData.fieldListInfo[i].RecID == "")
                    {
                        //新增
                        fieldModel = GetOneFieldMode(userID, tempInfoData.fieldListInfo[i], tpageModel.TTCode, "");
                        addfieldList.Add(fieldModel);
                    }
                    else
                    {
                        //编辑的
                        updateFieldInfo.Add(tempInfoData.fieldListInfo[i]);
                    }
                }
                #endregion

                int existflog = 0;
                for (int i = editfieldList.Count - 1; i >= 0; i--)
                {
                    existflog = 0;
                    if (tempInfoData.fieldListInfo != null)
                    {
                        foreach (FieldInfoData field in updateFieldInfo)
                        {
                            if (field.RecID == editfieldList[i].RecID.ToString())
                            {
                                //编辑
                                editfieldList[i].TFDesName      = field.TFDesName;
                                editfieldList[i].TFDes          = field.TFDes;
                                editfieldList[i].TFInportIsNull = int.Parse(field.TFInportIsNull);
                                editfieldList[i].TFIsNull       = int.Parse(field.TFIsNull);
                                editfieldList[i].TFSortIndex    = int.Parse(field.TFSortIndex);
                                editfieldList[i].TFIsExportShow = int.Parse(field.TFIsExportShow);
                                editfieldList[i].TFIsListShow   = int.Parse(field.TFIsListShow);
                                editfieldList[i].TFValue        = field.TFValue;
                                editfieldList[i].TFCssName      = field.TFCssName;
                                existflog = 1;
                            }
                        }

                        // //在页面传来的对象中没有,是删除
                        if (existflog == 0)
                        {
                            //删除的
                            delFields.Add(editfieldList[i]);
                            editfieldList.RemoveAt(i);
                        }
                    }
                }
                #endregion
            }
            else
            {
                //新增
                #region 自定义数据表

                int maxID = BLL.TTable.Instance.GetMaxID();

                ttable.TTCode       = "t" + maxID;
                ttable.TTDesName    = tempInfoData.templateName;
                ttable.TTName       = "Tempt" + maxID;
                ttable.Status       = 0;
                ttable.CreateTime   = DateTime.Now;
                ttable.CreateUserID = userID;

                #endregion

                #region 模板表
                tpageModel.TPName             = tempInfoData.templateName;
                tpageModel.BGID               = int.Parse(tempInfoData.BGID);
                tpageModel.SCID               = int.Parse(tempInfoData.CID);
                tpageModel.TPRef              = "";
                tpageModel.TTCode             = ttable.TTCode;
                tpageModel.TPContent          = tempInfoData.templateDesc;
                tpageModel.GenTempletPath     = "";
                tpageModel.Status             = 0;
                tpageModel.Remark             = "";
                tpageModel.CreateTime         = DateTime.Now;
                tpageModel.CreateUserID       = userID;
                tpageModel.TTName             = ttable.TTName;
                tpageModel.IsShowBtn          = int.Parse(tempInfoData.IsShowBtn);
                tpageModel.IsShowWorkOrderBtn = int.Parse(tempInfoData.IsShowWorkOrderBtn);
                tpageModel.IsShowSendMsgBtn   = int.Parse(tempInfoData.IsShowSendMsgBtn);
                tpageModel.IsShowQiCheTong    = int.Parse(tempInfoData.IsShowQiCheTong);
                tpageModel.IsShowSubmitOrder  = int.Parse(tempInfoData.IsShowSubmitOrder);
                tpageModel.IsUsed             = -1;
                #endregion

                #region 字段

                if (tempInfoData.fieldListInfo != null)
                {
                    foreach (FieldInfoData item in tempInfoData.fieldListInfo)
                    {
                        string ttCode = ttable.TTCode;

                        fieldModel = GetOneFieldMode(userID, item, ttCode, "");

                        addfieldList.Add(fieldModel);
                    }
                }

                #endregion
            }

            #endregion

            #region 提交事务

            string        connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC");
            SqlConnection connection        = new SqlConnection(connectionstrings);
            connection.Open();
            SqlTransaction tran = connection.BeginTransaction("SampleTransaction");

            try
            {
                if (tempInfoData.ttcode == "")
                {
                    //新增

                    BLL.TPage.Instance.Insert(tran, tpageModel);

                    BLL.TTable.Instance.Insert(tran, ttable);

                    //新增的字段
                    foreach (Entities.TField item in addfieldList)
                    {
                        BLL.TField.Instance.Insert(tran, item);
                    }

                    returnTTCode = tpageModel.TTCode;
                }
                else
                {
                    //编辑

                    BLL.TPage.Instance.Update(tran, tpageModel);

                    BLL.TTable.Instance.Update(tran, ttable);

                    //编辑的字段
                    foreach (Entities.TField item in editfieldList)
                    {
                        BLL.TField.Instance.Update(tran, item);
                    }

                    //新增的字段
                    foreach (Entities.TField item in addfieldList)
                    {
                        BLL.TField.Instance.Insert(tran, item);

                        #region 如果已经生成模板,添加物理表的字段(修改为:模板生成了,还可以修改,⊙﹏⊙b汗)

                        if (templateStatus == 1)
                        {
                            try
                            {
                                List <string> addNames = GetRealFieldName(item);

                                foreach (string name in addNames)
                                {
                                    BLL.TField.Instance.AddColumn(ttable.TTName, name, item.TTypeID.ToString());
                                }
                            }
                            catch (Exception ex)
                            {
                                msg += "添加数据表字段失败!<br>";
                            }
                        }

                        #endregion
                    }

                    //删除的字段

                    foreach (Entities.TField item in delFields)
                    {
                        BLL.TField.Instance.Delete(item.RecID);

                        #region 如果已经生成模板,删除物理表的字段

                        if (templateStatus == 1)
                        {
                            try
                            {
                                List <string> delNames = GetRealFieldName(item);

                                foreach (string name in delNames)
                                {
                                    BLL.TField.Instance.DelColumn(ttable.TTName, name);
                                }
                            }
                            catch (Exception ex)
                            {
                                msg += "删除数据表字段失败!<br>";
                            }
                        }

                        #endregion
                    }

                    returnTTCode = tpageModel.TTCode;
                }


                tran.Commit();
            }
            catch (Exception ex)
            {
                if (tran.Connection != null)
                {
                    tran.Rollback();
                }
                msg = ex.Message.ToString();
            }
            finally
            {
                connection.Close();
            }

            #endregion
        }
예제 #10
0
        /// <summary>
        /// 创建表的语句
        /// </summary>
        /// <param name="ttableModel"></param>
        /// <param name="fieldList"></param>
        /// <returns></returns>
        public string CreateSql(Entities.TTable ttableModel, List <Entities.TField> fieldList)
        {
            string sqlStr = "";

            sqlStr += "create table " + ttableModel.TTName + " (";
            sqlStr += " [RecID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY, ";
            sqlStr += " [Status] [int] , ";
            sqlStr += " [CreateTime] [datetime] NULL,";
            sqlStr += " [CreateUserID] [int] NULL,";

            //是否有个人用户字段
            List <Entities.TField> listFind = fieldList.FindAll(delegate(Entities.TField field)
            {
                return(field.TFShowCode == "100015");
            });


            if (listFind.Count > 0)
            {
                fieldList.RemoveAll(delegate(Entities.TField field)
                {
                    return(field.TFShowCode == "100015");
                });

                foreach (Entities.TField item in listFind)
                {
                    switch (item.TFDesName)
                    {
                    case "姓名":
                        sqlStr += item.TFName + " " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                        break;

                    case "性别":
                        sqlStr += item.TFName + "_radioid " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                        sqlStr += item.TFName + "_radioid_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                        break;

                    case "电话":
                        sqlStr += item.TFName + " " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                        break;

                    default:
                        break;
                    }
                }
            }

            foreach (Entities.TField item in fieldList)
            {
                if (item.TFShowCode == "100009")
                {
                    //日期段

                    sqlStr += item.TFName + "_startdata " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tdatetime) + ",";
                    sqlStr += item.TFName + "_enddata " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tdatetime) + ",";
                }
                if (item.TFShowCode == "100011")
                {
                    //时间段

                    sqlStr += item.TFName + "_starttime " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tdatetime) + ",";
                    sqlStr += item.TFName + "_endtime " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tdatetime) + ",";
                }
                else if (item.TFShowCode == "100012")
                {
                    //二级省市

                    sqlStr += item.TFName + "_Province " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_Province_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";

                    sqlStr += item.TFName + "_City " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_City_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100013")
                {
                    //三级省市县

                    sqlStr += item.TFName + "_Province " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_Province_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";

                    sqlStr += item.TFName + "_City " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_City_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";

                    sqlStr += item.TFName + "_Country " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_Country_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100004")//复选
                {
                    sqlStr += item.TFName + "_checkid " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                    sqlStr += item.TFName + "_checkid_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100003")//单选
                {
                    sqlStr += item.TFName + "_radioid " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_radioid_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100005")//下拉
                {
                    sqlStr += item.TFName + "_selectid " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_selectid_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100014")//CRM CustID
                {
                    sqlStr += item.TFName + "_crmcustid_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100015")//个人用户
                {
                    sqlStr += item.TFName + "_crmcustid_name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100016")
                {
                    //下单车型
                    sqlStr += item.TFName + "_XDBrand " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_XDBrand_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";

                    sqlStr += item.TFName + "_XDSerial " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_XDSerial_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100017")
                {
                    //意向车型
                    sqlStr += item.TFName + "_YXBrand " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_YXBrand_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";

                    sqlStr += item.TFName + "_YXSerial " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_YXSerial_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100018")
                {
                    //出售车型
                    sqlStr += item.TFName + "_CSBrand " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_CSBrand_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";

                    sqlStr += item.TFName + "_CSSerial " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                    sqlStr += item.TFName + "_CSSerial_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100019")//推荐活动
                {
                    sqlStr += item.TFName + "_Activity " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                    sqlStr += item.TFName + "_Activity_Name " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                }
                else if (item.TFShowCode == "100020")
                {
                    sqlStr += item.TFName + " " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tint) + ",";
                }
                else
                {
                    switch (item.TFShowCode)
                    {
                    case "100001":
                    case "100002":

                    case "100006":
                    case "100007":
                        sqlStr += item.TFName + " " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tnvarchar) + "(" + item.TFLen + "),";
                        break;

                    case "100008":
                    case "100010":
                        sqlStr += item.TFName + " " + BLL.Util.GetEnumOptText(typeof(EnumTFieldType), (int)EnumTFieldType.Tdatetime) + ",";
                        break;
                    }
                }
            }
            sqlStr  = sqlStr.Substring(0, sqlStr.Length - 1);
            sqlStr += " )";

            return(sqlStr);
        }
예제 #11
0
        /// <summary>
        /// 生成字段
        /// </summary>
        /// <param name="tpageModel"></param>
        /// <param name="ttableModel"></param>
        /// <param name="fieldList"></param>
        /// <param name="msg"></param>
        private void GenerateFields(Entities.TPage tpageModel, Entities.TTable ttableModel, List <Entities.TField> fieldList, out string msg)
        {
            msg = "";
            #region  除模板文件
            try
            {
                string root     = BLL.Util.GetUploadWebRoot() + BLL.Util.GetUploadProject(BLL.Util.ProjectTypePath.Template, "\\");
                string fullname = root + tpageModel.TPName + "_" + tpageModel.RecID + ".xls";
                if (File.Exists(fullname))
                {
                    File.Delete(fullname);
                }
            }
            catch (Exception ex)
            {
                msg = "删除模板文件出现异常:" + ex.Message;
            }

            #endregion

            #region 创建表
            string sqlStr = CreateSql(ttableModel, fieldList);
            BLL.TTable.Instance.CreateTable(sqlStr, out msg);
            #endregion

            #region 生成Excel文件
            if (msg != string.Empty)
            {
                return;
            }
            SaveExcelTemplate(tpageModel, out msg);
            #endregion

            #region 修改模板的状态和路径
            BLL.Util.InsertUserLog("【生成模板结束】createFileIsOk为" + createFileIsOk + ",msg为" + msg);
            if (!createFileIsOk)
            {
                BLL.Util.InsertUserLog("【生成模板失败】createFileIsOk为False,准备删除【" + ttableModel.TTName + "】模板表");
                //生成模板失败,则删除刚才创建的表
                string dropSql = " DROP Table " + ttableModel.TTName;
                string dropMsg = string.Empty;
                try
                {
                    BLL.TTable.Instance.CreateTable(dropSql, out dropMsg);
                    //记录日志
                    BLL.Util.InsertUserLog("【生成模板失败】【删除】刚创建的表【" + ttableModel.TTName + "】【删除模板表成功】");
                }
                catch (Exception ex)
                {
                    //记录日志
                    BLL.Util.InsertUserLog("【生成模板失败】【删除】刚创建的表【" + ttableModel.TTName + "】【删除模板表失败】,异常信息:" + ex.Message);
                }
                return;
            }

            //修改TPage表的IsUsed“是否可用”字段:修改成1:启用
            //add lxw 13.12.16
            tpageModel.IsUsed = 1;
            tpageModel.Status = 1;
            //更新路径到模板表
            tpageModel.GenTempletPath = tpageModel.TPName + "_" + tpageModel.RecID + ".xls";
            BLL.TPage.Instance.Update(tpageModel);
            #endregion
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="ProjectModel">项目</param>
        /// <param name="userId"></param>
        /// <param name="dt">项目的DataSource数据</param>
        /// <param name="msg"></param>
        public void GenByOtherTaskDataTable(Entities.ProjectInfo ProjectModel, int userId, DataTable dt, out string msg, out string data)
        {
            msg  = "";
            data = "";

            #region panduan

            bool   IsExistCrmCustID = false;
            string ttName           = "";
            string tfName           = "";

            List <Entities.TField> fieldlist = BLL.TField.Instance.GetTFieldListByTTCode(ProjectModel.TTCode);
            Entities.TField        fielditem = fieldlist.Find(delegate(Entities.TField o) { return(o.TFShowCode == "100014"); });
            if (fielditem != null)
            {
                IsExistCrmCustID = true;
                tfName           = fielditem.TFName;

                Entities.TTable tableModel = BLL.TTable.Instance.GetTTableByTTCode(ProjectModel.TTCode);
                if (tableModel != null)
                {
                    ttName = tableModel.TTName;
                }
            }

            #endregion

            #region 根据数据关联生成任务
            List <Entities.OtherTaskInfo> list = new List <Entities.OtherTaskInfo>();
            int       maxcount          = BLL.ProjectTaskInfo.Instance.GetMaxRecID();//从OtherTaskInfo表中查找最大值,不是ProjectTaskInfo表中查找最大值
            DataTable SourceOtherTaskDt = new DataTable();
            SourceOtherTaskDt.Columns.Add("PTID");
            SourceOtherTaskDt.Columns.Add("ProjectID", typeof(int));
            SourceOtherTaskDt.Columns.Add("RelationTableID");
            SourceOtherTaskDt.Columns.Add("RelationID");
            SourceOtherTaskDt.Columns.Add("CreateTime", typeof(DateTime));
            SourceOtherTaskDt.Columns.Add("CreateUserID", typeof(int));
            SourceOtherTaskDt.Columns.Add("LastOptTime", typeof(DateTime));
            SourceOtherTaskDt.Columns.Add("LastOptUserID", typeof(int));
            SourceOtherTaskDt.Columns.Add("TaskStatus", typeof(int));
            SourceOtherTaskDt.Columns.Add("Status", typeof(int));
            SourceOtherTaskDt.Columns.Add("CustID");

            int i = 0;
            foreach (DataRow dr in dt.Rows)
            {
                DataRow newDr = SourceOtherTaskDt.NewRow();

                string PixStr = "";
                if (ProjectModel.Source == 4)
                {
                    PixStr = "OTH";
                }

                newDr["PTID"] = PixStr + (++maxcount).ToString().PadLeft(7, '0');
                //记录最小id和最大id
                if (i == 0)
                {
                    data += "{open:'@open',MinOtherTaskID:'" + newDr["PTID"] + "',";
                }
                if (i + 1 == dt.Rows.Count)
                {
                    data += "MaxOtherTaskID:'" + newDr["PTID"] + "'}";
                }

                newDr["ProjectID"]       = int.Parse(ProjectID);
                newDr["RelationTableID"] = ProjectModel.TTCode;
                newDr["RelationID"]      = dr["RelationID"].ToString();
                newDr["CreateTime"]      = DateTime.Now;
                newDr["CreateUserID"]    = userId;
                newDr["LastOptTime"]     = DateTime.Now;
                newDr["LastOptUserID"]   = userId;
                newDr["TaskStatus"]      = (int)(OtheTaskStatus.Unallocated);
                newDr["Status"]          = 0;
                if (IsExistCrmCustID)
                {
                    newDr["CustID"] = GetCustID(ProjectModel, ttName, tfName, dr["RelationID"].ToString());
                }
                else
                {
                    newDr["CustID"] = "";
                }
                SourceOtherTaskDt.Rows.Add(newDr);
                i++;
            }

            string        connectionstrings = ConfigurationUtil.GetAppSettingValue("ConnectionStrings_CC");
            SqlConnection connection        = new SqlConnection(connectionstrings);
            connection.Open();
            SqlTransaction tran = connection.BeginTransaction("SampleTransaction");

            try
            {
                BLL.Util.BulkCopyToDB(SourceOtherTaskDt, connectionstrings, "OtherTaskInfo", tran, out msg);
                BLL.ProjectLog.Instance.InsertProjectLog(ProjectModel.ProjectID, ProjectLogOper.L6_生成任务, "生成任务" + SourceOtherTaskDt.Rows.Count + "条", tran);

                if (msg == "")
                {
                    #region 修改项目状态
                    ProjectModel.Status = 1;
                    BLL.ProjectInfo.Instance.Update(tran, ProjectModel);
                    #endregion

                    #region 修改关联数据状态
                    BLL.ProjectDataSoure.Instance.UpdateStatusByProjectId(tran, "1", dt, (int)ProjectModel.ProjectID);
                    #endregion

                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                if (tran.Connection != null)
                {
                    tran.Rollback();
                }
                msg = ex.Message.ToString();
            }
            finally
            {
                connection.Close();
            }
            #endregion
        }
예제 #13
0
        public DataTable ExportTask(int ProjectID, out string msg, out string exportName, string taskcreatestart, string taskcreateend, string tasksubstart, string tasksubend)
        {
            msg        = "";
            exportName = "";

            #region 定义变量

            int    totalCount    = 0;
            string TTName        = "";
            string TTCode        = "";
            string selectDataIDs = "";

            Entities.TTable        ttable    = null;
            Entities.ProjectInfo   model     = null;
            List <Entities.TField> fieldList = null;
            DataTable DbdataDt = null;//自定义数据表中的数据

            #endregion

            #region 获取项目、自定义数据表、字段信息

            GetBaseInfo(ProjectID, out model, out TTCode, out ttable, out TTName, out fieldList, out msg);

            if (msg != "")
            {
                return(null);
            }

            exportName = model.Name;

            #endregion

            #region 获取自定义数据表中的关联数据

            GetTemptRelationData(ProjectID, TTName, TTCode, model, out selectDataIDs, out DbdataDt, taskcreatestart, taskcreateend, tasksubstart, tasksubend, out msg);

            if (msg != "")
            {
                return(null);
            }

            #endregion

            #region 是否成功,是否接通,接通后失败原因,未接通原因列的转换

            if (DbdataDt.Columns.Contains("IsSuccess") && DbdataDt.Columns.Contains("IsEstablish") && DbdataDt.Columns.Contains("NotSuccessReason") && DbdataDt.Columns.Contains("NotEstablishReason"))
            {
                DataColumn colIsSuccess = new DataColumn("IsSucName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colIsSuccess);
                DataColumn colIsJT = new DataColumn("IsJTName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colIsJT);
                DataColumn colNotSuccessReason = new DataColumn("NotSuccessReasonName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colNotSuccessReason);
                DataColumn colNotExport = new DataColumn("NotExportName", Type.GetType("System.String"));
                DbdataDt.Columns.Add(colNotExport);

                for (int i = 0; i < DbdataDt.Rows.Count; i++)
                {
                    DbdataDt.Rows[i]["IsSucName"] = BLL.Util.GetIsNotStatus(DbdataDt.Rows[i]["IsSuccess"].ToString());
                    DbdataDt.Rows[i]["IsJTName"]  = BLL.Util.GetIsNotStatus(DbdataDt.Rows[i]["IsEstablish"].ToString());

                    string notSuc    = DbdataDt.Rows[i]["NotSuccessReason"].ToString();
                    string notExport = DbdataDt.Rows[i]["NotEstablishReason"].ToString();

                    string notExportName = String.Empty;
                    if (!(String.IsNullOrEmpty(notExport) || notExport.Trim() == "-1" || notExport.Trim() == "-2" || DbdataDt.Rows[i]["IsEstablish"].ToString() == "1"))
                    {
                        //notExport=空,-1,-2 或者 接通了 是没有值的
                        notExportName = BLL.Util.GetEnumOptText(typeof(Entities.NotEstablishReason), Int32.Parse(notExport));
                    }

                    string notSuccessReasonName = String.Empty;
                    if (!(String.IsNullOrEmpty(notSuc) || notSuc.Trim() == "-1" || notSuc.Trim() == "-2"))
                    {
                        //notSuc=空,-1,-2 是没有值的
                        notSuccessReasonName = BLL.Util.GetEnumOptText(typeof(Entities.NotSuccessReason), Int32.Parse(notSuc));
                    }

                    DbdataDt.Rows[i]["NotSuccessReasonName"] = notSuccessReasonName;
                    DbdataDt.Rows[i]["NotExportName"]        = notExportName;
                }
            }

            #endregion
            #region 处理列

            DbdataDt = ProcessExportDataColoumns(TTName, TTCode, model, fieldList, DbdataDt);

            #endregion

            #region 处理数据

            DbdataDt = ProcessData(DbdataDt);

            #endregion

            #region 关联crm客户信息

            if (crmCustIDFieldName != string.Empty)
            {
                GetTogetherCustInfo(crmCustIDFieldName, ProjectID, DbdataDt);
            }

            #endregion

            #region  除用户ID列

            DbdataDt.Columns.Remove("LastOptUserID");
            DbdataDt.Columns.Remove("TaskStatus");

            #endregion

            return(DbdataDt);
        }
예제 #14
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(SqlTransaction sqltran, Entities.TTable model)
 {
     return(Dal.TTable.Instance.Update(sqltran, model));
 }
예제 #15
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public int Update(Entities.TTable model)
 {
     return(Dal.TTable.Instance.Update(model));
 }
예제 #16
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Insert(Entities.TTable model)
 {
     return(Dal.TTable.Instance.Insert(model));
 }