yangle
2024-03-28 ec79dbb5a07dbdaa4cef64e7ed8db19ad5b404f7
DAL/²É¹º¹ÜÀí/ClsCg_PayableBill.cs
@@ -8,11 +8,11 @@
    public  class ClsCg_PayableBill : DBUtility.ClsXt_BaseBill
    {
        public Model.ClsCg_PayableBillMain omodel = new Model.ClsCg_PayableBillMain();
        public List<Model.ClsCg_PayableBillSub> DetailColl = new List<Model.ClsCg_PayableBillSub>();
        public List<Model.ClsCg_PayableSub> DetailColl = new List<Model.ClsCg_PayableSub>();
        public ClsCg_PayableBill()
        {
            base.MvarItemKeySub = "Cg_PayableBillSub";
            base.MvarItemKeySub = "Cg_PayableSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
@@ -32,11 +32,50 @@
        #endregion
        #endregion
        //新增关联
        public override void AddNewRelation(ref string sReturn, Int64 lngBillKey)
        {
            //收料通知单 é€€æ–™é€šçŸ¥å• å…³è”数量
            try
            {
                if (DetailColl[0].HSourceBillType == "1201")                      //采购入库单
                {
                    oCn.RunProc("exec h_p_Cg_UpDateRelation_POStockInToPayable_Add " + lngBillKey.ToString());
                }
                else if (DetailColl[0].HSourceBillType == "1102")                    //采购订单
                {
                    oCn.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPayable_Add " + lngBillKey.ToString());
                }
                else
                {
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        #region ä¿®æ”¹å•据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Cg_PayableBill_BeforeSaveCtrl " + omodel.HInterID, "h_p_Cg_PayableBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                oCn.BeginTran();
                //更新主表
                string mainSql = "update Cg_PayableBillMain  set " +
@@ -55,7 +94,7 @@
                    ",HCurID = " + omodel.HCurID + "" +
                    ",HExRate = " + omodel.HExRate + "" +
                    ",HEmpID = " + omodel.HEmpID + "" +
                    ",HMangerID = " + omodel.HMangerID + "" +
                    ",HManagerID = " + omodel.HManagerID + "" +
                    ",HDeptID = " + omodel.HDeptID + "" +
                    ",HExplanation = '" + omodel.HExplanation + "'" +
                    ",HInnerBillNo = '" + omodel.HInnerBillNo + "'" +
@@ -71,7 +110,7 @@
                //插入子表
                omodel.HInterID = lngBillKey;
                //插入子表
                foreach (Model.ClsCg_PayableBillSub oSub in DetailColl)
                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" +
@@ -113,6 +152,23 @@
                        ")";
                    oCn.RunProc(subSql);
                }
                //更新订单关联数量
                AddNewRelation(ref sReturn, omodel.HInterID);
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("h_p_Cg_PayableBill_AfterSaveCtrl " + omodel.HInterID  ,"h_p_Cg_PayableBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "修改单据成功!";
                oCn.Commit();
@@ -132,9 +188,22 @@
        {
            try
            {
                DataSet ds;
                //DataSet ds;
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Cg_PayableBill_BeforeSaveCtrl " + omodel.HInterID, "h_p_Cg_PayableBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    return false;
                }
                //=========================================================
                oCn.BeginTran();
                //检查主表内码是否重复,若重复则重新生成并继续检查,直到不再重复
@@ -151,11 +220,12 @@
                    }
                }
                //插入主表
                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,HMangerID,HDeptID,HExplanation,HInnerBillNo,HRemark) " +
                    ",HMaker,HMakeDate,HSSID,HPSStyleID,HReceiveDate,HSupID,HCurID,HExRate,HEmpID,HManagerID,HDeptID,HExplanation,HInnerBillNo,HRemark) " +
                    "values(" +
                    "" + omodel.HInterID + "" +
                    ",'" + omodel.HBillNo + "'" +
@@ -177,7 +247,7 @@
                    "," + omodel.HCurID + "" +
                    "," + omodel.HExRate + "" +
                    "," + omodel.HEmpID + "" +
                    "," + omodel.HMangerID + "" +
                    "," + omodel.HManagerID + "" +
                    "," + omodel.HDeptID + "" +
                    ",'" + omodel.HExplanation + "'" +
                    ",'" + omodel.HInnerBillNo + "'" +
@@ -187,7 +257,7 @@
                oCn.RunProc(mainSql);
                //插入子表
                foreach (Model.ClsCg_PayableBillSub oSub in DetailColl)
                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" +
@@ -229,6 +299,23 @@
                        ")";
                    oCn.RunProc(subSql);
                }
                //更新订单关联数量
                AddNewRelation(ref sReturn, omodel.HInterID);
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("h_p_Cg_PayableBill_AfterSaveCtrl " + omodel.HInterID, "h_p_Cg_PayableBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
@@ -296,7 +383,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.HMangerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMangerID"]);
                omodel.HManagerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HManagerID"]);
                omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
                omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExplanation"]);
@@ -318,7 +405,7 @@
                DetailColl.Clear();//清空
                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
                {
                    Model.ClsCg_PayableBillSub oSub = new Model.ClsCg_PayableBillSub();
                    Model.ClsCg_PayableSub oSub = new Model.ClsCg_PayableSub();
                    // å›ºå®šèµ‹å€¼===============================================
                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);