1
yangle
2023-04-09 b9fd1cf0ad82b241b767c1af35f2e86536786d4b
WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -27,8 +27,10 @@
        DAL.ClsIF_Material_View oMaterHlp = new DAL.ClsIF_Material_View();
        public DAL.ClsGy_Process_View oProcHlp = new DAL.ClsGy_Process_View();
        DAL.ClsGy_WorkCenter_View oCenHlp = new DAL.ClsGy_WorkCenter_View();
        DAL.ClsGy_Warehouse_View oCenWare = new DAL.ClsGy_Warehouse_View();
        Gy_RoutingBill_temporary omdelMian = new Gy_RoutingBill_temporary();
        public string BillType = "3301";
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        #region 未知
        /// <summary>
@@ -141,7 +143,7 @@
                string HBillNo = mainList[0].HBillNo;//递入type得到的单据号
                DateTime HDate = mainList[0].HDate;//日期
                int HYear = DateTime.Now.Year;
                double HPeriod = 1;
                double HPeriod = DateTime.Now.Month;
                string HRemark = mainList[0].HRemark;//备注
                string HMaker = mainList[0].HMaker;//制单人
                long HMaterID = mainList[0].HMaterID;//产品ID
@@ -162,7 +164,7 @@
                double HStdSourceQty = mainList[0].HStdSourceQty;//标准资源数
                double HAddSourceRate = mainList[0].HAddSourceRate;//加资源增量
                double HDelSourceRate = mainList[0].HDelSourceRate;//减资源减量
                int HPRDORGID = mainList[0].HOrgID;  //生产组织
                int HPRDORGID = mainList[0].HPRDORGID;  //生产组织
                int HOrgID = mainList[0].HOrgID;  //组织
                string HPicNumVer = mainList[0].HPicNumVer;//图号版本
                string HPicNumAssemble = mainList[0].HPicNumAssemble;//总装图号
@@ -170,7 +172,7 @@
                string HProductNum = mainList[0].HProductNum;//成品编号
                string HVerNum = mainList[0].HVerNum;//版本
                int IsProNo = mainList[0].IsProNo;//是否转工序
                if (OperationType == 2)
                {
                    ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where  单据号='" + HBillNo + "'", "h_v_Gy_RoutingBillList");
@@ -229,11 +231,46 @@
                    return objJsonResult;
                }
                if (IsProNo == 1 && OperationType == 1)
                string sErrMsg = "";
                if (oSystemParameter.ShowBill(ref sErrMsg))
                {
                    //设置转工序
                    oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
                    if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
                    {
                        if (oSystemParameter.omodel.Gy_RoutingBill_SaveAutoLastProc == "Y" && OperationType == 1)
                        {
                            ds = oCN.RunProcReturn("select * from Gy_Process Where HTProcessFlag = 1 and HNumber='9999' ", "Gy_Process");
                            if (ds.Tables[0].Rows.Count == 0)
                            {
                                objJsonResult.code = "0";
                                objJsonResult.count = 0;
                                objJsonResult.Message = "未设置转工序!";
                                objJsonResult.data = null;
                                return objJsonResult;
                            }
                            //设置转工序
                            oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
                        }
                    }
                    else if (IsProNo == 1 && OperationType == 1)
                    {
                        ds = oCN.RunProcReturn("select * from Gy_Process Where HTProcessFlag = 1 and HNumber='9999' ", "Gy_Process");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "未设置转工序!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //设置转工序
                        oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
                    }
                }
                //是否勾选默认工艺路线
                if (HStandard)
@@ -313,7 +350,7 @@
                    ",HProcID_S,HCenterID_S,HWorkQty_S,HSubStdEmpQty_S,HMouldNo,HChangeMould" +
                    ",HPackStd,HPack,HPutArea,HMyWorkDays,HMyFixWorkDays,HPassRate" +
                    ",HTechnologyParameter,HPicNum,HProcCheckNote" +
                    ",HOverRate,HProcWorkNum" +
                    ",HOverRate,HProcWorkNum,HBadWHID,HWasterWHID, HWHID " +
                    ") values("
                    + HInterID + "," + i + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNo + "'," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "" +
                    "," + oSub.HWorkQty.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HTimeUnit.ToString() + "'," + oSub.HUnitTime.ToString() +
@@ -325,7 +362,7 @@
                   "," + oSub.HProcID_S.ToString() + "," + oSub.HCenterID_S.ToString() + "," + oSub.HWorkQty_S.ToString() + ", " + oSub.HSubStdEmpQty_S.ToString() + ",'" + oSub.HMouldNo + "'," + oSub.HChangeMould.ToString() +
                   ",'" + oSub.HPackStd + "','" + oSub.HPack + "','" + oSub.HPutArea + "'," + oSub.HMyWorkDays.ToString() + "," + oSub.HMyFixWorkDays.ToString() + "," + oSub.HPassRate.ToString() +
                   ",'" + oSub.HTechnologyParameter.ToString() + "','" + oSub.HPicNum.ToString() + "','" + oSub.HProcCheckNote.ToString() +
                   "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'" +
                   "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'," + oSub.HBadWHID.ToString()+"," + oSub.HWasterWHID.ToString()+"," + oSub.HWHID.ToString() +
                    ") ");
                }
            }
@@ -335,6 +372,46 @@
            objJsonResult.Message = null;
            objJsonResult.data = null;
            return objJsonResult;
        }
        #endregion
        #region 工艺路线列表 查询系统参数
        /// <summary>
        /// 返回工艺路线列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("LEMS/MES_XT_List")]
        [HttpGet]
        public object MES_XT_List(string sWhere)
        {
            try
            {
                string flag = "flase";
                string sErrMsg = "";
                if (oSystemParameter.ShowBill(ref sErrMsg))
                {
                    if (oSystemParameter.omodel.Gy_RoutingBill_SaveAutoLastProc == "Y")
                    {
                        flag = "true";
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = flag;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
@@ -446,6 +523,15 @@
                if (!tb2.Columns.Contains("良率"))
                    error += "没有找到【良率】的标题";
                if (!tb2.Columns.Contains("不良品仓"))
                    error += "没有找到【不良品仓】的标题";
                if (!tb2.Columns.Contains("报废品仓"))
                    error += "没有找到【报废品仓】的标题";
                if (!tb2.Columns.Contains("良品仓"))
                    error += "没有找到【良品仓】的标题";
                if (error.Length > 0)
                {
                    objJsonResult.code = "0";
@@ -507,12 +593,12 @@
                                , 良率, 工序工价, 不合格单价, 报废单价, 本道固定开工天数, 本道开工余量, 上道等待天数
                                , 上道循环周期, 自动转移, 外协标记, 供应商代码, 供应商, 工艺参数, 图纸编号
                                , 本工序确认记录, 备注, 图号版本, 总装图号, 材质, 成品编号, 版本
                                , 模具编号, 程序号, 班产定额, 工艺路线名称, 时间单位,工艺路线代码)values
                                , 模具编号, 程序号, 班产定额, 工艺路线名称, 时间单位,工艺路线代码,不良品仓,报废品仓,良品仓)values
                                ('" + tb2.Rows[i]["产品代码"].ToString() + "','" + tb2.Rows[i]["产品名称"].ToString() + "','" + tb2.Rows[i]["工序序号"].ToString() + "','" + tb2.Rows[i]["工序代码"].ToString() + "','" + tb2.Rows[i]["工序"].ToString() + "','" + tb2.Rows[i]["工作中心"].ToString() + "','" + tb2.Rows[i]["加工数量"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["良率"].ToString() + "','" + (tb2.Rows[i]["工序工价"].ToString() == "" ? "0" : tb2.Rows[i]["工序工价"].ToString()) + "','" + tb2.Rows[i]["不合格单价"].ToString() + "','" + tb2.Rows[i]["报废单价"].ToString() + "','" + tb2.Rows[i]["本道固定开工天数"].ToString() + "','" + tb2.Rows[i]["本道开工余量"].ToString() + "','" + tb2.Rows[i]["上道等待天数"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["上道循环周期"].ToString() + "','" + tb2.Rows[i]["自动转移"].ToString() + "','" + tb2.Rows[i]["外协标记"].ToString() + "','" + tb2.Rows[i]["供应商代码"].ToString() + "','" + tb2.Rows[i]["供应商"].ToString() + "','" + tb2.Rows[i]["工艺参数"].ToString() + "','" + tb2.Rows[i]["图纸编号"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["本工序确认记录"].ToString() + "','" + tb2.Rows[i]["备注"].ToString() + "','" + tb2.Rows[i]["图号版本"].ToString() + "','" + tb2.Rows[i]["总装图号"].ToString() + "','" + tb2.Rows[i]["材质"].ToString() + "','" + tb2.Rows[i]["成品编号"].ToString() + "','" + tb2.Rows[i]["版本"].ToString() + "'" +
                                ",'" + tb2.Rows[i]["模具编号"].ToString() + "','" + tb2.Rows[i]["程序号"].ToString() + "','" + tb2.Rows[i]["班产定额"].ToString() + "','" + tb2.Rows[i]["工艺路线名称"].ToString() + "','" + tb2.Rows[i]["时间单位"].ToString() + "','" + tb2.Rows[i]["工艺路线代码"].ToString() + "')");
                                ",'" + tb2.Rows[i]["模具编号"].ToString() + "','" + tb2.Rows[i]["程序号"].ToString() + "','" + tb2.Rows[i]["班产定额"].ToString() + "','" + tb2.Rows[i]["工艺路线名称"].ToString() + "','" + tb2.Rows[i]["时间单位"].ToString() + "','" + tb2.Rows[i]["工艺路线代码"].ToString() + "','" + tb2.Rows[i]["不良品仓"].ToString() + "','" + tb2.Rows[i]["报废品仓"].ToString() + "','" + tb2.Rows[i]["良品仓"].ToString() + "')");
                }
                objJsonResult.code = "1";
@@ -545,12 +631,12 @@
                Single sWorkQty = 0;
                Single sHPassRate = 0;
                //
                sHNumber = DBUtility.ClsPub.isStrNull(dt.Rows[i]["产品代码"].ToString());
                sHNumberCen = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工作中心"].ToString());
                sHNamePoc = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工序"].ToString());
                sWorkQty = DBUtility.ClsPub.isSingle(dt.Rows[i]["加工数量"].ToString());
                sHPassRate = DBUtility.ClsPub.isSingle(dt.Rows[i]["良率"].ToString());
                if (sHNumber != "")
                {
                    // 
@@ -613,9 +699,92 @@
                            sErrMsg = sErrMsg + "[" + sHNumberCen + "]工作中心不存在\r\n";
                        }
                        b = true;
                    }
                    string sErr = "";
                    if (oSystemParameter.ShowBill(ref sErr))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
                        {
                            string HBadWHName = ""; //不良品仓
                            string HWasterWHName = ""; //报废品仓
                            string HWHName = ""; //良品仓
                            HBadWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["不良品仓"].ToString());
                            HWasterWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["报废品仓"].ToString());
                            HWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["良品仓"].ToString());
                            //判断是否为空
                            if (HBadWHName == "")
                            {
                                sErrMsg = sErrMsg + "第" + index + "行 :不良品仓不能为空 !\r\n";
                                b = true;
                            }
                            if (HWasterWHName == "")
                            {
                                sErrMsg = sErrMsg + "第" + index + "行 :报废品仓不能为空 !\r\n";
                                b = true;
                            }
                            if (HWHName == "")
                            {
                                sErrMsg = sErrMsg + "第" + index + "行 :良品仓不能为空 !\r\n";
                                b = true;
                            }
                            //判断仓库是否重复
                            if (HBadWHName == HWasterWHName)
                            {
                                sErrMsg = sErrMsg + "不良品仓和报废品仓重复\r\n";
                                b = true;
                            }
                            if (HWasterWHName == HWHName)
                            {
                                sErrMsg = sErrMsg + "报废品仓和良品仓重复\r\n";
                                b = true;
                            }
                            if (HBadWHName == HWHName)
                            {
                                sErrMsg = sErrMsg + "不良品仓和良品仓重复\r\n";
                                b = true;
                            }
                            //得到仓库内码
                            if (!oCenWare.GetInfoByName(HBadWHName))
                            {
                                sMsg = "[" + HBadWHName + "]仓库不存在";
                                if (sErrMsg.Contains(sMsg) == false)
                                {
                                    sErrMsg = sErrMsg + "[" + HBadWHName + "]仓库不存在\r\n";
                                }
                                b = true;
                            }
                            if (!oCenWare.GetInfoByName(HWasterWHName))
                            {
                                sMsg = "[" + HWasterWHName + "]仓库不存在";
                                if (sErrMsg.Contains(sMsg) == false)
                                {
                                    sErrMsg = sErrMsg + "[" + HWasterWHName + "]仓库不存在\r\n";
                                }
                                b = true;
                            }
                            if (!oCenWare.GetInfoByName(HWHName))
                            {
                                sMsg = "[" + HWHName + "]仓库不存在";
                                if (sErrMsg.Contains(sMsg) == false)
                                {
                                    sErrMsg = sErrMsg + "[" + HWHName + "]仓库不存在\r\n";
                                }
                                b = true;
                            }
                        }
                    }
                }
            }
            if (b == true)
