Exemple #1
0
        /// <summary>
        /// 绑定Grid
        /// </summary>
        private void BindGridDts()
        {
            IOFormDtsRule rule = new IOFormDtsRule();

            gridView2.GridControl.DataSource = rule.RShow(HTDataID, ProcessGrid.GetQueryField(gridView2));
            gridView2.GridControl.Show();
        }
Exemple #2
0
        /// <summary>
        /// 绑定Grid
        /// </summary>
        public override void BindGrid()
        {
            //IOFormRule rule = new IOFormRule();


            string ConditionAttn = " AND HeadType=" + this.FormListAID;

            ConditionAttn += " AND SubType in(Select ID FROM  Enum_FormList WHERE IsShow=1 )";
            //ConditionAttn += " AND WHID in(Select WHID FROM  WH_WH WHERE isnull(IsJK,0)=0 )";//2012-2-23caoxg



            //gridView2.GridControl.DataSource = rule.RShow(ConditionAttn + HTDataConditionStr, ProcessGrid.GetQueryField(gridView2));
            //gridView2.GridControl.Show();


            IOFormDtsRule rule = new IOFormDtsRule();


            //gridView2.GridControl.DataSource = rule.RShow(ConditionAttn + HTDataConditionStr, ProcessGrid.GetQueryField(gridView2));
            DataTable dt = rule.RShow(ConditionAttn + HTDataConditionStr, ProcessGrid.GetQueryField(gridView2).Replace("MakeOPName", "''MakeOPName"));

            ProductMakeOP(dt);
            gridView2.GridControl.DataSource = dt;
            gridView2.GridControl.Show();
        }
        /// <summary>
        /// 撤销核销处理
        /// </summary>
        public void RHXCancel(InvoiceOperation entity, int p_DtsID, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql = string.Empty;
                //First 处理发票主表数据
                InvoiceOperation entityinvoice = new InvoiceOperation(sqlTrans);//处理收付款主表数据
                entityinvoice.ID = entity.ID;
                entityinvoice.SelectByID();


                //Second 删除发票核销明细数据
                InvoiceOperationDtsRule dtsRule   = new InvoiceOperationDtsRule();
                InvoiceOperationDts     entityDts = new InvoiceOperationDts(sqlTrans);
                entityDts.ID = p_DtsID;
                entityDts.SelectByID();
                if (entityDts.PayAmount != 0)
                {
                    throw new Exception("不能操作,数据有收付款数据了,不能进行撤销");
                }

                dtsRule.RDelete(entityDts, sqlTrans);//删除明细实体


                //First 处理发票主表数据
                entityinvoice.PreHXFlag    = (int)YesOrNo.No;
                entityinvoice.PreHXQty    -= entityDts.DInvoiceQty;
                entityinvoice.PreHXAmount -= entityDts.DInvoiceAmount;
                this.RUpdate(entityinvoice, sqlTrans);



                IOFormDtsRule ioformdtsRule = new IOFormDtsRule();     //处理出入库单据明细数据
                IOFormDts     entityIOF     = new IOFormDts(sqlTrans); //出入库单据明细
                entityIOF.ID = entityDts.DLOADDtsID;
                entityIOF.SelectByID();
                //处理发票明细数据;出入库明细数据
                if (entityIOF.PayAmount != 0)
                {
                    throw new Exception("不能操作,数据已有收付款数据 ID:" + entityDts.DLOADDtsID + " " + entityIOF.ItemCode + " " + entityIOF.ColorNum);
                }

                sql  = "UPDATE WH_IOFormDts SET InvoiceQty=ISNULL(InvoiceQty,0)-" + "(" + SysString.ToDBString(entityDts.DInvoiceQty) + ")";
                sql += ",InvoiceAmount=ISNULL(InvoiceAmount,0)-" + "(" + SysString.ToDBString(entityDts.DInvoiceAmount) + ")";
                sql += ",DtsInvoiceDelOPID=" + SysString.ToDBString(entity.SaleOPID);
                sql += ",DtsInvoiceDelTime=null";
                sql += ",DtsInvoiceNo=''";
                sql += ",DtsInvoiceDelFlag=0";//开票完成标志
                sql += " WHERE ID=" + SysString.ToDBString(entityDts.DLOADDtsID);
                sqlTrans.ExecuteNonQuery(sql);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
Exemple #4
0
        /// <summary>
        /// 绑定Grid
        /// </summary>
        public override void BindGrid()
        {
            IOFormDtsRule rule = new IOFormDtsRule();

            gridView1.GridControl.DataSource = rule.RShowDts(HTDataConditionStr, ProcessGrid.GetQueryField(gridView1));
            gridView1.GridControl.Show();
        }
        /// <summary>
        /// 绑定Grid
        /// </summary>
        public override void BindGrid()
        {
            IOFormDtsRule rule = new IOFormDtsRule();

            gridView1.GridControl.DataSource = rule.RShowIO(HTDataConditionStr + " AND HeadType=14 AND SubmitFlag=1 ORDER BY FormDate DESC ", ProcessGrid.GetQueryField(gridView1));
            gridView1.GridControl.Show();
            BindGrid2();
        }
Exemple #6
0
        /// <summary>
        /// 绑定数据明细
        /// </summary>
        public override void BindGridDts()
        {
            IOFormDtsRule rule  = new IOFormDtsRule();
            DataTable     dtDts = rule.RShow(" AND MainID=" + HTDataID + " ORDER BY Seq", ProcessGrid.GetQueryField(gridView1));

            gridView1.GridControl.DataSource = dtDts;
            gridView1.GridControl.Show();
        }
        /// <summary>
        /// 绑定Grid
        /// </summary>
        public void BindGrid2()
        {
            IOFormDtsRule rule = new IOFormDtsRule();
            DataTable     dt   = rule.RShowIO(HTDataConditionStr + " AND HeadType=13 AND SubmitFlag=1 ORDER BY FormDate DESC ", ProcessGrid.GetQueryField(gridView2));

            Proc(dt);

            gridView2.GridControl.DataSource = dt;
            gridView2.GridControl.Show();
        }
        /// <summary>
        /// 保存(传入事务处理)
        /// </summary>
        /// <param name="p_Entity"></param>
        /// <param name="p_BE"></param>
        /// <param name="sqlTrans"></param>
        public void RSaveOther(IOForm p_Entity, IOFormDts[] p_EntityDts, ArrayList list, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql             = string.Empty;
                int    FormListTopType = IOFormDtsRule.GetFormListTopTypeByFormListID(p_Entity.HeadType, sqlTrans);//顶层单据类型

                sql  = "SELECT BoxNo FROM WH_IOFormDtsPack WHERE MainID=" + p_Entity.ID.ToString();
                sql += " AND ID NOT IN" + string.Format("({0})", GetIDExist(list));
                DataTable dtDelete = sqlTrans.Fill(sql); //删除表结构
                if (dtDelete.Rows.Count != 0)            //有需要删除的数据
                {
                    sql  = "DELETE FROM WH_IOFormDtsPack WHERE MainID=" + p_Entity.ID.ToString();
                    sql += " AND ID NOT IN" + string.Format("({0})", GetIDExist(list));
                    sqlTrans.ExecuteNonQuery(sql);//删除原单据里应该删除的明细数据,即数据库里有但是UI里已经删除的数据
                }
                for (int i = 0; i < list.Count; i++)
                {
                    IOFormDtsPack entitydts    = (IOFormDtsPack)list[i];
                    int           ioformdtsdex = -1;
                    for (int m = 0; m < p_EntityDts.Length; m++)
                    {
                        if (p_EntityDts[m].Seq == entitydts.Seq)//找到相同的SEQ了
                        {
                            ioformdtsdex = m;
                            break;
                        }
                    }
                    if (ioformdtsdex == -1)//未找到,异常
                    {
                        throw new Exception("码单输入异常,未找到单据明细,行号:" + entitydts.Seq);
                    }

                    if (entitydts.ID != 0)//ID不为0说明数据库中已经存在
                    {
                        this.RUpdateOther(p_EntityDts[ioformdtsdex], entitydts, sqlTrans);
                    }
                    else
                    {
                        entitydts.MainID = p_Entity.ID;
                        entitydts.DID    = p_EntityDts[ioformdtsdex].ID;
                        this.RAddOther(p_EntityDts[ioformdtsdex], entitydts, sqlTrans);
                    }
                }
            }
            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(int p_ID, string p_IDStr, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql = "SELECT WHID,SectionID,SBitID,JarNum,Batch FROM WH_PackBox WHERE ID IN (" + p_IDStr + ")";
                sql += " GROUP BY WHID,SectionID,SBitID,JarNum,Batch";
                DataTable     dt     = sqlTrans.Fill(sql);
                int           MaxSeq = GetMaxSeq(p_ID);
                decimal       Qty    = 0;
                IOFormDtsRule rule   = new IOFormDtsRule();

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (i == 0)//第一行更新
                    {
                        sql  = "SELECT * FROM WH_PackBox WHERE ID IN (" + p_IDStr + ")";
                        sql += " AND WHID=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["WHID"]));
                        sql += " AND SectionID=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["SectionID"]));
                        sql += " AND SBitID=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["SBitID"]));
                        sql += " AND JarNum=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["JarNum"]));
                        sql += " AND Batch=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["Batch"]));
                        DataTable dtsql = sqlTrans.Fill(sql);

                        IOFormDts entitydts = new IOFormDts(sqlTrans);
                        entitydts.ID = p_ID;
                        entitydts.SelectByID();
                        entitydts.WHID      = SysConvert.ToString(dt.Rows[i]["WHID"]);
                        entitydts.SectionID = SysConvert.ToString(dt.Rows[i]["SectionID"]);
                        entitydts.SBitID    = SysConvert.ToString(dt.Rows[i]["SBitID"]);
                        entitydts.JarNum    = SysConvert.ToString(dt.Rows[i]["JarNum"]);
                        entitydts.Batch     = SysConvert.ToString(dt.Rows[i]["Batch"]);
                        entitydts.Qty       = SysConvert.ToDecimal(SysConvert.ToDecimal(dtsql.Compute("SUM(Qty)", "")), 2);
                        entitydts.Weight    = SysConvert.ToDecimal(SysConvert.ToDecimal(dtsql.Compute("SUM(Weight)", "")), 2);
                        entitydts.Yard      = SysConvert.ToDecimal(SysConvert.ToDecimal(dtsql.Compute("SUM(Yard)", "")), 2);
                        entitydts.PieceQty  = dtsql.Rows.Count;
                        entitydts.PackFlag  = 1;
                        if (entitydts.Unit == "RMB/KG" || entitydts.Unit == "USD/KG")
                        {
                            entitydts.Amount = entitydts.Weight * entitydts.SinglePrice;
                        }
                        if (entitydts.Unit == "RMB/M" || entitydts.Unit == "USD/M")
                        {
                            entitydts.Amount = entitydts.Qty * entitydts.SinglePrice;
                        }
                        if (entitydts.Unit == "RMB/Y" || entitydts.Unit == "USD/Y")
                        {
                            entitydts.Amount = entitydts.Yard * entitydts.SinglePrice;
                        }
                        rule.RUpdate(entitydts, sqlTrans);

                        IOFormDtsPackRule prule = new IOFormDtsPackRule();
                        sql  = "DELETE WH_IOFormDtsPack WHERE MainID=" + SysString.ToDBString(entitydts.MainID);
                        sql += " AND Seq=" + SysString.ToDBString(entitydts.Seq);
                        sqlTrans.ExecuteNonQuery(sql);
                        for (int j = 0; j < dtsql.Rows.Count; j++)
                        {
                            IOFormDtsPack pentity = new IOFormDtsPack(sqlTrans);
                            pentity.MainID     = entitydts.MainID;
                            pentity.Seq        = entitydts.Seq;
                            pentity.SubSeq     = SysConvert.ToInt32(dtsql.Rows[j]["SubSeq"]); //zhoufc 2014.10.17 SubSeq表示卷号
                            pentity.GoodsLevel = SysConvert.ToString(dtsql.Rows[j]["GoodsLevel"]);
                            pentity.BoxNo      = SysConvert.ToString(dtsql.Rows[j]["BoxNo"]);
                            pentity.Weight     = SysConvert.ToDecimal(dtsql.Rows[j]["Weight"]);
                            pentity.Qty        = SysConvert.ToDecimal(dtsql.Rows[j]["Qty"]);
                            pentity.Yard       = SysConvert.ToDecimal(dtsql.Rows[j]["Yard"]);
                            pentity.DID        = entitydts.ID;
                            prule.RAdd(pentity, sqlTrans);
                        }
                    }
                    else
                    {
                        sql  = "SELECT * FROM WH_PackBox WHERE ID IN (" + p_IDStr + ")";
                        sql += " AND WHID=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["WHID"]));
                        sql += " AND SectionID=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["SectionID"]));
                        sql += " AND SBitID=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["SBitID"]));
                        sql += " AND JarNum=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["JarNum"]));
                        sql += " AND Batch=" + SysString.ToDBString(SysConvert.ToString(dt.Rows[i]["Batch"]));
                        DataTable dtsql = sqlTrans.Fill(sql);

                        IOFormDts entitydts = new IOFormDts(sqlTrans);
                        entitydts.ID = p_ID;
                        entitydts.SelectByID();
                        entitydts.Seq       = MaxSeq + i;
                        entitydts.WHID      = SysConvert.ToString(dt.Rows[i]["WHID"]);
                        entitydts.SectionID = SysConvert.ToString(dt.Rows[i]["SectionID"]);
                        entitydts.SBitID    = SysConvert.ToString(dt.Rows[i]["SBitID"]);
                        entitydts.JarNum    = SysConvert.ToString(dt.Rows[i]["JarNum"]);
                        entitydts.Batch     = SysConvert.ToString(dt.Rows[i]["Batch"]);
                        entitydts.Qty       = SysConvert.ToDecimal(SysConvert.ToDecimal(dtsql.Compute("SUM(Qty)", "")));
                        entitydts.Weight    = SysConvert.ToDecimal(SysConvert.ToDecimal(dtsql.Compute("SUM(Weight)", "")), 2);
                        entitydts.Yard      = SysConvert.ToDecimal(SysConvert.ToDecimal(dtsql.Compute("SUM(Yard)", "")), 2);
                        entitydts.PieceQty  = dtsql.Rows.Count;
                        entitydts.PackFlag  = 1;
                        if (entitydts.Unit == "RMB/KG" || entitydts.Unit == "USD/KG")
                        {
                            entitydts.Amount = entitydts.Weight * entitydts.SinglePrice;
                        }
                        if (entitydts.Unit == "RMB/M" || entitydts.Unit == "USD/M")
                        {
                            entitydts.Amount = entitydts.Qty * entitydts.SinglePrice;
                        }
                        if (entitydts.Unit == "RMB/Y" || entitydts.Unit == "USD/Y")
                        {
                            entitydts.Amount = entitydts.Yard * entitydts.SinglePrice;
                        }
                        sql  = "SELECT ID FROM WH_IOFormDts WHERE MainID=" + SysString.ToDBString(entitydts.MainID);
                        sql += " AND Seq=" + SysString.ToDBString(entitydts.Seq);
                        if (sqlTrans.Fill(sql).Rows.Count > 0)
                        {
                            throw new BaseException("不能增行,该行已存在");
                        }
                        rule.RAdd(entitydts, sqlTrans);
                        IOFormDtsPackRule prule = new IOFormDtsPackRule();
                        sql  = "DELETE WH_IOFormDtsPack WHERE MainID=" + SysString.ToDBString(entitydts.MainID);
                        sql += " AND Seq=" + SysString.ToDBString(entitydts.Seq);
                        sqlTrans.ExecuteNonQuery(sql);
                        for (int j = 0; j < dtsql.Rows.Count; j++)
                        {
                            IOFormDtsPack pentity = new IOFormDtsPack(sqlTrans);
                            pentity.MainID     = entitydts.MainID;
                            pentity.Seq        = entitydts.Seq;
                            pentity.SubSeq     = SysConvert.ToInt32(dtsql.Rows[j]["SubSeq"]); //zhoufc 2014.10.17 SubSeq表示卷号
                            pentity.GoodsLevel = SysConvert.ToString(dtsql.Rows[j]["GoodsLevel"]);
                            pentity.BoxNo      = SysConvert.ToString(dtsql.Rows[j]["BoxNo"]);
                            pentity.Weight     = SysConvert.ToDecimal(dtsql.Rows[j]["Weight"]);
                            pentity.Qty        = SysConvert.ToDecimal(dtsql.Rows[j]["Qty"]);
                            pentity.Yard       = SysConvert.ToDecimal(dtsql.Rows[j]["Yard"]);
                            pentity.DID        = entitydts.ID;
                            prule.RAdd(pentity, sqlTrans);
                        }
                    }
                }
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
        /// <summary>
        /// 保存(传入事务处理)
        /// </summary>
        /// <param name="p_Entity"></param>
        /// <param name="p_BE"></param>
        /// <param name="sqlTrans"></param>
        public void RSave(IOForm p_Entity, IOFormDts[] p_EntityDts, ArrayList list, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql = string.Empty;

                int FormListTopType = IOFormDtsRule.GetFormListTopTypeByFormListID(p_Entity.HeadType, sqlTrans);//顶层单据类型
                //if (FormListTopType != (int)WHFormList.入库 && FormListTopType != (int)WHFormList.期初入库)//如果不是入库类型的单据
                if (FormListTopType != (int)WHFormList.入库 && FormListTopType != (int)WHFormList.期初入库 &&
                    FormListTopType != (int)WHFormList.面料入库单 && FormListTopType != (int)WHFormList.坯布入库单)    //如果不是入库类型的单据
                {
                    RSaveOther(p_Entity, p_EntityDts, list, sqlTrans);
                    return;
                }


                sql  = "SELECT BoxNo FROM WH_IOFormDtsPack WHERE MainID=" + p_Entity.ID.ToString();
                sql += " AND ID NOT IN" + string.Format("({0})", GetIDExist(list));
                DataTable dtDelete = sqlTrans.Fill(sql);  //删除表结构
                if (dtDelete.Rows.Count != 0)             //有需要删除的数据
                {
                    foreach (DataRow dr in dtDelete.Rows) //校验是否可以删除
                    {
                        PackBoxRule pbrule = new PackBoxRule();
                        pbrule.RCheckDelete(dr["BoxNo"].ToString(), sqlTrans);//检测调用
                    }

                    sql  = "DELETE FROM WH_PackBox WHERE BoxNo IN(SELECT BoxNo FROM WH_IOFormDtsPack WHERE MainID=" + p_Entity.ID.ToString();
                    sql += " AND ID NOT IN" + string.Format("({0})", GetIDExist(list)) + ")";//删除码单明细数据
                    sqlTrans.ExecuteNonQuery(sql);

                    sql  = "DELETE FROM WH_IOFormDtsPack WHERE MainID=" + p_Entity.ID.ToString();
                    sql += " AND ID NOT IN" + string.Format("({0})", GetIDExist(list));
                    sqlTrans.ExecuteNonQuery(sql);//删除原单据里应该删除的明细数据,即数据库里有但是UI里已经删除的数据
                }
                for (int i = 0; i < list.Count; i++)
                {
                    IOFormDtsPack entitydts    = (IOFormDtsPack)list[i];
                    int           ioformdtsdex = -1;
                    for (int m = 0; m < p_EntityDts.Length; m++)
                    {
                        if (p_EntityDts[m].Seq == entitydts.Seq)//找到相同的SEQ了
                        {
                            ioformdtsdex = m;
                            break;
                        }
                    }
                    if (ioformdtsdex == -1)//未找到,异常
                    {
                        throw new Exception("码单输入异常,未找到单据明细,行号:" + entitydts.Seq);
                    }


                    if (entitydts.ID != 0)//ID不为0说明数据库中已经存在
                    {
                        PackBoxRule pbrule = new PackBoxRule();
                        pbrule.RCheckUpdate(entitydts.BoxNo, sqlTrans);//检测调用
                        this.RUpdate(p_EntityDts[ioformdtsdex], entitydts, sqlTrans);
                    }
                    else
                    {
                        entitydts.MainID = p_Entity.ID;
                        this.RAdd(p_Entity, p_EntityDts[ioformdtsdex], entitydts, sqlTrans);
                    }
                }
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }
        /// <summary>
        /// 核销处理
        /// </summary>
        public void RHX(InvoiceOperation entity, InvoiceOperationDts entityDts, IDBTransAccess sqlTrans)
        {
            try
            {
                string sql = string.Empty;
                //First 处理发票主表数据
                InvoiceOperation entityinvoice = new InvoiceOperation(sqlTrans);//处理收付款主表数据
                entityinvoice.ID = entity.ID;
                entityinvoice.SelectByID();

                if (entityinvoice.PreHXAmount + entityDts.DInvoiceAmount > entityinvoice.TotalAmount)
                {
                    throw new Exception("不能操作,核销金额超过了开票未核金额");
                }
                if (entityinvoice.PreHXQty + entityDts.DInvoiceQty > entityinvoice.TotalQty)
                {
                    throw new Exception("不能操作,核销数量超过了开票未核数量");
                }
                if (entityinvoice.PreHXAmount + entityDts.DInvoiceAmount == entityinvoice.TotalAmount)
                {
                    entityinvoice.PreHXFlag = (int)YesOrNo.Yes;
                }
                entityinvoice.PreHXQty    += entityDts.DInvoiceQty;
                entityinvoice.PreHXAmount += entityDts.DInvoiceAmount;
                this.RUpdate(entityinvoice, sqlTrans);


                //Second

                IOFormDtsRule ioformdtsRule = new IOFormDtsRule();     //处理出入库单据明细数据
                IOFormDts     entityIOF     = new IOFormDts(sqlTrans); //出入库单据明细
                entityIOF.ID = entityDts.DLOADDtsID;
                entityIOF.SelectByID();

                if (entityIOF.DtsInvoiceDelFlag == (int)YesOrNo.Yes)
                {
                    throw new Exception("不能操作,数据已开票结束 ID:" + entityDts.DLOADDtsID + " " + entityIOF.ItemCode + " " + entityIOF.ColorNum);
                }
                if (entityDts.DInvoiceQty + entityIOF.InvoiceQty > entityIOF.DZQty || entityDts.DInvoiceAmount + entityIOF.InvoiceAmount > entityIOF.DZAmount)//开票溢出
                {
                    throw new Exception("不能操作,开票数超过对账数 或 开票金额超过对账金额 ID:" + entityDts.DLOADDtsID + " " + entityIOF.ItemCode + " " + entityIOF.ColorNum);
                }

                sql  = "UPDATE WH_IOFormDts SET InvoiceQty=ISNULL(InvoiceQty,0)+" + "(" + SysString.ToDBString(entityDts.DInvoiceQty) + ")";
                sql += ",InvoiceAmount=ISNULL(InvoiceAmount,0)+" + "(" + SysString.ToDBString(entityDts.DInvoiceAmount) + ")";
                sql += ",DtsInvoiceDelOPID=" + SysString.ToDBString(entity.SaleOPID);
                sql += ",DtsInvoiceDelTime=" + SysString.ToDBString(entity.FormDate.ToString("yyyy-MM-dd"));
                sql += ",DtsInvoiceNo=" + SysString.ToDBString(entity.InvoiceNO);
                if (entityDts.DInvoiceAmount + entityIOF.InvoiceAmount >= entityIOF.DZAmount)//开票完成
                {
                    sql += ",DtsInvoiceDelFlag=1";
                }
                else
                {
                    sql += ",DtsInvoiceDelFlag=0";
                }
                sql += " WHERE ID=" + SysString.ToDBString(entityDts.DLOADDtsID);
                sqlTrans.ExecuteNonQuery(sql);


                InvoiceOperationDtsRule dtsRule = new InvoiceOperationDtsRule();
                entityDts.MainID = entity.ID;
                entityDts.Seq    = SysConvert.ToInt32(sqlTrans.Fill("SELECT ISNULL(MAX(Seq),0)+1 FROM Finance_InvoiceOperationDts WHERE MainID=" + entity.ID).Rows[0][0]);//取最大的MAXSEQ值

                dtsRule.RAdd(entityDts, sqlTrans);
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }