예제 #1
0
        /// <summary>
        /// 修改
        /// </summary>
        public override void EntityUpdate()
        {
            FormNoControlRule rule   = new FormNoControlRule();
            FormNoControl     entity = EntityGet();

            rule.RUpdate(entity);
        }
예제 #2
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Delete(BaseEntity p_Entity)
        {
            try
            {
                FormNoControl MasterEntity = (FormNoControl)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //删除主表数据
                string Sql = "";
                Sql = "DELETE FROM Enum_FormNoControl WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID);
                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(Sql);
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(Sql);
                }

                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E);
            }
        }
예제 #3
0
        /// <summary>
        /// 设置
        /// </summary>
        public override void EntitySet()
        {
            FormNoControl entity = new FormNoControl();

            entity.ID = HTDataID;
            bool findFlag = entity.SelectByID();

            txtID.Text              = entity.ID.ToString();
            txtCode.Text            = entity.Code.ToString();
            txtNoType.Text          = entity.NoType.ToString();
            txtFormNM.Text          = entity.FormNM.ToString();
            txtFormRuleSpecial.Text = entity.FormRuleSpecial.ToString();
            txtFormRulePre.Text     = entity.FormRulePre.ToString();
            txtFormRuleSort.Text    = entity.FormRuleSort.ToString();
            txtCurSort.Text         = entity.CurSort.ToString();
            txtCurYear.Text         = entity.CurYear.ToString();
            txtCurMonth.Text        = entity.CurMonth.ToString();
            txtCurDay.Text          = entity.CurDay.ToString();
            txtDTableName.Text      = entity.DTableName.ToString();
            txtDFieldName.Text      = entity.DFieldName.ToString();
            txtCondition.Text       = entity.Condition.ToString();
            txtRemark.Text          = entity.Remark.ToString();
            drpSourceFlag.EditValue = entity.SourceFlag;

            if (!findFlag)
            {
            }
        }
예제 #4
0
        /// <summary>
        /// 获得实体
        /// </summary>
        /// <returns></returns>
        private FormNoControl EntityGet()
        {
            FormNoControl entity = new FormNoControl();

            entity.ID = HTDataID;
            entity.SelectByID();
            entity.ID              = SysConvert.ToInt32(txtID.Text.Trim());
            entity.Code            = txtCode.Text.Trim();
            entity.NoType          = SysConvert.ToInt32(txtNoType.Text.Trim());
            entity.FormNM          = txtFormNM.Text.Trim();
            entity.FormRuleSpecial = txtFormRuleSpecial.Text.Trim();
            entity.FormRulePre     = txtFormRulePre.Text.Trim();
            entity.FormRuleSort    = txtFormRuleSort.Text.Trim();
            entity.CurSort         = SysConvert.ToInt32(txtCurSort.Text.Trim());
            entity.CurYear         = SysConvert.ToInt32(txtCurYear.Text.Trim());
            entity.CurMonth        = SysConvert.ToInt32(txtCurMonth.Text.Trim());
            entity.CurDay          = SysConvert.ToInt32(txtCurDay.Text.Trim());
            entity.DTableName      = txtDTableName.Text.Trim();
            entity.DFieldName      = txtDFieldName.Text.Trim();
            entity.Condition       = txtCondition.Text.Trim();
            entity.Remark          = txtRemark.Text.Trim();
            entity.SourceFlag      = SysConvert.ToInt32(drpSourceFlag.EditValue);

            return(entity);
        }
예제 #5
0
        /// <summary>
        /// 获得单据号码
        /// </summary>
        /// <param name="p_FormNoID">单据ID</param>
        /// <param name="p_Num">第几个单据号码0,1,2,</param>
        /// <param name="sqlTrans">事务</param>
        public string RGetFormNoVendor(int p_FormNoID, int p_FNCVID, string p_VendorID, IDBTransAccess sqlTrans)
        {
            try
            {
                string        outstr = "";
                FormNoControl entity = new FormNoControl(sqlTrans);
                entity.ID = p_FormNoID;
                entity.SelectByID();
                if (entity.NoType == 2)//使用具体业务表进行处理
                {
                    FormNCVendorRule nvRule = new FormNCVendorRule();

                    outstr = nvRule.RGetFormNo(entity, p_FNCVID, p_VendorID, sqlTrans);
                    //Data_FormNCVendor
                }
                else
                {
                    outstr = "单号异常,设置类型错误";
                }
                return(outstr);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
예제 #6
0
        /// <summary>
        /// 获得实体
        /// </summary>
        /// <returns></returns>
        private FormNoControl EntityGet()
        {
            FormNoControl entity = new FormNoControl();

            entity.ID = HTDataID;
            return(entity);
        }
예제 #7
0
        /// <summary>
        /// 新增
        /// </summary>
        public override int EntityAdd()
        {
            FormNoControlRule rule   = new FormNoControlRule();
            FormNoControl     entity = EntityGet();

            rule.RAdd(entity);
            return(entity.ID);
        }
예제 #8
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="p_BE">要删除的实体</param>
 /// <param name="sqlTrans">事务类</param>
 public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans)
 {
     try
     {
         this.CheckCorrect(p_BE);
         FormNoControl    entity  = (FormNoControl)p_BE;
         FormNoControlCtl control = new FormNoControlCtl(sqlTrans);
         control.Delete(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
예제 #9
0
 /// <summary>
 /// 单据序号加N(有些批号可能一次产生多个)
 /// </summary>
 /// <param name="p_FormNoID">单据ID</param>
 /// <param name="p_Num">第几个单据号码0,1,2,</param>
 /// <param name="sqlTrans">事务</param>
 public void RAddSort(int p_FormNoID, int p_Num, IDBTransAccess sqlTrans)
 {
     try
     {
         FormNoControl entity = new FormNoControl(sqlTrans);
         entity.ID = p_FormNoID;
         entity.SelectByID();
         string sql = "UPDATE Enum_FormNoControl SET CurSort=" + (entity.CurSort + p_Num) + " WHERE ID=" + p_FormNoID;
         sqlTrans.ExecuteNonQuery(sql);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
예제 #10
0
        /// <summary>
        /// 新增(传入事务处理)
        /// </summary>
        /// <param name="p_BE">要新增的实体</param>
        /// <param name="sqlTrans">事务类</param>
        public void RAdd(BaseEntity p_BE, IDBTransAccess sqlTrans)
        {
            try
            {
                this.CheckCorrect(p_BE);
                FormNoControl    entity  = (FormNoControl)p_BE;
                FormNoControlCtl control = new FormNoControlCtl(sqlTrans);

                //entity.ID = (int)EntityIDTable.GetID((long)SysEntity.Enum_FormNoControl, sqlTrans);
                string sql = string.Empty;//"SELECT Code FROM Enum_FormNoControl WHERE Code=" + SysString.ToDBString(entity.Code);

                //DataTable dt = SysUtils.Fill(sql);
                //if (dt.Rows.Count != 0)
                //{
                //    throw new Exception("该编码已经存在,请重新输入!");
                //}
                sql = "SELECT ID FROM Enum_FormNoControl WHERE ID=" + SysString.ToDBString(entity.ID);

                DataTable dt = sqlTrans.Fill(sql);
                if (dt.Rows.Count != 0)
                {
                    throw new Exception("ID已经存在,请重新输入!");
                }
                sql = "SELECT FormNM FROM Enum_FormNoControl WHERE FormNM=" + SysString.ToDBString(entity.FormNM);

                dt = sqlTrans.Fill(sql);
                if (dt.Rows.Count != 0)
                {
                    throw new Exception("名称已经存在,请重新输入!");
                }
                control.AddNew(entity);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
예제 #11
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="p_BE">要修改的实体</param>
        /// <param name="sqlTrans">事务类</param>
        public void RUpdate(BaseEntity p_BE, IDBTransAccess sqlTrans)
        {
            try
            {
                this.CheckCorrect(p_BE);
                FormNoControl    entity  = (FormNoControl)p_BE;
                FormNoControlCtl control = new FormNoControlCtl(sqlTrans);

                string sql = string.Empty;//"SELECT Code FROM Enum_FormNoControl WHERE Code=" + SysString.ToDBString(entity.Code);

                //sql += " AND ID<>" + SysString.ToDBString(entity.ID);
                //DataTable dt = SysUtils.Fill(sql);
                //if (dt.Rows.Count != 0)
                //{
                //    throw new Exception("该编码已经存在,请重新输入!");
                //}
                sql = "SELECT FormNM FROM Enum_FormNoControl WHERE FormNM=" + SysString.ToDBString(entity.FormNM);

                sql += " AND ID<>" + SysString.ToDBString(entity.ID);
                DataTable dt = sqlTrans.Fill(sql);
                if (dt.Rows.Count != 0)
                {
                    throw new Exception("名称已经存在,请重新输入!");
                }


                control.Update(entity);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
예제 #12
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int AddNew(BaseEntity p_Entity)
        {
            try
            {
                FormNoControl MasterEntity = (FormNoControl)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //新增主表数据
                StringBuilder MasterField = new StringBuilder();
                StringBuilder MasterValue = new StringBuilder();
                MasterField.Append("INSERT INTO Enum_FormNoControl(");
                MasterValue.Append(" VALUES(");
                MasterField.Append("ID" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.ID) + ",");
                MasterField.Append("Code" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Code) + ",");
                MasterField.Append("NoType" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.NoType) + ",");
                MasterField.Append("FormNM" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.FormNM) + ",");
                MasterField.Append("FormRuleSpecial" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.FormRuleSpecial) + ",");
                MasterField.Append("FormRulePre" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.FormRulePre) + ",");
                MasterField.Append("FormRuleSort" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.FormRuleSort) + ",");
                MasterField.Append("CurSort" + ",");
                if (MasterEntity.CurSort != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.CurSort) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("CurYear" + ",");
                if (MasterEntity.CurYear != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.CurYear) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("CurMonth" + ",");
                if (MasterEntity.CurMonth != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.CurMonth) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("CurDay" + ",");
                if (MasterEntity.CurDay != 0)
                {
                    MasterValue.Append(SysString.ToDBString(MasterEntity.CurDay) + ",");
                }
                else
                {
                    MasterValue.Append("null,");
                }

                MasterField.Append("DTableName" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.DTableName) + ",");
                MasterField.Append("DFieldName" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.DFieldName) + ",");
                MasterField.Append("Condition" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Condition) + ",");
                MasterField.Append("Remark" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.Remark) + ",");
                MasterField.Append("SortAddType" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.SortAddType) + ",");
                MasterField.Append("DelFlag" + ",");
                MasterValue.Append(SysString.ToDBString(MasterEntity.DelFlag) + ",");
                MasterField.Append("SourceFlag" + ")");
                MasterValue.Append(SysString.ToDBString(MasterEntity.SourceFlag) + ")");



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(MasterField.Append(MasterValue.ToString()).ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBInsert), E);
            }
        }
