11
pzy
2024-08-26 dbbcd506929afda0a85ae23bcb5f88c1dccef387
DAL/²É¹º¹ÜÀí/ClsCg_PayableBill.cs
@@ -9,11 +9,11 @@
    {
        public Model.ClsCg_PayableBillMain omodel = new Model.ClsCg_PayableBillMain();
        public List<Model.ClsCg_PayableSub> DetailColl = new List<Model.ClsCg_PayableSub>();
        public List<Model.ClsCg_PayableSub> DetailCol2 = new List<Model.ClsCg_PayableSub>();
        public ClsCg_PayableBill()
        {
            base.MvarItemKeySub = "Cg_PayableSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub2 = "Cg_PayableSub_Entry";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey= "Cg_PayableBillMain";
@@ -32,10 +32,35 @@
        #endregion
        #endregion
        //删除关联
        public override void DeleteRelation(ref string sReturn, Int64 lngBillKey)
        {
            //采购入库单 é‡‡è´­è®¢å• å…³è”数量
            try
            {
                if (DetailColl[0].HSourceBillType == "1201")                      //采购入库单
                {
                    oCn.RunProc("exec h_p_Cg_UpDateRelation_POStockInToPayable_Del " + lngBillKey.ToString());
                }
                else if (DetailColl[0].HSourceBillType == "1102")                    //采购订单
                {
                    oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPayable_Del " + lngBillKey.ToString());
                }
                else
                {
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //新增关联
        public override void AddNewRelation(ref string sReturn, Int64 lngBillKey)
        {
            //收料通知单 é€€æ–™é€šçŸ¥å• å…³è”数量
            //采购入库单 é‡‡è´­è®¢å• å…³è”数量
            try
            {
                if (DetailColl[0].HSourceBillType == "1201")                      //采购入库单
@@ -94,7 +119,7 @@
                    ",HCurID = " + omodel.HCurID + "" +
                    ",HExRate = " + omodel.HExRate + "" +
                    ",HEmpID = " + omodel.HEmpID + "" +
                    ",HManagerID = " + omodel.HManagerID + "" +
                    ",HMangerID = " + omodel.HMangerID + "" +
                    ",HDeptID = " + omodel.HDeptID + "" +
                    ",HExplanation = '" + omodel.HExplanation + "'" +
                    ",HInnerBillNo = '" + omodel.HInnerBillNo + "'" +
@@ -106,7 +131,8 @@
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //删除子表2
                DeleteBillSub2(lngBillKey);
                //插入子表
                omodel.HInterID = lngBillKey;
                //插入子表
@@ -154,6 +180,49 @@
                }
                //更新订单关联数量
                AddNewRelation(ref sReturn, omodel.HInterID);
                //插入子表2
                foreach (Model.ClsCg_PayableSub oSub in DetailCol2)
                {
                    string subSql = "insert into Cg_PayableSub_Entry" +
                        "(HInterID,HEntryID,HBillNo_bak,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney" +
                        ",HlineTotal,HlineTotalBB,HMoney,HMoneyBB,HRemark" +
                        ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                        ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
                        ",HSeOrderTaxPrice,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo) " +
                        " values(" +
                       "" + omodel.HInterID + "" +
                       "," + oSub.HEntryID + "" +
                       ",'" + omodel.HBillNo + "'" +
                       "," + oSub.HMaterID + "" +
                       "," + oSub.HUnitID + "" +
                       "," + oSub.HQty + "" +
                       "," + oSub.HPrice + "" +
                       "," + oSub.HTaxPrice + "" +
                       "," + oSub.HDiscountRate + "" +
                       "," + oSub.HRelTaxPrice + "" +
                       "," + oSub.HTaxRate + "" +
                       "," + oSub.HTaxMoney + "" +
                       "," + oSub.HlineTotal + "" +
                       "," + oSub.HlineTotalBB + "" +
                       "," + oSub.HMoney + "" +
                       "," + oSub.HMoneyBB + "" +
                       ",'" + oSub.HRemark + "'" +
                       "," + oSub.HSourceInterID + "" +
                       "," + oSub.HSourceEntryID + "" +
                       ",'" + oSub.HSourceBillNo + "'" +
                       ",'" + oSub.HSourceBillType + "'" +
                       "," + oSub.HRelationQty + "" +
                       "," + oSub.HRelationMoney + "" +
                       "," + oSub.HPOOrderInterID + "" +
                       "," + oSub.HPOOrderEntryID + "" +
                       ",'" + oSub.HPOOrderBillNo + "'" +
                       "," + oSub.HSeOrderTaxPrice + "" +
                       "," + oSub.HSeOrderInterID + "" +
                       "," + oSub.HSeOrderEntryID + "" +
                       ",'" + oSub.HSeOrderBillNo + "'" +
                        ")";
                    oCn.RunProc(subSql);
                }
                //=========================保存后控制  
                DataSet ds2 = oCn.RunProcReturn("h_p_Cg_PayableBill_AfterSaveCtrl " + omodel.HInterID  ,"h_p_Cg_PayableBill_AfterSaveCtrl");
                if (ds2 == null)
@@ -225,7 +294,7 @@
                string mainSql = "insert into Cg_PayableBillMain" +
                    "(HInterID,HBillNo,HDate,HYear,HPeriod,HBillType,HBillSubType" +
                    ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
                    ",HMaker,HMakeDate,HSSID,HPSStyleID,HReceiveDate,HSupID,HCurID,HExRate,HEmpID,HManagerID,HDeptID,HExplanation,HInnerBillNo,HRemark) " +
                    ",HMaker,HMakeDate,HSSID,HPSStyleID,HReceiveDate,HSupID,HCurID,HExRate,HEmpID,HMangerID,HDeptID,HExplanation,HInnerBillNo,HRemark) " +
                    "values(" +
                    "" + omodel.HInterID + "" +
                    ",'" + omodel.HBillNo + "'" +
@@ -247,7 +316,7 @@
                    "," + omodel.HCurID + "" +
                    "," + omodel.HExRate + "" +
                    "," + omodel.HEmpID + "" +
                    "," + omodel.HManagerID + "" +
                    "," + omodel.HMangerID + "" +
                    "," + omodel.HDeptID + "" +
                    ",'" + omodel.HExplanation + "'" +
                    ",'" + omodel.HInnerBillNo + "'" +
@@ -260,6 +329,49 @@
                foreach (Model.ClsCg_PayableSub oSub in DetailColl)
                {
                    string subSql = "insert into Cg_PayableSub" +
                        "(HInterID,HEntryID,HBillNo_bak,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney" +
                        ",HlineTotal,HlineTotalBB,HMoney,HMoneyBB,HRemark" +
                        ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                        ",HPOOrderInterID,HPOOrderEntryID,HPOOrderBillNo" +
                        ",HSeOrderTaxPrice,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo) " +
                        " values(" +
                       "" + omodel.HInterID + "" +
                       "," + oSub.HEntryID + "" +
                       ",'" + omodel.HBillNo + "'" +
                       "," + oSub.HMaterID + "" +
                       "," + oSub.HUnitID + "" +
                       "," + oSub.HQty + "" +
                       "," + oSub.HPrice + "" +
                       "," + oSub.HTaxPrice + "" +
                       "," + oSub.HDiscountRate + "" +
                       "," + oSub.HRelTaxPrice + "" +
                       "," + oSub.HTaxRate + "" +
                       "," + oSub.HTaxMoney + "" +
                       "," + oSub.HlineTotal + "" +
                       "," + oSub.HlineTotalBB + "" +
                       "," + oSub.HMoney + "" +
                       "," + oSub.HMoneyBB + "" +
                       ",'" + oSub.HRemark + "'" +
                       "," + oSub.HSourceInterID + "" +
                       "," + oSub.HSourceEntryID + "" +
                       ",'" + oSub.HSourceBillNo + "'" +
                       ",'" + oSub.HSourceBillType + "'" +
                       "," + oSub.HRelationQty + "" +
                       "," + oSub.HRelationMoney + "" +
                       "," + oSub.HPOOrderInterID + "" +
                       "," + oSub.HPOOrderEntryID + "" +
                       ",'" + oSub.HPOOrderBillNo + "'" +
                       "," + oSub.HSeOrderTaxPrice + "" +
                       "," + oSub.HSeOrderInterID + "" +
                       "," + oSub.HSeOrderEntryID + "" +
                       ",'" + oSub.HSeOrderBillNo + "'" +
                        ")";
                    oCn.RunProc(subSql);
                }
                //插入子表Entry
                foreach (Model.ClsCg_PayableSub oSub in DetailCol2)
                {
                    string subSql = "insert into Cg_PayableSub_Entry" +
                        "(HInterID,HEntryID,HBillNo_bak,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney" +
                        ",HlineTotal,HlineTotalBB,HMoney,HMoneyBB,HRemark" +
                        ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
@@ -383,7 +495,7 @@
                omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]);
                omodel.HExRate = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HExRate"]);
                omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
                omodel.HManagerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HManagerID"]);
                omodel.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
                omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
                omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExplanation"]);
@@ -448,6 +560,56 @@
                    DetailColl.Add(oSub);
                }
                //子表Entry
                DataSet DsSub2;
                DsSub2 = oCn.RunProcReturn("select * from Cg_PayableSub_Entry where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "Cg_PayableSub_Entry ");
                DetailCol2.Clear();//清空
                for (int i = 0; i < DsSub2.Tables[0].Rows.Count; i++)
                {
                    Model.ClsCg_PayableSub oSub = new Model.ClsCg_PayableSub();
                    // å›ºå®šèµ‹å€¼===============================================
                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HInterID"]);
                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HEntryID"]);
                    oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HBillNo_bak"]);
                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[i]["HCloseMan"]);
                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub2.Tables[0].Rows[i]["HCloseType"]);
                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub2.Tables[0].Rows[i]["HEntryCloseDate"]);
                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceInterID"]);
                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HSourceEntryID"]);
                    oSub.HSourceBillType = DsSub2.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
                    oSub.HSourceBillNo = DsSub2.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationQty"]);
                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[i]["HRelationMoney"]);
                    oSub.HRemark = DsSub2.Tables[0].Rows[i]["HRemark"].ToString().Trim();
                    //===================================================
                    oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HMaterID"]);
                    oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[i]["HUnitID"]);
                    oSub.HQty = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HQty"]);
                    oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HPrice"]);
                    oSub.HTaxPrice = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HTaxPrice"]);
                    oSub.HDiscountRate = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HDiscountRate"]);
                    oSub.HRelTaxPrice = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HRelTaxPrice"]);
                    oSub.HTaxRate = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HTaxRate"]);
                    oSub.HTaxMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HTaxMoney"]);
                    oSub.HMoney = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HMoney"]);
                    oSub.HMoneyBB = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HMoneyBB"]);
                    oSub.HlineTotal = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HlineTotal"]);
                    oSub.HlineTotalBB = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HlineTotalBB"]);
                    oSub.HPOOrderInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[0]["HPOOrderInterID"]);
                    oSub.HPOOrderEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[0]["HPOOrderEntryID"]);
                    oSub.HPOOrderBillNo = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[0]["HPOOrderBillNo"]);
                    oSub.HSeOrderTaxPrice = DBUtility.ClsPub.isDoule(DsSub2.Tables[0].Rows[0]["HSeOrderTaxPrice"]);
                    oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[0]["HSeOrderInterID"]);
                    oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub2.Tables[0].Rows[0]["HSeOrderEntryID"]);
                    oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(DsSub2.Tables[0].Rows[0]["HSeOrderBillNo"]);
                    DetailCol2.Add(oSub);
                }
                sReturn = "显示单据成功!";
                return true;
            }