From f1e01b3972fe8dbe3e823c519bf1317d1c524a02 Mon Sep 17 00:00:00 2001 From: duhe <226547893@qq.com> Date: 星期三, 28 二月 2024 16:31:25 +0800 Subject: [PATCH] (已完成-普通)删除客户时,若客户存在关联的销售订单、销售出库单、生产订单,报错修改。 --- WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs | 403 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 397 insertions(+), 6 deletions(-) diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs index 5e4b100..7fcbae0 100644 --- a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs +++ b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs @@ -1153,10 +1153,22 @@ objJsonResult.data = 1; return objJsonResult; } + + string sql = "select count(*) Xs_ExceptiveCheckRequestBillCount from Xs_ExceptiveCheckRequestBillMain where HMainSourceInterID = " + BillOld.omodel.HInterID; + ds = oCN.RunProcReturn(sql, "Xs_ExceptiveCheckRequestBillMain"); + if (ds != null && Int64.Parse(ds.Tables[0].Rows[0]["Xs_ExceptiveCheckRequestBillCount"].ToString()) > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛屽崟鎹瓨鍦ㄤ笅娓稿崟鎹甗鐗规壒鐢宠鍗昡锛�"; + objJsonResult.data = 1; + return objJsonResult; + } } UserName = oItem.HMaker; //鍒跺崟浜� oItem.HBillType = "1401"; oItem.HBillSubType = "1401"; + oItem.HSALEORGID = oItem.HOrgID; oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month); @@ -1328,22 +1340,70 @@ return objJsonResult; } + //鍒犻櫎鍓嶆帶鍒�========================================= + string sql1 = "exec h_p_Xs_SeOrderBill_BeforeDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeOrderBill_BeforeDelCtrl"); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + objJsonResult.data = null; + return objJsonResult; + } + + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; + objJsonResult.data = null; + return objJsonResult; + } + //================================================================================== oCN.BeginTran(); oCN.RunProc("delete from Xs_SeOrderBillMain where HInterID = " + HInterID); oCN.RunProc("delete from Xs_SeOrderBillSub where HInterID='" + HInterID + "'"); + //鍒犻櫎鍚庢帶鍒�================================================================================== + string sql2 = "exec h_p_Xs_SeOrderBill_AfterDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; + ds = oCN.RunProcReturn(sql2, "h_p_Xs_SeOrderBill_AfterDelCtrl"); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + s = "鍒犻櫎鍚庡垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + s; + objJsonResult.data = null; + oCN.RollBack(); + return objJsonResult; + } + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + s = ds.Tables[0].Rows[0]["HRemark"].ToString(); + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + s; + objJsonResult.data = null; + oCN.RollBack(); + return objJsonResult; + } + //============================================================================================== + + oCN.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; - objJsonResult.Message = "Sucess锛�"; + objJsonResult.Message = "鎮ㄥ凡鍒犻櫎鍗曟嵁鍙蜂负" + BillOld.omodel.HBillNo + "鐨勯攢鍞鍗曪紒"; objJsonResult.data = null; return objJsonResult; } catch (Exception e) { + oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception锛�" + e.ToString(); @@ -1447,8 +1507,40 @@ //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣� if (IsAudit == 0) //瀹℃牳鎻愪氦 { + ds = oCN.RunProcReturn("exec h_p_Kf_CheckSeOrderBill_CrediControl " + oBill.omodel.HInterID, "h_p_Kf_CheckSeOrderBill_CrediControl"); + if(ds.Tables[0].Rows[0]["HBack"].ToString() == "1") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); + objJsonResult.data = null; + return objJsonResult; + } + + //瀹℃牳鍓嶆帶鍒�========================================= + string sql1 = "exec h_p_Xs_SeOrderBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Xs_SeOrderBill_BeforeCheckCtrl"); + if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + objJsonResult.data = null; + return objJsonResult; + } + + if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; + objJsonResult.data = null; + return objJsonResult; + } + //================================================================================== + //瀹℃牳鎻愪氦 - if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) + if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; @@ -1467,8 +1559,28 @@ } if (IsAudit == 1) //鍙嶅鏍告彁浜� { + //鍙嶅鏍稿墠鎺у埗========================================= + DataSet ds = oCN.RunProcReturn("Exec h_p_Xs_SeOrderBill_BeforeAbandonCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Xs_SeOrderBill_BeforeAbandonCheckCtrl"); + if (ds == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + //========================================================= + //鍙嶅鏍告彁浜bandonCheck - if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) + if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; @@ -1797,9 +1909,14 @@ ,cur.HName HCurName ,cur.HExchangeRate HExRate ,c.HTaxRate + ,c.HLinkMan + ,c.HLinkPhone + ,c.HMobilePhone + ,ISNULL(cre.HCreditRating_Now,0) HCreditRating_Now from Gy_Customer as c left join Gy_SettleStyle as s on c.HSSID = s.HItemID left join Gy_Currency as cur on c.HCurID = cur.HItemID + left join Gy_Customer_Credit as cre on c.HItemID = cre.HCusID where c.HItemID = " + HCusID; ds = oCN.RunProcReturn(sql,"Gy_Customer"); @@ -1840,11 +1957,11 @@ try { string sql = @"select - c.HEmpID + ISNULL(c.HEmpID,0) HEmpID ,e.HName HEmpName - ,c.HDeptID + ,ISNULL(c.HDeptID,0) HDeptID ,d.HName HDeptName - ,d.HEmpID HManagerID + ,ISNULL(d.HEmpID,0) HManagerID ,e1.HName HManagerName from Gy_Czygl as c left join Gy_Employee as e on c.HEmpID = e.HItemID @@ -1880,5 +1997,279 @@ } } #endregion + + #region 閿�鍞鍗� 鏍规嵁鐢ㄦ埛鑾峰彇鐢ㄦ埛鍏宠仈瀹㈡埛杩囨护鏉′欢 + [Route("Xs_SeOrderBill/getCusIDListByUser")] + [HttpGet] + public object getCusIDListByUser(string CurUserID, string CurUserName) + { + string sWhere = ""; + string ModRightNameCheck = "Gy_UserLookAllCus"; + DBUtility.ClsPub.CurUserName = CurUserName; + try + { + //鏉冮檺鍒ゆ柇锛氭槸鍚﹀彲浠ユ煡鐪嬫墍鏈夊鎴� + if (DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) + { + sWhere = ""; + } + else + { + string sql = "select * from Gy_UserCustomerRelation where HUserID = '" + CurUserID + "'"; + ds = oCN.RunProcReturn(sql, "Gy_UserCustomerRelation"); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + sWhere = " and 1 = 0"; + } + else + { + sWhere = " and HCusID in ("; + for (var i = 0; i < ds.Tables[0].Rows.Count; i++) + { + if (i < ds.Tables[0].Rows.Count - 1) + { + sWhere += ds.Tables[0].Rows[i]["HCusID"].ToString() + ","; + } + else + { + sWhere += ds.Tables[0].Rows[i]["HCusID"].ToString() + ")"; + } + } + } + + //sWhere = " and 1=1 "; + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = sWhere; + return objJsonResult; + } + catch (Exception e) + { + sWhere = " and 1=0 "; + + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = sWhere; + return objJsonResult; + } + } + #endregion + + #region 閿�鍞鍗� 涓嬫帹鐢熶骇璁㈠崟(鏃犲垪琛�)-鑾峰彇鏁版嵁 + [Route("Xs_SeOrderBill/loadXs_SeOrderBill_InitICMO")] + [HttpGet] + public object loadXs_SeOrderBill_InitICMO(long HInterID,long HEntryID) + { + try + { + string sql = "select * from h_v_IF_SeOrderBillList where hmainid = " + HInterID + " and HSubID = " + HEntryID; + ds = oCN.RunProcReturn(sql, "h_v_IF_SeOrderBillList"); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "false锛�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閿�鍞鍗� 妫�鏌ュ崟鎹槸鍚﹀瓨鍦� + /// <summary> + /// </summary> + /// <param name="HInterID">鍗曟嵁ID</param> + /// <returns></returns> + [Route("Xs_SeOrderBill/CheckSeOrderBill_IsExist")] + [HttpGet] + public object CheckSeOrderBill_IsExist(int HInterID) + { + try + { + //HInterID鏁版嵁鍒ゆ柇 + if (HInterID <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID灏忎簬0锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsXs_SeOrderBill oBill = new DAL.ClsXs_SeOrderBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁 + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁瀛樺湪"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "绋嬪簭閿欒锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閿�鍞鍗� 涓嬫煡 + /// <summary> + /// </summary> + /// <param name="HInterID">鍗曟嵁ID</param> + /// <returns></returns> + [Route("Xs_SeOrderBill/SeOrderBill_LookDown")] + [HttpGet] + public object SeOrderBill_LookDown(int HInterID) + { + try + { + List<object> columnNameListSum = new List<object>(); + List<object> columnNameList0 = new List<object>(); + List<object> columnNameList1 = new List<object>(); + List<object> columnNameList2 = new List<object>(); + List<object> columnNameList3 = new List<object>(); + List<object> columnNameList4 = new List<object>(); + + string sql = "exec h_p_Xs_SeOrderBill_lookdown " + HInterID; + ds = oCN.RunProcReturn(sql, "h_p_Xs_SeOrderBill_lookdown"); + + //娣诲姞 閿�鍞鍗曞彉鏇村崟 鍒楀悕 + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList0.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + //娣诲姞 鐢熶骇璁㈠崟 鍒楀悕 + foreach (DataColumn col in ds.Tables[1].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList1.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + //娣诲姞 鐗规壒鐢宠鍗� 鍒楀悕 + foreach (DataColumn col in ds.Tables[2].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList2.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + //娣诲姞 閿�鍞嚭搴撳崟 鍒楀悕 + foreach (DataColumn col in ds.Tables[3].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList3.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + //娣诲姞 宸ュ簭娴佽浆鍗� 鍒楀悕 + foreach (DataColumn col in ds.Tables[4].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList4.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + columnNameListSum.Add(columnNameList0); + columnNameListSum.Add(columnNameList1); + columnNameListSum.Add(columnNameList2); + columnNameListSum.Add(columnNameList3); + columnNameListSum.Add(columnNameList4); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables; + objJsonResult.list = columnNameListSum; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 閿�鍞鍗� 鏍规嵁涓诲唴鐮佷笌瀛愬唴鐮佽幏鍙栭攢鍞鍗曟暟鎹� + [Route("Xs_SeOrderBill/loadXs_SeOrderBill_Push")] + [HttpGet] + public object loadXs_SeOrderBill_Push(long HInterID,long HSubID) + { + try + { + + ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList where hmainid =" + HInterID + " and hsubid = " + HSubID, "h_v_IF_SeOrderBillList"); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌婧愬崟淇℃伅锛�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion } } \ No newline at end of file -- Gitblit v1.9.1