예제 #13
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="p_Entity">实体类</param>
        /// <returns>操作影响的记录行数</returns>
        public override int Update(BaseEntity p_Entity)
        {
            try
            {
                FormNoControl MasterEntity = (FormNoControl)p_Entity;
                if (MasterEntity.ID == 0)
                {
                    return(0);
                }

                //更新主表数据
                StringBuilder UpdateBuilder = new StringBuilder();
                UpdateBuilder.Append("UPDATE Enum_FormNoControl SET ");
                UpdateBuilder.Append(" ID=" + SysString.ToDBString(MasterEntity.ID) + ",");
                UpdateBuilder.Append(" Code=" + SysString.ToDBString(MasterEntity.Code) + ",");
                UpdateBuilder.Append(" NoType=" + SysString.ToDBString(MasterEntity.NoType) + ",");
                UpdateBuilder.Append(" FormNM=" + SysString.ToDBString(MasterEntity.FormNM) + ",");
                UpdateBuilder.Append(" FormRuleSpecial=" + SysString.ToDBString(MasterEntity.FormRuleSpecial) + ",");
                UpdateBuilder.Append(" FormRulePre=" + SysString.ToDBString(MasterEntity.FormRulePre) + ",");
                UpdateBuilder.Append(" FormRuleSort=" + SysString.ToDBString(MasterEntity.FormRuleSort) + ",");

                if (MasterEntity.CurSort != 0)
                {
                    UpdateBuilder.Append(" CurSort=" + SysString.ToDBString(MasterEntity.CurSort) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" CurSort=null,");
                }


                if (MasterEntity.CurYear != 0)
                {
                    UpdateBuilder.Append(" CurYear=" + SysString.ToDBString(MasterEntity.CurYear) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" CurYear=null,");
                }


                if (MasterEntity.CurMonth != 0)
                {
                    UpdateBuilder.Append(" CurMonth=" + SysString.ToDBString(MasterEntity.CurMonth) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" CurMonth=null,");
                }


                if (MasterEntity.CurDay != 0)
                {
                    UpdateBuilder.Append(" CurDay=" + SysString.ToDBString(MasterEntity.CurDay) + ",");
                }
                else
                {
                    UpdateBuilder.Append(" CurDay=null,");
                }

                UpdateBuilder.Append(" DTableName=" + SysString.ToDBString(MasterEntity.DTableName) + ",");
                UpdateBuilder.Append(" DFieldName=" + SysString.ToDBString(MasterEntity.DFieldName) + ",");
                UpdateBuilder.Append(" Condition=" + SysString.ToDBString(MasterEntity.Condition) + ",");
                UpdateBuilder.Append(" Remark=" + SysString.ToDBString(MasterEntity.Remark) + ",");
                UpdateBuilder.Append(" SortAddType=" + SysString.ToDBString(MasterEntity.SortAddType) + ",");
                UpdateBuilder.Append(" DelFlag=" + SysString.ToDBString(MasterEntity.DelFlag) + ",");
                UpdateBuilder.Append(" SourceFlag=" + SysString.ToDBString(MasterEntity.SourceFlag));

                UpdateBuilder.Append(" WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID));



                //执行
                int AffectedRows = 0;
                if (!this.sqlTransFlag)
                {
                    AffectedRows = this.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                else
                {
                    AffectedRows = sqlTrans.ExecuteNonQuery(UpdateBuilder.ToString());
                }
                return(AffectedRows);
            }
            catch (BaseException E)
            {
                throw new BaseException(E.Message, E);
            }
            catch (Exception E)
            {
                throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBUpdate), E);
            }
        }
