From 6768e9f5d677e53e6d788d49e1ca5b9755236ca4 Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期二, 22 十月 2024 13:56:24 +0800 Subject: [PATCH] 工艺路线关闭其它功能,分页异常bug修复 --- WebAPI/Controllers/工资管理/Pay_ProcPriceRequestBillController.cs | 1600 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 1,228 insertions(+), 372 deletions(-) diff --git "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_ProcPriceRequestBillController.cs" "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_ProcPriceRequestBillController.cs" index 20dd9a9..265d9dc 100644 --- "a/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_ProcPriceRequestBillController.cs" +++ "b/WebAPI/Controllers/\345\267\245\350\265\204\347\256\241\347\220\206/Pay_ProcPriceRequestBillController.cs" @@ -7,19 +7,645 @@ using System.Data; using System.Data.SqlClient; using System.Web.Http; -using System.Windows.Forms; using WebAPI.Models; +using System.Windows.Forms; +using SyntacticSugar.constant; namespace WebAPI.Controllers { //鐝粍Controller public class Pay_ProcPriceRequestBillController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; - + public const string ModName = "2219"; //鍗曟嵁绫诲瀷 + public const string ModCaption = "瀹氶鐢宠鍗�"; //鍗曟嵁鍚嶇О + public const string ModRightName = "Pay_ProcPriceRequestBill"; + public const string ModRightNameList = ModRightName + "List"; //鍒楄〃 + public const string ModRightNameEdit = ModRightName + "_Edit"; //缂栬緫 + public const string ModRightNameCheck = ModRightName + "_Check"; //瀹℃牳 + public const string ModRightNameClose = ModRightName + "_Close"; //鍏抽棴 + public const string ModRightNameDelete = ModRightName + "_Delete"; //浣滃簾 + public const string ModRightNameDrop = ModRightName + "_Drop"; //鍒犻櫎 + public const string ModRightNameMoney = ModRightName + "_Money"; //閲戦 + public const string ModRightNameQty = ModRightName + "_Qty"; //鏁伴噺 + public DataSet ds = new DataSet(); private json objJsonResult = new json(); - SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); - public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); - DataSet ds; + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + public DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill(); + + + #region 瀹氶鐢宠鍗曞垪琛� + /// <summary> + /// 鑾峰彇瀹氶鐢宠鍗曞垪琛ㄤ俊鎭� + /// </summary> + /// <returns></returns> + [Route("Pay_ProcPriceRequestBillController/GetPay_ProcPriceRequestBillList_Json")] + [HttpGet] + public object GetPay_ProcPriceRequestBillList_Json(string sWhere, string HMaker) + { + try + { + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, HMaker)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //杩斿洖鍒楄〃淇℃伅 + ds = oCn.RunProcReturn("select * from h_v_Pay_ProcPriceRequestBillList where 1=1 " + sWhere + " order by hmainid desc", "h_v_Pay_ProcPriceRequestBillList"); + List<object> columnNameList = new List<object>(); + //娣诲姞鍒楀悕 + 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 = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎴愬姛锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏌ヨ鍒楄〃淇℃伅澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 瀹氶鐢宠鍗曞垪琛ㄥ垎椤靛垪琛� + [Route("Pay_ProcPriceRequestBillController/page")] + [HttpGet] + public json Pay_ProcPriceRequestBillPage(string sWhere, string user, int page, int size) + { + DataSet ds; + json res = new json(); + try + { + List<object> columnNameList = new List<object>(); + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, user)) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒"; + objJsonResult.data = null; + return objJsonResult; + } + sWhere = sWhere.Replace("'", "''"); + if (sWhere == null || sWhere.Equals("")) + { + ds = oCn.RunProcReturn("exec h_p_Pay_ProcPriceRequestBillList " + page + "," + size + ",''", "h_p_Pay_ProcPriceRequestBillList"); + } + else + { + ds = oCn.RunProcReturn("exec h_p_Pay_ProcPriceRequestBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Pay_ProcPriceRequestBillList"); + } + + //娣诲姞鍒楀悕 + 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鍒楀璞$殑鍒楀悕 + } + + res.code = CodeConstant.SUCCEED; + res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); + res.Message = "Sucess锛�"; + res.list = columnNameList; + res.data = ds.Tables[0]; + return res; + } + catch (Exception e) + { + res.code = CodeConstant.FAIL; + res.count = CountConstant.FAIL; + res.Message = "Exception锛�" + e.ToString(); + res.data = null; + return res; + } + } + #endregion + + #region 瀹氶鐢宠鍗曞垹闄� + /// <summary> + /// 鍒犻櫎瀹氶鐢宠鍗� + /// </summary> + /// <returns></returns> + [Route("Pay_ProcPriceRequestBillController/GetPay_ProcPriceRequestBill_Delete_Json")] + [HttpGet] + public object GetPay_ProcPriceRequestBill_Delete_Json(Int64 HInterID, string HMaker) + { + try + { + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log(ModRightNameDrop, 3, false, HMaker)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鍒犻櫎鍔熻兘鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒ゆ柇瀛樺湪鎬� + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞� + string s = ""; + int sYear = 0; + int sPeriod = 0; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = s; + objJsonResult.data = null; + return objJsonResult; + } + //鍒犻櫎鍓嶆帶鍒� + DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_ProcPriceRequestBill_BeforeDelCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + //鍒犻櫎鍗曟嵁锛堝寘鍚垹闄ゅ悗鎺у埗銆佸啓鍏ユ棩蹇楋級 + if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterDelCtrl", HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍒犻櫎瀹氶鐢宠鍗曟垚鍔燂紒"; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌璇ュ畾棰濈敵璇峰崟锛岃鍒锋柊鏁版嵁鍚庨噸鏂伴�夋嫨锛�"; + 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="Type">瀹℃牳(1),鍙嶅鏍�(2)</param> + /// <param name="HMaker">瀹℃牳浜�</param> + /// <returns></returns> + [Route("Pay_ProcPriceRequestBillController/GetPay_ProcPriceRequestBill_Check_Json")] + [HttpGet] + public object GetPay_ProcPriceRequestBill_Check_Json(Int64 HInterID, int Type, string HMaker) + { + try + { + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 3, false, HMaker)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡瀹℃牳/鍙嶅鏍稿姛鑳芥潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒ゆ柇瀛樺湪鎬� + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞� + string s = ""; + int sYear = 0; + int sPeriod = 0; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = s; + objJsonResult.data = null; + return objJsonResult; + } + + //Type 1 瀹℃牳 2 鍙嶅鏍� + if (Type == 1) + { + if (oBill.omodel.HChecker.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍革紝涓嶈兘鍐嶆瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + 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; + } + //瀹℃牳鍓嶆帶鍒� + DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_ProcPriceRequestBill_BeforeCheckCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + //瀹℃牳鍗曟嵁 + if (!oBill.CheckBill(HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍙凤細" + oBill.omodel.HBillNo + " 瀹℃牳鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + } + } + else + { + if (oBill.omodel.HChecker.Trim() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈鏍革紝涓嶉渶瑕佸弽瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + //鍙嶅鏍稿墠鎺у埗 + DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_ProcPriceRequestBill_BeforeUnCheckCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } + + //鍙嶅鏍稿崟鎹� + if (!oBill.AbandonCheck(HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterUnCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍙凤細" + oBill.omodel.HBillNo + " 鍙嶅鏍告垚鍔燂紒"; + objJsonResult.data = null; + return objJsonResult; ; + } + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌璇ュ畾棰濈敵璇峰崟锛岃鍒锋柊鏁版嵁鍚庨噸鏂伴�夋嫨锛�"; + 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="Type">鍏抽棴(1),鍙嶅叧闂�(2)</param> + /// <param name="HMaker">鍏抽棴浜�</param> + /// <returns></returns> + [Route("Pay_ProcPriceRequestBillController/GetPay_ProcPriceRequestBill_Close_Json")] + [HttpGet] + public object GetPay_ProcPriceRequestBill_Close_Json(Int64 HInterID, int Type, string HMaker) + { + try + { + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 3, false, HMaker)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鍏抽棴/鍙嶅叧闂姛鑳芥潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒ゆ柇瀛樺湪鎬� + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞� + string s = ""; + int sYear = 0; + int sPeriod = 0; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = s; + objJsonResult.data = null; + return objJsonResult; + } + + //Type 1 鍏抽棴 2 鍙嶅叧闂� + if (Type == 1) + { + if (oBill.omodel.HCloseMan.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插叧闂紝涓嶈兘鍐嶆鍏抽棴锛�"; + objJsonResult.data = null; + return objJsonResult; + } + //鍏抽棴鍗曟嵁 + if (!oBill.CloseBill(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍙凤細" + oBill.omodel.HBillNo + " 鍏抽棴鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + } + } + else + { + if (oBill.omodel.HCloseMan.Trim() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈叧闂紝涓嶉渶瑕佸弽鍏抽棴锛�"; + objJsonResult.data = null; + return objJsonResult; + } + //鍙嶅叧闂崟鎹� + if (!oBill.CancelClose(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍙凤細" + oBill.omodel.HBillNo + " 鍙嶅叧闂垚鍔燂紒"; + objJsonResult.data = null; + return objJsonResult; ; + } + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌璇ュ畾棰濈敵璇峰崟锛岃鍒锋柊鏁版嵁鍚庨噸鏂伴�夋嫨锛�"; + 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="Type">浣滃簾(1),鍙嶄綔搴�(2)</param> + /// <param name="HMaker">浣滃簾浜�</param> + /// <returns></returns> + [Route("Pay_ProcPriceRequestBillController/GetPay_ProcPriceRequestBill_Cancelltion_Json")] + [HttpGet] + public object GetPay_ProcPriceRequestBill_Cancelltion_Json(Int64 HInterID, int Type, string HMaker) + { + try + { + //鍒ゆ柇鏉冮檺 + if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 3, false, HMaker)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡浣滃簾/鍙嶄綔搴熷姛鑳芥潈闄�,璇蜂笌绠$悊鍛樿仈绯伙紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒ゆ柇瀛樺湪鎬� + if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) + { + //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞� + string s = ""; + int sYear = 0; + int sPeriod = 0; + if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = s; + objJsonResult.data = null; + return objJsonResult; + } + + //Type 1 浣滃簾 2 鍙嶄綔搴� + if (Type == 1) + { + if (oBill.omodel.HDeleteMan.Trim() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸蹭綔搴燂紝涓嶈兘鍐嶆浣滃簾锛�"; + objJsonResult.data = null; + return objJsonResult; + } + //浣滃簾鍗曟嵁 + if (!oBill.Cancelltion(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍙凤細" + oBill.omodel.HBillNo + " 浣滃簾鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + } + } + else + { + if (oBill.omodel.HDeleteMan.Trim() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鏈綔搴燂紝涓嶉渶瑕佸弽浣滃簾锛�"; + objJsonResult.data = null; + return objJsonResult; + } + //鍙嶄綔搴熷崟鎹� + if (!oBill.AbandonCancelltion(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍙凤細" + oBill.omodel.HBillNo + " 鍙嶄綔搴熸垚鍔燂紒"; + objJsonResult.data = null; + return objJsonResult; ; + } + } + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈煡璇㈠埌璇ュ畾棰濈敵璇峰崟锛岃鍒锋柊鏁版嵁鍚庨噸鏂伴�夋嫨锛�"; + 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 瀹氶鐢宠鍗� 鏂板 @@ -48,6 +674,8 @@ public string HBacker; public string HBackerDate; public string HBackRemark; + public string HChangeType; + public Double HChangeValue; } #endregion #region 瀛愯〃 @@ -80,6 +708,7 @@ public double HRelationMoney; public string HCloseMan; public string HEntryCloseDate; + public int HWorkCenterID; } #endregion #region 瀹氶鐢宠鍗� 鏂板/缂栬緫 @@ -96,19 +725,19 @@ var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); //寮�濮嬩簨鍔� - oCN.BeginTran(); + oCn.BeginTran(); //淇濆瓨涓昏〃 objJsonResult = AddBillMain_Pay_ProcPriceRequestBill(msg1); if (objJsonResult.code == "0") { - oCN.RollBack(); + oCn.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } - oCN.Commit(); + oCn.Commit(); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�"; @@ -185,28 +814,37 @@ string HBacker = mainList[0].HBacker; string HBackerDate = mainList[0].HBackerDate; string HBackRemark = mainList[0].HBackRemark; + string HChangeType = mainList[0].HChangeType; + Double HChangeValue = mainList[0].HChangeValue; + //淇濆瓨鍓嶆帶鍒� + DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_ProcPriceRequestBill_BeforeSaveCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + } - - //if (OperationType == 2) - //{ - // ds = oCN.RunProcReturn("select * from PM_ProjectBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectBillMain"); - // if (ds.Tables[0].Rows.Count > 0) - // { - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!"; - // objJsonResult.data = null; - // return objJsonResult; - // } - //} - - ds = oCN.RunProcReturn("select * from Pay_ProcPriceRequestBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_ProcPriceRequestBillMain"); + ds = oCn.RunProcReturn("select * from Pay_ProcPriceRequestBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_ProcPriceRequestBillMain"); if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板 { string sql = "insert into Pay_ProcPriceRequestBillMain" + "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate,HInnerBillNo,HDeptID" + - ",HExplanation,HRemark,HMaker,HMakeDate) " + + ",HExplanation,HRemark,HMaker,HMakeDate,HChangeType,HChangeValue) " + "values(" + "" + HYear + "," + HPeriod + @@ -222,15 +860,18 @@ "','" + HRemark + "','" + HMaker + "','" + HMakerDate + - "')"; + "','" + HChangeType + + "'," + HChangeValue + + ")"; //涓昏〃 - oCN.RunProc(sql); + oCn.RunProc(sql); LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板瀹氶鐢宠鍗�:" + HBillNo); - oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板瀹氶鐢宠鍗曪細" + HBillNo + "','LMES-瀹氶鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); + oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板瀹氶鐢宠鍗曪細" + HBillNo + "','LMES-瀹氶鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); } else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0) //缂栬緫 { + string sql = "update Pay_ProcPriceRequestBillMain set " + "HYear = " + HYear + ", HPeriod = " + HPeriod + @@ -242,15 +883,17 @@ "', HRemark = '" + HRemark + "', HUpdater = '" + HUpdater + "', HUpdateDate = '" + HUpdaterDate + - "' where HInterID = " + HInterID; + "', HChangeType = '" + HChangeType + + "', HChangeValue = " + HChangeValue + + " where HInterID = " + HInterID; - oCN.RunProc(sql); + oCn.RunProc(sql); //鍒犻櫎瀛愯〃 - oCN.RunProc("delete from Pay_ProcPriceRequestBillSub where HInterID= " + HInterID); + oCn.RunProc("delete from Pay_ProcPriceRequestBillSub where HInterID= " + HInterID); //璁板綍鏃ュ織 LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼瀹氶鐢宠鍗�:" + HBillNo); - oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼瀹氶鐢宠鍗曪細" + HBillNo + "','LMES-瀹氶鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); + oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼瀹氶鐢宠鍗曪細" + HBillNo + "','LMES-瀹氶鐢宠鍗曟ā鍧�','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); } //淇濆瓨瀛愯〃 objJsonResult = AddBillSub1_Pay_ProcPriceRequestBill(msg3, HInterID, HBillNo, OperationType); @@ -264,11 +907,35 @@ return objJsonResult; } - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = null; - objJsonResult.data = null; - return objJsonResult; + //淇濆瓨鍚庢帶鍒� + DataSet AfterDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_ProcPriceRequestBill_AfterSaveCtrl"); + if (AfterDs == null || AfterDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(AfterDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(AfterDs.Tables[0].Rows[0]["HRemark"]); + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = null; + objJsonResult.data = null; + return objJsonResult; + } + } } catch (Exception e) { @@ -309,12 +976,12 @@ string HSourceBillType = oSub.HSourceBillType; double HRelationQty = oSub.HRelationQty; double HRelationMoney = oSub.HRelationMoney; - + int HWorkCenterID = oSub.HWorkCenterID; string sql = "insert into Pay_ProcPriceRequestBillSub" + "(HInterID,HEntryID,HMaterID,HProcID,HSourceID,HOldPrice,HPrice,HOldFixPrice,HFixPrice,HBeginDate,HEndDate,HCostFlag,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo" + - ",HSourceBillType,HRelationQty,HRelationMoney) " + + ",HSourceBillType,HRelationQty,HRelationMoney,HWorkCenterID) " + "values(" + "" + HInterID + "," + HEntryID + @@ -335,9 +1002,10 @@ "','" + HSourceBillType + "'," + HRelationQty + "," + HRelationMoney + + "," + HWorkCenterID + ")"; - oCN.RunProc(sql); + oCn.RunProc(sql); } objJsonResult.code = "1"; @@ -381,7 +1049,7 @@ return objJsonResult; } - ds = oCN.RunProcReturn("exec h_p_Pay_ProcPriceRequestBill_EditInit " + HInterID, "h_p_Pay_ProcPriceRequestBill_EditInit"); + ds = oCn.RunProcReturn("exec h_p_Pay_ProcPriceRequestBill_EditInit " + HInterID, "h_p_Pay_ProcPriceRequestBill_EditInit"); tableList.Add(ds.Tables[0]); tableList.Add(ds.Tables[1]); @@ -402,40 +1070,33 @@ } #endregion - #region 瀹氶鐢宠鍗�-鏌ヨ - /// <summary> - /// 杩斿洖椤圭洰闃舵鍒楄〃 - ///鍙傛暟锛歴tring sql銆� - ///杩斿洖鍊硷細object銆� - /// </summary> - [Route("Pay_ProcPriceRequestBill/list")] + + #region 瀹氶鐢宠鍗曢渶瑕佹垜瀹℃壒娴佸鎵圭殑 + [Route("Pay_ProcPriceRequestBill/NeedChecklist")] [HttpGet] - public object getProcPriceRequestBillList(string sWhere, string user) + public object NeedChecklist(string user, string userid) { try { List<object> columnNameList = new List<object>(); - if (!DBUtility.ClsPub.Security_Log("Pay_ProcPriceRequestBillList", 1, false, user)) + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + + if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 1, false, user)) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鏃犳潈闄愭煡鐪�!"; objJsonResult.data = null; return objJsonResult; } - - if (sWhere == null || sWhere.Equals("")) - { - ds = oCN.RunProcReturn("select * from h_v_Pay_ProcPriceRequestBillList order by hmainid desc", "h_v_Pay_ProcPriceRequestBillList"); - } - else - { - string sql1 = "select * from h_v_Pay_ProcPriceRequestBillList where 1 = 1 "; - string sql = sql1 + sWhere + " order by hmainid desc"; - ds = oCN.RunProcReturn(sql, "h_v_Pay_ProcPriceRequestBillList"); - } - - //娣诲姞鍒楀悕 + //鎼滅储闇�瑕佸鏍哥殑 + string sql = " select a.*,c.HItemID as HCheckFlowStatusID,m.HName as 瀹℃壒娴�,c.HCheckFlowID,i.HName as 瀹℃壒椤圭洰鍚嶇О,c.HCheckItemID,c.HChecker as 椤圭洰瀹℃牳浜�,c.HCheckNote as 瀹℃壒娴佸鏍稿缓璁�,c.HCheckDate 瀹℃壒娴佸鏍告棩鏈� from h_v_Pay_ProcPriceRequestBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.HBillType = c.HBillTypeID" + + " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" + + " LEFT JOIN Pay_ProcPriceRequestBillMain as po ON a.hmainid = po.HInterID" + + " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" + + " LEFT JOIN Xt_CheckUserRight as cr ON cr.HCheckItemID = i.HItemID and cr.HCheckFlowInterID = m.HInterID" + + " where po.HBillStatus = 6 and po.HCheckItemNowID = i.HItemID and cr.HUserID = '" + userid + "'"; + ds = oCn.RunProcReturn(sql, "h_v_Pay_ProcPriceRequestBillList"); foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; @@ -443,8 +1104,8 @@ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 } - objJsonResult.code = "1"; - objJsonResult.count = 1; + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; objJsonResult.Message = "Sucess锛�"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; @@ -452,61 +1113,119 @@ } catch (Exception e) { - objJsonResult.code = "0"; - objJsonResult.count = 0; + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; objJsonResult.Message = "Exception锛�" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } + #endregion - #region 瀹氶鐢宠鍗� 鍒犻櫎 - /// <summary> - ///鍙傛暟锛歴tring HInterID銆� - ///杩斿洖鍊硷細object銆� - /// </summary> - [Route("Pay_ProcPriceRequestBill/delete")] + + #region 瀹氶鐢宠鍗曞凡缁忓鎵规祦瀹℃壒鐨� + [Route("Pay_ProcPriceRequestBill/Checkedlist")] [HttpGet] - public object deleteProcPriceRequestBill(string HInterID, string user) + public object Checkedlist(string user) { try { - //鏌ョ湅鏉冮檺 - if (!DBUtility.ClsPub.Security_Log("Pay_ProcPriceRequestBill_Drop", 1, false, user)) + List<object> columnNameList = new List<object>(); + //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄� + + if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 1, false, user)) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒"; + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鏃犳潈闄愭煡鐪�!"; objJsonResult.data = null; return objJsonResult; } - - if (HInterID == null || HInterID.Equals("")) + //鎼滅储闇�瑕佸鏍哥殑 + string sql = " select DISTINCT a.*,c.HItemID as HCheckFlowStatusID,m.HName as 瀹℃壒娴�,c.HCheckFlowID,i.HName as 瀹℃壒椤圭洰鍚嶇О,c.HCheckItemID,c.HChecker as 椤圭洰瀹℃牳浜�,c.HCheckNote as 瀹℃壒娴佸鏍稿缓璁�,c.HCheckDate 瀹℃壒娴佸鏍告棩鏈� from h_v_Pay_ProcPriceRequestBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.HBillType = c.HBillTypeID" + + " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" + + " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" + + " where c.HCheckDate is not NUll and c.HChecker = '" + user + "'"; + ds = oCn.RunProcReturn(sql, "h_v_Pay_ProcPriceRequestBillList"); + foreach (DataColumn col in ds.Tables[0].Columns) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�"; - objJsonResult.data = null; - return objJsonResult; + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 } - oCN.BeginTran(); - - oCN.RunProc("delete from Pay_ProcPriceRequestBillMain where HInterID = " + HInterID); - oCN.RunProc("delete from Pay_ProcPriceRequestBillSub where HInterID= " + HInterID); - - oCN.Commit(); - - objJsonResult.code = "1"; - objJsonResult.count = 1; + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; objJsonResult.Message = "Sucess锛�"; - objJsonResult.data = null; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; return objJsonResult; } catch (Exception e) { - objJsonResult.code = "0"; - objJsonResult.count = 0; + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + #endregion + + #region 瀹氶鐢宠鍗曢┏鍥� + [Route("Pay_ProcPriceRequestBill/RejectCheckFlow")] + [HttpGet] + public object RejectCheckFlow(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁 + { + if (oBill.omodel.HBillStatus != 6) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍗曟嵁鏈湪瀹℃牳涓笉鑳介┏鍥�"; + objJsonResult.data = null; + return objJsonResult; + } + //鍙戣捣椹冲洖 + if (oBill.RejectCheckFlowProgress(lngBillKey, oBill.omodel.HBillNo, CurUserID, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "椹冲洖鎴愬姛"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "椹冲洖澶辫触澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + } + catch (Exception e) + { + oCn.RollBack(); + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; objJsonResult.Message = "Exception锛�" + e.ToString(); objJsonResult.data = null; return objJsonResult; @@ -514,328 +1233,465 @@ } #endregion - #region 瀹氶鐢宠鍗� 瀹℃牳/鍙嶅鏍� + #region 瀹氶鐢宠鍗� 鍙戣捣瀹℃壒 + [Route("Pay_ProcPriceRequestBill/StartCheckFlow")] + [HttpGet] + public object StartCheckFlow(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 = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "HInterID灏忎簬0锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + if (oBill.startCheckFlow(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "鍙戣捣瀹℃壒鎴愬姛"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍙戣捣瀹℃壒澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + 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 + + #region 瀹氶鐢宠鍗� 澶氱骇 瀹℃牳/鍙嶅鏍� /// <summary> - /// /// </summary> /// <param name="HInterID">鍗曟嵁ID</param> /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param> /// <param name="CurUserName">瀹℃牳浜�</param> /// <returns></returns> - [Route("Pay_ProcPriceRequestBill/AuditPay_ProcPriceRequestBill")] + [Route("Pay_ProcPriceRequestBill/AuditFlow")] [HttpGet] - public object AuditPay_ProcPriceRequestBill(string HInterID, int Type, string user) + public object AuditPay_ProcPriceRequestBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) { + //string ModRightNameCheck = "Pay_ProcPriceRequestBill_Check"; + DBUtility.ClsPub.CurUserName = CurUserName; try { - //鍒ゆ柇鏄惁鏈夊鏍告潈闄� - if (!DBUtility.ClsPub.Security_Log("Pay_ProcPriceRequestBill_Check", 1, false, user)) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犳潈闄愬鏍�!"; - objJsonResult.data = null; - return objJsonResult; - } + ////瀹℃牳鏉冮檺 + //if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} - if (string.IsNullOrWhiteSpace(HInterID)) + + //HInterID鏁版嵁鍒ゆ柇 + if (HInterID <= 0) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "HInterID灏忎簬0锛�"; objJsonResult.data = null; return objJsonResult; } - ClsPub.CurUserName = user; - BillOld.MvarItemKey = "Pay_ProcPriceRequestBillMain"; - oCN.BeginTran();//寮�濮嬩簨鍔� + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsPay_ProcPriceRequestBill oBill = new DAL.ClsPay_ProcPriceRequestBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� - //Type 1 瀹℃牳 2 鍙嶅鏍� - if (Type == 1) + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁 { - //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳 - DataSet ds; - string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; - ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); - if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + if (oBill.omodel.HCloseMan.Trim() != "") { - if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + if (oBill.omodel.HDeleteMan.Trim() != "") + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + if (IsAudit == TypeConstant.AUDIT) //瀹℃牳鍒ゆ柇 + { + //鍒ゆ柇鏄惁宸茬粡鍙戣捣瀹℃壒 + 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.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍗曟嵁鏈彂璧峰鎵癸紒"; + objJsonResult.data = null; + return objJsonResult; + } + + //鍒ゆ柇鍗曟嵁褰撳墠鐘舵�� + if (oBill.omodel.HChecker.Trim() != "") + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:鍗曟嵁宸插畬鎴愬鏍�!涓嶈兘缁х画瀹℃牳锛�"; objJsonResult.data = null; return objJsonResult; } } - //瀹℃牳鍗曟嵁 - if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + if (IsAudit == TypeConstant.REVERSE_AUDIT) //鍙嶅鏍稿垽鏂� { - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; - objJsonResult.data = null; - return objJsonResult; + //鍒ゆ柇鏄惁瀛樺湪瀹℃牳杩囩殑椤圭洰 + 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 = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍗曟嵁涓嶅瓨鍦ㄥ凡缁忓鏍哥殑椤圭洰锛侊紒"; + objJsonResult.data = null; + return objJsonResult; + } } } else { - //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍� - DataSet ds; - string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; - ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); - if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + + + oCn.BeginTran(); + //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣� + if (IsAudit == TypeConstant.AUDIT) //瀹℃牳鎻愪氦 + { + #region 瀹℃牳鍓嶇殑鐩稿叧鍒ゆ柇 + //瀹℃牳鍓嶆帶鍒�========================================= + DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + CurUserName + "'", "h_p_Pay_ProcPriceRequestBill_BeforeCheckCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) { - if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!"; + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); objJsonResult.data = null; return objJsonResult; } } - //鍙嶅鏍稿崟鎹� - if (!BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + //================================================================================== + + //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗 + 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.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; + 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 = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + 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 = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + 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(oCn, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) + { + objJsonResult.code = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "瀹℃牳鎴愬姛"; + objJsonResult.data = null; + } + else + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + + oCn.RollBack(); + return objJsonResult; + } + } + } + if (IsAudit == TypeConstant.REVERSE_AUDIT) //鍙嶅鏍告彁浜� + { + #region 鍙嶅鏍稿墠鐨勭浉鍏冲垽鏂� + //鍙嶅鏍稿墠鎺у埗========================================= + DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_ProcPriceRequestBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + CurUserName + "'", "h_p_Pay_ProcPriceRequestBill_BeforeUnCheckCtrl"); + if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍙嶅鏍稿墠鍒ゆ柇澶辫触锛�"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); + 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 = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + 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 = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + 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 = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "瀹℃牳鎴愬姛"; + objJsonResult.data = null; + } + else + { + + //鍙嶅鏍告彁浜bandonCheck + if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Pay_ProcPriceRequestBill_AfterUnCheckCtrl", CurUserName, 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 = CodeConstant.SUCCEED; + objJsonResult.count = CountConstant.SUCCEED; + objJsonResult.Message = "鍙嶅鏍告垚鍔�"; + objJsonResult.data = null; + } + else + { + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo; + objJsonResult.data = null; + + oCn.RollBack(); + return objJsonResult; + } + } } - oCN.Commit();//鎻愪氦浜嬪姟 - - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鎵ц鎴愬姛锛�"; - objJsonResult.data = null; - return objJsonResult; ; - + oCn.Commit(); + return objJsonResult; } catch (Exception e) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); + objJsonResult.code = CodeConstant.FAIL; + objJsonResult.count = CountConstant.FAIL; + objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString(); objJsonResult.data = null; + + oCn.RollBack(); return objJsonResult; } } #endregion - #region 瀹氶鐢宠鍗� 鍏抽棴/鍙嶅叧闂姛鑳� - [Route("Pay_ProcPriceRequestBill/ClosePay_ProcPriceRequestBill")] - [HttpGet] - public object ClosePay_ProcPriceRequestBill(string HInterID, int Type, string user) - { - try - { - //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� - if (!DBUtility.ClsPub.Security_Log("Pay_ProcPriceRequestBill_Close", 1, false, user)) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犳潈闄愬叧闂�!"; - objJsonResult.data = null; - return objJsonResult; - } - if (string.IsNullOrWhiteSpace(HInterID)) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "HInterID涓虹┖锛�"; - objJsonResult.data = null; - return objJsonResult; - } - - ClsPub.CurUserName = user; - BillOld.MvarItemKey = "Pay_ProcPriceRequestBillMain"; - oCN.BeginTran();//寮�濮嬩簨鍔� - - //Type 1 鍏抽棴 2 鍙嶅叧闂� - if (Type == 1) - { - //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴 - DataSet ds; - string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; - ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); - if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) - { - if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!"; - objJsonResult.data = null; - return objJsonResult; - } - } - //鍏抽棴鍗曟嵁 - if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) - { - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; - objJsonResult.data = null; - return objJsonResult; - } - } - else - { - //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂� - DataSet ds; - string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; - ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); - if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) - { - if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!"; - objJsonResult.data = null; - return objJsonResult; - } - } - //鍙嶅叧闂崟鎹� - if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) - { - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; - objJsonResult.data = null; - return objJsonResult; - } - } - - oCN.Commit();//鎻愪氦浜嬪姟 - - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鎵ц鎴愬姛锛�"; - 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 瀹氶鐢宠鍗� 浣滃簾/鍙嶄綔搴熷姛鑳� - [Route("Pay_ProcPriceRequestBill/DropPay_ProcPriceRequestBill")] - [HttpGet] - public object DropPay_ProcPriceRequestBill(string HInterID, int Type, string user) - { - try - { - //鍒ゆ柇鏄惁鏈変綔搴熸潈闄� - if (!DBUtility.ClsPub.Security_Log("Pay_ProcPriceRequestBill_Delete", 1, false, user)) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏃犳潈闄愪綔搴�!"; - objJsonResult.data = null; - return objJsonResult; - } - - if (string.IsNullOrWhiteSpace(HInterID)) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "HInterID涓虹┖锛�"; - objJsonResult.data = null; - return objJsonResult; - } - - ClsPub.CurUserName = user; - BillOld.MvarItemKey = "Pay_ProcPriceRequestBillMain"; - oCN.BeginTran();//寮�濮嬩簨鍔� - - //Type 1 浣滃簾 2 鍙嶄綔搴� - if (Type == 1) - { - //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾 - DataSet ds; - string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; - ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); - if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) - { - if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!"; - objJsonResult.data = null; - return objJsonResult; - } - } - //浣滃簾鍗曟嵁 - if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) - { - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; - objJsonResult.data = null; - return objJsonResult; - } - } - else - { - //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴� - DataSet ds; - string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; - ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); - if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) - { - if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "") - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鍗曟嵁宸插弽浣滃簾!涓嶉渶瑕佸啀鍙嶄綔搴�!"; - objJsonResult.data = null; - return objJsonResult; - } - } - //鍙嶄綔搴熷崟鎹� - if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) - { - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo; - objJsonResult.data = null; - return objJsonResult; - } - } - - oCN.Commit();//鎻愪氦浜嬪姟 - - objJsonResult.code = "0"; - objJsonResult.count = 1; - objJsonResult.Message = "鎵ц鎴愬姛锛�"; - objJsonResult.data = null; - return objJsonResult; ; - - } - catch (Exception e) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); - objJsonResult.data = null; - return objJsonResult; - } - } - #endregion } } \ No newline at end of file -- Gitblit v1.9.1