/// <summary> /// 修改 /// </summary> public override void EntityUpdate() { FormNoControlRule rule = new FormNoControlRule(); FormNoControl entity = EntityGet(); rule.RUpdate(entity); }
/// <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); } }
/// <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) { } }
/// <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); }
/// <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); } }
/// <summary> /// 获得实体 /// </summary> /// <returns></returns> private FormNoControl EntityGet() { FormNoControl entity = new FormNoControl(); entity.ID = HTDataID; return(entity); }
/// <summary> /// 新增 /// </summary> public override int EntityAdd() { FormNoControlRule rule = new FormNoControlRule(); FormNoControl entity = EntityGet(); rule.RAdd(entity); return(entity.ID); }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
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); }
/// <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); } }
/// <summary> /// 检查将要操作的数据是否符合业务规则 /// </summary> /// <param name="p_BE"></param> private void CheckCorrect(BaseEntity p_BE) { FormNoControl entity = (FormNoControl)p_BE; }