From b57da8b5cc90a4f9a66f830fad03d76c8512d2fc Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期五, 29 十一月 2024 14:37:59 +0800 Subject: [PATCH] 采购销售部分单据添加 编辑视图 --- WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs | 846 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 839 insertions(+), 7 deletions(-) diff --git a/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs b/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs index 02e88d1..d20866a 100644 --- a/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs +++ b/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs @@ -8,6 +8,7 @@ using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; +using SyntacticSugar.constant; namespace WebAPI.Controllers { @@ -23,6 +24,38 @@ private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; + + #region 搴旀敹鍗曞垪琛� 鏍规嵁鍗曚环绫诲瀷鑾峰彇鐗╂枡鍗曞嚮 + /// <summary> + /// 杩斿洖搴旀敹鍗曞垪琛� + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("Xs_ReceivableBill/getPriceByType")] + [HttpGet] + public object getPriceByType(string HMaterID, string HType) + { + try + { + string sql1 = "exec h_p_Xs_ReceivableBill_getPriceByType " + HMaterID + ",'" + HType + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Xs_ReceivableBill_getPriceByType"); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0].Rows[0]["HPrice"].ToString(); + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion #region 搴旀敹鍗曞垪琛� 鏌ヨ /// <summary> @@ -84,6 +117,66 @@ } #endregion + #region 搴旀敹鍗曞垪琛� 鏌ヨ-鍒嗛〉 + /// <summary> + /// 杩斿洖搴旀敹鍗曞垪琛� + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("Xs_ReceivableBill/list_byPage")] + [HttpGet] + public object getXs_ReceivableBill_byPage(string sWhere, string user, string Organization, int page, int size) + { + try + { + List<object> columnNameList = new List<object>(); + //鏌ョ湅鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Xs_ReceivableBill_Query", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + + sWhere = sWhere.Replace("'", "''"); + + if (sWhere == null || sWhere.Equals("")) + { + ds = oCN.RunProcReturn("exec h_p_Xs_ReceivableBillList_Query " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_Xs_ReceivableBillList_Query"); + } + else + { + ds = oCN.RunProcReturn("exec h_p_Xs_ReceivableBillList_Query " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_Xs_ReceivableBillList_Query"); + } + + //娣诲姞鍒楀悕 + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + objJsonResult.code = "1"; + objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); + objJsonResult.Message = "Sucess锛�"; + objJsonResult.list = columnNameList; + 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 搴旀敹鍗曚繚瀛� 鏂板/缂栬緫 [Route("Xs_ReceivableBill/SaveXs_ReceivableBill")] [HttpPost] @@ -94,10 +187,11 @@ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); //琛ㄥご鏁版嵁 string msg3 = sArray[1].ToString(); //瀛愯〃1鏁版嵁 - string refSav = sArray[2].ToString(); //鎿嶄綔鏂瑰紡 - string msg4 = sArray[3].ToString(); //鐢ㄦ埛 + string msg4 = sArray[2].ToString(); //瀛愯〃2鏁版嵁 + string refSav = sArray[3].ToString(); //鎿嶄綔鏂瑰紡 + string msg5 = sArray[4].ToString(); //鐢ㄦ埛 - DBUtility.ClsPub.CurUserName = msg4; + DBUtility.ClsPub.CurUserName = msg5; string UserName = ""; string s = ""; @@ -105,7 +199,7 @@ try { //缂栬緫鏉冮檺 - if (!DBUtility.ClsPub.Security_Log_second("Xs_ReceivableBill_Edit", 1, false, msg4)) + if (!DBUtility.ClsPub.Security_Log_second("Xs_ReceivableBill_Edit", 1, false, msg5)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -207,6 +301,39 @@ } + //瀛愯〃Entry + //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆� + msg4 = msg4.Substring(1, msg4.Length - 2); + msg4 = msg4.Replace("\\", ""); + msg4 = msg4.Replace("\n", ""); //\n + //msg2 = msg2.Replace("'", "鈥�"); + List<Model.ClsXs_ReceivableBillSub> ls2 = new List<Model.ClsXs_ReceivableBillSub>(); + ls2 = oListModels.getObjectByJson_Xs_ReceivableBillSub(msg4); + int j = 0; + foreach (Model.ClsXs_ReceivableBillSub oItemSub in ls2) + { + j++; + oItemSub.HEntryID = j; + + oItemSub.HCloseMan = ""; //琛屽叧闂� + oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); + oItemSub.HCloseType = false; //鍏抽棴绫诲瀷 + + oBill.DetailCol2.Add(oItemSub); + + } + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + //淇濆瓨 //淇濆瓨瀹屾瘯鍚庡鐞� bool bResult; @@ -223,6 +350,31 @@ { bResult = false; } + + //鑷姩瀹℃牳璁剧疆 + if (refSav == "Add") + { + objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //杩斿洖涓籌D + //绯荤粺鍙傛暟 鑷姩瀹℃牳 + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.Xs_ReceivableBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 + { + objJsonResult.Verify = "Y"; + } + else + { + objJsonResult.Verify = "N"; + } + } + } + else if (refSav == "Update") + { + objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //杩斿洖涓籌D + objJsonResult.Verify = "N"; + } + if (bResult) { objJsonResult.code = "0"; @@ -259,6 +411,7 @@ try { ds = oCN.RunProcReturn("select * from h_v_Xs_ReceivableBillList_EditInit where hmainid=" + HInterID, "h_v_Xs_ReceivableBillList_EditInit"); + objJsonResult.data = ds.Tables[0]; if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; @@ -269,10 +422,15 @@ } else { + ds = oCN.RunProcReturn(@"select a.*,mater.HNumber AS 鐗╂枡浠g爜, mater.HName AS 鐗╂枡鍚嶇О, mater.HModel AS 瑙勬牸鍨嬪彿, mater.HUnitID, unit.HName AS 璁¢噺鍗曚綅 from Xs_ReceivableBillSub_Entry AS a LEFT OUTER JOIN + dbo.Gy_Material AS mater ON a.HMaterID = mater.HItemID LEFT OUTER JOIN + dbo.Gy_Unit AS unit ON mater.HUnitID = unit.HItemID where HInterID=" + HInterID, "Xs_ReceivableBillSub_Entry"); + List<Object> dataTables = new List<Object>(); + dataTables.Add(ds.Tables[0]); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess锛�"; - objJsonResult.data = ds.Tables[0]; + objJsonResult.list = dataTables; return objJsonResult; } } @@ -357,15 +515,38 @@ // objJsonResult.data = null; // return objJsonResult; //} - ////================================================================================== + ////================================================================================== + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } oCN.BeginTran(); + ds = oCN.RunProcReturn("select * from h_v_Xs_ReceivableBillList_Query where hmainid=" + HInterID, "h_v_Xs_ReceivableBillList_Query"); + string hSourceBillType = ds.Tables[0].Rows[0]["HSourceBillType"].ToString(); + if (hSourceBillType == "1401") + { + //搴旀敹鍗� 鍒犻櫎鍥炲~ 閿�鍞鍗� 鍏宠仈鏁伴噺 + oCN.RunProc("exec h_p_Xs_UpDateRelation_SeOrderToPOStockIn_Del " + HInterID); + } + else if (hSourceBillType == "1205") + { + //搴旀敹鍗� 鍒犻櫎鍥炲~ 閿�鍞嚭搴撳崟 鍏宠仈鏁伴噺 + oCN.RunProc("exec h_p_Xs_UpDateRelation_ICStockoPOStockIn_Del " + HInterID); + } + + oCN.RunProc("delete from Xs_ReceivableBillMain where HInterID = " + HInterID); oCN.RunProc("delete from Xs_ReceivableBillSub where HInterID= " + HInterID); - + oCN.RunProc("delete from Xs_ReceivableBillSub_Entry where HInterID= " + HInterID); ////鍒犻櫎鍚庢帶鍒�================================================================================== //string sql2 = "exec h_p_Xs_ReceivableBill_AfterDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; //ds = oCN.RunProcReturn(sql2, "h_p_Xs_ReceivableBill_AfterDelCtrl"); @@ -505,6 +686,17 @@ //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣� if (IsAudit == 0) //瀹℃牳鎻愪氦 { + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + oCN.BeginTran(); //璁板綍杩斿洖淇℃伅 @@ -580,6 +772,17 @@ // return objJsonResult; //} ////=========================================================== + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } //鍙嶅鏍告彁浜bandonCheck //if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_ReceivableBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) @@ -810,6 +1013,14 @@ objJsonResult.data = null; return objJsonResult; } + if (oBill.omodel.HBillStatus.ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } if (IsAudit == 0) //浣滃簾鍒ゆ柇 { if (oBill.omodel.HDeleteMan.Trim() != "") @@ -896,5 +1107,626 @@ } } #endregion + + #region 搴旀敹鍗� 椹冲洖 + [Route("Xs_ReceivableBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsXs_ReceivableBill oBill = new DAL.ClsXs_ReceivableBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁 + { + if (oBill.omodel.HBillStatus != 6) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈湪瀹℃牳涓笉鑳介┏鍥�"; + objJsonResult.data = null; + return objJsonResult; + } + //鍙戣捣椹冲洖 + if (oBill.RejectCheckFlowProgress(lngBillKey, oBill.omodel.HBillNo, CurUserID, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + 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; + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + } + catch (Exception e) + { + oCN.RollBack(); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 搴旀敹鍗� 鍙戣捣瀹℃壒 + [Route("Xs_ReceivableBill/StartCheckFlow_POOrderBill")] + [HttpGet] + public object StartCheckFlow_POOrderBill(int HInterID, string CurUserName) + { + DBUtility.ClsPub.CurUserName = CurUserName; + try + { + ////瀹℃牳鏉冮檺 + //if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} + + //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_ReceivableBill oBill = new DAL.ClsXs_ReceivableBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + if (oBill.startCheckFlow(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + 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> + /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param> + /// <param name="CurUserName">瀹℃牳浜�</param> + /// <returns></returns> + [Route("Xs_ReceivableBill/AuditXs_ReceivableBill_Flow")] + [HttpGet] + public object AuditXs_ReceivableBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "Xs_ReceivableBill_Check"; + DBUtility.ClsPub.CurUserName = CurUserName; + try + { + ////瀹℃牳鏉冮檺 + //if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} + + + //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_ReceivableBill oBill = new DAL.ClsXs_ReceivableBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁 + { + if (oBill.omodel.HCloseMan.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (oBill.omodel.HDeleteMan.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + if (IsAudit == 0) //瀹℃牳鍒ゆ柇 + { + //鍒ゆ柇鏄惁宸茬粡鍙戣捣瀹℃壒 + string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "'"; + DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); + if (ds0 != null && ds0.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍗曟嵁鏈彂璧峰鎵癸紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒ゆ柇鍗曟嵁褰撳墠鐘舵�� + if (oBill.omodel.HChecker.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍗曟嵁宸插畬鎴愬鏍�!涓嶈兘缁х画瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (IsAudit == 1) //鍙嶅鏍稿垽鏂� + { + //鍒ゆ柇鏄惁瀛樺湪瀹℃牳杩囩殑椤圭洰 + string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''"; + DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); + if (ds0 != null && ds0.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍗曟嵁涓嶅瓨鍦ㄥ凡缁忓鏍哥殑椤圭洰锛侊紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + + oCN.BeginTran(); + //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣� + if (IsAudit == 0) //瀹℃牳鎻愪氦 + { + #region 瀹℃牳鍓嶇殑鐩稿叧鍒ゆ柇 + //瀹℃牳鍓嶆帶鍒�========================================= + //string sql1 = "exec h_p_Xs_ReceivableBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + //ds = oCN.RunProcReturn(sql1, "h_p_Xs_ReceivableBill_BeforeCheckCtrl"); + //if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴"; + // objJsonResult.data = null; + // return objJsonResult; + //} + + //if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; + // objJsonResult.data = null; + // return objJsonResult; + //} + //================================================================================== + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + #endregion + + //鑾峰彇褰撳墠瀹℃牳椤圭洰 + string sql0 = "select * from " + oBill.MvarItemKey + " where HInterID = " + lngBillKey; + DataSet ds0 = oCN.RunProcReturn(sql0, oBill.MvarItemKey); + string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString(); //瀹℃壒娴佸唴鐮� + string HCheckItemNowID = ds0.Tables[0].Rows[0]["HCheckItemNowID"].ToString(); //褰撳墠瀹℃壒椤圭洰鍐呯爜 + string HCheckItemNextID = ds0.Tables[0].Rows[0]["HCheckItemNextID"].ToString(); //寰呭鎵归」鐩唴鐮� + + //鍒ゆ柇鐢ㄦ埛鏄惁鏈夋潈闄� 瀹℃壒 褰撳墠瀹℃壒娴佺殑瀹℃壒椤圭洰 + //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1"; + string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + ""; + DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight"); + if (ds01.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鐢ㄦ埛鏃犲綋鍓嶅鏍搁」鐩殑瀹℃牳鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + //鏇存柊 鍗曟嵁瀹℃壒鐘舵�佽〃 涓搴斿鏍搁」鐩殑瀹℃牳鐘舵�� + string sql02 = "update Xt_BillCheckFlowStatus set HChecker='" + CurUserName + "',HCheckDate=getdate() where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID; + oCN.RunProc(sql02); + + //鍒ゆ柇褰撳墠瀹℃牳椤圭洰鏄惁鏄渶鍚庝竴涓」鐩紝濡傛灉鏄紝瀹℃牳鍚庡弽鍐欏崟鎹殑鍗曟嵁鐘舵�併�傚鏋滀笉鏄紝鑾峰彇涓嬩竴涓鏍搁」鐩苟鏇存柊鍒伴攢鍞鍗曚富琛� + if (HCheckItemNextID != "0") //鍒氬垰瀹℃牳鐨勫鏍搁」鐩笉鏄渶鍚庝竴涓鏍搁」鐩� + { + string sql03 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " + + "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " + + "where a.HBillTypeID = '" + oBill.BillType + "' " + + "and a.HInterID = " + HCheckFlowID + " " + + "order by b.HFlowNo asc"; + DataSet ds03 = oCN.RunProcReturn(sql03, "Xt_CheckFlowMain"); + + //鑾峰彇鏂扮殑褰撳墠瀹℃牳椤圭洰鍜屽緟瀹℃牳椤圭洰 + for (int i = 0; i < ds03.Tables[0].Rows.Count; i++) + { + if (ds03.Tables[0].Rows[i]["HCheckItemID"].ToString() == HCheckItemNextID) + { + HCheckItemNowID = HCheckItemNextID; + } + else if (HCheckItemNowID == HCheckItemNextID) + { + HCheckItemNextID = ds03.Tables[0].Rows[i]["HCheckItemID"].ToString(); + break; + } + } + //鏂扮殑褰撳墠瀹℃牳椤圭洰涓烘渶鍚庝竴涓鏍搁」鐩紝寰呭鏍搁」鐩笉瀛樺湪锛岃涓洪粯璁ゅ��"0" + if (HCheckItemNowID == HCheckItemNextID) + { + HCheckItemNextID = "0"; + } + + //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 + string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; + oCN.RunProc(sql04); + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳鎴愬姛"; + objJsonResult.data = null; + } + else //鍒氬垰瀹℃牳鐨勫鏍搁」鐩槸鏈�鍚庝竴涓鏍搁」鐩� + { + //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 + HCheckItemNowID = "0"; + HCheckItemNextID = "0"; + + string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; + oCN.RunProc(sql04); + + //鏇存柊鍗曟嵁鐨勫崟鎹姸鎬� + if (oBill.CheckBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳鎴愬姛"; + objJsonResult.data = null; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + + oCN.RollBack(); + return objJsonResult; + } + } + } + if (IsAudit == 1) //鍙嶅鏍告彁浜� + { + #region 鍙嶅鏍稿墠鐨勭浉鍏冲垽鏂� + //鍙嶅鏍稿墠鎺у埗========================================= + //DataSet ds = oCN.RunProcReturn("Exec h_p_Xs_ReceivableBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Xs_ReceivableBill_BeforeUnCheckCtrl"); + //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; + //} + //========================================================= + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + string s = ""; + int sYear = 0; + int sPeriod = 0; + DateTime HDate = DateTime.Now; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.Message = s; + return objJsonResult; + } + #endregion + + //鑾峰彇闇�瑕佸弽瀹℃牳鐨勫鏍搁」鐩� + string sql0 = "select c.* from Xt_CheckFlowMain as a " + + "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " + + "inner join Xt_BillCheckFlowStatus as c on a.HBillTypeID = c.HBillTypeID and b.HCheckItemID = c.HCheckItemID " + + "where c.HBillTypeID = '" + oBill.BillType + "' and c.HBillInterID = " + lngBillKey + " " + + "order by b.HFlowNo asc"; + DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); + if (ds0 == null || ds0.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鏈彂璧峰鎵癸紒"; + objJsonResult.data = null; + return objJsonResult; + } + string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString(); //瀹℃壒娴佸唴鐮� + string HCheckItemNowID = "0"; //褰撳墠瀹℃壒椤圭洰鍐呯爜 + string HCheckItemNextID = "0"; //寰呭鎵归」鐩唴鐮� + if (oBill.omodel.HBillStatus == 6) + { + for (int i = 0; i < ds0.Tables[0].Rows.Count; i++) + { + if (ds0.Tables[0].Rows[i]["HChecker"].ToString() != "") + { + HCheckItemNowID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString(); + HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString(); + } + else + { + HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString(); + break; + } + } + if (HCheckItemNowID == HCheckItemNextID) + { + HCheckItemNextID = "0"; + } + } + else + { + HCheckItemNowID = ds0.Tables[0].Rows[ds0.Tables[0].Rows.Count - 1]["HCheckItemID"].ToString(); + HCheckItemNextID = "0"; + } + + //鍒ゆ柇鐢ㄦ埛鏄惁鏈夋潈闄� 瀹℃壒 褰撳墠瀹℃壒娴佺殑瀹℃壒椤圭洰 + //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1"; + string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + ""; + DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight"); + if (ds01.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鐢ㄦ埛鏃犲綋鍓嶅鏍搁」鐩殑瀹℃牳鏉冮檺锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + + //鏇存柊 鍗曟嵁瀹℃壒鐘舵�佽〃 涓搴斿鏍搁」鐩殑瀹℃牳鐘舵�� + string sql02 = "update Xt_BillCheckFlowStatus set HChecker='',HCheckDate='' where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID; + oCN.RunProc(sql02); + + //鍒ゆ柇鍙嶅鏍哥殑鍗曟嵁鏄惁宸茬粡瀹℃牳瀹屾垚锛岃嫢瀹℃牳瀹屾垚锛屽弽瀹℃牳闇�瑕佸彉鏇村崟鎹姸鎬併�� + if (oBill.omodel.HBillStatus == 6) + { + //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 + string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; + oCN.RunProc(sql04); + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳鎴愬姛"; + objJsonResult.data = null; + } + else + { + + //鍙嶅鏍告彁浜bandonCheck + if (oBill.AbandonCheck(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 + string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + ",HBillStatus=6 " + " where HInterID = " + lngBillKey; + oCN.RunProc(sql04); + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍙嶅鏍告垚鍔�"; + objJsonResult.data = null; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + + oCN.RollBack(); + return objJsonResult; + } + } + } + + oCN.Commit(); + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + + oCN.RollBack(); + return objJsonResult; + } + } + #endregion + + #region 搴旀敹鍗曟煡璇㈠垪琛� + [Route("Xs_ReceivableBill/QueryList")] + [HttpGet] + public object QueryList(string sWhere, string user) + { + try + { + List<object> columnNameList = new List<object>(); + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + + if (!DBUtility.ClsPub.Security_Log("Xs_ReceivableBill_Query", 1, false, user)) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鏃犳潈闄愭煡鐪�!"; + objJsonResult.data = null; + return objJsonResult; + } + string sql = "select * from h_v_Xs_ReceivableBillQuery where 1 = 1 "; + + if (sWhere == "" || sWhere == null) + { + ds = oCN.RunProcReturn("select * from h_v_Xs_ReceivableBillQuery order by hmainid desc", "h_v_Xs_ReceivableBillQuery"); + } + else + { + ds = oCN.RunProcReturn(sql + sWhere + " order by hmainid desc", "h_v_Xs_ReceivableBillQuery"); + } + + + + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 搴旀敹鍗曟煡璇㈠瓙鍒楄〃 + [Route("Xs_ReceivableBill/QuerySubList")] + [HttpGet] + public object QuerySubList(string hmainid, string user) + { + try + { + List<object> columnNameList = new List<object>(); + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + + if (!DBUtility.ClsPub.Security_Log("Xs_ReceivableBill_Query", 1, false, user)) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鏃犳潈闄愭煡鐪�!"; + objJsonResult.data = null; + return objJsonResult; + } + string sql = "select * from h_v_Xs_ReceivableBillQuerySub where hmainid = " + hmainid; + + ds = oCN.RunProcReturn(sql + " order by hsubid ASC", "h_v_Xs_ReceivableBillQuerySub"); + + + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + } } \ No newline at end of file -- Gitblit v1.9.1