From 45e245505f33ba0e4866a4e1d49f5ab93c771f1d Mon Sep 17 00:00:00 2001
From: 陈雯静 <1134865194@qq.com>
Date: 星期一, 11 三月 2024 09:04:06 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/SCGL/Sc_ICMOChangeBillController.cs |   76 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_ICMOChangeBillController.cs b/WebAPI/Controllers/SCGL/Sc_ICMOChangeBillController.cs
index 8fed87d..44988ea 100644
--- a/WebAPI/Controllers/SCGL/Sc_ICMOChangeBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ICMOChangeBillController.cs
@@ -48,12 +48,12 @@
 
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_Sc_ICMOChangeBillList_Query order by 鍗曟嵁鍙� ", "h_v_Sc_ICMOChangeBillList_Query");
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_ICMOChangeBillList_Query order by 鍗曟嵁鍙� desc", "h_v_Sc_ICMOChangeBillList_Query");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Sc_ICMOChangeBillList_Query where 1 = 1 ";
-                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+                    string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ICMOChangeBillList_Query");
                 }
 
@@ -311,6 +311,8 @@
         {
             try
             {
+                string s = "";
+
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOChangeBill_Drop", 1, false, user))
                 {
@@ -327,6 +329,24 @@
                     objJsonResult.count = 0;
                     objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�";
                     objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (BillOld.ShowBill(long.Parse(HInterID), ref s) == false)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                //鍒ゆ柇鏄惁鍙紪杈�
+                if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽鍒犻櫎锛�";
+                    objJsonResult.data = 1;
                     return objJsonResult;
                 }
 
@@ -448,9 +468,57 @@
                 //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
+                    //妫�楠屽瓙琛ㄦ暟鎹�
+                    string errorMessage = "";
+                    foreach (Model.ClsSc_ICMOChangeBillSub oSub in oBill.DetailColl)
+                    {
+                        //鍒ゆ柇鏂版暟閲忔槸鍚﹀皬浜庡崟鎹叧鑱旀暟閲�
+                        if (oSub.HQty_New < oSub.HRelationQty)
+                        {
+                            errorMessage += "鐗╂枡鏂版暟閲忓皬浜庡崟鎹鍏宠仈鏁伴噺!";
+                        }
+                    }
+                    if (errorMessage != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + errorMessage;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    //妫�鏌ユ簮鍗曟槸鍚﹀瓨鍦�
+                    string sql = "select * from Sc_ICMOBillMain as a " +
+                        " inner join Sc_ICMOBillSub as b on a.HInterID = b.HInterID " +
+                        " where b.HInterID = " + oBill.omodel.HMainSourceInterID + " and b.HEntryID =" + oBill.omodel.HMainSourceEntryID;
+                    ds = oCN.RunProcReturn(sql, "Sc_ICMOBill");
+                    if(ds==null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:婧愬崟鏁版嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() != "2")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:婧愬崟鏈浜庡鏍哥姸鎬�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oCN.BeginTran();
+                    //鍙嶅啓婧愬崟鏁版嵁
+                    sql = "exec h_p_Sc_ICMOBill_ReWriteByICMOChangeBill " + oBill.omodel.HInterID;
+                    oCN.RunProc(sql);
+
                     //瀹℃牳鎻愪氦
                     if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
+                        oCN.Commit();
+
                         objJsonResult.code = "1";
                         objJsonResult.count = 1;
                         objJsonResult.Message = "瀹℃牳鎴愬姛";
@@ -459,6 +527,8 @@
                     }
                     else
                     {
+                        oCN.RollBack();
+
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
                         objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
@@ -490,6 +560,8 @@
             }
             catch (Exception e)
             {
+                oCN.RollBack();
+
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();

--
Gitblit v1.9.1