zrg
2024-07-31 e1dd681c82cdde2b21c35eb091fc992202d6d339
WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -1,4 +1,5 @@
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@@ -48,22 +49,12 @@
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipFileMainList");
                }
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                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)
            {
@@ -91,7 +82,7 @@
                return objJsonResult;
            }
            string s = "";
            //string s = "";
            Int64 lngBillKey = 0;
            lngBillKey = DBUtility.ClsPub.isLong(HItemID);
            if (lngBillKey == 0)
@@ -103,9 +94,23 @@
                return objJsonResult;
            }
            DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain();
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            oCN.BeginTran();
            ds = oCN.RunProcReturn("select * from Gy_EquipFileBillMain where HInterID=" + HItemID, "Gy_EquipFileBillMain");
            if (ds.Tables[0].Rows.Count > 0)
            {
                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据当前处于不能删除状态!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.RunProc("Delete From Gy_EquipFileBillMain  where HInterID=" + lngBillKey);
                oCN.RunProc("Delete From Gy_EquipFileBillSub_MaintainRule  where HInterID=" + lngBillKey);
                oCN.RunProc("Delete From Gy_EquipFileBillSub_DotCheckRule  where HInterID=" + lngBillKey);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功";
@@ -120,6 +125,7 @@
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
@@ -150,6 +156,80 @@
        }
        #endregion
        # region 设备保养规程编辑时获取表体数据新(保养规程列表、点检规程列表)
        [Route("Gy_EquipFileMain/Gy_EquipFileMainSubAndSubItem")]
        [HttpGet]
        public object Gy_EquipFileMainSubAndSubItem(string HInterID)
        {
            DataSet ds, ds1;
            List<object> list = new List<object>();
            string Swhere = "";
            try
            {
                if (HInterID != "" || HInterID != null)
                {
                    Swhere = " and hmainid='" + HInterID + "'";
                }
                else
                {
                    Swhere = HInterID;
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                //获取保养项目编辑数据
                string sql = "select 保养项目ID HMaintainItemID,保养项目代码 HMaintainItemNumber,保养项目 HMaintainItem,保养部位 HMaintainPart,具体要求 HClaim,负责人ID HManagerID,负责人代码 HManagerNumber,负责人名称 HManagerName,子备注2 HRemark from h_v_Sb_EquipMaintainRuleSub_Item where 1 = 1 " + Swhere + "";
                ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainRuleSub_Item");
                //获取配件项目编辑数据
                string sql1 = "select 配件ID HMaterID,配件代码 HMaterNumber,配件名称 HMaterName,单位ID HUnitID,计量单位代码 HUnitNumber,计量单位名称 HUnitName,用量 HQty,子备注1 HRemark from h_v_Sb_EquipMaintainRuleSub where 1 = 1 " + Swhere + "";
                ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainRuleSub");
                list.Add(ds.Tables[0]);
                list.Add(ds1.Tables[0]);
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取信息成功!";
                objJsonResult.list = list;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
        #region[设备档案编辑时获取子表数据]
        [Route("Gy_EquipFileMain/Gy_EquipFileSubDetai")]
        [HttpGet]
        public object Gy_EquipFileSubDetai(long HInterID)
        {
            try
            {
                List<DataTable> tableList = new List<DataTable>();
                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_MaintainRule AS a left join Sb_EquipMaintainRuleBillMain as b on b.HInterID = a.HMaintainRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_MaintainRule");
                tableList.Add(ds.Tables[0]);
                ds = oCN.RunProcReturn("select a.*,b.HBillNo from Gy_EquipFileBillSub_DotCheckRule AS a left join Sb_EquipDotCheckRuleBillMain as b on b.HInterID = a.HDotCheckRuleID where a.HInterID = " + HInterID, "Gy_EquipFileBillSub_DotCheckRule");
                tableList.Add(ds.Tables[0]);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "";
                objJsonResult.data = tableList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备档案新增保存
        /// <summary>
        /// 模治具分类-保存按钮
@@ -165,11 +245,12 @@
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                string msg2 = sArray[0].ToString(); //主表数据
                string msg3 = sArray[1].ToString(); //子表1
                string msg4 = sArray[2].ToString(); //子表2
                string msg5 = sArray[3].ToString(); //用户
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg4))
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -210,7 +291,10 @@
                string HLogo = list[0].HLogo;                //√      varchar(50)   //品牌
                int HSellSupID = list[0].HSellSupID;              // √   int      //供应商(Gy_Supplier)
                int HMakeSupID = list[0].HMakeSupID;              // int      //制造商 (Gy_Supplier) 
                string HMaker = msg4;
                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //是否主生产设备(否,是)
                string HMacAddress = list[0].HMacAddress;   // varchar(50) //数采物理地址
                int HMainSourceID = list[0].HMainSourceID;  //int //所属主生产设备(Gy_EquipFileBillMain)
                string HMaker = msg5;
                string HMakeDate = DateTime.Now.Date.ToString();
                int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
@@ -224,22 +308,30 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DataSet DS = oCN.RunProcReturn("Select * from Gy_EquipFileBillMain Where  HEquipFileNumber='" + HEquipFileNumber + "' and HInterID<>" + HInterID, "Gy_EquipFileBillMain", ref Pub_Class.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count != 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码重复!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                //主表
                oCN.RunProc("Insert into Gy_EquipFileBillMain " +
                   " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                   " (HInterID,hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                   ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID) " +
                   " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID,HMainSourceFlag,HMacAddress,HMainSourceID) " +
                   " Values("+ HInterID+",'" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                   ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
                   "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                objJsonResult = AddBillSub(msg3, msg4, HInterID, hbillno, 1);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "新增成功!";
                //objJsonResult.data = null;
                return objJsonResult;
            }
@@ -267,11 +359,12 @@
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                string msg2 = sArray[0].ToString(); //主表数据
                string msg3 = sArray[1].ToString(); //子表1
                string msg4 = sArray[2].ToString(); //子表2
                string msg5 = sArray[3].ToString(); //用户
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg4))
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -308,7 +401,10 @@
                string HLogo = list[0].HLogo;                //√      varchar(50)   //品牌
                int HSellSupID = list[0].HSellSupID;              // √   int      //供应商(Gy_Supplier)
                int HMakeSupID = list[0].HMakeSupID;              // int      //制造商 (Gy_Supplier)
                string HUpDater = msg4;
                string HMainSourceFlag = list[0].HMainSourceFlag;             //varchar(10) //是否主生产设备(否,是)
                string HMacAddress = list[0].HMacAddress;   // varchar(50) //数采物理地址
                int HMainSourceID = list[0].HMainSourceID;  //int //所属主生产设备(Gy_EquipFileBillMain)
                string HUpDater = msg5;
                string HUpDateDate = DateTime.Now.Date.ToString();
                int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
@@ -363,19 +459,20 @@
                    ",HLogo='" + HLogo + "'" +
                    ",HSellSupID=" + HSellSupID +
                    ",HMakeSupID= " + HMakeSupID +
                    ",HUpDater= '" + HUpDater + "'" +
                    ",HUpDater= '" + HUpDater + "'" +
                    ",HUpDateDate= '" + HUpDateDate + "'" +
                    ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" +
                    ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" +
                    ",HSourceID='" + HSourceID + "'" +
                    ",HMainSourceFlag= '" + HMainSourceFlag + "'" +
                    ",HMacAddress= '" + HMacAddress + "'" +
                    ",HMainSourceID = '" + HMainSourceID + "'" +
                    " Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                //修改子项目代码
                //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                //
                objJsonResult = AddBillSub(msg3, msg4, HInterID, list[0].HBillNo, 2);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "修改成功!";
                //objJsonResult.data = null;
                return objJsonResult;
            }
@@ -391,13 +488,117 @@
        }
        #endregion
        #region 设备档案保存子表数据
        /// <summary>
        /// 子表数据新增或者编辑
        /// </summary>
        /// <param name="msg3"></param>
        /// <param name="msg4"></param>
        /// <param name="HInterID"></param>
        /// <param name="HBillNo"></param>
        /// <param name="OperationType">1为添加2为编辑</param>
        /// <returns></returns>
        public json AddBillSub(string msg3, string msg4, long HInterID, string HBillNo, int OperationType)
        {
                List<ClsGy_EquipFileBillSub_MaintainRule> MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_MaintainRule>>(msg3);
                List<ClsGy_EquipFileBillSub_DotCheckRule> DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EquipFileBillSub_DotCheckRule>>(msg4);
                if (OperationType == 2)
                {
                    //删除子表
                    oCN.RunProc("delete from Gy_EquipFileBillSub_MaintainRule where HInterID = " + HInterID );
                    oCN.RunProc("delete from Gy_EquipFileBillSub_DotCheckRule where HInterID = " + HInterID );
                }
                int i = 0;
                //保存保养规格
                foreach (ClsGy_EquipFileBillSub_MaintainRule oSub in MaintainRuleColl)
                {
                    i++;
                    if (oSub.HMaintainRuleID <= 0 || oSub.HMaintainRuleID == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "第" + i + "行,保养规格不能为空";
                        objJsonResult.data = null;
                        throw new Exception("保养规格不能为空");
                }
                    DataSet Cs;
                    Int64 NewHEntryID = 1;
                    Int64 newHFlag = 1;
                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_MaintainRule", "Gy_EquipFileBillSub_MaintainRule");
                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                    {
                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
                        NewHEntryID += 1;
                    }
                    if(oSub.HStdFlag == true)
                    {
                        newHFlag = 1;
                    }
                    else
                    {
                        newHFlag = 0;
                    }
                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_MaintainRule
                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
                 HMaintainRuleID,HStdFlag
               )
                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
                ,{oSub.HMaintainRuleID},{newHFlag})");
                }
                i = 0;
                //保存点检规程
                foreach (ClsGy_EquipFileBillSub_DotCheckRule oSub in DotCheckRuleColl)
                {
                    i++;
                    if (oSub.HDotCheckRuleID <= 0 || oSub.HDotCheckRuleID == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "第" + i + "行,点检规程不能为空";
                        objJsonResult.data = null;
                        throw new Exception("点检规程不能为空");
                    }
                    DataSet Cs;
                    Int64 NewHEntryID = 1;
                    Int64 newHFlag = 1;
                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Gy_EquipFileBillSub_DotCheckRule", "Gy_EquipFileBillSub_DotCheckRule");
                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                    {
                        NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
                        NewHEntryID += 1;
                    }
                    if (oSub.HStdFlag == true)
                    {
                        newHFlag = 1;
                    }
                    else
                    {
                        newHFlag = 0;
                    }
                    oCN.RunProc($@"Insert into Gy_EquipFileBillSub_DotCheckRule
                (HInterID,HBillNo_bak,HEntryID,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,
                 HDotCheckRuleID,HStdFlag
               )
                 values({HInterID},'{HBillNo}',{NewHEntryID},'{oSub.HRemark}',{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',{oSub.HRelationQty},{oSub.HRelationMoney}
                ,{oSub.HDotCheckRuleID},{newHFlag})");
                }
                //修改上级为非末级代码
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存子表成功!";
                //objJsonResult.data = null;
                return objJsonResult;
        }
        #endregion
        #region[设备履历(点击主表带出从表)]
        [Route("Gy_EquipFileMain/Sb_EquipFileBillResumeDate")]
        [HttpGet]
        public object Sb_EquipFileBillResumeDate(string HInterID)
        {
            DataTable ds, ds1;
            DataTable ds, ds1,ds2;
            long HInterID1 = long.Parse(HInterID);
            List<object> list = new List<object>();
            try
@@ -407,9 +608,11 @@
                string sql1 = string.Format($"exec h_p_Gy_EquipRecord {HInterID1}");
                ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[0];
                ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[1];
                ds2 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[2];
                list.Add(ds);//日常记录
                list.Add(ds1);//维修记录
                list.Add(ds2);//配件更换清单
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "获取信息成功!";
@@ -729,5 +932,388 @@
        }
        #endregion
        #region 设备运行状态报表
        [Route("SB_EquipRunningStatus/Report")]
        [HttpGet]
        public object Report(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "没有查看权限";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipRunningStatusReport " + sWhere + " order by 所属日期 desc", "h_v_Sb_EquipRunningStatusReport");
                }
                else
                {
                    string sql1 = "select * from h_v_Sb_EquipRunningStatusReport where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by 所属日期 desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipRunningStatusReport");
                }
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
                //if (ds.Tables[0].Rows.Count != 0 && ds != null)
                //{
                //}
                //else
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "无数据";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备运行状态报表 树状图 部门分类查询
        public class TreeModel_Report
        {
            public string id { get; set; }
            public string title { get; set; }
            public string type { get; set; }
            public List<TreeModel_Report> children = new List<TreeModel_Report>();
        }
        [Route("SB_EquipRunningStatus/ReportTreeGetList")]
        [HttpGet]
        public object ReportTreeGetList(string sWhere, string user)
        {
            try
            {
                ds = oCN.RunProcReturn("select HItemID,HNumber,HName  from Gy_Department", "Gy_Department");
                List<TreeModel_Report> treeModels = new List<TreeModel_Report>();
                TreeModel_Report first = new TreeModel_Report();
                DataSet Ds;
                string HCampanyName = "";
                Ds = oCN.RunProcReturn("select HValue from Xt_SystemParameter where HCaption = '客户名称'", "Xt_SystemParameter");
                if (Ds.Tables[0].Rows.Count != 0 && Ds != null)
                {
                    HCampanyName = Ds.Tables[0].Rows[0]["HValue"].ToString();
                }
                first.id = "0";
                first.title = HCampanyName;
                treeModels.Add(first);
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    var strLen = row["hitemid"].ToString().Split('.');
                    if (strLen.Length == 1)
                    {
                        TreeModel_Report tree = new TreeModel_Report();
                        tree.id = row["HItemID"].ToString();
                        tree.title = row["HName"].ToString();
                        tree.type = "Department";
                        treeModels[0].children.Add(tree);
                    }
                }
                getWorkCenter_Level2(ds.Tables[0], treeModels[0].children);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// 第二级工作中心
        /// </summary>
        public void getWorkCenter_Level2(DataTable dt, List<TreeModel_Report> tree)
        {
            for (int i = 0;i < dt.Rows.Count;i++)
            {
                var HDeptID = dt.Rows[i]["HItemID"].ToString();
                ds = oCN.RunProcReturn("select distinct HItemID,HNumber,HName from Gy_WorkCenter where HDeptID = " + HDeptID, "Gy_WorkCenter");
                if (ds.Tables[0].Rows.Count != 0 && ds != null)
                {
                    for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
                    {
                        TreeModel_Report tbjson = new TreeModel_Report();
                        tbjson.id = ds.Tables[0].Rows[j]["HItemID"].ToString();
                        tbjson.title = ds.Tables[0].Rows[j]["HName"].ToString();
                        tbjson.type = "WorkCenter";
                        tree[i].children.Add(tbjson);
                    }
                }
                //digui_Report(ds.Tables[0], tree[i].children, 2);
            }
        }
        /// <summary>
        /// 递归函数
        /// </summary>
        public void digui_Report(DataTable dt, List<TreeModel_Report> tree, int num)
        {
            for (int m = 0; m < tree.Count; m++)
            {
                tree[m].children = new List<TreeModel_Report>();
                for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集
                {
                    var HWorkCenterNumber = dt.Rows[i]["HNumber"].ToString();
                    DataSet Ds;
                    Ds = oCN.RunProcReturn("select distinct HItemID,HNumber,HName from Gy_WorkCenter where HNumber like '" + HWorkCenterNumber + "%'", "Gy_WorkCenter");
                    if (Ds.Tables[0].Rows.Count != 0 && Ds != null)
                    {
                        for (int j = 0;j < Ds.Tables[0].Rows.Count;j++)
                        {
                            var strLen = Ds.Tables[0].Rows[j]["HNumber"].ToString().Split('.');
                            if (strLen.Length == num && Ds.Tables[0].Rows[j]["HNumber"].ToString().Contains(tree[m].id + "."))
                            {
                                TreeModel_Report tbjson = new TreeModel_Report();
                                tbjson.id = Ds.Tables[0].Rows[j]["HItemID"].ToString();
                                tbjson.title = Ds.Tables[0].Rows[j]["HName"].ToString();
                                tbjson.type = "WorkCenter";
                                tree[m].children.Add(tbjson);
                            }
                        }
                    }
                }
                var strLens = tree[m].id.Split('.');
                for (int i = 0; i < tree[m].children.Count; i++)
                {
                    digui_Report(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集
                }
            }
        }
        #endregion
        #region 设备PDA模块 扫码
        [Route("Gy_EquipFileBill/txtHBarCode_KeyDown")]
        [HttpGet]
        public object txtHBarCode_KeyDown(string HBarCode, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                if (HBarCode == null || HBarCode.Equals(""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "条码信息为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    string sql = "select * from h_v_Gy_EquipFileBill_KeyDown_PDA where 条形码 = '" + HBarCode + "'";
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipFileBill_KeyDown_PDA");
                }
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //添加列名
                    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.data = ds.Tables[0];
                    objJsonResult.list = columnNameList;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "设备条码:" + HBarCode + " ,没有创建此设备档案";
                    objJsonResult.data = ds.Tables[0];
                    objJsonResult.list = columnNameList;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 设备履历列表
        [Route("Gy_EquipFileMain/GetResumeList")]
        [HttpGet]
        public object GetResumeList(string HInterID, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有查看权限";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn($@"select a.HInterID,a.HDate '日期',a.HBillType,x.HName 单据类型,a.HBillNo as '单据号',
                    CASE WHEN a.HBillStatus <= 1 THEN '创建' WHEN a.HBillStatus = 2 THEN '已审核' WHEN a.HBillStatus = 3 AND
                    a.HCloseType = 0 THEN '自动关闭' WHEN a.HBillStatus = 3 AND
                    a.HCloseType = 1 THEN '手动关闭' WHEN a.HBillStatus = 4 THEN '已作废' ELSE '其它状态' END AS 单据状态,
                    a.HMaker AS 制单人, a.HMakeDate AS 制单日期,a.HChecker AS 审核人, a.HCheckDate AS 审核日期, a.HUpDater AS 修改人, a.HUpDateDate AS 修改日期,
                    a.HCloseMan AS 关闭人, a.HCloseDate AS 关闭日期, a.HDeleteMan AS 作废人, a.HDeleteDate AS 作废日期
                    from (
                    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType  from Gy_EquipFileBillMain where HInterID = {HInterID} UNION ALL
                    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipStockInCheckBillMain where HEquipID = {HInterID} UNION ALL
                    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipDotCheckBillMain where HEquipID = {HInterID} UNION ALL
                    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipMaintainBillMain where HEquipID = {HInterID} UNION ALL
                    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipRepairWorkBillMain where HEquipID = {HInterID} UNION ALL
                    select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sb_EquipConkBookBillMain where HEquipID = {HInterID}
                    )as a,Xt_BillType as x
                    where a.HBillType = x.HNumber
                    ORDER BY '日期' ASC;", "h_v_Gy_EquipFileMainList");
                //添加动态列信息
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 器具履历列表
        [Route("Gy_MouldFileMain/GetMouldResumeList")]
        [HttpGet]
        public object GetMouldResumeList(string HInterID, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                if (!DBUtility.ClsPub.Security_Log("Gy_MouldFileList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有查看权限";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn($@"select a.HInterID,a.HDate '日期',a.HBillType,x.HName 单据类型,a.HBillNo as '单据号',
                CASE WHEN a.HBillStatus <= 1 THEN '创建' WHEN a.HBillStatus = 2 THEN '已审核' WHEN a.HBillStatus = 3 AND
                a.HCloseType = 0 THEN '自动关闭' WHEN a.HBillStatus = 3 AND
                a.HCloseType = 1 THEN '手动关闭' WHEN a.HBillStatus = 4 THEN '已作废' ELSE '其它状态' END AS 单据状态,
                a.HMaker AS 制单人, a.HMakeDate AS 制单日期,a.HChecker AS 审核人, a.HCheckDate AS 审核日期, a.HUpDater AS 修改人, a.HUpDateDate AS 修改日期,
                a.HCloseMan AS 关闭人, a.HCloseDate AS 关闭日期, a.HDeleteMan AS 作废人, a.HDeleteDate AS 作废日期
                from (
                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType  from Gy_MouldFileMain where HInterID = {HInterID} UNION ALL
                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldDotCheckBillMain where HMouldID = {HInterID} UNION ALL
                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldMaintainBillMain where HMouldID = {HInterID} UNION ALL
                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldRepairWorkBillMain  where HMouldID = {HInterID} UNION ALL
                select HInterID,HDate,HBillType,HBillNo,HBillStatus,HMaker,HMakeDate,HChecker,HCheckDate,HUpDater,HUpDateDate,HCloseMan,HCloseDate,HDeleteMan,HDeleteDate,HCloseType from Sc_MouldConkBookBillMain where HMouldID = {HInterID} UNION ALL
                select a.HInterID,a.HDate,a.HBillType,a.HBillNo,a.HBillStatus,a.HMaker,a.HMakeDate,a.HChecker,a.HCheckDate,a.HUpDater,a.HUpDateDate,a.HCloseMan,a.HCloseDate,a.HDeleteMan,a.HDeleteDate,a.HCloseType
                from Sc_MouldStockBillMain as a,Sc_MouldStockBillSub as b
                where  a.HInterID = b.HInterID and b.HMaterID = {HInterID} and HBillType in ('3801','3829','3826','3831','3827')
                )as a,Xt_BillType as x
                where a.HBillType = x.HNumber
                ORDER BY '日期' ASC;", "Gy_MouldFileResume");
                //添加动态列信息
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}