From ec79dbb5a07dbdaa4cef64e7ed8db19ad5b404f7 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期四, 28 三月 2024 13:23:35 +0800
Subject: [PATCH] 设备负荷报表优化

---
 DAL/采购管理/ClsCg_PayableBill.cs |  109 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 98 insertions(+), 11 deletions(-)

diff --git "a/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_PayableBill.cs" "b/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_PayableBill.cs"
index ebfc5e6..d92218b 100644
--- "a/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/ClsCg_PayableBill.cs"
+++ "b/DAL/\351\207\207\350\264\255\347\256\241\347\220\206/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"]);

--
Gitblit v1.9.1