/// <summary> /// 资金核销关联 /// </summary> /// <param name="entity"></param> /// <param name="sqlTrans"></param> public void RHT(RecPay payEntity, RecPayHTDts htentity, IDBTransAccess sqlTrans) { ItemBuyCapExDts entityDts = new ItemBuyCapExDts(); entityDts.ExCapName = payEntity.FormNo;//存储付款单号 entityDts.ExItemCode = htentity.HTItemCode; entityDts.ExPayStepTypeID = payEntity.PayStepTypeID; entityDts.ExPayAmount = htentity.HTAmount; entityDts.ExPayLimitDate = payEntity.ExDate.Date; entityDts.ExRemark = htentity.ID.ToString();//备注记录付款合同核销ID,便于关联检索 string sql = string.Empty; sql = "SELECT ID FROM Buy_ItemBuyForm WHERE FormNo=" + SysString.ToDBString(htentity.HTNo); DataTable dt = sqlTrans.Fill(sql); if (dt.Rows.Count != 0) { entityDts.MainID = SysConvert.ToInt32(dt.Rows[0]["ID"]); } sql = "SELECT ISNULL(MAX(Seq),0)+1 AS MSeq FROM Buy_ItemBuyCapExDts WHERE MainID=" + SysString.ToDBString(entityDts.MainID); entityDts.Seq = SysConvert.ToInt32(sqlTrans.Fill(sql).Rows[0]["MSeq"]); this.RAdd(entityDts, sqlTrans); }
/// <summary> /// 删除 /// </summary> /// <param name="p_Entity">实体类</param> /// <returns>操作影响的记录行数</returns> public override int Delete(BaseEntity p_Entity) { try { RecPayHTDts MasterEntity = (RecPayHTDts)p_Entity; if (MasterEntity.ID == 0) { return(0); } //删除主表数据 string Sql = ""; Sql = "DELETE FROM Finance_RecPayHTDts 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 void RHTCancel(RecPay entity, int p_DtsID, IDBTransAccess sqlTrans) { try { string sql = string.Empty; //First 处理收付款主表数据 RecPay entitypay = new RecPay(sqlTrans);//处理收付款主表数据 entitypay.ID = entity.ID; entitypay.SelectByID(); //Second 删除付款核销明细数据 RecPayHTDtsRule dtsRule = new RecPayHTDtsRule(); RecPayHTDts dtsentity = new RecPayHTDts(sqlTrans); dtsentity.ID = p_DtsID; dtsentity.SelectByID(); dtsRule.RDelete(dtsentity, sqlTrans);//删除明细实体 //First 处理收付款主表数据 entitypay.HTFlag = (int)YesOrNo.No; entitypay.HTAmount -= dtsentity.HTAmount; entitypay.HTNo = entitypay.HTNo.Replace(dtsentity.HTNo, "").Replace(" " + dtsentity.HTNo, "");//替换合同号 if (entitypay.HTGoodsCode != "") { entitypay.HTGoodsCode = entitypay.HTGoodsCode.Replace(dtsentity.HTGoodsCode, "").Replace(" " + dtsentity.HTGoodsCode, "");//替换商品码 } this.RUpdate(entitypay, sqlTrans); //关联到采购单或者销售合同资金实际执行表 if (dtsentity.HTTypeID == (int)EnumRecPayType.收款) { SaleOrderCapExDtsRule capRule = new SaleOrderCapExDtsRule(); capRule.RHTCancel(dtsentity, sqlTrans); } else if (dtsentity.HTTypeID == (int)EnumRecPayType.付款) { ItemBuyCapExDtsRule capRule = new ItemBuyCapExDtsRule(); capRule.RHTCancel(dtsentity, sqlTrans); } } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// 撤销核销关联 /// </summary> /// <param name="entity"></param> /// <param name="sqlTrans"></param> public void RHTCancel(RecPayHTDts htentity, IDBTransAccess sqlTrans) { ItemBuyCapExDts entityDts = new ItemBuyCapExDts(); string sql = string.Empty; sql = "SELECT ID FROM Buy_ItemBuyCapExDts WHERE ExRemark=" + SysString.ToDBString(htentity.ID); DataTable dt = sqlTrans.Fill(sql); if (dt.Rows.Count != 0) { entityDts.ID = SysConvert.ToInt32(dt.Rows[0]["ID"]); entityDts.SelectByID(); } this.RDelete(entityDts, sqlTrans); }
/// <summary> /// 删除 /// </summary> /// <param name="p_BE">要删除的实体</param> /// <param name="sqlTrans">事务类</param> public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); RecPayHTDts entity = (RecPayHTDts)p_BE; RecPayHTDtsCtl control = new RecPayHTDtsCtl(sqlTrans); control.Delete(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 RAdd(BaseEntity p_BE, IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); RecPayHTDts entity = (RecPayHTDts)p_BE; RecPayHTDtsCtl control = new RecPayHTDtsCtl(sqlTrans); entity.ID = (int)EntityIDTable.GetID((long)SysEntity.Finance_RecPayHTDts, sqlTrans); control.AddNew(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 { RecPayHTDts MasterEntity = (RecPayHTDts)p_Entity; if (MasterEntity.ID == 0) { return(0); } //新增主表数据 StringBuilder MasterField = new StringBuilder(); StringBuilder MasterValue = new StringBuilder(); MasterField.Append("INSERT INTO Finance_RecPayHTDts("); MasterValue.Append(" VALUES("); MasterField.Append("ID" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.ID) + ","); MasterField.Append("MainID" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.MainID) + ","); MasterField.Append("Seq" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.Seq) + ","); MasterField.Append("HTOPID" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.HTOPID) + ","); MasterField.Append("HTOPName" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.HTOPName) + ","); MasterField.Append("HTNo" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.HTNo) + ","); MasterField.Append("HTTypeID" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.HTTypeID) + ","); MasterField.Append("HTDate" + ","); if (MasterEntity.HTDate != SystemConfiguration.DateTimeDefaultValue) { MasterValue.Append(SysString.ToDBString(MasterEntity.HTDate.ToString("yyyy-MM-dd HH:mm:ss")) + ","); } else { MasterValue.Append("null,"); } MasterField.Append("HTAmount" + ","); if (MasterEntity.HTAmount != 0) { MasterValue.Append(SysString.ToDBString(MasterEntity.HTAmount) + ","); } else { MasterValue.Append("null,"); } MasterField.Append("Remark" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.Remark) + ","); MasterField.Append("HTItemCode" + ","); MasterValue.Append(SysString.ToDBString(MasterEntity.HTItemCode) + ","); MasterField.Append("HTGoodsCode" + ")"); MasterValue.Append(SysString.ToDBString(MasterEntity.HTGoodsCode) + ")"); //执行 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 { RecPayHTDts MasterEntity = (RecPayHTDts)p_Entity; if (MasterEntity.ID == 0) { return(0); } //更新主表数据 StringBuilder UpdateBuilder = new StringBuilder(); UpdateBuilder.Append("UPDATE Finance_RecPayHTDts SET "); UpdateBuilder.Append(" ID=" + SysString.ToDBString(MasterEntity.ID) + ","); UpdateBuilder.Append(" MainID=" + SysString.ToDBString(MasterEntity.MainID) + ","); UpdateBuilder.Append(" Seq=" + SysString.ToDBString(MasterEntity.Seq) + ","); UpdateBuilder.Append(" HTOPID=" + SysString.ToDBString(MasterEntity.HTOPID) + ","); UpdateBuilder.Append(" HTOPName=" + SysString.ToDBString(MasterEntity.HTOPName) + ","); UpdateBuilder.Append(" HTNo=" + SysString.ToDBString(MasterEntity.HTNo) + ","); UpdateBuilder.Append(" HTTypeID=" + SysString.ToDBString(MasterEntity.HTTypeID) + ","); if (MasterEntity.HTDate != SystemConfiguration.DateTimeDefaultValue) { UpdateBuilder.Append(" HTDate=" + SysString.ToDBString(MasterEntity.HTDate.ToString("yyyy-MM-dd HH:mm:ss")) + ","); } else { UpdateBuilder.Append(" HTDate=null,"); } if (MasterEntity.HTAmount != 0) { UpdateBuilder.Append(" HTAmount=" + SysString.ToDBString(MasterEntity.HTAmount) + ","); } else { UpdateBuilder.Append(" HTAmount=null,"); } UpdateBuilder.Append(" Remark=" + SysString.ToDBString(MasterEntity.Remark) + ","); UpdateBuilder.Append(" HTItemCode=" + SysString.ToDBString(MasterEntity.HTItemCode) + ","); UpdateBuilder.Append(" HTGoodsCode=" + SysString.ToDBString(MasterEntity.HTGoodsCode)); 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); } }
/// <summary> /// 检查将要操作的数据是否符合业务规则 /// </summary> /// <param name="p_BE"></param> private void CheckCorrect(BaseEntity p_BE) { RecPayHTDts entity = (RecPayHTDts)p_BE; }
/// <summary> /// 合同关联处理 /// </summary> public void RHT(RecPay entity, string p_HTNo, string p_HTItemCode, string p_HTGoodsCode, decimal p_HTAmount, int p_HTTypeID, IDBTransAccess sqlTrans) { try { string sql = string.Empty; //First 处理收付款主表数据 RecPay entitypay = new RecPay(sqlTrans);//处理收付款主表数据 entitypay.ID = entity.ID; entitypay.SelectByID(); if (entitypay.HTAmount + p_HTAmount > entitypay.ExAmount) { throw new Exception("不能操作,关联合同金额超过了收付款金额"); } if (entitypay.HTAmount + p_HTAmount == entitypay.ExAmount) { entitypay.HTFlag = (int)YesOrNo.Yes; } entitypay.HTAmount += p_HTAmount; if (entitypay.HTNo == string.Empty || entitypay.HTNo.IndexOf(" " + p_HTNo) == -1) { if (entitypay.HTNo != string.Empty)//多合同关联 { entitypay.HTNo += " "; } entitypay.HTNo += p_HTNo; } if (entitypay.HTGoodsCode == string.Empty || entitypay.HTGoodsCode.IndexOf(" " + p_HTGoodsCode) == -1) { if (entitypay.HTGoodsCode != string.Empty)//多合同关联 { entitypay.HTGoodsCode += " "; } entitypay.HTGoodsCode += p_HTGoodsCode; } this.RUpdate(entitypay, sqlTrans); //Second 增加付款合同明细数据 RecPayHTDtsRule dtsRule = new RecPayHTDtsRule(); RecPayHTDts dtsentity = new RecPayHTDts(sqlTrans); dtsentity.MainID = entity.ID; dtsentity.HTOPID = entity.MakeOPID; dtsentity.HTOPName = entity.MakeOPName; dtsentity.HTDate = DateTime.Now; dtsentity.HTAmount = p_HTAmount; dtsentity.HTNo = p_HTNo; dtsentity.HTGoodsCode = p_HTGoodsCode; dtsentity.HTTypeID = p_HTTypeID; dtsentity.HTItemCode = p_HTItemCode; dtsRule.RAdd(dtsentity, sqlTrans);//增加明细实体 //关联到采购单或者销售合同资金实际执行表 if (p_HTTypeID == (int)EnumRecPayType.收款) { SaleOrderCapExDtsRule capRule = new SaleOrderCapExDtsRule(); capRule.RHT(entitypay, dtsentity, sqlTrans); } else if (p_HTTypeID == (int)EnumRecPayType.付款) { ItemBuyCapExDtsRule capRule = new ItemBuyCapExDtsRule(); capRule.RHT(entitypay, dtsentity, sqlTrans); } } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }