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