예제 #14
0
        bool THAddOneFlag = false;//2010/12月处理系统调号异常 标志是否已经自动跳过一次了

        /// <summary>
        /// 获得流水号处理
        /// </summary>
        /// <param name="fncEntity">单号控制表</param>
        /// <param name="p_VendorID">客户</param>
        /// <param name="sqlTrans">事务</param>
        /// <returns></returns>
        public string RGetFormNo(FormNoControl fncEntity, int p_FNCVID, string p_VendorID, IDBTransAccess sqlTrans)
        {
            string outstr = string.Empty;
            string sql    = "";

            //先期处理获得客户流水号实体BEGIN
            sql = "SELECT ID FROM Data_FormNCVendor WHERE VendorID=" + SysString.ToDBString(p_VendorID) + " AND FNCVID=" + p_FNCVID;
            DataTable    dt     = sqlTrans.Fill(sql);
            FormNCVendor entity = new FormNCVendor(sqlTrans);

            if (dt.Rows.Count != 0)
            {
                entity.ID = SysConvert.ToInt32(dt.Rows[0]["ID"]);
                entity.SelectByID();
            }
            else//如果没找到,新增一笔进去
            {
                entity.VendorID = p_VendorID;
                entity.FNCVID   = p_FNCVID;
                this.RAdd(entity, sqlTrans);
            }
            //先期处理获得客户流水号实体END

            #region 开始取号
            sql = "SELECT getdate() AS ServerTime";
            DateTime dtserver = SysConvert.ToDateTime(sqlTrans.Fill(sql).Rows[0][0].ToString());

            bool UpdFlag = false;
            if (fncEntity.CurYear != 0 && entity.CurYear != dtserver.Year)//判断年
            {
                entity.CurYear = dtserver.Year;
                UpdFlag        = true;
            }
            if (fncEntity.CurMonth != 0 && entity.CurMonth != dtserver.Month)//判断月
            {
                entity.CurMonth = dtserver.Month;
                UpdFlag         = true;
            }
            if (fncEntity.CurDay != 0 && entity.CurDay != dtserver.Day)//判断日
            {
                entity.CurDay = dtserver.Day;
                UpdFlag       = true;
            }
            if (UpdFlag)//需要更新
            {
                entity.CurSort = 0;
                this.RUpdate(entity, sqlTrans);
            }
            outstr = fncEntity.FormRulePre;

            if (entity.CurYear != 0)                                        //替换年
            {
                outstr = outstr.Replace("YYYY", entity.CurYear.ToString()); //如果是4位 陈加海2010/3/26日修改
                outstr = outstr.Replace("YY", entity.CurYear.ToString().Substring(2));
            }
            if (entity.CurMonth != 0)//替换月
            {
                outstr = outstr.Replace("MM", SysString.IntToStr(entity.CurMonth, 2));
            }
            if (entity.CurDay != 0)//替换日
            {
                outstr = outstr.Replace("DD", SysString.IntToStr(entity.CurDay, 2));
            }
            if (fncEntity.FormRuleSpecial == "V4")
            {
                string spstr = p_VendorID;
                if (p_VendorID.Length > 4)
                {
                    spstr = p_VendorID.Substring(p_VendorID.Length - 4);
                }
                outstr = outstr.Replace("X", spstr);
            }
            else if (fncEntity.FormRuleSpecial != "")//替换特殊符号
            {
                outstr = outstr.Replace("X", fncEntity.FormRuleSpecial);
            }
            outstr += SysString.IntToStr(entity.CurSort + 1, fncEntity.FormRuleSort.Length);//获得序号

            #endregion

            #region 多跳一个号处理
            if (!THAddOneFlag) //没有调号过,防止死循环
            {
                try            //跳号验证是否存在处理,存在则加1
                {
                    sql = "SELECT DTableName,DFieldName FROM Enum_FormNoControl WHERE ID=" + fncEntity.ID;
                    DataTable dtL = sqlTrans.Fill(sql);
                    if (dtL.Rows.Count != 0)
                    {
                        if (dtL.Rows[0]["DTableName"].ToString() != string.Empty && dtL.Rows[0]["DFieldName"].ToString() != string.Empty)
                        {
                            sql = "SELECT " + dtL.Rows[0]["DFieldName"].ToString() + " FROM " + dtL.Rows[0]["DTableName"].ToString() + " WHERE " + dtL.Rows[0]["DFieldName"].ToString() + "=" + SysString.ToDBString(outstr);
                            if (sqlTrans.Fill(sql).Rows.Count != 0)//产生的号码系统中已存在,则序号跳号
                            {
                                THAddOneFlag = true;
                                this.RAddSort(fncEntity.ID, p_FNCVID, p_VendorID, sqlTrans);
                                outstr = RGetFormNo(fncEntity, p_FNCVID, p_VendorID, sqlTrans);//循环调用一次
                            }
                        }
                    }
                }
                catch (Exception EL)//异常情况下填写临时信息
                {
                    SysFile.WriteFrameworkLog(EL.Message);
                }
            }
            #endregion
            return(outstr);
        }
예제 #15
0
        /// <summary>
        /// 获得单据号码
        /// </summary>
        /// <param name="p_FormNoID">单据ID</param>
        /// <param name="p_Num">第几个单据号码0,1,2,</param>
        /// <param name="sqlTrans">事务</param>
        public string RGetFormNo(int p_FormNoID, int p_Num, string p_WHID, IDBTransAccess sqlTrans)
        {
            try
            {
                string        outstr = "";
                FormNoControl entity = new FormNoControl(sqlTrans);
                entity.ID = p_FormNoID;
                entity.SelectByID();
                string   sql      = "SELECT getdate() AS ServerTime";
                DateTime dtserver = SysConvert.ToDateTime(sqlTrans.Fill(sql).Rows[0][0].ToString());

                bool UpdFlag = false;
                if (entity.CurYear != 0 && entity.CurYear != dtserver.Year)//判断年
                {
                    entity.CurYear = dtserver.Year;
                    UpdFlag        = true;
                }
                if (entity.CurMonth != 0 && entity.CurMonth != dtserver.Month)//判断月
                {
                    entity.CurMonth = dtserver.Month;
                    UpdFlag         = true;
                }
                if (entity.CurDay != 0 && entity.CurDay != dtserver.Day)//判断日
                {
                    entity.CurDay = dtserver.Day;
                    UpdFlag       = true;
                }
                if (UpdFlag)//需要更新
                {
                    entity.CurSort = 0;
                    this.RUpdate(entity, sqlTrans);
                }
                outstr = entity.FormRulePre;

                if (entity.CurYear != 0)//替换年
                {
                    outstr = outstr.Replace("YY", entity.CurYear.ToString().Substring(2));
                }
                if (entity.CurMonth != 0)//替换月
                {
                    outstr = outstr.Replace("MM", SysString.IntToStr(entity.CurMonth, 2));
                }
                if (entity.CurDay != 0)//替换日
                {
                    outstr = outstr.Replace("DD", SysString.IntToStr(entity.CurDay, 2));
                }

                if (entity.FormRuleSpecial != "")//替换特殊符号
                {
                    outstr = outstr.Replace("X", entity.FormRuleSpecial);
                }
                outstr += SysString.IntToStr(entity.CurSort + 1 + p_Num, entity.FormRuleSort.Length);//获得序号


                if (!THAddOneFlag) //没有调号过,防止死循环
                {
                    try            //跳号验证是否存在处理,存在则加1
                    {
                        sql = "SELECT DTableName,DFieldName FROM Enum_FormNoControl WHERE ID=" + p_FormNoID;
                        DataTable dtL = sqlTrans.Fill(sql);
                        if (dtL.Rows.Count != 0)
                        {
                            if (dtL.Rows[0]["DTableName"].ToString() != string.Empty && dtL.Rows[0]["DFieldName"].ToString() != string.Empty)
                            {
                                sql = "SELECT " + dtL.Rows[0]["DFieldName"].ToString() + " FROM " + dtL.Rows[0]["DTableName"].ToString() + " WHERE " + dtL.Rows[0]["DFieldName"].ToString() + "=" + SysString.ToDBString(outstr);
                                if (sqlTrans.Fill(sql).Rows.Count != 0)//产生的号码系统中已存在,则序号跳号
                                {
                                    THAddOneFlag = true;
                                    //this.RAddSort(p_FormNoID, sqlTrans);
                                    outstr = RGetFormNo(p_FormNoID, p_Num, p_WHID, sqlTrans);//循环调用一次
                                }
                            }
                        }
                    }
                    catch (Exception EL)//异常情况下填写临时信息
                    {
                        SysFile.WriteFrameworkLog(EL.Message);
                    }
                }
                return(outstr);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
예제 #16
0
 /// <summary>
 /// 检查将要操作的数据是否符合业务规则
 /// </summary>
 /// <param name="p_BE"></param>
 private void CheckCorrect(BaseEntity p_BE)
 {
     FormNoControl entity = (FormNoControl)p_BE;
 }