1
wtt
4 天以前 797e02f68d79c931233f25af1d39bc136ce6185d
WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
@@ -1,4 +1,6 @@
using Newtonsoft.Json.Linq;
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
@@ -16,6 +18,7 @@
        ClsSb_EquipRepairSendWorkBillMain omodel = new ClsSb_EquipRepairSendWorkBillMain();
        List<ClsSb_EquipRepairSendWorkBillSub> DetailColl = new List<ClsSb_EquipRepairSendWorkBillSub>();
        public DAL.ClsSb_EquipRepairSendWorkBill BillOld = new DAL.ClsSb_EquipRepairSendWorkBill();
        ClsSb_EquipRepairSendWorkBill oBill = new ClsSb_EquipRepairSendWorkBill();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -36,29 +39,32 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBillList where 1=1 ";
                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBill_Edit where 1=1 ";
                if (sWhere == "" || sWhere == null)
                {
                    ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
                    ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBill_Edit");
                }
                else
                {
                    ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
                    ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBill_Edit");
                }
                if (ds.Tables[0].Rows.Count == 0 || ds == null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无记录";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                objJsonResult.code = "1";
                objJsonResult.count = ds.Tables[0].Rows.Count;
                objJsonResult.Message = "Sucess";
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
                //}
                //else
                //{
                //objJsonResult.code = "0";
                //objJsonResult.count = 0;
                //objJsonResult.Message = "无数据";
                //objJsonResult.data = null;
                //return objJsonResult;
                //}
            }
            catch (Exception e)
            {
@@ -70,6 +76,60 @@
            }
        }
        #endregion
        #region 设备派工单分页查询
        [Route("Sb_EquipRepairSendWorkBill/GetEquipRepairSendWorkBillListPage")]
        [HttpGet]
        public object GetEquipRepairSendWorkBillListPage(string sWhere, string user, int page, int size)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipRepairSendWorkBillList", 3, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                sWhere = sWhere.Replace("'", "''");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipRepairSendWorkBillListPage " + page + "," + size + ",''", "h_p_Sb_EquipRepairSendWorkBillListPage");
                }
                else
                {
                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipRepairSendWorkBillListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_Sb_EquipRepairSendWorkBillListPage");
                }
                //添加列名
                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 = "1";
                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备维修派工单 添加/修改
        [Route("Sb_EquipRepairSendWorkBill/AddEquipRepairSendWorkBill")]
@@ -120,6 +180,26 @@
                omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSb_EquipRepairSendWorkBillMain>(msg2);
                string BillType = "3909";
                //保存前控制=========================================
                DataSet ds = oCN.RunProcReturn("Exec h_p_Sb_EquipRepairSendWorkBill_BeforeSaveCtrl " + omodel.HInterID + ",'" + omodel.HBillNo + "','',1", "h_p_Sb_EquipRepairSendWorkBill_BeforeSaveCtrl");
                if (ds == null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存前判断失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //=========================================================
                if (OperationType == 1)//新增
@@ -214,6 +294,26 @@
                i++;
            }
            //保存后控制=========================================
            DataSet ds = oCN.RunProcReturn("Exec h_p_Sb_EquipRepairSendWorkBill_AfterSaveCtrl " + omodel.HInterID + ",'" + omodel.HBillNo + "','',1", "h_p_Sb_EquipRepairSendWorkBill_AfterSaveCtrl");
            if (ds == null)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存前判断失败!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                objJsonResult.data = null;
                return objJsonResult;
            }
            //=========================================================
            objJsonResult.code = "1";
            objJsonResult.count = 1;
            objJsonResult.Message = null;