@@ -739,5 +908,305 @@
            }
        }
        #endregion
        #region  工艺路线 审核、反审核
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_RoutingBill/AuditGy_RoutingBill")]
        [HttpGet]
        public object AuditGy_RoutingBill(string HInterID, int IsAudit, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_RoutingBill_Check", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HInterID=" + HInterID, "Gy_RoutingBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //审核判断
                {
                    oCN.RunProc("update Gy_RoutingBillMain set HChecker='" + CurUserName + "',HCheckDate=getdate() where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    oCN.RunProc("update Gy_RoutingBillMain set HChecker='',HCheckDate=null where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  工艺路线 关闭、反关闭
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_RoutingBill/CloseGy_RoutingBill")]
        [HttpGet]
        public object CloseGy_RoutingBill(string HInterID, int IsAudit, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_RoutingBill_Close", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HInterID=" + HInterID, "Gy_RoutingBillMain");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //关闭判断
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已关闭!不能再次关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反关闭判断
                    {
                        if (ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未关闭!不需要反关闭!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //关闭判断
                {
                    oCN.RunProc("update Gy_RoutingBillMain set HCloseMan='" + CurUserName + "',HCloseDate=getdate() where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "关闭成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反关闭判断
                {
                    oCN.RunProc("update Gy_RoutingBillMain set HCloseMan='',HCloseDate=null where HInterID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反关闭成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "关闭失败或者反关闭失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 工艺路线列表 主表
        /// <summary>
        /// 返回工艺路线列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_RoutingBill/Gy_RoutingBillQuery")]
        [HttpGet]
        public object Gy_RoutingBillQuery(string sWhere, string user)
        {
            DataSet ds;
            try
            {
                //判断是否有查询权限
                //if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "无权限查询!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql1 = "select  top 1000 * from h_v_Gy_RoutingBillQuery where 1 = 1 ";
                string sql = sql1 + sWhere + " order by hmainid desc";
                ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillQuery");
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
            return GetObjectJson(ds);
        }
        #endregion
        #region 工艺路线列表 子表
        /// <summary>
        /// 返回工艺路线列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_RoutingBill/Gy_RoutingBillQuerySub")]
        [HttpGet]
        public object Gy_RoutingBillQuerySub(string sWhere)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql1 = "select  top 1000 * from h_v_Gy_RoutingBillQuerySub where 1 = 1 and hmainid=" + sWhere;
                string sql = sql1  + " order by hmainid desc,cast(工序号 as int)";
                ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillQuerySub");
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
            return GetObjectJson(ds);
        }
        #endregion
        ///<summary>
        ///封装状态码及返回信息的公用方法。
        ///参数:DataSet。
        ///返回值:json。
        ///</summary>
        public object GetObjectJson(DataSet ds)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
    }
}