From 9f0de6516834484c5308f81a4a2b14fa1b139bec Mon Sep 17 00:00:00 2001 From: zrg <z18737863051@163.com> Date: 星期四, 08 八月 2024 17:32:42 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs | 538 ++++++ WarM/条码打印/Gy_CusBarCodeBill_KaiBei.cs | 140 WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs | 520 ++++++ DBUtility/业务单据/ClsXt_BaseBill.cs | 24 WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user | 34 WebAPI/Controllers/CGGL/Cg_PayableBillController.cs | 526 ++++++ WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs | 524 ++++++ WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs | 524 ++++++ WarM/条码打印/Gy_CusBarCodeBill_KaiBei.designer.cs | 17 WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs | 21 WebAPI/Controllers/CGGL/YF_PayMentBillController.cs | 532 ++++++ WebAPI/Controllers/基础资料/基础资料/Xt_CheckFlowBillController.cs | 12 WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs | 525 ++++++ WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs | 154 + WebAPI/Controllers/品质管理/质量报表/QC_QualityReportsController.cs | 168 ++ WebAPI/Web.config | 4 DAL/销售管理/ClsXs_ReceivableBill.cs | 18 WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs | 585 +++++++ 18 files changed, 4,719 insertions(+), 147 deletions(-) diff --git "a/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_ReceivableBill.cs" "b/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_ReceivableBill.cs" index 720f417..cf2303a 100644 --- "a/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_ReceivableBill.cs" +++ "b/DAL/\351\224\200\345\224\256\347\256\241\347\220\206/ClsXs_ReceivableBill.cs" @@ -384,6 +384,24 @@ } sReturn = "鏂板鍗曟嵁鎴愬姛锛�"; + + //淇濆瓨鍚庢帶鍒�========================================= + ds = oCn.RunProcReturn("exec h_p_Xs_ReceivableBill_AfterSaveCtrl " + omodel.HInterID, "h_p_Xs_ReceivableBill_AfterSaveCtrl"); + + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + sReturn = "淇濆瓨鍚庡垽鏂け璐ワ紒"; + oCn.RollBack(); + return false; + } + if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") + { + sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); + oCn.RollBack(); + return false; + } + //========================================================= + oCn.Commit(); return true; } diff --git "a/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs" "b/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs" index e0c2dd0..c132dcc 100644 --- "a/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs" +++ "b/DBUtility/\344\270\232\345\212\241\345\215\225\346\215\256/ClsXt_BaseBill.cs" @@ -373,7 +373,7 @@ } //鍙戣捣澶氱骇瀹℃壒 - public bool startCheckFlow(Int64 lngBillKey, Int64 HCheckFlowID_select, ref string sReturn) + public bool startCheckFlow(Int64 lngBillKey,ref string sReturn) { try { @@ -400,7 +400,7 @@ return false; } HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); - + string HCheckFlowID_select = ds.Tables[0].Rows[0]["HCheckFlowID"].ToString(); //鑾峰彇鍗曟嵁绫诲瀷瀵瑰簲鐨勯粯璁ゅ鎵规祦 string sql1 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " + "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " + @@ -475,21 +475,21 @@ oCn.BeginTran(); //鍒ゆ柇鏄惁瀛樺湪瀹℃牳杩囩殑椤圭洰 - string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + this.BillType + "' and ISNULL(HChecker,'') <> ''"; - DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); - if (ds0 != null && ds0.Tables[0].Rows.Count == 0) - { - sReturn = "鍗曟嵁涓嶅瓨鍦ㄥ凡缁忓鏍哥殑椤圭洰锛�"; - return false; - } + //string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + this.BillType + "' and ISNULL(HChecker,'') <> ''"; + //DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); + //if (ds0 != null && ds0.Tables[0].Rows.Count == 0) + //{ + // sReturn = "鍗曟嵁涓嶅瓨鍦ㄥ凡缁忓鏍哥殑椤圭洰锛�"; + // return false; + //} //鑾峰彇闇�瑕侀┏鍥炵殑瀹℃牳椤圭洰 - sql0 = "select c.* from Xt_CheckFlowMain as a " + + 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 = '" + this.BillType + "' and c.HBillInterID = " + lngBillKey + " " + "order by b.HFlowNo asc"; - ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); + DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); if (ds0 == null || ds0.Tables[0].Rows.Count == 0) { sReturn = "椹冲洖澶辫触!鍘熷洜:鏈彂璧峰鎵癸紒锛�"; @@ -511,7 +511,7 @@ //鏇存柊 椹冲洖鍒犻櫎瀹℃牳娴佺姸鎬佽〃 string sql02 = "Delete Xt_BillCheckFlowStatus where HBillTypeID = '" + this.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID; oCn.RunProc(sql02); - oCn.RunProc(" Update " + MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=5 Where HInterID=" + lngBillKey.ToString()); + oCn.RunProc(" Update " + MvarItemKey + " set HChecker='',HCheckDate=null,HBillStatus=5,HCheckItemNowID = 0,HCheckItemNextID = 0 Where HInterID=" + lngBillKey.ToString()); //鍐欏叆鏃ュ織 string WorkList = "椹冲洖鍗曟嵁锛屽崟鎹彿锛�" + HBillNo; diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.cs" index ae8941a..bc5cde2 100644 --- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.cs" +++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.cs" @@ -41,26 +41,27 @@ public const Int16 HCode1Col = 20; public const Int16 HCode2Col = 21; public const Int16 HCode3Col = 22; - public const Int16 HQtyCol = 23; - public const Int16 HMinQtyCol = 24; - public const Int16 HBQtyCol = 25; - public const Int16 HProduceDateCol = 26; - public const Int16 HExpiryDateCol = 27; - public const Int16 HCusIDCol = 28; - public const Int16 HCusNumberCol = 29; - public const Int16 HCusNameCol = 30; - public const Int16 HSourceInterIDCol = 31; - public const Int16 HSourceEntryIDCol = 32; - public const Int16 HSourceBillNoCol = 33; - public const Int16 HSourceBillTypeCol = 34; - public const Int16 HRemarkCol = 35; - public const Int16 HInitQtyCol = 36; - public const Int16 HMTONoCol = 37; - public const Int16 HISKFPERIODCol = 38; - public const Int16 HEXPUNITCol = 39; - public const Int16 HEXPPERIODCol = 40; - public const Int16 HLSHCol = 41; - public const Int16 HBaNoCol = 42; + public const Int16 HInnerBillNoCol = 23; + public const Int16 HQtyCol = 24; + public const Int16 HMinQtyCol = 25; + public const Int16 HBQtyCol = 26; + public const Int16 HProduceDateCol = 27; + public const Int16 HExpiryDateCol = 28; + public const Int16 HCusIDCol = 29; + public const Int16 HCusNumberCol = 30; + public const Int16 HCusNameCol = 31; + public const Int16 HSourceInterIDCol = 32; + public const Int16 HSourceEntryIDCol = 33; + public const Int16 HSourceBillNoCol = 34; + public const Int16 HSourceBillTypeCol = 35; + public const Int16 HRemarkCol = 36; + public const Int16 HInitQtyCol = 37; + public const Int16 HMTONoCol = 38; + public const Int16 HISKFPERIODCol = 39; + public const Int16 HEXPUNITCol = 40; + public const Int16 HEXPPERIODCol = 41; + public const Int16 HLSHCol = 42; + public const Int16 HBaNoCol = 43; // public string ModName = "85"; public string ModCaption = "瀹㈡埛鏍囩鐢熸垚"; @@ -74,8 +75,7 @@ public bool grdStatus; public int selectRow = 0; public Int64 HInterID = 0; //鍐呯爜 - public Int64 HOrgID = -1; - public string HOrgNumber = ""; + public Int64 HOrgID = ClsPub.HOrgID; public string HCusModel = "Z"; //鍘傚晢浠g爜 public string sDate = ""; //鏃ユ湡 public string sYear = ""; //骞� @@ -95,15 +95,15 @@ cmbHBarCodeType.Items.Add("澶栫鐮�"); //婧愬崟绫诲瀷 cmbSourceBillType.Items.Add("鐢熶骇姹囨姤鍗�"); - // + DBUtility.Xt_BaseBillFun.Sub_ClearBill(gbUp); - //鑾峰彇缁勭粐 + //鑾峰彇褰撳墠缁勭粐 DataSet Ds1 = oCn.RunProcReturn("select * from Xt_ORGANIZATIONS with(nolock) where HItemID=" + ClsPub.HOrgID, "Xt_ORGANIZATIONS", ref DBUtility.ClsPub.sExeReturnInfo); if (Ds1.Tables[0].Rows.Count != 0) { cmbHOrgID.Text = DBUtility.ClsPub.isStrNull(Ds1.Tables[0].Rows[0]["HName"]); } - // + txtHMaker.Text = ClsPub.CurUserName; txtHMakeDate.Text = ""; txtHChecker.Text = ""; @@ -255,22 +255,25 @@ MessageBox.Show("鑾峰彇缁勭粐澶辫触"); return; } + cmbHOrgID.DataSource = null; cmbHOrgID.Items.Clear(); - for (int i = 0; i < ds.Tables[0].Rows.Count; i++) - { - cmbHOrgID.Items.Add(DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HName"])); - } + cmbHOrgID.DataSource = ds.Tables[0]; + cmbHOrgID.DisplayMember = "HName"; + cmbHOrgID.ValueMember = "HItemID"; } //鍔犺浇瀹㈡埛淇℃伅 private void Sub_AddHCusNameList() { - DataSet ds = oCn.RunProcReturn("exec h_p_Gy_CusBarCodeBill_Cus ", "h_p_Gy_CusBarCodeBill_Cus"); + DataSet ds = oCn.RunProcReturn("exec h_p_Gy_CusBarCodeBill_Cus " + HOrgID.ToString(), "h_p_Gy_CusBarCodeBill_Cus"); if (ds == null || ds.Tables[0].Rows.Count == 0) { + cmbHCusName.DataSource = null; + cmbHCusName.Items.Clear(); MessageBox.Show("鑾峰彇瀹㈡埛淇℃伅澶辫触"); return; } + cmbHCusName.DataSource = null; cmbHCusName.Items.Clear(); cmbHCusName.DataSource = ds.Tables[0]; cmbHCusName.DisplayMember = "HName"; @@ -412,19 +415,7 @@ { //鑾峰彇鍐呯爜 HInterID = DBUtility.ClsPub.CreateBillID_Prod(ModName, ref DBUtility.ClsPub.sExeReturnInfo); - //鑾峰彇缁勭粐淇℃伅 - DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View(); - HOrgNumber = ""; - if (oClsGy_ORGANIZATIONS_View.GetInfoByName(cmbHOrgID.Text)) - { - HOrgID = oClsGy_ORGANIZATIONS_View.omodel.HItemID; - HOrgNumber = DBUtility.ClsPub.isStrNull(oClsGy_ORGANIZATIONS_View.omodel.HNumber); - } - if (HOrgID == -1) - { - MessageBox.Show("閫夋嫨缁勭粐鏈夐敊璇紒"); - return false; - } + lblCaption.Focus(); //鐢熸垚鏉$爜鍓嶆帶鍒� if (!Sub_AllowSave()) @@ -575,10 +566,12 @@ string HCode3 = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HCode3Col].Value); // 鐗堟湰鍙� string HBatchNoNumber = HCode1 + sYear + sPeriod + sDay + HCusModel; // 鎵规鐢熸垚鍓嶇紑 HBatchNoNumber = HBatchNoNumber.ToUpper(); + string HBarCodeType = DBUtility.ClsPub.isStrNull(cmbHBarCodeType.Text); // 鏉$爜绫诲瀷 + string HInnerBillNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HInnerBillNoCol].Value); // 瀹㈡埛璁㈠崟鍙� if (HMaterID != 0) { - DataSet oDsCheck = oCn.RunProcReturn("exec h_p_Gy_CusBarCodeBill_AddCheck " + HSno.ToString() + ",'" + HSourceBillNo + "'," + HMaterID.ToString() + "," + HSourceQty.ToString() + "," + HQty.ToString() + "," + HMinQty.ToString() + ",'" + HCusModelName + "','" + HCode1 + "','" + HCode2 + "','" + HCode3 + "','" + HBatchNoNumber + "'", "h_p_Gy_CusBarCodeBill_AddCheck"); + DataSet oDsCheck = oCn.RunProcReturn("exec h_p_Gy_CusBarCodeBill_AddCheck " + HSno.ToString() + ",'" + HSourceBillNo + "'," + HMaterID.ToString() + "," + HSourceQty.ToString() + "," + HQty.ToString() + "," + HMinQty.ToString() + ",'" + HCusModelName + "','" + HCode1 + "','" + HCode2 + "','" + HCode3 + "','" + HBatchNoNumber + "','" + HBarCodeType + "','" + HInnerBillNo + "'", "h_p_Gy_CusBarCodeBill_AddCheck"); // if (oDsCheck == null && oDsCheck.Tables[0].Rows.Count == 0) { @@ -685,6 +678,7 @@ string HSourceBillType = "";//婧愬崟绫诲瀷 string HMTONo = ""; //MTO鍙� string HRemark = ""; //澶囨敞 + string HInnerBillNo = ""; //瀹㈡埛璁㈠崟鍙� string HSno = ""; //鎵规搴忓垪鍙� string HBoxNo = ""; //鎵规鐢熸垚鍓嶇紑 string sHBaNo = ""; //鐣岄潰涓婅緭鍏ョ殑鎵规浣� @@ -768,15 +762,17 @@ HSourceBillType = ClsPub.isStrNull(grdMain.Rows[j].Cells[HSourceBillTypeCol].Value); HRemark = ClsPub.isStrNull(grdMain.Rows[j].Cells[HRemarkCol].Value); HMTONo = ClsPub.isStrNull(grdMain.Rows[j].Cells[HMTONoCol].Value); + HInnerBillNo = ClsPub.isStrNull(grdMain.Rows[j].Cells[HInnerBillNoCol].Value); HCode1 = ClsPub.isStrNull(grdMain.Rows[j].Cells[HCode1Col].Value).ToUpper(); HCode2 = ClsPub.isStrNull(grdMain.Rows[j].Cells[HCode2Col].Value).ToUpper(); HCode3 = ClsPub.isStrNull(grdMain.Rows[j].Cells[HCode3Col].Value).ToUpper(); HSno = ClsPub.isStrNull(LSH); HBoxNo = HCode1 + sYear + sPeriod + sDay + HCusModel; HBoxNo = HBoxNo.ToUpper(); - sHBaNo = DBUtility.ClsPub.isStrNull(grdMain.Rows[j].Cells[HBaNoCol].Value); // 鐣岄潰涓婅緭鍏ョ殑鎵规浣� + sHBaNo = ClsPub.isStrNull(grdMain.Rows[j].Cells[HBaNoCol].Value); // 鐣岄潰涓婅緭鍏ョ殑鎵规浣� - //瀹㈡埛鏂欏彿HCusModelName銆佺墿鏂欑被鍒獺Code1銆佹壒娆′綅HCode2銆佺増鏈彿HCode3銆佹壒娆″簭鍒楀彿HSno銆佹壒娆$敓鎴愬墠缂�HBoxNo銆佸巶鍟嗕唬鐮丠CusModel銆佺晫闈笂杈撳叆鐨勬壒娆′綅HSupName銆�36杩涘埗鎵规搴忓垪鍙稨SupNumber + //瀹㈡埛鏂欏彿HCusModelName銆佺墿鏂欑被鍒獺Code1銆佹壒娆′綅HCode2銆佺増鏈彿HCode3銆佹壒娆″簭鍒楀彿HSno銆佹壒娆$敓鎴愬墠缂�HBoxNo銆佸巶鍟嗕唬鐮丠CusModel + //鐣岄潰涓婅緭鍏ョ殑鎵规浣岺SupName銆�36杩涘埗鎵规搴忓垪鍙稨SupNumber銆佸鎴疯鍗曞彿HInnerBillNo oCn.RunProc("insert into Gy_BarCodeBill_Cus" + "(HInterID,HEntryID,HBillType,HBarCode,HBarCodeType" + ",HMaterID,HUnitID,HAuxPropID,HBatchNo,HQty" + @@ -799,7 +795,7 @@ + "," + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "'" + ",0,'','" + HRemark + "'," + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + ClsPub.CurUserName + "',getdate(),'','','" + HMTONo + "'" - + ",0,'','',''" + + ",0,'','','" + HInnerBillNo + "'" + ",'','','" + LSH2 + "','" + sHBaNo + "','" + HCode1 + "'" + ",'" + HCode2 + "','" + HCode3 + "','','" + HSno + "','" + HBoxNo + "')"); n = n + 1; @@ -878,7 +874,7 @@ private void initGrid() { grdMain.RowCount = 0; - grdMain.ColumnCount = 43; //鎬诲垪鏁� + grdMain.ColumnCount = 44; //鎬诲垪鏁� DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name); grdMain.Columns[HSnoCol].HeaderText = "搴忓彿"; grdMain.Columns[HMainIDCol].HeaderText = "婧愬崟涓籌D"; @@ -915,6 +911,7 @@ grdMain.Columns[HCode1Col].HeaderText = "鐗╂枡绫诲埆"; grdMain.Columns[HCode2Col].HeaderText = "鎵规浣�"; grdMain.Columns[HCode3Col].HeaderText = "鐗堟湰鍙�"; + grdMain.Columns[HInnerBillNoCol].HeaderText = "瀹㈡埛璁㈠崟鍙�"; //鏍煎紡鍖� 闅愯棌鍒� grdMain.Columns[HTagCol].Visible = false; @@ -956,6 +953,7 @@ "," + HCode1Col.ToString() + //"," + HCode2Col.ToString() + "," + HCode3Col.ToString() + + "," + HInnerBillNoCol.ToString() + "," + HRemarkCol.ToString(); //璁剧疆鍚堣鍒� @@ -1030,19 +1028,7 @@ //甯姪鍑芥暟 private void Sub_GridKey(int sKeyCode, int sRow, int sCol, DataGridViewTextBoxEditingControl oEdit) { - long sHOrgID = -1; string sWhere = ""; - - DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View(); - if (oClsGy_ORGANIZATIONS_View.GetInfoByName(cmbHOrgID.Text)) - { - sHOrgID = oClsGy_ORGANIZATIONS_View.omodel.HItemID; - } - if (sHOrgID == -1) - { - MessageBox.Show("閫夋嫨缁勭粐鏈夐敊璇紒"); - return; - } DAL.ClsIF_Material_View oMater = new DAL.ClsIF_Material_View();//鐗╂枡 DAL.ClsIF_Unit_View oUnit = new DAL.ClsIF_Unit_View();//璁¢噺鍗曚綅 DAL.ClsIF_Property_View oProperty = new DAL.ClsIF_Property_View();//杈呭姪灞炴�� @@ -1060,7 +1046,7 @@ { case HMaterNumberCol: oMater.WherePart = ""; - sWhere = " and HUSEORGID = " + sHOrgID; + sWhere = " and HUSEORGID = " + HOrgID; if (oMater.RefreshViewForBig(sWhere)) { if (oMater.GetInfoByID(oMater.oModel.HItemID)) @@ -1272,17 +1258,6 @@ private void cmdSourceBillNo_Click(object sender, EventArgs e) { - DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View(); - if (oClsGy_ORGANIZATIONS_View.GetInfoByName(cmbHOrgID.Text)) - { - HOrgID = oClsGy_ORGANIZATIONS_View.omodel.HItemID; - } - if (HOrgID == -1) - { - MessageBox.Show("閫夋嫨缁勭粐鏈夐敊璇紒"); - return; - } - if (cmbSourceBillType.Text.Trim() == "鐢熶骇姹囨姤鍗�") { string sWhere = " and HOrgID =" + HOrgID.ToString(); @@ -1365,6 +1340,7 @@ "," + HCode1Col.ToString() + //"," + HCode2Col.ToString() + "," + HCode3Col.ToString() + + "," + HInnerBillNoCol.ToString() + "," + HRemarkCol.ToString(); grdMain.Columns[HBillNoCol].ReadOnly = true; //璁剧疆鍚堣鍒� @@ -1385,13 +1361,6 @@ { if (e.KeyChar == (char)Keys.Return)//鍥炶溅甯﹀嚭婧愬崟淇℃伅 { - long sHOrgID = -1; - DAL.ClsGy_ORGANIZATIONS_View oClsGy_ORGANIZATIONS_View = new DAL.ClsGy_ORGANIZATIONS_View(); - if (oClsGy_ORGANIZATIONS_View.GetInfoByName(cmbHOrgID.Text)) - { - sHOrgID = oClsGy_ORGANIZATIONS_View.omodel.HItemID; - } - if (txtHSourceBillNo.Text.Length < 4) { MessageBox.Show("璇疯緭鍏�4浣嶄互涓婃暟鎹紒"); @@ -1401,7 +1370,7 @@ if (cmbSourceBillType.Text.Trim() == "鐢熶骇姹囨姤鍗�") { DAL.Cls_S_IF_ICMOReportBillList_CusBarCodeBill oIF_ICMOReportBillList = new DAL.Cls_S_IF_ICMOReportBillList_CusBarCodeBill(); - if (oIF_ICMOReportBillList.RefreshBySourceBillNo(" Where 鍗曟嵁鍙� like '%" + txtHSourceBillNo.Text + "' ")) //閫夋嫨鍘熷崟 + if (oIF_ICMOReportBillList.RefreshBySourceBillNo(" Where 鍗曟嵁鍙� like '%" + txtHSourceBillNo.Text + "' and HOrgID =" + HOrgID.ToString())) //閫夋嫨鍘熷崟 { FillSelectData(oIF_ICMOReportBillList.oBillSelectColl); txtHSourceBillNo.Text = ""; @@ -1582,7 +1551,18 @@ #endregion + #region 閫夋嫨缁勭粐 + private void cmbHOrgID_SelectionChangeCommitted(object sender, EventArgs e) + { + HOrgID = ClsPub.isLong(cmbHOrgID.SelectedValue); + //鍔犺浇瀹㈡埛淇℃伅 + Sub_AddHCusNameList(); + //娓呯┖鍒濆鍖栧垪琛� + initGrid(); + grdMain.Columns[HBillNoCol].ReadOnly = false; + } + #endregion diff --git "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.designer.cs" "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.designer.cs" index 2177e46..404980e 100644 --- "a/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.designer.cs" +++ "b/WarM/\346\235\241\347\240\201\346\211\223\345\215\260/Gy_CusBarCodeBill_KaiBei.designer.cs" @@ -46,6 +46,7 @@ this.tc = new System.Windows.Forms.ToolStripButton(); this.lblCaption = new System.Windows.Forms.Label(); this.P1 = new System.Windows.Forms.Panel(); + this.pb1 = new System.Windows.Forms.ProgressBar(); this.pic1 = new System.Windows.Forms.PictureBox(); this.gbUp = new System.Windows.Forms.GroupBox(); this.cmbHCusName = new System.Windows.Forms.ComboBox(); @@ -93,7 +94,6 @@ this.tabPage1 = new System.Windows.Forms.TabPage(); this.grdMain = new System.Windows.Forms.DataGridView(); this.tabControl1 = new System.Windows.Forms.TabControl(); - this.pb1 = new System.Windows.Forms.ProgressBar(); this.Tool.SuspendLayout(); this.P1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pic1)).BeginInit(); @@ -299,6 +299,13 @@ this.P1.Size = new System.Drawing.Size(937, 137); this.P1.TabIndex = 31; // + // pb1 + // + this.pb1.Location = new System.Drawing.Point(76, 12); + this.pb1.Name = "pb1"; + this.pb1.Size = new System.Drawing.Size(256, 23); + this.pb1.TabIndex = 93; + // // pic1 // this.pic1.Location = new System.Drawing.Point(313, 3); @@ -379,6 +386,7 @@ this.cmbHOrgID.Name = "cmbHOrgID"; this.cmbHOrgID.Size = new System.Drawing.Size(188, 20); this.cmbHOrgID.TabIndex = 85; + this.cmbHOrgID.SelectionChangeCommitted += new System.EventHandler(this.cmbHOrgID_SelectionChangeCommitted); // // label3 // @@ -820,13 +828,6 @@ this.tabControl1.SelectedIndex = 0; this.tabControl1.Size = new System.Drawing.Size(937, 300); this.tabControl1.TabIndex = 47; - // - // pb1 - // - this.pb1.Location = new System.Drawing.Point(76, 12); - this.pb1.Name = "pb1"; - this.pb1.Size = new System.Drawing.Size(256, 23); - this.pb1.TabIndex = 93; // // Gy_CusBarCodeBill_KaiBei // diff --git a/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs b/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs index bfeb542..5222645 100644 --- a/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs +++ b/WebAPI/Controllers/CGGL/Cg_POInStockBillController.cs @@ -1472,6 +1472,14 @@ objJsonResult.data = null; return objJsonResult; } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } //浣滃簾鍗曟嵁 if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { @@ -1504,6 +1512,14 @@ objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!"; + objJsonResult.data = null; + return objJsonResult; + } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜鍙嶄綔搴�!"; objJsonResult.data = null; return objJsonResult; } @@ -1954,5 +1970,509 @@ } } #endregion + + #region 鏀舵枡閫氱煡鍗曢┏鍥� + [Route("Cg_POInStockBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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("Cg_POInStockBill/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.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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("Cg_POInStockBill/AuditCg_POInStockBill_Flow")] + [HttpGet] + public object AuditCg_POInStockBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + DBUtility.ClsPub.CurUserName = CurUserName; + 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.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_Cg_POInStockBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Cg_POInStockBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POInStockBill_AfterCheckCtrl", CurUserName, 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_Cg_POInStockBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Cg_POInStockBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POInStockBill_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 = "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 } } \ No newline at end of file diff --git a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs index 0b4b6be..a797923 100644 --- a/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs +++ b/WebAPI/Controllers/CGGL/Cg_POOrderBillController.cs @@ -1945,7 +1945,7 @@ objJsonResult.data = null; return objJsonResult; } - if (ds.Tables[0].Rows[0]["鐘舵��"].ToString() == "瀹℃牳涓�") + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -2339,7 +2339,7 @@ #region 閲囪喘璁㈠崟闇�瑕佹垜瀹℃壒娴佸鎵圭殑 [Route("Cg_POOrderBill/NeedChecklist")] [HttpGet] - public object NeedChecklist(string user) + public object NeedChecklist(string user,string userid) { try { @@ -2355,10 +2355,12 @@ return objJsonResult; } //鎼滅储闇�瑕佸鏍哥殑 - string sql = " select a.*,c.HItemID as HCheckFlowStatusID,m.HName as 瀹℃壒娴佸悕绉�,c.HCheckFlowID,m.HName as 瀹℃壒椤圭洰鍚嶇О,c.HCheckItemID,c.HChecker as 瀹℃壒娴佸鏍镐汉,c.HCheckNote as 瀹℃壒娴佸鏍稿缓璁�,c.HCheckDate 瀹℃壒娴佸鏍告棩鏈� from h_v_Cg_POOrderBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.鍗曟嵁绫诲瀷 = c.HBillTypeID" + + 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_Cg_POOrderBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.鍗曟嵁绫诲瀷 = c.HBillTypeID" + " LEFT JOIN Xt_CheckFlowMain as m ON m.HInterID = c.HCheckFlowID" + + " LEFT JOIN Cg_POOrderBillMain as po ON a.hmainid = po.HInterID" + " LEFT JOIN Xt_CheckItem as i ON i.HItemID = c.HCheckItemID" + - " where c.HCheckDate is NUll and c.HChecker = '" + user + "'"; + " 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_Cg_POOrderBillList"); foreach (DataColumn col in ds.Tables[0].Columns) { @@ -2405,7 +2407,7 @@ return objJsonResult; } //鎼滅储闇�瑕佸鏍哥殑 - string sql = " select a.*,c.HItemID as HCheckFlowStatusID,m.HName as 瀹℃壒娴佸悕绉�,c.HCheckFlowID,m.HName as 瀹℃壒椤圭洰鍚嶇О,c.HCheckItemID,c.HChecker as 瀹℃壒娴佸鏍镐汉,c.HCheckNote as 瀹℃壒娴佸鏍稿缓璁�,c.HCheckDate 瀹℃壒娴佸鏍告棩鏈� from h_v_Cg_POOrderBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.鍗曟嵁绫诲瀷 = c.HBillTypeID" + + 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_Cg_POOrderBillList AS a LEFT JOIN Xt_BillCheckFlowStatus AS c ON a.hmainid = c.HBillInterID and a.鍗曟嵁绫诲瀷 = 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 + "'"; @@ -2499,9 +2501,8 @@ #region 閲囪喘璁㈠崟 鍙戣捣瀹℃壒 [Route("Cg_POOrderBill/StartCheckFlow_POOrderBill")] [HttpGet] - public object StartCheckFlow_POOrderBill(int HInterID, int HCheckFlowID_select, string CurUserName) + public object StartCheckFlow_POOrderBill(int HInterID,string CurUserName) { - string ModRightNameCheck = "Cg_POOrderBill_Check"; DBUtility.ClsPub.CurUserName = CurUserName; try { @@ -2529,9 +2530,9 @@ Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� - + //鍙戣捣瀹℃壒 - if (oBill.startCheckFlow(lngBillKey, HCheckFlowID_select, ref DBUtility.ClsPub.sExeReturnInfo) == true) + if (oBill.startCheckFlow(lngBillKey,ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; @@ -2914,7 +2915,7 @@ { //鍙嶅鏍告彁浜bandonCheck - if (oBill.AbandonCheck(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) + if (oBill.AbandonCheck(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) { //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + ",HBillStatus=6 "+" where HInterID = " + lngBillKey; diff --git a/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs b/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs index acfea6f..da93c5a 100644 --- a/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs +++ b/WebAPI/Controllers/CGGL/Cg_PayableBillController.cs @@ -388,7 +388,7 @@ //搴斾粯鍗� 鍒犻櫎 鎾ら攢 閲囪喘鍏ュ簱鍗� 鍏宠仈鏁伴噺 oCN.RunProc("exec h_p_Cg_UpDateRelation_POStockInToPayable_Del " + HInterID); - //搴斾粯鍗� 鍒犻櫎 鎾ら攢 閲囪喘璁㈠崟 鍏宠仈鏁伴噺 + //搴斾粯鍗� 鍒犻櫎 鎾ら攢 搴斾粯鍗� 鍏宠仈鏁伴噺 oCN.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPayable_Del " + HInterID); oCN.RunProc("delete from Cg_PayableBillMain where HInterID = " + HInterID); @@ -863,6 +863,14 @@ objJsonResult.data = null; return objJsonResult; } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } if (IsAudit == 0) //浣滃簾鍒ゆ柇 { if (oBill.omodel.HDeleteMan.Trim() != "") @@ -950,7 +958,521 @@ } #endregion + #region 搴斾粯鍗曢┏鍥� + [Route("Cg_PayableBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsCg_PayableBill oBill = new DAL.ClsCg_PayableBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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("Cg_PayableBill/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.ClsCg_PayableBill oBill = new DAL.ClsCg_PayableBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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("Cg_PayableBill/AuditCg_PayableBill_Flow")] + [HttpGet] + public object AuditCg_PayableBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "Cg_POOrderBill_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.ClsCg_PayableBill oBill = new DAL.ClsCg_PayableBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_Cg_POOrderBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + //ds = oCN.RunProcReturn(sql1, "h_p_Cg_POOrderBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", CurUserName, 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_Cg_POOrderBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Cg_POOrderBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_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 = "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 + } } \ No newline at end of file diff --git a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs index a617fd4..450b8b3 100644 --- a/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs +++ b/WebAPI/Controllers/CGGL/Kf_POStockInBillController.cs @@ -259,7 +259,7 @@ oCN.RunProc(sql); - //閲囪喘鍏ュ簱鍗� 缂栬緫 鎾ら攢鍥炲~ 閲囪喘璁㈠崟 鍏宠仈鏁伴噺 + //閲囪喘鍏ュ簱鍗� 缂栬緫 鎾ら攢鍥炲~ 閲囪喘鍏ュ簱 鍏宠仈鏁伴噺 oCN.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Del " + HInterID); //閲囪喘鍏ュ簱鍗� 缂栬緫 鎾ら攢鍥炲~ 鏀舵枡閫氱煡鍗� 鍏宠仈鏁伴噺 @@ -271,7 +271,7 @@ //淇濆瓨瀛愯〃 objJsonResult = AddBillSub(msg3, HInterID, OperationType, user); - //閲囪喘鍏ュ簱鍗曟柊澧炲洖濉噰璐鍗曞叧鑱旀暟閲� + //閲囪喘鍏ュ簱鍗曟柊澧炲洖濉噰璐叆搴撳叧鑱旀暟閲� oCN.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Add " + HInterID); //閲囪喘鍏ュ簱鍗曟柊澧炲洖濉敹鏂欓�氱煡鍗曞叧鑱旀暟閲� @@ -480,7 +480,7 @@ string sReturn = ""; oCN.BeginTran(); - //閲囪喘鍏ュ簱鍗� 鍒犻櫎 鎾ら攢鍥炲~ 閲囪喘璁㈠崟 鍏宠仈鏁伴噺 + //閲囪喘鍏ュ簱鍗� 鍒犻櫎 鎾ら攢鍥炲~ 閲囪喘鍏ュ簱 鍏宠仈鏁伴噺 oCN.RunProc("exec h_p_Cg_UpDateRelation_POOrderToPOStockIn_Del " + HInterID); //閲囪喘鍏ュ簱鍗� 鍒犻櫎 鎾ら攢鍥炲~ 鏀舵枡閫氱煡鍗� 鍏宠仈鏁伴噺 @@ -1174,6 +1174,14 @@ objJsonResult.data = null; return objJsonResult; } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; @@ -1206,6 +1214,14 @@ objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; objJsonResult.data = null; return objJsonResult; } @@ -1287,5 +1303,521 @@ } #endregion + #region 閲囪喘鍏ュ簱椹冲洖 + [Route("Kf_POStockInBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsKf_POStockInBill oBill = new DAL.ClsKf_POStockInBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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("Kf_POStockInBill/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.ClsKf_POStockInBill oBill = new DAL.ClsKf_POStockInBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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("Kf_POStockInBill/AuditKf_POStockInBill_Flow")] + [HttpGet] + public object AuditKf_POStockInBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "Kf_POStockInBill_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.ClsKf_POStockInBill oBill = new DAL.ClsKf_POStockInBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_Kf_POStockInBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Kf_POStockInBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBill_AfterCheckCtrl", CurUserName, 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_Kf_POStockInBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Kf_POStockInBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_POStockInBill_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 = "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 + } } \ No newline at end of file diff --git a/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs b/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs index 9089659..03729bf 100644 --- a/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs +++ b/WebAPI/Controllers/CGGL/YF_PayMentBillController.cs @@ -936,6 +936,14 @@ objJsonResult.data = null; return objJsonResult; } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } //浣滃簾鍗曟嵁 if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { @@ -971,6 +979,14 @@ objJsonResult.data = null; return objJsonResult; } + if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } //鍙嶄綔搴熷崟鎹� if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { @@ -1003,6 +1019,522 @@ } #endregion + #region 搴斾粯鍗曢┏鍥� + [Route("YF_PayMentBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsYF_PayMentBill oBill = new DAL.ClsYF_PayMentBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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("YF_PayMentBill/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.ClsYF_PayMentBill oBill = new DAL.ClsYF_PayMentBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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("YF_PayMentBill/AuditYF_PayMentBill_Flow")] + [HttpGet] + public object AuditYF_PayMentBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "Cg_POOrderBill_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.ClsYF_PayMentBill oBill = new DAL.ClsYF_PayMentBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_YF_PayMentBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Cg_POOrderBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YF_PayMentBill_AfterCheckCtrl", CurUserName, 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_YF_PayMentBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Cg_POOrderBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YF_PayMentBill_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 = "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 閲囪喘璁㈠崟鍒拌揣鍙婃椂鐜囨姤琛� 鏌ヨ /// <summary>s diff --git a/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs b/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs index ba6bd32..e966cf1 100644 --- a/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs +++ b/WebAPI/Controllers/XSGL/Kf_SellOutBillController.cs @@ -926,6 +926,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() != "") @@ -1295,5 +1303,521 @@ } } #endregion + + #region 閿�鍞嚭搴撳崟椹冲洖 + [Route("Kf_SellOutBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsKf_SellOutBill oBill = new DAL.ClsKf_SellOutBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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("Kf_SellOutBill/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.ClsKf_SellOutBill oBill = new DAL.ClsKf_SellOutBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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("Kf_SellOutBill/AuditKf_SellOutBill_Flow")] + [HttpGet] + public object AuditKf_SellOutBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "Kf_SellOutBill_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.ClsKf_SellOutBill oBill = new DAL.ClsKf_SellOutBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_Kf_SellOutBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Kf_SellOutBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_SellOutBill_AfterCheckCtrl", CurUserName, 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_Kf_SellOutBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_Kf_SellOutBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_SellOutBill_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 = "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 } } \ No newline at end of file diff --git a/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs b/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs index 0741fc4..6c85f51 100644 --- a/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs +++ b/WebAPI/Controllers/XSGL/Xs_ReceivableBillController.cs @@ -895,6 +895,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() != "") @@ -981,5 +989,522 @@ } } #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 + } } \ No newline at end of file diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs index a698f0e..5c5ebd7 100644 --- a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs +++ b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs @@ -1047,10 +1047,49 @@ oCN.BeginTran();//寮�濮嬩簨鍔� - //Type 1 浣滃簾 2 鍙嶄綔搴� - if (Type == 1) + //Type 0 浣滃簾 1 鍙嶄綔搴� + if (Type == 0) { - if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾 + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + 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 (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; @@ -1061,7 +1100,38 @@ } else { - if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴� + 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]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + 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 (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "瀹℃牳涓�") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + } + if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; @@ -1477,12 +1547,71 @@ } #endregion + #region 閿�鍞鍗� 椹冲洖 + [Route("Xs_SeOrderBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + 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鑾峰彇璇ュ崟鎹殑鏁版嵁 + { + 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_SeOrderBill/StartCheckFlow_SeOrderBIll")] [HttpGet] - public object StartCheckFlow_SeOrderBIll(int HInterID,int HCheckFlowID_select, string CurUserName) + public object StartCheckFlow_SeOrderBIll(int HInterID,string CurUserName) { - string ModRightNameCheck = "Xs_SeOrderBill_Check"; DBUtility.ClsPub.CurUserName = CurUserName; try { @@ -1512,7 +1641,7 @@ DAL.ClsXs_SeOrderBill oBill = new DAL.ClsXs_SeOrderBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� //鍙戣捣瀹℃壒 - if (oBill.startCheckFlow(lngBillKey,HCheckFlowID_select, ref DBUtility.ClsPub.sExeReturnInfo) ==true) + if (oBill.startCheckFlow(lngBillKey,ref DBUtility.ClsPub.sExeReturnInfo) ==true) { objJsonResult.code = "1"; objJsonResult.count = 1; @@ -1858,7 +1987,7 @@ string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString(); //瀹℃壒娴佸唴鐮� string HCheckItemNowID = "0"; //褰撳墠瀹℃壒椤圭洰鍐呯爜 string HCheckItemNextID = "0"; //寰呭鎵归」鐩唴鐮� - if (oBill.omodel.HBillStatus <= 1) + if (oBill.omodel.HBillStatus == 6) { for (int i = 0; i < ds0.Tables[0].Rows.Count; i++) { @@ -1903,7 +2032,7 @@ oCN.RunProc(sql02); //鍒ゆ柇鍙嶅鏍哥殑鍗曟嵁鏄惁宸茬粡瀹℃牳瀹屾垚锛岃嫢瀹℃牳瀹屾垚锛屽弽瀹℃牳闇�瑕佸彉鏇村崟鎹姸鎬併�� - if (oBill.omodel.HBillStatus <= 1) + if (oBill.omodel.HBillStatus == 6) { //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; @@ -1917,13 +2046,14 @@ } else { - //鏇存柊鍗曟嵁涓昏〃鐨勫鎵规祦鏁版嵁 - string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; - oCN.RunProc(sql04); + //鍙嶅鏍告彁浜bandonCheck if (oBill.AbandonCheck(oCN,oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOrderBill_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 = "1"; objJsonResult.count = 1; objJsonResult.Message = "鍙嶅鏍告垚鍔�"; diff --git a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs index 2891ac6..3edc204 100644 --- a/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs +++ b/WebAPI/Controllers/XSGL/Xs_SeOutStockBillController.cs @@ -1222,6 +1222,45 @@ //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 == null || ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒"; + objJsonResult.data = null; + return objJsonResult; + } + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + 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 (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + } if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; @@ -1233,6 +1272,37 @@ } 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]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + 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 (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍦ㄥ鏍镐腑!涓嶈兘杩涜浣滃簾!"; + objJsonResult.data = null; + return objJsonResult; + } + } if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; @@ -1263,5 +1333,520 @@ } #endregion + #region 鍙戣揣閫氱煡鍗� 椹冲洖 + [Route("Xs_SeOutStockBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsXs_SeOutStockBill oBill = new DAL.ClsXs_SeOutStockBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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_SeOutStockBill/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_SeOutStockBill oBill = new DAL.ClsXs_SeOutStockBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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_SeOutStockBill/AuditXs_SeOutStockBill_Flow")] + [HttpGet] + public object AuditXs_SeOutStockBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "Cg_POOrderBill_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_SeOutStockBill oBill = new DAL.ClsXs_SeOutStockBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_SeOutStockBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_Cg_POOrderBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOutStockBill_AfterCheckCtrl", CurUserName, 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_SeOutStockBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + CurUserName + "'", "h_p_Cg_POOrderBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Xs_SeOutStockBill_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 = "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 } } \ No newline at end of file diff --git a/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs b/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs index e2daa97..26eae8e 100644 --- a/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs +++ b/WebAPI/Controllers/XSGL/YS_ReceiveBillController.cs @@ -905,6 +905,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() != "") @@ -1094,5 +1102,521 @@ } } #endregion + + #region 鏀舵鍗曢┏鍥� + [Route("YS_ReceiveBill/RejectCheckFlow_POOrderBill")] + [HttpGet] + public object RejectCheckFlow_POOrderBill(string HInterID, string CurUserID) + { + try + { + Int64 lngBillKey = 0; + lngBillKey = DBUtility.ClsPub.isLong(HInterID); //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹� + DAL.ClsYS_ReceiveBill oBill = new DAL.ClsYS_ReceiveBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + 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("YS_ReceiveBill/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.ClsYS_ReceiveBill oBill = new DAL.ClsYS_ReceiveBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //鍙戣捣瀹℃壒 + 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("YS_ReceiveBill/AuditYS_ReceiveBill_Flow")] + [HttpGet] + public object AuditYS_ReceiveBill_Flow(int HInterID, int IsAudit, string CurUserName, string CurUserID) + { + //string ModRightNameCheck = "YS_ReceiveBill_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.ClsYS_ReceiveBill oBill = new DAL.ClsYS_ReceiveBill(); //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣� + + //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔 + 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_YS_ReceiveBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'"; + ds = oCN.RunProcReturn(sql1, "h_p_YS_ReceiveBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YS_ReceiveBill_AfterCheckCtrl", CurUserName, 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_YS_ReceiveBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'", "h_p_YS_ReceiveBill_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(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_YS_ReceiveBill_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 = "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 } } \ No newline at end of file diff --git "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs" "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs" index a1748ca..81c0f64 100644 --- "a/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs" +++ "b/WebAPI/Controllers/\345\223\201\350\264\250\347\256\241\347\220\206/\350\264\250\351\207\217\346\212\245\350\241\250/QC_QualityReportsController.cs" @@ -1149,5 +1149,173 @@ } #endregion + #region 璐ㄩ噺妯″潡 绾垮埆寮傚父绠$悊鍙拌处 + /// <summary> + /// 杩斿洖绾垮埆寮傚父绠$悊鍙拌处 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("QC_CustomerAppealReport/QC_ErrManagerLedgerReport_Source")] + [HttpGet] + public object QC_ErrManagerLedgerReport_Source(string HYear, string HMonth, string user) + { + try + { + List<object> columnNameList = new List<object>(); + + ds = oCN.RunProcReturn("exec h_p_QC_ErrManagerLedgerReport_Source '" + HYear + "','" + HMonth + "'", "h_p_QC_ErrManagerLedgerReport_Source"); + + //娣诲姞鍒楀悕 + 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 = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 璐ㄩ噺妯″潡 寮傚父绠$悊鍙拌处鏁� + /// <summary> + /// 杩斿洖寮傚父绠$悊鍙拌处鏁� + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("QC_CustomerAppealReport/QC_ErrManagerLedgerReport_Issue")] + [HttpGet] + public object QC_ErrManagerLedgerReport_Issue(string HYear, string HMonth, string user) + { + try + { + List<object> columnNameList = new List<object>(); + + ds = oCN.RunProcReturn("exec h_p_QC_ErrManagerLedgerReport_Issue '" + HYear + "','" + HMonth + "'", "h_p_QC_ErrManagerLedgerReport_Issue"); + + //娣诲姞鍒楀悕 + 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 = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 璐ㄩ噺妯″潡 寮傚父闂鏉ユ簮 + /// <summary> + /// 杩斿洖寮傚父闂鏉ユ簮 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("QC_CustomerAppealReport/QC_ErrManagerLedgerReport_SourceOfTheProblem")] + [HttpGet] + public object QC_ErrManagerLedgerReport_SourceOfTheProblem(string HYear, string HMonth, string user) + { + try + { + List<object> columnNameList = new List<object>(); + + ds = oCN.RunProcReturn("exec h_p_QC_ErrManagerLedgerReport_SourceOfTheProblem '" + HYear + "','" + HMonth + "'", "h_p_QC_ErrManagerLedgerReport_SourceOfTheProblem"); + + //娣诲姞鍒楀悕 + 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 = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 璐ㄩ噺妯″潡 璁惧TOP3闂 + /// <summary> + /// 杩斿洖璁惧TOP3闂 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("QC_CustomerAppealReport/QC_ErrManagerLedgerReport_EquipTop3Issue")] + [HttpGet] + public object QC_ErrManagerLedgerReport_EquipTop3Issue(string HYear, string HMonth, string user) + { + try + { + List<object> columnNameList = new List<object>(); + + ds = oCN.RunProcReturn("exec h_p_QC_ErrManagerLedgerReport_EquipTop3Issue '" + HYear + "','" + HMonth + "'", "h_p_QC_ErrManagerLedgerReport_EquipTop3Issue"); + + //娣诲姞鍒楀悕 + 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 = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + } } diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs" index 9e9e8ab..c4211b2 100644 --- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs" +++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Xt_CheckFlowBillController.cs" @@ -115,7 +115,17 @@ } } ds = oCN.RunProcReturn("select * from h_v_Xt_CheckFlowList where Hmainid= " + main.HInterID, "h_v_Xt_CheckFlowList"); - + //淇濆瓨鍓嶆帶鍒跺垽鏂� + string sql = "select * from Xt_CheckFlowMain where HBillTypeID = '" + main.HBillTypeID.ToString() + "' and HDeptID = " + main.HDeptID.ToString() + " and HStandard = 1 and HInterID <> "+ main.HInterID.ToString(); + DataSet ds2 = oCN.RunProcReturn(sql, "Xt_CheckFlowMain"); + if (ds2.Tables[0].Rows.Count > 0 && main.HStandard) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娣诲姞澶辫触,鍙兘鏈変竴涓粯璁ゆ祦绋嬪崟"; + objJsonResult.data = null; + return objJsonResult; + } //淇濆瓨 //淇濆瓨瀹屾瘯鍚庡鐞� oCN.BeginTran(); diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user index 37a32cc..8672a3b 100644 --- a/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -23,12 +23,12 @@ <File Include="bin/BLL.dll"> <publishTime>11/09/2022 16:02:08</publishTime> <publishTime>11/02/2022 22:03:01</publishTime> - <publishTime>08/05/2024 15:31:23</publishTime> + <publishTime>08/07/2024 15:04:19</publishTime> </File> <File Include="bin/BLL.pdb"> <publishTime>11/09/2022 16:02:08</publishTime> <publishTime>11/02/2022 22:03:01</publishTime> - <publishTime>08/05/2024 15:31:23</publishTime> + <publishTime>08/07/2024 15:04:19</publishTime> </File> <File Include="bin/BouncyCastle.Crypto.dll"> <publishTime>12/18/2020 05:32:28</publishTime> @@ -36,12 +36,12 @@ <File Include="bin/DAL.dll"> <publishTime>11/09/2022 16:02:06</publishTime> <publishTime>11/02/2022 22:02:58</publishTime> - <publishTime>08/05/2024 15:31:21</publishTime> + <publishTime>08/07/2024 15:04:17</publishTime> </File> <File Include="bin/DAL.pdb"> <publishTime>11/09/2022 16:02:06</publishTime> <publishTime>11/02/2022 22:02:58</publishTime> - <publishTime>08/05/2024 15:31:21</publishTime> + <publishTime>08/07/2024 15:04:17</publishTime> </File> <File Include="bin/Dapper.dll"> <publishTime>07/22/2016 22:52:40</publishTime> @@ -49,12 +49,12 @@ <File Include="bin/DBUtility.dll"> <publishTime>11/02/2022 22:02:56</publishTime> <publishTime>11/15/2022 13:55:23</publishTime> - <publishTime>08/05/2024 15:31:16</publishTime> + <publishTime>08/07/2024 15:04:12</publishTime> </File> <File Include="bin/DBUtility.pdb"> <publishTime>11/09/2022 16:01:58</publishTime> <publishTime>11/02/2022 22:02:56</publishTime> - <publishTime>08/05/2024 15:31:16</publishTime> + <publishTime>08/07/2024 15:04:12</publishTime> </File> <File Include="bin/Grpc.Core.Api.dll"> <publishTime>03/22/2022 13:17:26</publishTime> @@ -110,12 +110,12 @@ <File Include="bin/Model.dll"> <publishTime>11/09/2022 16:02:01</publishTime> <publishTime>11/02/2022 22:02:56</publishTime> - <publishTime>08/05/2024 15:31:16</publishTime> + <publishTime>08/07/2024 15:04:13</publishTime> </File> <File Include="bin/Model.pdb"> <publishTime>11/09/2022 16:02:01</publishTime> <publishTime>11/02/2022 22:02:56</publishTime> - <publishTime>08/05/2024 15:31:16</publishTime> + <publishTime>08/07/2024 15:04:13</publishTime> </File> <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs"> <publishTime>04/15/2024 12:55:45</publishTime> @@ -150,33 +150,33 @@ <File Include="bin/Pub_Class.dll"> <publishTime>11/09/2022 16:01:56</publishTime> <publishTime>11/02/2022 22:02:54</publishTime> - <publishTime>08/05/2024 15:31:14</publishTime> + <publishTime>08/07/2024 15:04:10</publishTime> </File> <File Include="bin/Pub_Class.pdb"> <publishTime>11/09/2022 16:01:56</publishTime> <publishTime>11/02/2022 22:02:54</publishTime> - <publishTime>08/05/2024 15:31:14</publishTime> + <publishTime>08/07/2024 15:04:10</publishTime> </File> <File Include="bin/Pub_Control.dll"> <publishTime>11/09/2022 16:01:57</publishTime> <publishTime>11/02/2022 22:02:55</publishTime> - <publishTime>08/05/2024 15:31:15</publishTime> + <publishTime>08/07/2024 15:04:11</publishTime> </File> <File Include="bin/Pub_Control.pdb"> <publishTime>11/09/2022 16:01:57</publishTime> <publishTime>11/02/2022 22:02:55</publishTime> - <publishTime>08/05/2024 15:31:15</publishTime> + <publishTime>08/07/2024 15:04:11</publishTime> </File> <File Include="bin/RestSharp.dll"> <publishTime>08/31/2012 06:22:50</publishTime> </File> <File Include="bin/SQLHelper.dll"> - <publishTime>08/05/2024 15:31:15</publishTime> + <publishTime>08/07/2024 15:04:11</publishTime> </File> <File Include="bin/SQLHelper.pdb"> <publishTime>11/09/2022 16:01:57</publishTime> <publishTime>11/02/2022 22:02:55</publishTime> - <publishTime>08/05/2024 15:31:15</publishTime> + <publishTime>08/07/2024 15:04:11</publishTime> </File> <File Include="bin/stdole.dll"> <publishTime>05/09/2021 13:35:37</publishTime> @@ -295,7 +295,7 @@ <File Include="bin/WebAPI.dll"> <publishTime>11/14/2022 11:23:59</publishTime> <publishTime>11/02/2022 22:03:04</publishTime> - <publishTime>08/05/2024 15:31:29</publishTime> + <publishTime>08/07/2024 15:04:25</publishTime> </File> <File Include="bin/WebAPI.dll.config"> <publishTime>12/15/2021 17:59:43</publishTime> @@ -303,7 +303,7 @@ <File Include="bin/WebAPI.pdb"> <publishTime>11/14/2022 11:23:59</publishTime> <publishTime>11/02/2022 22:03:04</publishTime> - <publishTime>08/05/2024 15:31:29</publishTime> + <publishTime>08/07/2024 15:04:25</publishTime> </File> <File Include="bin/WebGrease.dll"> <publishTime>07/18/2013 01:03:52</publishTime> @@ -512,7 +512,7 @@ <File Include="Web.config"> <publishTime>11/14/2022 11:24:08</publishTime> <publishTime>11/02/2022 22:03:20</publishTime> - <publishTime>08/05/2024 15:33:01</publishTime> + <publishTime>08/07/2024 15:05:50</publishTime> </File> </ItemGroup> </Project> \ No newline at end of file diff --git a/WebAPI/Web.config b/WebAPI/Web.config index b35ef1b..62e9402 100644 --- a/WebAPI/Web.config +++ b/WebAPI/Web.config @@ -22,7 +22,7 @@ <!--<add key="FileIP" value="http://localhost:8082/LuBaoAPI"/>--> <!--<add key="FileIP" value="http://localhost:8080/" />--> <!--<add key="sUrl" value="http://183.129.128.86:9090/WEBS-WMSTest/WebService1.asmx"/> --> - <!--<add key="sUrl" value="http://192.168.0.81/WEBS-WMS/WebService1.asmx"/>--><!--棰滃彴寮忔満--> + <add key="sUrl" value="http://192.168.0.81/WEBS-WMS/WebService1.asmx"/><!--棰滃彴寮忔満--> <!--<add key="sUrl" value="http://60.190.4.42:9003/WebService/WebService1.asmx" /> 澶忓疂--> <!--<add key="sUrl" value="http://60.190.4.42:9003/WebService/WebService1.asmx" /> --> <!--<add key="sUrl" value="http://10.10.130.181/WEBS-WMS/WebService1.asmx"/> 鍗氭棩绉戞妧--> @@ -35,7 +35,7 @@ <!--<add key="sUrl" value="http://47.96.97.237/WEBS-WMS/WebService1.asmx"/> --> <!--娴嬭瘯鏈嶅姟鍣�--> <!--<add key="surl" value="http://localhost:8082/webs/webservice1.asmx"/> 鏈湴--> <!--<add key="sUrl" value="http://192.168.110.57:81/WEBS/WebService1.asmx"/>--> <!--闄堥洴闈欐湰鍦伴厤缃�--> - <add key="surl" value="http://localhost/webs-web/webservice1.asmx"/> <!--缈佹稕娑涙湰鍦伴厤缃�--> + <!--<add key="surl" value="http://localhost/webs-web/webservice1.asmx"/>--> <!--缈佹稕娑涙湰鍦伴厤缃�--> <!--<add key="sUrl" value="http://192.168.1.57:8082/WEBS-WMS/WebService1.asmx"/>涔濊彵--> <!--<add key="sUrl" value="http://61.130.182.102:18181/WEBSCS/WebService1.asmx"/>--><!--鏂帿灏�--> -- Gitblit v1.9.1