@@ -248,7 +348,32 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
                //删除前控制=========================================
                string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeDelCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + User + "'";
                ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeDelCtrl");
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //==================================================================================
                bool IsDete = oBill.DeleteBill(Convert.ToInt32(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterDelCtrl", User, ref DBUtility.ClsPub.sExeReturnInfo);
                if (IsDete)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
@@ -263,7 +388,7 @@
                    objJsonResult.Message = "删除失败";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                }
            }
            catch (Exception e)
            {
@@ -276,83 +401,297 @@
        }
        #endregion
        #region 设备维修派工单  审核/反审核
        [Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")]
        //#region 设备维修派工单  审核/反审核
        //[Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")]
        //[HttpGet]
        //public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName)
        //{
        //    string ModRightNameCheck = "Sb_EquipRepairSendWorkBill_Check"; //该模块的审核功能
        //    DBUtility.ClsPub.CurUserName = CurUserName;//存储用户名
        //    try
        //    {
        //        ////判断是否有审核权限
        //        if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "审核失败!无权限!";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        if (HInterID <= 0)
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "ID小于0";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        Int64 lngBillKey = 0;
        //        lngBillKey = DBUtility.ClsPub.isLong(HInterID);//数据转换
        //        //查询审核的数据
        //        ds = oCN.RunProcReturn("select * from Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain");
        //        if (ds.Tables[0].Rows.Count > 0)
        //        {
        //            var hcloseman = ds.Tables[0].Rows[0]["hcloseman"].ToString();//关闭人
        //            var hdeleteman = ds.Tables[0].Rows[0]["hdeleteman"].ToString();//作废人
        //            var hchecker = ds.Tables[0].Rows[0]["hchecker"].ToString();//审核人
        //            if (hcloseman != "")
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "当前单据已关闭,无法审核!";
        //                objJsonResult.data = null;
        //                return objJsonResult;
        //            }
        //            if (hdeleteman != "")
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "当前单据已作废,无法审核!";
        //                objJsonResult.data = null;
        //                return objJsonResult;
        //            }
        //            //IsAudit==0 审核
        //            if (IsAudit == 0)
        //            {
        //                if (hchecker != "")
        //                {
        //                    objJsonResult.code = "0";
        //                    objJsonResult.count = 0;
        //                    objJsonResult.Message = "当前单据已审核,无法再次审核!";
        //                    objJsonResult.data = null;
        //                    return objJsonResult;
        //                }
        //            }
        //            //IsAudit==1 反审核
        //            if (IsAudit == 1)
        //            {
        //                if (hchecker == "")
        //                {
        //                    objJsonResult.code = "0";
        //                    objJsonResult.count = 0;
        //                    objJsonResult.Message = "当前单据未审核,无法反审核!";
        //                    objJsonResult.data = null;
        //                    return objJsonResult;
        //                }
        //            }
        //        }
        //        else
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "单据不存在;原因:" + DBUtility.ClsPub.sExeReturnInfo;
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        //审核提交
        //        if (IsAudit == 0)
        //        {
        //            if (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
        //            {
        //                objJsonResult.code = "1";
        //                objJsonResult.count = 1;
        //                objJsonResult.Message = "审核成功!";
        //                objJsonResult.data = null;
        //                return objJsonResult;
        //            }
        //            else
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "审核失败!";
        //                objJsonResult.data = null;
        //                return objJsonResult;
        //            }
        //        }
        //        //反审核提交
        //        if (IsAudit == 1)
        //        {
        //            if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
        //            {
        //                objJsonResult.code = "1";
        //                objJsonResult.count = 1;
        //                objJsonResult.Message = "反审核成功!";
        //                objJsonResult.data = null;
        //                return objJsonResult;
        //            }
        //            else
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "反审核失败!";
        //                objJsonResult.data = null;
        //                return objJsonResult;
        //            }
        //        }
        //        return objJsonResult;
        //    }
        //    catch (Exception e)
        //    {
        //        objJsonResult.code = "0";
        //        objJsonResult.count = 0;
        //        objJsonResult.Message = "审核失败或反审核失败" + e.ToString();
        //        objJsonResult.data = null;
        //        return objJsonResult;
        //    }
        //}
        ////审核
        //public bool CheckBill(Int64 lngBillKey, ref string sReturn)
        //{
        //    try
        //    {
        //        string Hchecker = DBUtility.ClsPub.CurUserName;
        //        oCN.BeginTran();//打开事务
        //        oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' where HInterID='"+ lngBillKey + "'");
        //        oCN.Commit();//关闭事务
        //        sReturn = "审核成功!";
        //        return true;
        //    }
        //    catch (Exception e)
        //    {
        //        sReturn = e.Message;
        //        throw (e);
        //    }
        //}
        ////反审核
        //public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
        //{
        //    try
        //    {
        //        string Hchecker = DBUtility.ClsPub.CurUserName;
        //        oCN.BeginTran();//打开事务
        //        oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'");
        //        oCN.Commit();//关闭事务
        //        sReturn = "反审核单据成功!";
        //        return true;
        //    }
        //    catch (Exception e)
        //    {
        //        sReturn = e.Message;
        //        throw(e);
        //    }
        //}
        //#endregion
        #region 审核/反审核
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Sb_EquipRepairSendWorkBill/AuditSb_EquipRepairSendWorkBill")]
        [HttpGet]
        public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName)
        public object AuditSb_EquipRepairSendWorkBill(string HInterID, int Type, string user)
        {
            string ModRightNameCheck = "Sb_EquipRepairSendWorkBill_Check"; //该模块的审核功能
            DBUtility.ClsPub.CurUserName = CurUserName;//存储用户名
            try
            {
                ////判断是否有审核权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
                //判断是否有审核权限
                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Check", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.Message = "无权限审核!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (HInterID <= 0)
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "ID小于0";
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(HInterID);//数据转换
                ClsPub.CurUserName = user;
                BillOld.MvarItemKey = "Sb_EquipRepairSendWorkBillMain";
                oCN.BeginTran();//开始事务
                //查询审核的数据
                ds = oCN.RunProcReturn("select * from Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                //Type 1 审核  2  反审核
                if (Type == 1)
                {
                    var hcloseman = ds.Tables[0].Rows[0]["hcloseman"].ToString();//关闭人
                    var hdeleteman = ds.Tables[0].Rows[0]["hdeleteman"].ToString();//作废人
                    var hchecker = ds.Tables[0].Rows[0]["hchecker"].ToString();//审核人
                    if (hcloseman != "")
                    //判断单据是否已经审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "当前单据已关闭,无法审核!";
                        objJsonResult.Message = "单据不存在!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (hdeleteman != "")
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "当前单据已作废,无法审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //IsAudit==0 审核
                    if (IsAudit == 0)
                    {
                        if (hchecker != "")
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "当前单据已审核,无法再次审核!";
                            objJsonResult.Message = "单据已关闭!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    //IsAudit==1 反审核
                    if (IsAudit == 1)
                    {
                        if (hchecker == "")
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "当前单据未审核,无法反审核!";
                            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.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //审核前控制=========================================
                        string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            oCN.RollBack();
                            return objJsonResult;
                        }
                        //==================================================================================
                        if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
@@ -360,100 +699,297 @@
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在;原因:" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                    //判断单据是否已经反审核
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //反审核前控制=========================================
                        string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeUnCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeUnCheckCtrl");
                        if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //===========================================================
                        if (!BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                //审核提交
                if (IsAudit == 0)
                {
                    if (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //反审核提交
                if (IsAudit == 1)
                {
                    if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "反审核失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                return objJsonResult;
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "执行成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或反审核失败" + e.ToString();
                objJsonResult.Message = "执行失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        //审核
        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string Hchecker = DBUtility.ClsPub.CurUserName;
                oCN.BeginTran();//打开事务
                oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' where HInterID='"+ lngBillKey + "'");
                oCN.Commit();//关闭事务
                sReturn = "审核成功!";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        //反审核
        public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                string Hchecker = DBUtility.ClsPub.CurUserName;
        #endregion
                oCN.BeginTran();//打开事务
                oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'");
                oCN.Commit();//关闭事务
                sReturn = "反审核单据成功!";
                return true;
        #region 关闭/反关闭功能
        [Route("Sb_EquipRepairSendWorkBill/CloseSb_EquipRepairSendWorkBill")]
        [HttpGet]
        public object CloseSb_EquipRepairSendWorkBill(string HInterID, int Type, string user)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Close", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限关闭!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HInterID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ClsPub.CurUserName = user;
                BillOld.MvarItemKey = "Sb_EquipRepairSendWorkBillMain";
                oCN.BeginTran();//开始事务
                //Type 1 关闭  2  反关闭
                if (Type == 1)
                {
                    //判断单据是否已经关闭
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds == null || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据不存在!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (ds.Tables[0].Rows[0]["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]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        string sql2 = "";
                        //关闭前控制===============================================Begin===================================================================
                        sql2 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql2, "h_p_Sb_EquipRepairSendWorkBill_BeforeCloseCtrl");
                        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;
                        }
                        //关闭前控制===============================================End===================================================================
                        //关闭提交
                        if (BillOld.CloseBill(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            objJsonResult.code = "1";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "关闭成功";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    //判断单据是否已经反关闭
                    DataSet ds;
                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
                    {
                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已作废!不能进行关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        if (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]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未关闭!不需要再反关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        string sql2 = "";
                        //反关闭前控制===============================================Begin===================================================================
                        sql2 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeUnCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
                        ds = oCN.RunProcReturn(sql2, "h_p_Sb_EquipRepairSendWorkBill_BeforeUnCloseCtrl");
                        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;
                        }
                        //反关闭前控制===============================================End===================================================================
                        //反关闭提交
                        if (BillOld.CancelClose(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterUnCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                        {
                            objJsonResult.code = "1";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "反关闭成功";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "执行成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw(e);
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "执行失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion