/// <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);
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
        /// <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);
        }
Example #5
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);
         RecPayHTDts    entity  = (RecPayHTDts)p_BE;
         RecPayHTDtsCtl control = new RecPayHTDtsCtl(sqlTrans);
         control.Delete(entity);
     }
     catch (BaseException)
     {
         throw;
     }
     catch (Exception E)
     {
         throw new BaseException(E.Message);
     }
 }
Example #6
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);
         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);
     }
 }
Example #7
0
        /// <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);
            }
        }
Example #8
0
        /// <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);
            }
        }
Example #9
0
 /// <summary>
 /// 检查将要操作的数据是否符合业务规则
 /// </summary>
 /// <param name="p_BE"></param>
 private void CheckCorrect(BaseEntity p_BE)
 {
     RecPayHTDts entity = (RecPayHTDts)p_BE;
 }
Example #10
0
        /// <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);
            }
        }