using DBUtility; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers.SBGL { public class Gy_EquipFileMainController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus;//单据状态(新增,修改,浏览,更新单价,变更) private json objJsonResult = new json(); public DataSet ds = new DataSet(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); public DLL.ClsGy_EquipFileMain BillNew0 = new DLL.ClsGy_EquipFileMain(); public DLL.ClsGy_EquipFileMain BillOld0 = new DLL.ClsGy_EquipFileMain(); public DAL.ClsGy_EquipFileMain BillOld = new DAL.ClsGy_EquipFileMain(); #region 设备档案列表 [Route("Gy_EquipFileMain/GetList")] [HttpGet] public object GetList(string sWhere, string user) { try { 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_Gy_EquipFileMainList " + sWhere + " order by hmainid desc", "h_v_Gy_EquipFileMainList"); } else { string sql1 = "select * from h_v_Gy_EquipFileMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by hmainid desc"; ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipFileMainList"); } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; 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("Gy_EquipFileMain/Delete_EquipFile")] [HttpGet] public object Delete_EquipFile(string HItemID, string user) { if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Delete", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无删除权限!"; objJsonResult.data = null; return objJsonResult; } //string s = ""; Int64 lngBillKey = 0; lngBillKey = DBUtility.ClsPub.isLong(HItemID); if (lngBillKey == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据ID为空!"; objJsonResult.data = null; return objJsonResult; } DLL.ClsGy_EquipFileMain oBill = new DLL.ClsGy_EquipFileMain(); 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 = "删除成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未找到"; objJsonResult.data = null; return objJsonResult; } } #endregion #region[设备档案编辑时获取表头数据] [Route("Gy_EquipFileMain/Gy_EquipFileCheckDetai")] [HttpGet] public object Gy_EquipFileCheckDetai(long HInterID) { try { ds = oCN.RunProcReturn("select * from h_v_Gy_EquipFileMainList where hmainid=" + HInterID, "h_v_Gy_EquipFileMainList"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = ""; 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("Gy_EquipFileMain/Gy_EquipFileMainSubAndSubItem")] [HttpGet] public object Gy_EquipFileMainSubAndSubItem(string HInterID) { DataSet ds, ds1; List list = new List(); 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 tableList = new List(); 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 设备档案新增保存 /// /// 模治具分类-保存按钮 ///参数:string sql。 ///返回值:object。 /// [Route("Gy_EquipFileMain/AddBill")] [HttpPost] public object AddBill([FromBody] JObject oMain) { try { 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(); //子表1 string msg4 = sArray[2].ToString(); //子表2 string msg5 = sArray[3].ToString(); //用户 if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } //反序列化 msg2 = "[" + msg2.ToString() + "]"; List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); string hbillno = list[0].HBillNo; string HYear = DateTime.Now.Year.ToString(); DateTime HDate = list[0].HDate; long HInterID = list[0].HInterID; string HEquipFileNumber = list[0].HEquipFileNumber; string HEquipFileNo = list[0].HEquipFileNo; // varchar(50) //设备编码(唯一) string HName = list[0].HName; // √ varchar(100) //设备名称 string HModel = list[0].HModel; // √ varchar(100) //设备规格 string HModel2 = list[0].HModel2; // √ varchar(100) //设备型号 int HMaterID = list[0].HMaterID; // √ int //对应物料 int HUnitID = list[0].HUnitID; // √ int //单位 string HOutComDate = list[0].HOutComDate; // √ datetime //设备出厂日期 string HOutComNo = list[0].HOutComNo; // √ varchar(100) //设备出厂编号 int HDeptID = list[0].HDeptID; // √ int //使用部门(gy_Department) int HUseEmpID = list[0].HUseEmpID; //√ int //使用负责人(gy_Employee) int HRepairEmpID = list[0].HRepairEmpID; //√ int //维护负责人(gy_Employee) string HAddress = list[0].HAddress; // √ varchar(500) //安装地点 string HSetupDate = list[0].HSetupDate; //√ datetime //安装日期 string HStartupDate = list[0].HStartupDate; //√ datetime //运行开始日期 string HStatus = list[0].HStatus; // √ varchar(20) //当前状态(空闲、占用、加工、关机、异常停机) int HEquipFileTypeID = list[0].HEquipFileTypeID; //√ int //设备类别(Gy_EquipFileType) string HProNum = list[0].HProNum; // √ varchar(100) //工程编码 string HBarCode = list[0].HBarCode; //√ varchar(100) //条形码(暂时保存此字段) string HWorkArea = list[0].HWorkArea; //√ varchar(50) //产地 string HLogo = list[0].HLogo; //√ varchar(50) //品牌 int HSellSupID = list[0].HSellSupID; // √ int //供应商(Gy_Supplier) int HMakeSupID = list[0].HMakeSupID; // int //制造商 (Gy_Supplier) 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; int HSourceID = list[0].HSourceID; if (!DBUtility.ClsPub.AllowNumber(HEquipFileNumber)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!"; 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 " + " (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,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 + ",'" + HMainSourceFlag + "','" + HMacAddress + "','" + HMainSourceID + "')", ref DBUtility.ClsPub.sExeReturnInfo); //修改上级为非末级代码 objJsonResult = AddBillSub(msg3, msg4, HInterID, hbillno, 1); oCN.Commit(); //objJsonResult.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #region 设备档案修改保存 [Route("Gy_EquipFileMain/EditBill")] [HttpPost] public object EditBill([FromBody] JObject oMain) { try { 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(); //子表1 string msg4 = sArray[2].ToString(); //子表2 string msg5 = sArray[3].ToString(); //用户 if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Edit", 1, false, msg5)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } //反序列化 msg2 = "[" + msg2.ToString() + "]"; List list = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); long HInterID = list[0].HInterID; string HEquipFileNumber = list[0].HEquipFileNumber; string HEquipFileNo = list[0].HEquipFileNo; // varchar(50) //设备编码(唯一) string HName = list[0].HName; // √ varchar(100) //设备名称 string HModel = list[0].HModel; // √ varchar(100) //设备规格 string HModel2 = list[0].HModel2; // √ varchar(100) //设备型号 int HMaterID = list[0].HMaterID; // √ int //对应物料 int HUnitID = list[0].HUnitID; // √ int //单位 string HOutComDate = list[0].HOutComDate; // √ datetime //设备出厂日期 string HOutComNo = list[0].HOutComNo; // √ varchar(100) //设备出厂编号 int HDeptID = list[0].HDeptID; // √ int //使用部门(gy_Department) int HUseEmpID = list[0].HUseEmpID; //√ int //使用负责人(gy_Employee) int HRepairEmpID = list[0].HRepairEmpID; //√ int //维护负责人(gy_Employee) string HAddress = list[0].HAddress; // √ varchar(500) //安装地点 string HSetupDate = list[0].HSetupDate; //√ datetime //安装日期 string HStartupDate = list[0].HStartupDate; //√ datetime //运行开始日期 string HStatus = list[0].HStatus; // √ varchar(20) //当前状态(空闲、占用、加工、关机、异常停机) int HEquipFileTypeID = list[0].HEquipFileTypeID; //√ int //设备类别(Gy_EquipFileType) string HProNum = list[0].HProNum; // √ varchar(100) //工程编码 string HBarCode = list[0].HBarCode; //√ varchar(100) //条形码(暂时保存此字段) string HWorkArea = list[0].HWorkArea; //√ varchar(50) //产地 string HLogo = list[0].HLogo; //√ varchar(50) //品牌 int HSellSupID = list[0].HSellSupID; // √ int //供应商(Gy_Supplier) int HMakeSupID = list[0].HMakeSupID; // int //制造商 (Gy_Supplier) 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; int HSourceID = list[0].HSourceID; if (!DBUtility.ClsPub.AllowNumber(HEquipFileNumber)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!"; 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("Update Gy_EquipFileBillMain set " + " HEquipFileNumber='" + HEquipFileNumber + "'" + ",HEquipFileNo='" + HEquipFileNo + "'" + ",HName='" + HName + "'" + ",HModel='" + HModel + "'" + ",HModel2='" + HModel2 + "'" + ",HMaterID=" + HMaterID + ",HUnitID=" + HUnitID + ",HOutComDate='" + HOutComDate + "'" + ",HOutComNo='" + HOutComNo + "'" + ",HDeptID=" + HDeptID + ",HUseEmpID=" + HUseEmpID + ",HRepairEmpID=" + HRepairEmpID + ",HAddress='" + HAddress + "'" + ",HSetupDate='" + HSetupDate + "'" + ",HStartupDate='" + HStartupDate + "'" + ",HStatus='" + HStatus + "'" + ",HEquipFileTypeID=" + HEquipFileTypeID + ",HProNum='" + HProNum + "'" + ",HBarCode='" + HBarCode + "'" + ",HWorkArea='" + HWorkArea + "'" + ",HLogo='" + HLogo + "'" + ",HSellSupID=" + HSellSupID + ",HMakeSupID= " + HMakeSupID + ",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.data = null; return objJsonResult; } catch (Exception e) { oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception!" + e.Message; objJsonResult.data = null; return objJsonResult; } } #endregion #region 设备档案保存子表数据 /// /// 子表数据新增或者编辑 /// /// /// /// /// /// 1为添加2为编辑 /// public json AddBillSub(string msg3, string msg4, long HInterID, string HBillNo, int OperationType) { List MaintainRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3); List DotCheckRuleColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(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,ds2; long HInterID1 = long.Parse(HInterID); List list = new List(); try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //获取配件项目编辑数据 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 = "获取信息成功!"; 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_MouldFileBillResumeDate")] [HttpGet] public object Gy_MouldFileBillResumeDate(string HInterID) { DataTable ds, ds1, ds2, ds3; long HInterID1 = long.Parse(HInterID); List list = new List(); try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //获取配件项目编辑数据 string sql1 = string.Format($"exec h_p_Gy_MouldRecord {HInterID1}"); ds = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[0]; ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[1]; ds2 = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[2]; ds3 = oCN.RunProcReturn(sql1, "h_p_Gy_MouldRecord").Tables[3]; list.Add(ds);//出入库记录 list.Add(ds1);//器具耗用记录 list.Add(ds2);//日常记录 list.Add(ds3);//维修记录 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_MouldFileBillBarCodeInfo")] [HttpGet] public object Gy_MouldFileBillBarCodeInfo(string HBarCode) { DataTable ds; List list = new List(); try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //获取配件项目编辑数据 string sql1 = string.Format($"exec h_p_Gy_EquipFileGetInfoByBarCode {HBarCode}"); ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipFileGetInfoByBarCode").Tables[0]; list.Add(ds);//设备档案 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_EquipFileBill/CheckGy_EquipFileBill")] [HttpGet] public object CheckGy_EquipFileBill(string HInterID, int Type, string user) { try { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Check", 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; oCN.BeginTran();//开始事务 //Type 1 审核 2 反审核 if (Type == 1) { if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } else { if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + 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) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 设备档案关闭/反关闭功能 [Route("Gy_EquipFileBill/CloseGy_EquipFileBill")] [HttpGet] public object CloseGy_EquipFileBill(string HInterID, int Type, string user) { try { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_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; oCN.BeginTran();//开始事务 //Type 1 关闭 2 反关闭 if (Type == 1) { if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } else { if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反关闭失败!原因:" + 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) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "执行失败!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 设备档案列表 树状图 设备分类查询 public class TreeModel { public string id { get; set; } public string title { get; set; } public List children = new List(); } [Route("Gy_EquipFileMain/TreeGetList")] [HttpGet] public object TreeGetList(string sWhere, string user) { try { ds = oCN.RunProcReturn("select HItemID,HNumber,HName from Gy_EquipFileType", "Gy_EquipFileType"); List treeModels = new List(); TreeModel first = new TreeModel(); first.id = "0"; first.title = "设备分类设置"; treeModels.Add(first); foreach (DataRow row in ds.Tables[0].Rows) { var strLen = row["hitemid"].ToString().Split('.'); if (strLen.Length == 1) { TreeModel tree = new TreeModel(); tree.id = row["HItemID"].ToString(); tree.title = row["HName"].ToString(); treeModels[0].children.Add(tree); } } digui(ds.Tables[0], treeModels[0].children, 2); 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; } } /// /// 递归函数 /// public void digui(DataTable dt, List tree, int num) { for (int m = 0; m < tree.Count; m++) { tree[m].children = new List(); for (int i = 0; i < dt.Rows.Count; i++)//第一次循环,得到所有根节点的子集 { var strLen = dt.Rows[i]["HNumber"].ToString().Split('.'); if (strLen.Length == num && dt.Rows[i]["HNumber"].ToString().Contains(tree[m].id + ".")) { TreeModel tbjson = new TreeModel(); tbjson.id = dt.Rows[i]["HItemID"].ToString(); tbjson.title = dt.Rows[i]["HName"].ToString(); tree[m].children.Add(tbjson); } } var strLens = tree[m].id.Split('.'); for (int i = 0; i < tree[m].children.Count; i++) { digui(dt, tree[m].children, strLens.Length + 2);//再次用子集去循环,拿出子集的子集 } } } #endregion #region 设备运行状态报表 [Route("SB_EquipRunningStatus/Report")] [HttpGet] public object Report(string sWhere, string user) { try { List columnNameList = new List(); //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 children = new List(); } [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 treeModels = new List(); 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; } } /// /// 第二级工作中心 /// public void getWorkCenter_Level2(DataTable dt, List 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); } } /// /// 递归函数 /// public void digui_Report(DataTable dt, List tree, int num) { for (int m = 0; m < tree.Count; m++) { tree[m].children = new List(); 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 columnNameList = new List(); 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 columnNameList = new List(); 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 columnNameList = new List(); 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 } }