From de165ac9039e26c55746064cc5333d872c0dfe3b Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期三, 23 十月 2024 13:18:53 +0800
Subject: [PATCH] 个人结算单集体结算单批量审核

---
 WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs |  146 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 140 insertions(+), 6 deletions(-)

diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index 12ba45d..2d3d0fb 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -281,6 +281,30 @@
                 }
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
                 { //淇敼
+
+                    //淇敼
+                    DataSet dss;
+                    dss = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Gy_RoutingBillMain");
+                    //鍒ゆ柇鏄惁鍙紪杈�
+                    if (dss.Tables[0].Rows[0]["HChecker"].ToString() != "" && dss.Tables[0].Rows[0]["HChecker"] != null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    dss = oCN.RunProcReturn("select COUNT(*) as number from Sc_ProcessExchangeBillMain where HRoutingBillID = " + HInterID, "Gy_RoutingBillMain");
+                    //鍒ゆ柇鏄惁鍙紪杈�
+                    if (dss.Tables[0].Rows[0]["number"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "姝ゅ崟鎹凡缁忚寮曠敤锛屼笉鍏佽淇敼锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    
                     oCN.RunProc("update Gy_RoutingBillMain  set " +
                        "HDate='" + HDate +
                        "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
@@ -351,7 +375,7 @@
                 if (HStandard)
                 {
                     //璁剧疆榛樿宸ヨ壓璺嚎
-                    oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID);  //璁剧疆榛樿宸ヨ壓璺嚎
+                    oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID + ",'" + user + "'");
                 }
              
                 //鍒ゆ柇鏄惁閲嶅宸ュ簭鍙�
@@ -405,7 +429,7 @@
             foreach (Gy_RoutingBillSub oSub in DetailColl)
             {
                 i++;
-                if (oSystemParameter.omodel.WMS_CampanyName != "榫欏北姹介厤")
+                if (oSystemParameter.omodel.WMS_CampanyName != "榫欏北姹介厤" && oSystemParameter.omodel.WMS_CampanyName != "娣诲悍绉戞妧")
                 {
                     if (oSub.HWorkQty <= 0)
                     {
@@ -450,7 +474,7 @@
                     //璁′环鏂瑰紡涓嶄负璁℃椂锛屽垯鎶婅鏃舵殏浼板瓧娈垫洿鏂颁负绌�
                     if (oSub.HIsTime == false)
                     {
-                        oCN.RunProc("update Gy_RoutingBillSub set HEstimate = null where HInterID = " + HInterID + " and HEntryID = " + i);                  
+                        oCN.RunProc("update Gy_RoutingBillSub set HEstimate = 0 where HInterID = " + HInterID + " and HEntryID = " + i);                  
                     }
 
                     if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
@@ -494,7 +518,7 @@
                     //璁′环鏂瑰紡涓嶄负璁℃椂锛屽垯鎶婅鏃舵殏浼板瓧娈垫洿鏂颁负绌�
                     if (oSub.HIsTime == false)
                     {
-                        oCN.RunProc("update Gy_RoutingBillSub set HEstimate = null where HInterID = " + HInterID + " and HEntryID = " + i);
+                        oCN.RunProc("update Gy_RoutingBillSub set HEstimate = 0 where HInterID = " + HInterID + " and HEntryID = " + i);
                     }
 
                     if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
@@ -1244,7 +1268,10 @@
 
                 if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
                 {
-                    oCN.RunProc("update Gy_RoutingBillMain set HChecker='" + CurUserName + "',HCheckDate=getdate() where HInterID=" + HInterID);
+                    oCN.RunProc("update Gy_RoutingBillMain set HChecker='" + CurUserName + "',HCheckDate=getdate(),HBillStatus=2 where HInterID=" + HInterID);
+
+                    //鍒锋柊榛樿宸ヨ壓璺嚎
+                    //oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID);
 
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -1619,6 +1646,20 @@
                 Int64 lngBillKey = 0;
                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);      //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
                 DAL.ClsGy_RoutingBill oBill = new DAL.ClsGy_RoutingBill();                              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+                //鑾峰彇绯荤粺鍙傛暟鍒ゆ柇宸ヨ壓璺嚎鏄惁鍚敤澶氱骇瀹℃壒绂佺敤
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                string sReturn = "";
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    if (oSystemParameter.omodel.Gy_RoutingBill_EnableMultiLevel.ToUpper() == "N") //绯荤粺鍙傛暟  鏈惎鐢ㄨ嚜鍔ㄥ鏍� 
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "宸ヨ壓璺嚎鏈惎鐢ㄥ绾у鎵圭鐢�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
                 {
                     if (oBill.omodel.HBillStatus != 6)
@@ -1686,6 +1727,21 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
+
+                //鑾峰彇绯荤粺鍙傛暟鍒ゆ柇宸ヨ壓璺嚎鏄惁鍚敤澶氱骇瀹℃壒绂佺敤
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                string sReturn = "";
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    if (oSystemParameter.omodel.Gy_RoutingBill_EnableMultiLevel.ToUpper() == "N") //绯荤粺鍙傛暟  鏈惎鐢ㄨ嚜鍔ㄥ鏍� 
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "宸ヨ壓璺嚎鏈惎鐢ㄥ绾у鎵圭鐢�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
 
                 //HInterID鏁版嵁鍒ゆ柇
                 if (HInterID <= 0)
@@ -1755,7 +1811,20 @@
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
-
+                //鑾峰彇绯荤粺鍙傛暟鍒ゆ柇宸ヨ壓璺嚎鏄惁鍚敤澶氱骇瀹℃壒绂佺敤
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                string sReturn = "";
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    if (oSystemParameter.omodel.Gy_RoutingBill_EnableMultiLevel.ToUpper() == "N") //绯荤粺鍙傛暟  鏈惎鐢ㄨ嚜鍔ㄥ鏍� 
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "宸ヨ壓璺嚎鏈惎鐢ㄥ绾у鎵圭鐢�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
 
                 //HInterID鏁版嵁鍒ゆ柇
                 if (HInterID <= 0)
@@ -2125,5 +2194,70 @@
         }
         #endregion
 
+        #region 宸ヨ壓璺嚎 鍏抽棴鍏跺畠鍗曟嵁
+        [Route("Gy_Routing/CloseOther")]
+        [HttpGet]
+        public object CloseOther(int HInterID, string CurUserName)
+        {
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊叧闂叾瀹冩潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_CloseOther", 1, false, CurUserName))
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = "宸ヨ壓璺嚎鏃犳潈闄愬叧闂叾瀹冨崟鎹�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //鍒ゆ柇鍗曟嵁鏄惁瀛樺湪
+                DataSet ds;
+                string sql = "select * from Gy_RoutingBillMain where HinterID = " + HInterID;
+                ds = oCN.RunProcReturn(sql, "Gy_RoutingBillMain");
+                if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                {
+                    //if (!(ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != ""))
+                    //{
+                    //    objJsonResult.code = "0";
+                    //    objJsonResult.count = 0;
+                    //    objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶅彲浠ヨ鍚敤涓鸿鐗╂枡鐨勯粯璁ゅ伐鑹鸿矾绾�!";
+                    //    objJsonResult.data = null;
+                    //    return objJsonResult;
+                    //}
+                }
+                else
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紝妫�鏌ヨ鍗曟嵁鏄惁宸茬粡琚垹闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒锋柊榛樿宸ヨ壓璺嚎
+                oCN.RunProc("exec h_p_Gy_RoutingBillClose " + HInterID + ",'" + CurUserName + "'");
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "鍏抽棴鍏跺畠澶辫触澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1