|  |  | 
 |  |  | using Newtonsoft.Json; | 
 |  |  | using Newtonsoft.Json.Linq; | 
 |  |  | using Pub_Class; | 
 |  |  | using SyntacticSugar.constant; | 
 |  |  | using System; | 
 |  |  | using System.Collections; | 
 |  |  | using System.Collections.Generic; | 
 |  |  | 
 |  |  | using System.Data.SqlClient; | 
 |  |  | using System.Web.Http; | 
 |  |  | using WebAPI.Models; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | namespace WebAPI.Controllers | 
 |  |  | { | 
 |  |  | 
 |  |  |         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
 |  |  |         DataSet ds; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         /// <summary> | 
 |  |  |     /// <summary> | 
 |  |  |         /// 返回采购订单列表 | 
 |  |  |         ///参数:string sql。 | 
 |  |  |         ///返回值:object。 | 
 |  |  | 
 |  |  |                 //} | 
 |  |  |                 //string sql = "select * from h_v_IF_POOrderBillList where 1 = 1 "; | 
 |  |  |  | 
 |  |  |                 //if (sWhere=="" || sWhere == null) | 
 |  |  |                 //if (sWhere == "" || sWhere == null) | 
 |  |  |                 //{ | 
 |  |  |                 //    ds = oCN.RunProcReturn(sql+ " order by hmainid desc", "h_v_IF_POOrderBillList"); | 
 |  |  |                 //    ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList  order by hmainid desc", "h_v_IF_POOrderBillList"); | 
 |  |  |                 //} | 
 |  |  |                 //else | 
 |  |  |                 //{ | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 string sql = $"update Cg_POOrderBillMain  set HBusinessStatus = 2 ,HEmpID ={HSupplierId} where HInterID in ({Hmainid})"; | 
 |  |  |                 string sql = $"update Cg_POOrderBillMain set HBusinessStatus = 2 ,HEmpID ={HSupplierId} where HInterID in ({Hmainid})"; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 string sql = $"update Cg_POOrderBillMain  set HBusinessStatus = 3 where HInterID in ({Hmainid})"; | 
 |  |  |                 string sql = $"update Cg_POOrderBillMain set HBusinessStatus = 3 where HInterID in ({Hmainid})"; | 
 |  |  |                 oCN.RunProc(sql); | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  | 
 |  |  |                 string HInnerBillNo = mainList[0].HInnerBillNo;//内部单据号  | 
 |  |  |                 long HWHID = mainList[0].HWHID;//仓库  | 
 |  |  |                 long HProjectID = mainList[0].HProjectID;//仓库  | 
 |  |  |  | 
 |  |  |                 string HLinkMan = mainList[0].HLinkMan;//联系人 | 
 |  |  |                 string HLinkPhone = mainList[0].HLinkPhone;//联系人电话 | 
 |  |  |                 List<ClsCg_POOrderBillMain> mainList2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsCg_POOrderBillMain>>(msg2); | 
 |  |  |                 DateTime dt = DateTime.Now; | 
 |  |  |                 long HPURCHASEORGID = mainList2[0].HOrgID; | 
 |  |  | 
 |  |  |                        ,HMaker,HMakeDate | 
 |  |  |                        ,HERPInterID,HERPBillType,HPURCHASEORGID | 
 |  |  |                         ,HPURCHASERGROUPID,HPROVIDERID,HSETTLEID,HCHARGEID,HBUSINESSTYPE,HPROVIDERADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID | 
 |  |  |                         ,HWHID,HProjectID) | 
 |  |  |                         ,HWHID,HProjectID,HLinkMan,HLinkPhone) | 
 |  |  |                         values(" + HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1102 + "','" + | 
 |  |  |                     1102 + "','" + HDate + "','" + HBillNo + "','" + HBillStatus + "','" + HAddress + | 
 |  |  |                     "'," + HSSID + ",'" + HSSDate + "'," + HPSStyleID + "," + HSupID + "," + HCurID + | 
 |  |  |                     "," + HExRate + "," + HEmpID + "," + HManagerID + "," + HDeptID + ",'" + HExplanation + "','" + HRemark + "','" + HInnerBillNo + "','" + HMaker + "',getdate()" + "," + HERPInterID + ",'" + HERPBillType + "'," + HPURCHASEORGID + "," + HPURCHASERGROUPID + "," | 
 |  |  |                     + HPROVIDERID + "," + HSETTLEID + "," + HCHARGEID + ",'" + HBUSINESSTYPE + "','" + HPROVIDERADDRESS + "'," | 
 |  |  |                     + HCORRESPONDORGID + "," + HPROVIDERCONTACTID + "," | 
 |  |  |                     + HWHID+","+ HProjectID + ")"); | 
 |  |  |                     + HWHID+","+ HProjectID +",'"+HLinkMan+"','"+HLinkPhone+"'"+")"); | 
 |  |  |                 } | 
 |  |  |                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0) | 
 |  |  |                 { //修改 | 
 |  |  |  | 
 |  |  |                     DataSet dss; | 
 |  |  |                     dss = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID + " and 单据号='" + HBillNo + "'", "h_v_IF_POOrderBillList"); | 
 |  |  |                     dss = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid=" + HInterID, "h_v_IF_POOrderBillList"); | 
 |  |  |                     //判断是否可编辑 | 
 |  |  |                     if (dss.Tables[0].Rows[0]["审核人"].ToString() != "" && dss.Tables[0].Rows[0]["审核人"] != null) | 
 |  |  |                     { | 
 |  |  | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     oCN.RunProc("update Cg_POOrderBillMain  set " + | 
 |  |  |                                 "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" + | 
 |  |  |                                 "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" + ",HBillNo='" +HBillNo +"'"+  | 
 |  |  |                                  ",HSSID=" + HSSID + ",HPSStyleID=" + HPSStyleID + ",HSupID=" + HSupID + ",HCurID=" + HCurID | 
 |  |  |                                  + ",HExRate=" + HExRate + ",HEmpID=" + HEmpID + ",HManagerID=" + HManagerID + ",HDeptID=" + HDeptID | 
 |  |  |                                  + ",HAddress='" + HAddress + "',HSSDate='" + HSSDate + "',HWHID="+ HWHID + ",HProjectID="+ HProjectID + " where HInterID=" + HInterID); | 
 |  |  |                                  + ",HAddress='" + HAddress + "',HSSDate='" + HSSDate + "',HWHID="+ HWHID + ",HProjectID="+ HProjectID +",HLinkMan = '"+HLinkMan+"',HLinkPhone = '"+HLinkPhone+ "' where HInterID=" + HInterID); | 
 |  |  |  | 
 |  |  |                     //删除子表 | 
 |  |  |                     oCN.RunProc("delete from Cg_POOrderBillSub where HInterID='" + HInterID + "'"); | 
 |  |  |                 } | 
 |  |  |                 //保存子表 | 
 |  |  |                 objJsonResult = AddBillSub(msg3, HInterID, OperationType); | 
 |  |  |  | 
 |  |  |                 //自动审核设置 | 
 |  |  |                 if ((OperationType == 1 || OperationType == 2)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.HInterID = HInterID.ToString(); //返回主ID | 
 |  |  |                     //系统参数  自动审核 | 
 |  |  |                     string sReturn = ""; | 
 |  |  |                     if (oSystemParameter.ShowBill(ref sReturn) == true) | 
 |  |  |                     { | 
 |  |  |                         if (oSystemParameter.omodel.Cg_POOrderBill_AutoCheck == "Y") //系统参数  自动审核  | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.Verify = "Y"; | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.Verify = "N"; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else if (OperationType == 3) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.HInterID = HInterID.ToString(); //返回主ID | 
 |  |  |                     objJsonResult.Verify = "N"; | 
 |  |  |                 } | 
 |  |  |                 if (objJsonResult.code == "0") | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 //==================================================================================   | 
 |  |  |  | 
 |  |  |                 //判断单据状态 | 
 |  |  |                 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]["HBillStatus"].ToString() == "6") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "单据在审核中!不能进行删除!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 //进行 会计期间 结账 的判断和控制 | 
 |  |  |                 string s = ""; | 
 |  |  |                 int sYear = 0; | 
 |  |  | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HCloseMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据已关闭!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据已作废!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 0)  //审核判断 | 
 |  |  |                     if (IsAudit == TypeConstant.AUDIT)  //审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据已审核!不能再次审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 1) //反审核判断 | 
 |  |  |                     if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核判断 | 
 |  |  |                     { | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据未审核!不需要反审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 //进行需要进行的审核/反审核操作 | 
 |  |  |                 if (IsAudit == 0) //审核提交 | 
 |  |  |                 if (IsAudit == TypeConstant.AUDIT) //审核提交 | 
 |  |  |                 { | 
 |  |  |                      | 
 |  |  |                     //审核前控制=========================================       | 
 |  |  | 
 |  |  |                     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 = 1; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                     if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     //审核提交 | 
 |  |  |                     if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 1) //反审核提交 | 
 |  |  |                 if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核提交 | 
 |  |  |                 { | 
 |  |  |                     //反审核前控制========================================= | 
 |  |  |                     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.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         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.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     //反审核提交AbandonCheck | 
 |  |  |                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterUnCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "反审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |                 //判断是否有删除权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBill_Close", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限关闭!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                 if (string.IsNullOrWhiteSpace(HInterID)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "HInterID为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |  | 
 |  |  |                 //Type 1 关闭  2  反关闭 | 
 |  |  |                 if (Type == 1) | 
 |  |  |                 if (Type == TypeConstant.CLOSED) | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经关闭 | 
 |  |  |                     DataSet ds; | 
 |  |  | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         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.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据已作废!不能进行关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据未审核!不能进行关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据已关闭!不能再次关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                         //关闭单据 | 
 |  |  |                         if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 1; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                             objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
 |  |  |                             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.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据已作废!不能进行关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据未审核!不能进行关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据未关闭!不需要再反关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                         //反关闭单据 | 
 |  |  |                         if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 1; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                             objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                 oCN.Commit();//提交事务 | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "执行成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; ; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "执行失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |                 //检查权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "行关闭失败!无权限!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |                 //HInterID数据判断 | 
 |  |  |                 if (HInterID <= 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "HInterID小于0!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据已作废!不能进行行关闭!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     if (oBill.omodel.HCloseMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据已关闭!不能进行行关闭!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     if (oBill.omodel.HChecker.Trim() == "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据未审核!不能进行行关闭!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     ds = oCN.RunProcReturn(sql, "Cg_POOrderBillSub"); | 
 |  |  |                     if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "该行数据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 0)  //行关闭判断 | 
 |  |  |                     if (IsAudit == TypeConstant.LINE_CLOSED)  //行关闭判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "行已关闭!不能再次行关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == 1) //行反关闭判断 | 
 |  |  |                     if (IsAudit == TypeConstant.REVERSE_LINE_CLOSED) //行反关闭判断 | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim() == "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "行未关闭!不需要再行反关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                         string temp = ds.Tables[0].Rows[0]["HCloseType"].ToString(); | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HCloseType"].ToString() == "False") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "行反关闭失败!行为自动关闭,不能进行手动反关闭!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 //进行需要进行的行关闭/行反关闭操作 | 
 |  |  |                 if (IsAudit == 0) //行关闭提交 | 
 |  |  |                 if (IsAudit == TypeConstant.LINE_CLOSED) //行关闭提交 | 
 |  |  |                 { | 
 |  |  |                     //行关闭提交 | 
 |  |  |                     if (oBill.CloseRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "行关闭成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "行关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == 1) //行反关闭提交 | 
 |  |  |                 if (IsAudit == TypeConstant.REVERSE_LINE_CLOSED) //行反关闭提交 | 
 |  |  |                 { | 
 |  |  |                     //行反关闭提交 | 
 |  |  |                     if (oBill.CancelRow(lngBillKey, HEntryID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "1"; | 
 |  |  |                         objJsonResult.count = 1; | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "反关闭成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "关闭失败或者反关闭失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |                 //判断是否有作废权限 | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBill_Drop", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限作废!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                 if (string.IsNullOrWhiteSpace(HInterID)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "HInterID为空!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |                 oCN.BeginTran();//开始事务 | 
 |  |  |  | 
 |  |  |                 //Type 1 作废  2  反作废 | 
 |  |  |                 if (Type == 1) | 
 |  |  |                 if (Type == TypeConstant.INVALID) | 
 |  |  |                 { | 
 |  |  |                     //判断单据是否已经作废 | 
 |  |  |                     DataSet ds; | 
 |  |  | 
 |  |  |                     ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); | 
 |  |  |                     if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据不存在!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             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.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据已作废!不需要再作废!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6" ) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据在审核中!不能进行作废!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         //作废单据 | 
 |  |  |                         if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 1; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                     { | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             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.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据未作废!不需要再反作废!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         if (ds.Tables[0].Rows[0]["HBillStatus"].ToString() == "6") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据在审核中!不能进行作废!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                         //反作废单据 | 
 |  |  |                         if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 1; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                             objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                 oCN.Commit();//提交事务 | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "执行成功!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; ; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "执行失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |                         DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPSourceBillToLocal '" + BillNo + "','" + BillType + "'", "h_p_WMS_ERPSourceBillToLocal"); | 
 |  |  |                         if (DS == null) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "单据同步失败"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  | 
 |  |  |                         { | 
 |  |  |                             if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2") | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                                 objJsonResult.Message = "ERP中不存在该单据号"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "1"; | 
 |  |  |                                 objJsonResult.count = 1; | 
 |  |  |                                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                                 objJsonResult.Message = "单据同步成功"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  | 
 |  |  |                     } | 
 |  |  |                     catch (Exception e) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     //判断是否登录成功 | 
 |  |  |                     if (isSuccess < 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = loginRet; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     //判断数据是否获取成功 | 
 |  |  |                     if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "金蝶采购订单同步失败jsonRoot:" + _result; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                     objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                     objJsonResult.Message = "单据同步成功!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             else | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "单据读取失败!"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |                 ds = oCN.RunProcReturn("select * from h_v_IF_POOrderBillList where hmainid =" + HInterID + " and hsubid = " + HSubID, "h_v_IF_POOrderBillList"); | 
 |  |  |                 if (ds == null || ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "未查询到源单信息!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "1"; | 
 |  |  |                     objJsonResult.count = 1; | 
 |  |  |                     objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                     objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                     objJsonResult.Message = "Sucess!"; | 
 |  |  |                     objJsonResult.data = ds.Tables[0]; | 
 |  |  |                     return objJsonResult; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |         #region 采购订单需要我审批流审批的 | 
 |  |  |         [Route("Cg_POOrderBill/NeedChecklist")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object NeedChecklist(string user) | 
 |  |  |         public object NeedChecklist(string user,string userid) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  | 
 |  |  |  | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBillQuery", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限查看!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     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) | 
 |  |  |                 { | 
 |  |  | 
 |  |  |                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |  | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBillQuery", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限查看!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     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 + "'"; | 
 |  |  | 
 |  |  |                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = "0"; | 
 |  |  |                 objJsonResult.count = 0; | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 采购订单驳回 | 
 |  |  |         [Route("Cg_POOrderBill/RejectCheckFlow_POOrderBill")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object RejectCheckFlow_POOrderBill(string HInterID,string CurUserID) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);      //对HInterID进行类型的转换 | 
 |  |  |                 DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();                              //实例化单据操作类,用于进行相关操作 | 
 |  |  |                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据 | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HBillStatus != 6) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据未在审核中不能驳回"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     //发起驳回 | 
 |  |  |                     if (oBill.RejectCheckFlowProgress(lngBillKey, oBill.omodel.HBillNo,CurUserID, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "驳回成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "驳回失败失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 采购订单 发起审批 | 
 |  |  |         [Route("Cg_POOrderBill/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 = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "HInterID小于0!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换 | 
 |  |  |                 DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();                              //实例化单据操作类,用于进行相关操作 | 
 |  |  |                  | 
 |  |  |                 //发起审批 | 
 |  |  |                 if (oBill.startCheckFlow(lngBillKey,ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                     objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                     objJsonResult.Message = "发起审批成功"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "发起审批失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "发起审批失败失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 采购订单 多级 审核/反审核 | 
 |  |  |         /// <summary> | 
 |  |  |         /// </summary> | 
 |  |  |         /// <param name="HInterID">单据ID</param> | 
 |  |  |         /// <param name="IsAudit">审核(0),反审核(1)</param> | 
 |  |  |         /// <param name="CurUserName">审核人</param> | 
 |  |  |         /// <returns></returns> | 
 |  |  |         [Route("Cg_POOrderBill/AuditCg_POOrderBill_Flow")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object AuditCg_POOrderBill_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 = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "HInterID小于0!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 Int64 lngBillKey = 0; | 
 |  |  |                 lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //对HInterID进行类型的转换 | 
 |  |  |                 DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();                              //实例化单据操作类,用于进行相关操作 | 
 |  |  |  | 
 |  |  |                 //针对需要进行的操作,检验当前单据的状态是否支持需要进行的操作 | 
 |  |  |                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //根据HInterID获取该单据的数据 | 
 |  |  |                 { | 
 |  |  |                     if (oBill.omodel.HCloseMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据已关闭!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (oBill.omodel.HDeleteMan.Trim() != "") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "单据已作废!不能再次审核!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     if (IsAudit == TypeConstant.AUDIT)  //审核判断 | 
 |  |  |                     { | 
 |  |  |                         //判断是否已经发起审批 | 
 |  |  |                         string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "'"; | 
 |  |  |                         DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); | 
 |  |  |                         if (ds0 != null && ds0.Tables[0].Rows.Count == 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "审核失败!原因:单据未发起审批!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         //判断单据当前状态 | 
 |  |  |                         if (oBill.omodel.HChecker.Trim() != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "审核失败!原因:单据已完成审核!不能继续审核!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核判断 | 
 |  |  |                     { | 
 |  |  |                         //判断是否存在审核过的项目 | 
 |  |  |                         string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + oBill.BillType + "' and ISNULL(HChecker,'') <> ''"; | 
 |  |  |                         DataSet ds0 = oCN.RunProcReturn(sql0, "Xt_BillCheckFlowStatus"); | 
 |  |  |                         if (ds0 != null && ds0.Tables[0].Rows.Count == 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "反审核失败!原因:单据不存在已经审核的项目!!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "单据不存在!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 oCN.BeginTran(); | 
 |  |  |                 //进行需要进行的审核/反审核操作 | 
 |  |  |                 if (IsAudit == TypeConstant.AUDIT) //审核提交 | 
 |  |  |                 { | 
 |  |  |                     #region 审核前的相关判断 | 
 |  |  |                     //审核前控制=========================================       | 
 |  |  |                     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 = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "审核失败!原因:用户无当前审核项目的审核权限!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     //更新 单据审批状态表 中对应审核项目的审核状态 | 
 |  |  |                     string sql02 = "update Xt_BillCheckFlowStatus set HChecker='" + CurUserName + "',HCheckDate=getdate() where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID; | 
 |  |  |                     oCN.RunProc(sql02); | 
 |  |  |  | 
 |  |  |                     //判断当前审核项目是否是最后一个项目,如果是,审核后反写单据的单据状态。如果不是,获取下一个审核项目并更新到销售订单主表 | 
 |  |  |                     if (HCheckItemNextID != "0")                //刚刚审核的审核项目不是最后一个审核项目 | 
 |  |  |                     { | 
 |  |  |                         string sql03 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " + | 
 |  |  |                                 "inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " + | 
 |  |  |                                 "where a.HBillTypeID = '" + oBill.BillType + "' " + | 
 |  |  |                                 "and a.HInterID = " + HCheckFlowID + " " + | 
 |  |  |                                 "order by b.HFlowNo asc"; | 
 |  |  |                         DataSet ds03 = oCN.RunProcReturn(sql03, "Xt_CheckFlowMain"); | 
 |  |  |  | 
 |  |  |                         //获取新的当前审核项目和待审核项目 | 
 |  |  |                         for (int i = 0; i < ds03.Tables[0].Rows.Count; i++) | 
 |  |  |                         { | 
 |  |  |                             if (ds03.Tables[0].Rows[i]["HCheckItemID"].ToString() == HCheckItemNextID) | 
 |  |  |                             { | 
 |  |  |                                 HCheckItemNowID = HCheckItemNextID; | 
 |  |  |                             } | 
 |  |  |                             else if (HCheckItemNowID == HCheckItemNextID) | 
 |  |  |                             { | 
 |  |  |                                 HCheckItemNextID = ds03.Tables[0].Rows[i]["HCheckItemID"].ToString(); | 
 |  |  |                                 break; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         //新的当前审核项目为最后一个审核项目,待审核项目不存在,设为默认值"0" | 
 |  |  |                         if (HCheckItemNowID == HCheckItemNextID) | 
 |  |  |                         { | 
 |  |  |                             HCheckItemNextID = "0"; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         //更新单据主表的审批流数据 | 
 |  |  |                         string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; | 
 |  |  |                         oCN.RunProc(sql04); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                     } | 
 |  |  |                     else                                                                //刚刚审核的审核项目是最后一个审核项目 | 
 |  |  |                     { | 
 |  |  |                         //更新单据主表的审批流数据 | 
 |  |  |                         HCheckItemNowID = "0"; | 
 |  |  |                         HCheckItemNextID = "0"; | 
 |  |  |  | 
 |  |  |                         string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; | 
 |  |  |                         oCN.RunProc(sql04); | 
 |  |  |  | 
 |  |  |                         //更新单据的单据状态 | 
 |  |  |                         if (oBill.CheckBill(oCN, oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Cg_POOrderBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                             objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                             objJsonResult.Message = "审核成功"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |  | 
 |  |  |                             oCN.RollBack(); | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 if (IsAudit == TypeConstant.REVERSE_AUDIT) //反审核提交 | 
 |  |  |                 { | 
 |  |  |                     #region 反审核前的相关判断 | 
 |  |  |                     //反审核前控制========================================= | 
 |  |  |                     DataSet 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 = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:" + "反审核前判断失败!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         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 = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:未发起审批!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |                     string HCheckFlowID = ds0.Tables[0].Rows[0]["HCheckFlowID"].ToString();             //审批流内码 | 
 |  |  |                     string HCheckItemNowID = "0";       //当前审批项目内码 | 
 |  |  |                     string HCheckItemNextID = "0";     //待审批项目内码 | 
 |  |  |                     if (oBill.omodel.HBillStatus == 6) | 
 |  |  |                     { | 
 |  |  |                         for (int i = 0; i < ds0.Tables[0].Rows.Count; i++) | 
 |  |  |                         { | 
 |  |  |                             if (ds0.Tables[0].Rows[i]["HChecker"].ToString() != "") | 
 |  |  |                             { | 
 |  |  |                                 HCheckItemNowID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString(); | 
 |  |  |                                 HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString(); | 
 |  |  |                             } | 
 |  |  |                             else | 
 |  |  |                             { | 
 |  |  |                                 HCheckItemNextID = ds0.Tables[0].Rows[i]["HCheckItemID"].ToString(); | 
 |  |  |                                 break; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         if (HCheckItemNowID == HCheckItemNextID) | 
 |  |  |                         { | 
 |  |  |                             HCheckItemNextID = "0"; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         HCheckItemNowID = ds0.Tables[0].Rows[ds0.Tables[0].Rows.Count - 1]["HCheckItemID"].ToString(); | 
 |  |  |                         HCheckItemNextID = "0"; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     //判断用户是否有权限 审批 当前审批流的审批项目 | 
 |  |  |                     //string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + " and HValue = 1"; | 
 |  |  |                     string sql01 = "select * from Xt_CheckUserRight where HUserID = '" + CurUserID + "' and HCheckFlowInterID = " + HCheckFlowID + " and HCheckItemID = " + HCheckItemNowID + ""; | 
 |  |  |                     DataSet ds01 = oCN.RunProcReturn(sql01, "Xt_CheckUserRight"); | 
 |  |  |                     if (ds01.Tables[0].Rows.Count == 0) | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                         objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                         objJsonResult.Message = "反审核失败!原因:用户无当前审核项目的审核权限!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                     //更新 单据审批状态表 中对应审核项目的审核状态 | 
 |  |  |                     string sql02 = "update Xt_BillCheckFlowStatus set HChecker='',HCheckDate='' where HBillTypeID = '" + oBill.BillType + "' and HBillInterID=" + lngBillKey + " and HCheckFlowID=" + HCheckFlowID + " and HCheckItemID=" + HCheckItemNowID; | 
 |  |  |                     oCN.RunProc(sql02); | 
 |  |  |  | 
 |  |  |                     //判断反审核的单据是否已经审核完成,若审核完成,反审核需要变更单据状态。 | 
 |  |  |                     if (oBill.omodel.HBillStatus == 6) | 
 |  |  |                     { | 
 |  |  |                         //更新单据主表的审批流数据 | 
 |  |  |                         string sql04 = "update " + oBill.MvarItemKey + " set HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey; | 
 |  |  |                         oCN.RunProc(sql04); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                         objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                         objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                         objJsonResult.Message = "审核成功"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |  | 
 |  |  |                         //反审核提交AbandonCheck | 
 |  |  |                         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; | 
 |  |  |                             oCN.RunProc(sql04); | 
 |  |  |                             objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                             objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                             objJsonResult.Message = "反审核成功"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                             objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                             objJsonResult.Message = "反审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |  | 
 |  |  |                             oCN.RollBack(); | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 oCN.Commit(); | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |  | 
 |  |  |                 oCN.RollBack(); | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 采购订单查询列表 | 
 |  |  |         [Route("Cg_POOrderBill/QueryList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object QueryList(string sWhere, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |  | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBillQuery", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限查看!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 string sql = "select * from h_v_Cg_POOrderBillQuery where 1 = 1 "; | 
 |  |  |  | 
 |  |  |                 if (sWhere == "" || sWhere == null) | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_Cg_POOrderBillQuery  order by hmainid desc", "h_v_Cg_POOrderBillQuery"); | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     ds = oCN.RunProcReturn(sql + sWhere + " order by hmainid desc", "h_v_Cg_POOrderBillQuery"); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 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));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 采购订单查询子列表 | 
 |  |  |         [Route("Cg_POOrderBill/QuerySubList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object QuerySubList(string hmainid, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |  | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBillQuery", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限查看!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 string sql = "select * from h_v_Cg_POOrderBillQuerySub where hmainid =  "+ hmainid; | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql + " order by hsubid desc", "h_v_Cg_POOrderBillQuerySub"); | 
 |  |  |                  | 
 |  |  |  | 
 |  |  |                 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));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |  | 
 |  |  |         #region 采购订单下推查询列表 | 
 |  |  |         [Route("Cg_POOrderBill/PushList")] | 
 |  |  |         [HttpGet] | 
 |  |  |         public object PushList(string HBillNo, string user) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 List<object> columnNameList = new List<object>(); | 
 |  |  |                 //判断是否有查询权限 | 
 |  |  |  | 
 |  |  |                 if (!DBUtility.ClsPub.Security_Log("Cg_POOrderBillQuery", 1, false, user)) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "无权限查看!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |                 string sql = "select * from h_v_IF_POOrderBillList where 单据号 = '" + HBillNo + "' and 状态 = '已审核' and 未关联数量 > 0"; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 ds = oCN.RunProcReturn(sql, "h_v_IF_POOrderBillList"); | 
 |  |  |  | 
 |  |  |                 if (ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                     objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                     objJsonResult.Message = "找不到符合条件单据!"; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 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));//获取到DataColumn列对象的列名 | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = CodeConstant.SUCCEED; | 
 |  |  |                 objJsonResult.count = CountConstant.SUCCEED; | 
 |  |  |                 objJsonResult.Message = "Sucess!"; | 
 |  |  |                 objJsonResult.data = ds.Tables[0]; | 
 |  |  |                 objJsonResult.list = columnNameList; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 objJsonResult.code = CodeConstant.FAIL; | 
 |  |  |                 objJsonResult.count = CountConstant.FAIL; | 
 |  |  |                 objJsonResult.Message = "Exception!" + e.ToString(); | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |