From f0f62ea833bfc14a427c9533bc45bce38014f3dd Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期一, 20 十一月 2023 11:17:46 +0800
Subject: [PATCH] 应收退库单:审核时增加信用控制,判断审核后客户余额是否为正,不为则审核失败
---
WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs | 93 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 91 insertions(+), 2 deletions(-)
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs
index bd2e3b0..f36f922 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOrderChangeBillController.cs
@@ -48,12 +48,12 @@
if (sWhere == null || sWhere.Equals(""))
{
- ds = oCN.RunProcReturn("select * from h_v_Xs_SeOrderChangeBillList_Query order by 鍗曟嵁鍙� ", "h_v_Xs_SeOrderChangeBillList_Query");
+ ds = oCN.RunProcReturn("select * from h_v_Xs_SeOrderChangeBillList_Query order by 鍗曟嵁鍙� desc", "h_v_Xs_SeOrderChangeBillList_Query");
}
else
{
string sql1 = "select * from h_v_Xs_SeOrderChangeBillList_Query where 1 = 1 ";
- string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� ";
+ string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
ds = oCN.RunProcReturn(sql, "h_v_Xs_SeOrderChangeBillList_Query");
}
@@ -311,6 +311,8 @@
{
try
{
+ string s = "";
+
//鏌ョ湅鏉冮檺
if (!DBUtility.ClsPub.Security_Log("Xs_SeOrderChangeBill_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,74 @@
//杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
if (IsAudit == 0) //瀹℃牳鎻愪氦
{
+ //妫�楠屽瓙琛ㄦ暟鎹�
+ string errorMessage = "";
+ DateTime today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //褰撴棩鏃ユ湡
+ foreach (Model.ClsXs_SeOrderChangeBillSub oSub in oBill.DetailColl)
+ {
+ //鍒ゆ柇鏂版暟閲忔槸鍚﹀皬浜庡崟鎹叧鑱旀暟閲�
+ if(oSub.HQty_New < oSub.HRelationQty)
+ {
+ errorMessage += "绗�" + oSub.HEntryID + "琛岀墿鏂欐柊鏁伴噺灏忎簬鍗曟嵁琚叧鑱旀暟閲�!";
+ }
+ //鍒ゆ柇鏂颁氦璐ф棩鏈熸槸鍚︽棭浜庡綋鏃�
+ if ( oSub.HDate_New.CompareTo(today) < 0 )
+ {
+ errorMessage += "绗�" + oSub.HEntryID + "琛屾柊浜よ揣鏃ユ湡鏃╀簬褰撴棩!";
+ }
+ }
+ if(errorMessage != "")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀛愯〃" + errorMessage;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ //妫�楠屾簮鍗曟槸鍚﹀瓨鍦�
+ string sql = "select * from Xs_SeOrderBillMain as a " +
+ "inner join Xs_SeOrderBillSub as b on a.HInterID = b.HInterID " +
+ "where a.HInterID = " + oBill.omodel.HMainSourceInterID;
+ ds = oCN.RunProcReturn(sql, "Xs_SeOrderBill");
+ 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_IF_SeOrderBill_ReWriteBySeOrderChangeBill " + oBill.omodel.HInterID;
+ oCN.RunProcReturn(sql, "h_p_IF_SeOrderBill_ReWriteBySeOrderChangeBill");
+ //淇$敤鎺у埗
+ sql = "exec h_p_Kf_CheckSeOrderBill_CrediControl " + oBill.omodel.HMainSourceInterID;
+ ds = oCN.RunProcReturn(sql, "h_p_Kf_CheckSeOrderBill_CrediControl");
+ if (ds.Tables[0].Rows[0]["HBack"].ToString() == "1")
+ {
+ oCN.RollBack();
+
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
//瀹℃牳鎻愪氦
if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
{
+ oCN.Commit();
objJsonResult.code = "1";
objJsonResult.count = 1;
objJsonResult.Message = "瀹℃牳鎴愬姛";
@@ -459,6 +544,8 @@
}
else
{
+ oCN.RollBack();
+
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
@@ -490,6 +577,8 @@
}
catch (Exception e)
{
+ oCN.RollBack();
+
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
--
Gitblit v1.9.1