using Dapper; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Threading.Tasks; using VueWebCoreApi.Models; using VueWebCoreApi.Tools; namespace VueWebCoreApi.DLL.DAL { public class DeviceManagerDAL { public static DataTable dt; //定义全局变量dt public static bool res; //定义全局变量dt public static ToMessage mes = new ToMessage(); //定义全局返回信息对象 public static string strProcName = ""; //定义全局sql变量 public static List listStr = new List(); //定义全局参数集合 public static SqlParameter[] parameters; //定义全局SqlParameter参数数组 #region[设备组查询] public static ToMessage DeviceGroupSearch(int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); try { // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.remark from TEqpGroup A inner join TEqpType B on A.eqptype_code=B.code where A.is_delete<>'1' "; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备组新增] public static ToMessage AddUpdateDeviceGroup(List json, string username) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //循环写入设备类型表 for (int i = 0; i < json.Count; i++) { sql = @"insert into TEqpGroup(code,name,lm_user,lm_date,remark,eqptype_code) values(@code,@name,@username,@createdate,@description,@eqptype_code)"; list.Add(new { str = sql, parm = new { code = json[i].code, name = json[i].name, username = username, createdate = DateTime.Now.ToString(), description = json[i].description, eqptype_code = json[i].group } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备类型删除] public static ToMessage DeleteDeviceGroup(string devicegroupcode) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断设备组下是否关联设备 sql = @"select * from TEqpInfo where eqpgroup_code=@devicegroupcode and is_delete<>'1'"; dynamicParams.Add("@devicegroupcode", devicegroupcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "当前设备组已有关联设备组,不允许删除!"; mes.data = null; } else { //删除设备组 sql = @"delete TEqpGroup where code=@devicegroupcode"; list.Add(new { str = sql, parm = new { devicegroupcode = devicegroupcode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "删除失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备类型查找设备组] public static ToMessage DeviceTypeSelectGroup(string eqptypecode) { string sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { //获取设备类型数据 sql = @"select code,name from TEqpGroup where eqptype_code=@eqptypecode and is_delete<>'1'"; dynamicParams.Add("@eqptypecode", eqptypecode); var data = DapperHelper.selectdata(sql, dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[所属车间下拉接口] public static ToMessage WorkShopSelect(string stu_torgcode, string description) { string sql = ""; string search = ""; var dynamicParams = new DynamicParameters(); try { //获取设备类型数据 switch (description) { case "": search += "and parent.description=@description "; dynamicParams.Add("@description", "W"); break; case "D": search += "and child.org_code=@stu_torgcode "; dynamicParams.Add("@stu_torgcode", stu_torgcode); break; case "W": search += "and parent.org_code=@stu_torgcode "; dynamicParams.Add("@stu_torgcode", stu_torgcode); break; default: break; } sql = @"select parent.org_code as code,parent.org_name as name from TOrganization parent left join TOrganization as child on parent.parent_id=child.id where parent.is_delete<>'1' " + search; var data = DapperHelper.selectdata(sql, dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[所属车间查找所属产线接口] public static ToMessage WorkShopSelectLine(string workshopcode) { string sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { //获取角色类型集合(包含绑定标识) dynamicParams.Add("@workshop_code", workshopcode); var data = DapperHelper.selectProcedure("h_p_T_WorkShopSelectLine", dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备类型查询] public static ToMessage DeviceTypeSearch() { try { // --------------查询指定数据-------------- var sql = @"select id, code,name from TEqpType"; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.count = data.Rows.Count; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备类型新增] public static ToMessage AddUpdateDeviceType(string OperType, List json, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); if (OperType == "Add") { //判断设备类型是否重复 sql = @"select * from TEqpType where code=@devtypecode"; dynamicParams.Add("@devtypecode", json[0].code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "设备类型编码已存在,请重新输入!"; mes.data = null; return mes; } //判断设备类型名称是否重复 sql = @"select * from TEqpType where name=@devtypename"; dynamicParams.Add("@devtypename", json[0].name); var data1 = DapperHelper.selectdata(sql, dynamicParams); if (data1.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "设备类型名称已存在,请重新输入!"; mes.data = null; return mes; } //循环写入设备类型表 for (int i = 0; i < json.Count; i++) { sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) values(@code,@name,@username,@createdate,@description)"; list.Add(new { str = sql, parm = new { code = json[i].code, name = json[i].name, username = us.usercode, createdate = DateTime.Now.ToString(), description = json[i].description } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "新增了设备类型:" + string.Join(",", json.Select(m => m.code)), us.usertype); mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } if (OperType == "Update") { //判断设备名称是否重复 sql = @"select * from TEqpType where code<>@devtypecode and name=@devtypename"; dynamicParams.Add("@devtypecode", json[0].code); dynamicParams.Add("@devtypename", json[0].name); var data1 = DapperHelper.selectdata(sql, dynamicParams); if (data1.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "设备类型名称已存在,请重新输入!"; mes.data = null; return mes; } for (int i = 0; i < json.Count; i++) { sql = @"update TEqpType set name=@devtypename,remark=@remark,lm_user=@lm_user,lm_date=@lm_date where code=@devtypecode"; list.Add(new { str = sql, parm = new { devtypecode = json[i].code, devtypename = json[i].name, remark = json[i].description, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "修改了设备类型:" + string.Join(",", json.Select(m => m.code)), us.usertype); mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备类型删除] public static ToMessage DeleteDeviceType(string devicetypecode, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断设备有无关联设备类型 sql = @"select * from TEqpInfo where eqptype_code=@devicetypecode"; dynamicParams.Add("@devicetypecode", devicetypecode); var data0 = DapperHelper.selectdata(sql, dynamicParams); if (data0.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "当前设备类型已有关联设备,不允许删除!"; mes.data = null; } else { sql = @"delete TEqpType where code=@devicetypecode"; list.Add(new { str = sql, parm = new { devicetypecode = devicetypecode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "删除了设备类型:" + devicetypecode, us.usertype); mes.code = "200"; mes.count = 0; mes.message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "删除失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region [设备清单查询] public static ToMessage DeviceMangerSearch(string devicecode, string devicename, string status, string storgcode, string devicetype, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (devicecode != "" && devicecode != null) { search += "and A.code like '%'+@devicecode+'%' "; dynamicParams.Add("@devicecode", devicecode); } if (devicename != "" && devicename != null) { search += "and A.name like '%'+@devicename+'%' "; dynamicParams.Add("@devicename", devicename); } if (status != "" && status != null) { search += "and A.enable=@status "; dynamicParams.Add("@status", status); } if (storgcode != "" && storgcode != null) { search += "and A.torg_code=@storgcode "; dynamicParams.Add("@storgcode", storgcode); } if (devicetype != "" && devicetype != null) { search += "and A.eqptype_code=@devicetype "; dynamicParams.Add("@devicetype", devicetype); } // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.enable,A.torg_code,T.torg_name,A.opc_uom,U.username as lm_user,A.lm_date from TEqpInfo A left join TEqpType B on A.eqptype_code=B.code left join TOrganization T on A.torg_code=T.torg_code left join TUser U on A.lm_user=U.usercode where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备信息新增编辑] public static ToMessage AddUpdateDeviceManger(string devicecode, string devicename, string devicetype, string storgcode, string status, string OperType, User us) { var dynamicParams = new DynamicParameters(); string sql = ""; try { if (OperType == "Add") { //判断设备编码是否重复 sql = @"select * from TEqpInfo where code=@devicecode"; dynamicParams.Add("@devicecode", devicecode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "设备编码已存在,请重新输入!"; mes.data = null; return mes; } //判断设备名称是否重复 sql = @"select * from TEqpInfo where name=@devicename"; dynamicParams.Add("@devicename", devicename); var data1 = DapperHelper.selectdata(sql, dynamicParams); if (data1.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "设备名称已存在,请重新输入!"; mes.data = null; return mes; } sql = @"insert into TEqpInfo(code,name,eqptype_code,torg_code,enable,opc_uom,lm_user,lm_date) values(@devicecode,@devicename,@devicetype,@torg_code,@status,@uom,@usercode,@CreateDate)"; dynamicParams.Add("@devicecode", devicecode); dynamicParams.Add("@devicename", devicename); dynamicParams.Add("@devicetype", devicetype); dynamicParams.Add("@torg_code", storgcode); dynamicParams.Add("@status", status); dynamicParams.Add("@uom", "台"); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "新增", "新增了设备:" + devicecode, us.usertype); mes.code = "200"; mes.count = 0; mes.message = "新增操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "新增操作失败!"; mes.data = null; } } if (OperType == "Update") { //判断设备名称是否重复 sql = @"select * from TEqpInfo where code<>@code and name=@name"; dynamicParams.Add("@code", devicecode); dynamicParams.Add("@name", devicename); var data1 = DapperHelper.selectdata(sql, dynamicParams); if (data1.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "设备名称已存在,请重新输入!"; mes.data = null; return mes; } sql = @"update TEqpInfo set name=@devicename,eqptype_code=@devicetype,torg_code=@torg_code,enable=@status,lm_user=@usercode,lm_date=@CreateDate where code=@devicecode"; dynamicParams.Add("@devicecode", devicecode); dynamicParams.Add("@devicename", devicename); dynamicParams.Add("@devicetype", devicetype); dynamicParams.Add("@torg_code", storgcode); dynamicParams.Add("@status", status); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "修改", "修改了设备:" + devicecode, us.usertype); mes.code = "200"; mes.count = 0; mes.message = "修改操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "修改操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备信息删除] public static ToMessage DeleteDeviceManger(string devicecode, User us) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断设备是否有开报工,不允许删除 //删除设备 sql = @"delete TEqpInfo where code=@devicecode"; list.Add(new { str = sql, parm = new { devicecode = devicecode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { //写入操作记录表 LogHelper.DbOperateLog(us.usercode, "删除", "删除了设备:" + devicecode, us.usertype); mes.code = "200"; mes.count = 0; mes.message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检项列表查询] public static ToMessage DeviceCheckItemSearch(string checkitemcode, string checkitemname, string checkdescr, string isqrcode, string cycle, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (checkitemcode != "" && checkitemcode != null) { search += "and A.code like '%'+@checkitemcode+'%' "; dynamicParams.Add("@checkitemcode", checkitemcode); } if (checkitemname != "" && checkitemname != null) { search += "and A.name like '%'+@checkitemname+'%' "; dynamicParams.Add("@checkitemname", checkitemname); } if (checkdescr != "" && checkdescr != null) { search += "and A.description like '%'+@checkdescr+'%' "; dynamicParams.Add("@checkdescr", checkdescr); } if (isqrcode != "" && isqrcode != null) { search += "and A.isscan=@isqrcode "; dynamicParams.Add("@isqrcode", isqrcode); } if (cycle != "" && cycle != null) { search += "and A.cycle=@cycle "; dynamicParams.Add("@cycle", cycle); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,A.isscan,A.cycle,U.username as lm_user,A.lm_date from TEqpchk_Item A left join TUser U on A.lm_user=U.usercode where A.is_delete<>'1' " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检项新增编辑] public static ToMessage AddUpdateDeviceCheckItem(string checkitemid, string checkitemcode, string checkitemname, string checkitemdescr, string cycle, string isqrcode, User us, string operType) { var dynamicParams = new DynamicParameters(); try { if (operType == "Add") { var sql = @"insert into TEqpchk_Item(code,name,description,isscan,cycle,lm_user,lm_date) values(@checkitemcode,@checkitemname,@checkitemdescr,@isqrcode,@cycle,@usercode,@CreateDate)"; dynamicParams.Add("@checkitemcode", checkitemcode); dynamicParams.Add("@checkitemname", checkitemname); dynamicParams.Add("@checkitemdescr", checkitemdescr); dynamicParams.Add("@isqrcode", isqrcode); dynamicParams.Add("@cycle", cycle); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { mes.code = "200"; mes.count = 0; mes.message = "新增操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "新增操作失败!"; mes.data = null; } } if (operType == "Update") { var sql = @"update TEqpchk_Item set name=@checkitemname,description=@checkitemdescr,isscan=@isqrcode,cycle=@cycle, lm_user=@usercode,lm_date=@CreateDate where id=@checkitemid"; dynamicParams.Add("@checkitemid", checkitemid); dynamicParams.Add("@checkitemname", checkitemname); dynamicParams.Add("@checkitemdescr", checkitemdescr); dynamicParams.Add("@isqrcode", isqrcode); dynamicParams.Add("@cycle", cycle); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { mes.code = "200"; mes.count = 0; mes.message = "修改操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "修改操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检项删除] public static ToMessage DeleteDeviceCheckItem(string checkitemcode) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断点检标准项目是否有关联点检标准,不允许删除 sql = @"select * from TEqpchk_Deta where code=@checkitemcode"; dynamicParams.Add("@checkitemcode", checkitemcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "当前点检项目已关联标准,不允许删除!"; mes.data = null; return mes; } //删除点检项目 sql = @"delete TEqpchk_Item where code=@checkitemcode"; list.Add(new { str = sql, parm = new { checkitemcode = checkitemcode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养项列表查询] public static ToMessage DeviceMaiItemSearch(string maiitemcode, string maiitemname, string maidescr, string isqrcode, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (maiitemcode != "" && maiitemcode != null) { search += "and A.code like '%'+@maiitemcode+'%' "; dynamicParams.Add("@maiitemcode", maiitemcode); } if (maiitemname != "" && maiitemname != null) { search += "and A.name like '%'+@maiitemname+'%' "; dynamicParams.Add("@maiitemname", maiitemname); } if (maidescr != "" && maidescr != null) { search += "and A.description like '%'+@maidescr+'%' "; dynamicParams.Add("@maidescr", maidescr); } if (isqrcode != "" && isqrcode != null) { search += "and A.isscan=@isqrcode "; dynamicParams.Add("@isqrcode", isqrcode); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,A.isscan,U.username as lm_user,A.lm_date from TEqpmai_Item A left join TUser U on A.lm_user=U.usercode where A.is_delete<>'1' " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养项新增编辑] public static ToMessage AddUpdateDeviceMaiItem(string maiitemid, string maiitemcode, string maiitemname, string maiitemdescr, string isqrcode, User us, string operType) { var dynamicParams = new DynamicParameters(); try { if (operType == "Add") { var sql = @"insert into TEqpmai_Item(code,name,description,isscan,lm_user,lm_date) values(@maiitemcode,@maiitemname,@maiitemdescr,@isqrcode,@usercode,@CreateDate)"; dynamicParams.Add("@maiitemcode", maiitemcode); dynamicParams.Add("@maiitemname", maiitemname); dynamicParams.Add("@maiitemdescr", maiitemdescr); dynamicParams.Add("@isqrcode", isqrcode); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { mes.code = "200"; mes.count = 0; mes.message = "新增操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "新增操作失败!"; mes.data = null; } } if (operType == "Update") { var sql = @"update TEqpmai_Item set name=@maiitemname,description=@maiitemdescr,isscan=@isqrcode, lm_user=@usercode,lm_date=@CreateDate where id=@maiitemid"; dynamicParams.Add("@maiitemid", maiitemid); dynamicParams.Add("@maiitemname", maiitemname); dynamicParams.Add("@maiitemdescr", maiitemdescr); dynamicParams.Add("@isqrcode", isqrcode); dynamicParams.Add("@usercode", us.usercode); dynamicParams.Add("@CreateDate", DateTime.Now.ToString()); int cont = DapperHelper.SQL(sql, dynamicParams); if (cont > 0) { mes.code = "200"; mes.count = 0; mes.message = "修改操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "修改操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养项删除] public static ToMessage DeleteDeviceMaiItem(string maiitemcode) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { list.Clear(); //判断保养标准项目是否有关联保养标准,不允许删除 sql = @"select * from TEqpmai_Deta where code=@maiitemcode"; dynamicParams.Add("@maiitemcode", maiitemcode); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "当前保养项目已关联标准,不允许删除!"; mes.data = null; return mes; } //删除保养项目 sql = @"delete TEqpmai_Item where code=@maiitemcode"; list.Add(new { str = sql, parm = new { maiitemcode = maiitemcode } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检标准列表查询] public static ToMessage DeviceCheckStandArdSearch(User us, string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (checkstandcode != "" && checkstandcode != null) { search += "and A.code like '%'+@checkstandcode+'%' "; dynamicParams.Add("@checkstandcode", checkstandcode); } if (checkstandname != "" && checkstandname != null) { search += "and A.name like '%'+@checkstandname+'%' "; dynamicParams.Add("@checkstandname", checkstandname); } if (checkcontr != "" && checkcontr != null) { search += "and A.iscontr=@checkcontr "; dynamicParams.Add("@checkcontr", checkcontr); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description,A.iscontr, (case when isnull(M.eqpchkmain_code,'')='' then 'N' else 'Y' end) as is_checkeqp,U.username as lm_user,A.lm_date from TEqpchk_Main A left join TUser U on A.lm_user=U.usercode left join ( select distinct eqpchkmain_code from TEqpchk_Eqp M ) M on A.code=M.eqpchkmain_code where A.is_delete<>'1' " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检标准新增、编辑获取检验项目下拉列表] public static ToMessage DeviceCheckItemSelect() { string sql = ""; try { //获取设备点检项目数据 sql = @"select code,name,description from TEqpchk_Item where is_delete<>'1' "; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检标准编辑/查看获取数据] public static ToMessage ViewDeviceCheckStanedSearch(string checkstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取设备点检标准信息 sql = @"select code,name,description,iscontr from TEqpchk_Main where code=@checkstand_code and is_delete<>'1'"; dynamicParams.Add("@checkstand_code", checkstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); RoutEdit rout = new RoutEdit(); if (data.Rows.Count > 0) { rout.code = data.Rows[0]["CODE"].ToString(); rout.name = data.Rows[0]["NAME"].ToString(); rout.description = data.Rows[0]["DESCRIPTION"].ToString(); rout.enable = data.Rows[0]["ISCONTR"].ToString(); } else { mes.code = "300"; mes.count = 0; mes.message = "无点检标准信息!"; mes.data = null; return mes; } //根据设备点检标准编码获取关联的检验项目信息 sql = @"select B.code,B.name,A.chkdesc,A.isscan,A.cycle from TEqpchk_Deta A left join TEqpchk_Item B on A.code=B.code where A.eqpchk_main_code=@checkstaned_code order by A.seq asc"; dynamicParams.Add("@checkstaned_code", rout.code); var data0 = DapperHelper.selectdata(sql, dynamicParams); rout.Data = data0; mes.code = "200"; mes.message = "查询成功!"; mes.data = rout; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检标准新增编辑] public static ToMessage AddUpdateDeviceCheckStandArd(string opertype, RoutEdit json, User us) { var sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { if (opertype == "Add") { //新增设备点检标准主表 sql = @"insert into TEqpchk_Main(code,name,description,iscontr,lm_user,lm_date) values(@code,@name,@descr,@iscontr,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, iscontr = json.enable, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); for (int i = 0; i < json.Data.Rows.Count; i++) { //新增设备点检标准关联点检项子表 sql = @"insert TEqpchk_Deta (seq,code,name,eqpchk_main_code,cycle,chkdesc,isscan,lm_user,lm_date) values(@checkitem_seq,@checkitem_code,@checkitem_name,@code,@cycle,@chkdesc,@isscan,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(), code = json.code, cycle = json.Data.Rows[i]["CYCLE"].ToString(), chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(), isscan = json.Data.Rows[i]["ISSCAN"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } if (opertype == "Update") { //删除点检标准关联点检项目子表 sql = @"delete from TEqpchk_Deta where eqpchk_main_code=@checkstaned_code"; list.Add(new { str = sql, parm = new { checkstaned_code = json.code } }); //修改点检标准主表 sql = @"update TEqpchk_Main set name=@checkstaned_name,description=@checkstaned_desc,iscontr=@iscontr where code=@checkstaned_code"; list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description, iscontr = json.enable } }); //新增点检标准关联点检项目子表 for (int i = 0; i < json.Data.Rows.Count; i++) { sql = @"insert TEqpchk_Deta (seq,code,name,eqpchk_main_code,cycle,chkdesc,isscan,lm_user,lm_date) values(@checkitem_seq,@checkitem_code,@checkitem_name,@code,@cycle,@chkdesc,@isscan,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()), checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(), checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(), code = json.code, cycle = json.Data.Rows[i]["CYCLE"].ToString(), chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(), isscan = json.Data.Rows[i]["ISSCAN"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检标准删除] public static ToMessage DeleteDeviceCheckStaned(string checkstand_code) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { sql = @"select * from TEqpchk_Proc_Main where eqpchkmain_code=@checkstand_code"; dynamicParams.Add("@checkstand_code", checkstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "当前点检标准已生成点检记录,不允许删除!"; mes.data = null; return mes; } //删除设备点检标准主表 sql = @"delete TEqpchk_Main where code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //删除设备点检标准关联点检项目子表 sql = @"delete TEqpchk_Deta where eqpchk_main_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //删除设备点检标准关联设备表 sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "设备点检标准删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "设备点检标准删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检标准关联工作站查询] public static ToMessage DeviceCheckStanedAssociationEqp(User us, string checkstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { //获取工作站集合(车间,包含已绑定工作站标识) sql = @"select distinct E.torg_code as wksp_code,T.torg_name as wksp_name,'E' as type,(case when B.wksp_code is null then 'N' else 'Y' end) flag from TEqpInfo E left join TOrganization T on E.torg_code=T.torg_code left join( select distinct B.torg_code as wksp_code from TEqpchk_Eqp A inner join TEqpInfo B on A.eqp_code=B.code where A.eqpchkmain_code=@checkstand_code ) B on T.torg_code=B.wksp_code"; dynamicParams.Add("@checkstand_code", checkstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); for (int i = 0; i < data.Rows.Count; i++) { StandEqp rout = new StandEqp(); rout.code = data.Rows[i]["WKSP_CODE"].ToString(); rout.name = data.Rows[i]["WKSP_NAME"].ToString(); rout.type = data.Rows[i]["TYPE"].ToString(); rout.flag = data.Rows[i]["FLAG"].ToString(); rout.children = new List(); sql = @"select * from( select AA.code,AA.name,'E' as type,(case when BB.eqpchkmain_code is null then 'N' else 'Y' end) flag,(case when AA.eqpchkmain_code is null then 'N' else 'Y' end) flage1 from( select A.code,A.name,'' as eqpchkmain_code from TEqpInfo A where A.torg_code=@wkspcode ) as AA left join ( select A.code,A.name,B.eqpchkmain_code from TEqpInfo A inner join TEqpchk_Eqp B on A.code=B.eqp_code where A.torg_code=@wkspcode and B.eqpchkmain_code=@checkstand_code ) as BB on AA.code=BB.code ) as CC "; dynamicParams.Add("@checkstand_code", checkstand_code); dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString()); var data0 = DapperHelper.selectdata(sql, dynamicParams); for (int j = 0; j < data0.Rows.Count; j++) { StandEqpCn cn = new StandEqpCn(); cn.code = data0.Rows[j]["CODE"].ToString();//设备编码 cn.name = data0.Rows[j]["NAME"].ToString();//设备名称 cn.type = data0.Rows[j]["TYPE"].ToString();//工作站类型(E:设备 W:外协供方) cn.flag = data0.Rows[j]["FLAG"].ToString();//关联标识 rout.children.Add(cn); } list.Add(rout); } mes.code = "200"; mes.message = "查询成功!"; mes.data = list; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region [设备点检标准关联工作站提交] public static ToMessage SaveDeviceCheckStanedAssociationEqp(User us, string checkstand_code, List json) { var sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { list.Clear(); //清除设备点检标准关联设备表数据 sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code"; list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } }); //循环写入设备点检标准关联设备表 for (int i = 0; i < json.Count; i++) { sql = @"insert into TEqpchk_Eqp(eqpchkmain_code,eqp_code,lm_user,lm_date,torg_code) values(@checkstand_code,@eqp_code,@lm_user,@lm_date,@torg_code)"; list.Add(new { str = sql, parm = new { eqp_code = json[i].code, checkstand_code = checkstand_code, lm_user = us.usercode, lm_date = DateTime.Now.ToString(), torg_code = json[i].flag } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养标准列表查询] public static ToMessage DeviceRepairStandArdSearch(User us, string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (repairstandcode != "" && repairstandcode != null) { search += "and A.code like '%'+@repairstandcode+'%' "; dynamicParams.Add("@repairstandcode", repairstandcode); } if (repairstandname != "" && repairstandname != null) { search += "and A.name like '%'+@repairstandname+'%' "; dynamicParams.Add("@repairstandname", repairstandname); } if (repairstanddescr != "" && repairstanddescr != null) { search += "and A.description like '%'+@repairstanddescr+'%' "; dynamicParams.Add("@repairstanddescr", repairstanddescr); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.id,A.code,A.name,A.description, (case when isnull(M.eapmai_code,'')='' then 'N' else 'Y' end) as is_repaireqp, A.main_cycle,U.username as lm_user,A.lm_date from TEqpmai_Main A left join TUser U on A.lm_user=U.usercode left join ( select distinct eapmai_code from TEqpmai_Eqp M ) M on A.code=M.eapmai_code where A.is_delete<>'1' " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养标准新增、编辑获取保养项目下拉列表] public static ToMessage DeviceRepairItemSelect() { string sql = ""; try { //获取设备保养项目数据 sql = @"select code,name,description from TEqpmai_Item where is_delete<>'1' "; var data = DapperHelper.selecttable(sql); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养标准编辑/查看获取数据] public static ToMessage ViewDeviceRepairStanedSearch(string repairstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); try { //获取设备保养标准信息 sql = @"select code,name,description,main_cycle from TEqpmai_Main where code=@repairstand_code and is_delete<>'1'"; dynamicParams.Add("@repairstand_code", repairstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); EqpRepair rout = new EqpRepair(); if (data.Rows.Count > 0) { rout.code = data.Rows[0]["CODE"].ToString(); rout.name = data.Rows[0]["NAME"].ToString(); rout.repaircycle = data.Rows[0]["MAIN_CYCLE"].ToString(); rout.description = data.Rows[0]["DESCRIPTION"].ToString(); } else { mes.code = "300"; mes.count = 0; mes.message = "无保养标准信息!"; mes.data = null; return mes; } //根据设备保养标准编码获取关联的保养项目信息 sql = @"select B.code,B.name,A.chk_desc,A.isscan,A.cycle from TEqpmai_Deta A left join TEqpmai_Item B on A.code=B.code where A.eapmai_code=@repairstand_code order by A.seq asc"; dynamicParams.Add("@repairstand_code", rout.code); var data0 = DapperHelper.selectdata(sql, dynamicParams); rout.Data = data0; mes.code = "200"; mes.message = "查询成功!"; mes.data = rout; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养标准新增编辑] public static ToMessage AddUpdateDeviceRepairStandArd(string opertype, EqpRepair json, User us) { var sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { if (opertype == "Add") { //新增设备保养标准主表 sql = @"insert into TEqpmai_Main(code,name,description,main_cycle,lm_user,lm_date) values(@code,@name,@descr,@main_cycle,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, main_cycle = json.repaircycle, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); for (int i = 0; i < json.Data.Rows.Count; i++) { //新增设备保养标准关联保养项子表 sql = @"insert TEqpmai_Deta (seq,code,name,eapmai_code,chk_desc,isscan,lm_user,lm_date) values(@repairitem_seq,@repairitem_code,@repairitem_name,@code,@repairdesc,@isscan,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { repairitem_seq = Convert.ToInt32(json.Data.Rows[i]["REPAIRITEM_SEQ"].ToString()), repairitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(), repairitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(), code = json.code, repairdesc = json.Data.Rows[i]["REPAIRITEM_DESCR"].ToString(), isscan = json.Data.Rows[i]["ISSCAN"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } if (opertype == "Update") { //删除保养标准关联点检项目子表 sql = @"delete from TEqpmai_Deta where eapmai_code=@repairstaned_code"; list.Add(new { str = sql, parm = new { repairstaned_code = json.code } }); //修改保养标准主表 sql = @"update TEqpmai_Main set name=@repairstaned_name,description=@repairstaned_desc,main_cycle=@main_cycle where code=@repairstaned_code"; list.Add(new { str = sql, parm = new { repairstaned_code = json.code, repairstaned_name = json.name, repairstaned_desc = json.description, main_cycle = json.repaircycle } }); //新增点检标准关联点检项目子表 for (int i = 0; i < json.Data.Rows.Count; i++) { sql = @"insert TEqpmai_Deta (seq,code,name,eapmai_code,chk_desc,isscan,lm_user,lm_date) values(@repairitem_seq,@repairitem_code,@repairitem_name,@code,@repairdesc,@isscan,@lm_user,@lm_date)"; list.Add(new { str = sql, parm = new { repairitem_seq = Convert.ToInt32(json.Data.Rows[i]["REPAIRITEM_SEQ"].ToString()), repairitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(), repairitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(), code = json.code, repairdesc = json.Data.Rows[i]["REPAIRITEM_DESCR"].ToString(), isscan = json.Data.Rows[i]["ISSCAN"].ToString(), lm_user = us.usercode, lm_date = DateTime.Now.ToString() } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养标准删除] public static ToMessage DeleteDeviceRepairStaned(string repairstand_code) { var sql = ""; List list = new List(); var dynamicParams = new DynamicParameters(); try { sql = @"select * from TEqpmaint_Proc_Main where eqpmaint_code=@repairstand_code"; dynamicParams.Add("@repairstand_code", repairstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); if (data.Rows.Count > 0) { mes.code = "300"; mes.count = 0; mes.message = "当前保养标准已生成保养记录,不允许删除!"; mes.data = null; return mes; } //删除设备保养标准主表 sql = @"delete TEqpmai_Main where code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //删除设备保养标准关联保养项目子表 sql = @"delete TEqpmai_Deta where eapmai_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //删除设备保养标准关联设备表 sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "设备保养标准删除成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "设备保养标准删除失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养标准关联工作站查询] public static ToMessage DeviceRepairStanedAssociationEqp(User us, string repairstand_code) { string sql = ""; var dynamicParams = new DynamicParameters(); List list = new List(); try { //获取工作站集合(车间,包含已绑定工作站标识) sql = @"select distinct E.torg_code,T.torg_name as wksp_name,'E' as type,(case when B.wksp_code is null then 'N' else 'Y' end) flag from TEqpInfo E left join TOrganization T on E.torg_code=T.torg_code left join( select distinct B.torg_code as wksp_code from TEqpmai_Eqp A inner join TEqpInfo B on A.eqp_code=B.code where A.eapmai_code=@repairstand_code ) B on T.torg_code=B.wksp_code "; dynamicParams.Add("@repairstand_code", repairstand_code); var data = DapperHelper.selectdata(sql, dynamicParams); for (int i = 0; i < data.Rows.Count; i++) { StandEqp rout = new StandEqp(); rout.code = data.Rows[i]["WKSP_CODE"].ToString(); rout.name = data.Rows[i]["WKSP_NAME"].ToString(); rout.type = data.Rows[i]["TYPE"].ToString(); rout.flag = data.Rows[i]["FLAG"].ToString(); rout.children = new List(); //根据车间编码查找设备(包含已关联标识) sql = @"select * from( select AA.code,AA.name,'E' as type,(case when BB.eapmai_code is null then 'N' else 'Y' end) flag,(case when AA.eapmai_code is null then 'N' else 'Y' end) flage1 from( select A.code,A.name,'' as eapmai_code from TEqpInfo A where A.torg_code=@wkspcode ) as AA left join ( select A.code,A.name,B.eapmai_code from TEqpInfo A inner join TEqpmai_Eqp B on A.code=B.eqp_code where A.torg_code=@wkspcode and B.eapmai_code=@repairstand_code ) as BB on AA.code=BB.code ) as CC"; dynamicParams.Add("@repairstand_code", repairstand_code); dynamicParams.Add("@wkspcode", data.Rows[i]["WKSP_CODE"].ToString()); var data0 = DapperHelper.selectdata(sql, dynamicParams); for (int j = 0; j < data0.Rows.Count; j++) { StandEqpCn cn = new StandEqpCn(); cn.code = data0.Rows[j]["CODE"].ToString();//设备编码 cn.name = data0.Rows[j]["NAME"].ToString();//设备名称 cn.type = data0.Rows[j]["TYPE"].ToString();//工作站类型(E:设备 W:外协供方) cn.flag = data0.Rows[j]["FLAG"].ToString();//关联标识 rout.children.Add(cn); } list.Add(rout); } mes.code = "200"; mes.message = "查询成功!"; mes.data = list; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region [设备保养标准关联工作站提交] public static ToMessage SaveDeviceRepairStanedAssociationEqp(User us, string repairstand_code, List json) { var sql = ""; List list = new List(); try { list.Clear(); sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code"; list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } }); //循环写入设备保养标准关联设备表 for (int i = 0; i < json.Count; i++) { sql = @"insert into TEqpmai_Eqp(eapmai_code,eqp_code,lm_user,lm_date,torg_code) values(@repairstand_code,@eqp_code,@lm_user,@lm_date,@torg_code)"; list.Add(new { str = sql, parm = new { eqp_code = json[i].code, repairstand_code = repairstand_code, lm_user = us.usercode, lm_date = DateTime.Now.ToString(), torg_code = json[i].flag } }); } bool aa = DapperHelper.DoTransaction(list); if (aa) { mes.code = "200"; mes.count = 0; mes.message = "操作成功!"; mes.data = null; } else { mes.code = "300"; mes.count = 0; mes.message = "操作失败!"; mes.data = null; } } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检记录查询] public static ToMessage DeviceCheckTakeSearch(User us, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (wkshopcode != "" && wkshopcode != null) { search += "and T.torg_code=@wkshopcode "; dynamicParams.Add("@wkshopcode", wkshopcode); } if (eqpcode != "" && eqpcode != null) { search += "and A.eqp_code like '%'+@eqpcode+'%' "; dynamicParams.Add("@eqpcode", eqpcode); } if (eqpname != "" && eqpname != null) { search += "and E.name like '%'+@eqpname+'%' "; dynamicParams.Add("@eqpname", eqpname); } if (stanedname != "" && stanedname != null) { search += "and M.name like '%'+@stanedname+'%' "; dynamicParams.Add("@stanedname", stanedname); } if (checkuser != "" && checkuser != null) { search += "and A.chk_user like '%'+@checkuser+'%' "; dynamicParams.Add("@checkuser", checkuser); } if (checkopendate != "" && checkopendate != null) { search += "and A.chk_date between @checkopendate and @checkclosedate "; dynamicParams.Add("@checkopendate", checkopendate + " 00:00:00"); dynamicParams.Add("@checkclosedate", checkclosedate + " 23:59:59"); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.djwo,T.torg_code,T.torg_name,A.eqp_code,E.name as eqp_name,M.code as stanedcode,M.name as stanedname, A.chk_user,A.chk_result,A.chk_date from TEqpchk_Proc_Main A left join TEqpInfo E on A.eqp_code=E.code left join TEqpchk_Main M on A.eqpchkmain_code=M.code left join TOrganization T on E.torg_code=T.torg_code where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检记录明细查询] public static ToMessage DeviceCheckSubTakeSearch(string djwo) { string sql = ""; var dynamicParams = new DynamicParameters(); try { sql = @"select A.seq,T.code as itemcode,T.name as itemname,A.result,A.chk_value,A.remark from TEqpchk_Proc_Deta A left join TEqpchk_Item T on A.eqpchkdeta_code=T.code where A.djwo=@djwo"; dynamicParams.Add("@djwo", djwo); var data = DapperHelper.selectdata(sql, dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备点检记录导出] public static ToMessage DeviceCheckTakeOutExcel(User us, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (wkshopcode != "" && wkshopcode != null) { search += "and T.torg_code=@wkshopcode "; dynamicParams.Add("@wkshopcode", wkshopcode); } if (eqpcode != "" && eqpcode != null) { search += "and A.eqp_code like '%'+@eqpcode+'%' "; dynamicParams.Add("@eqpcode", eqpcode); } if (eqpname != "" && eqpname != null) { search += "and E.name like '%'+@eqpname+'%' "; dynamicParams.Add("@eqpname", eqpname); } if (stanedname != "" && stanedname != null) { search += "and M.name like '%'+@stanedname+'%' "; dynamicParams.Add("@stanedname", stanedname); } if (checkuser != "" && checkuser != null) { search += "and A.chk_user like '%'+@checkuser+'%' "; dynamicParams.Add("@checkuser", checkuser); } if (checkopendate != "" && checkopendate != null) { search += "and A.chk_date between @checkopendate and @checkclosedate "; dynamicParams.Add("@checkopendate", checkopendate + " 00:00:00"); dynamicParams.Add("@checkclosedate", checkclosedate + " 23:59:59"); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.djwo ORDER BY B.eqpchkdeta_code) = 1 THEN A.djwo ELSE ''END AS '点检单号', CASE WHEN ROW_NUMBER() OVER (PARTITION BY E.torg_code ORDER BY B.eqpchkdeta_code) = 1 THEN T.torg_name ELSE ''END AS '生产车间', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpchkdeta_code) = 1 THEN A.eqp_code ELSE ''END AS '设备编号', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpchkdeta_code) = 1 THEN E.name ELSE ''END AS '设备名称', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqpchkmain_code ORDER BY B.eqpchkdeta_code) = 1 THEN A.eqpchkmain_code ELSE ''END AS '点检标准编码', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqpchkmain_code ORDER BY B.eqpchkdeta_code) = 1 THEN M.name ELSE ''END AS '点检标准名称', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.chk_user ORDER BY B.eqpchkdeta_code) = 1 THEN A.chk_user ELSE ''END AS '检验人员', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.chk_result ORDER BY B.eqpchkdeta_code) = 1 THEN A.chk_result ELSE ''END AS '检验结果', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.chk_date ORDER BY B.eqpchkdeta_code) = 1 THEN A.chk_date END AS '检验时间', B.seq as '点检部位序号',H.code '点检部位编码',H.name '点检部位名称',B.result '点检结果',B.chk_value '数值',B.remark '备注' from TEqpchk_Proc_Main A left join TEqpchk_Proc_Deta B on A.djwo=B.djwo left join TEqpInfo E on A.eqp_code=E.code left join TEqpchk_Main M on A.eqpchkmain_code=M.code left join TOrganization T on E.torg_code=T.torg_code left join TEqpchk_Item H on B.eqpchkdeta_code=H.code where 1=1 " + search; DataTable data = DapperHelper.selectdata(sql, dynamicParams); data.TableName = "Table"; //设置DataTable的名称 string msg = DownLoad.DataTableToExcel(data, "工序检验记录"); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = msg; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养记录查询] public static ToMessage DeviceCheckTakeSearch(User us, string wkshopcode, string eqpcode, string eqpname, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (wkshopcode != "" && wkshopcode != null) { search += "and T.torg_code=@wkshopcode "; dynamicParams.Add("@wkshopcode", wkshopcode); } if (eqpcode != "" && eqpcode != null) { search += "and A.eqp_code like '%'+@eqpcode+'%' "; dynamicParams.Add("@eqpcode", eqpcode); } if (eqpname != "" && eqpname != null) { search += "and E.name like '%'+@eqpname+'%' "; dynamicParams.Add("@eqpname", eqpname); } if (stanedname != "" && stanedname != null) { search += "and M.name like '%'+@stanedname+'%' "; dynamicParams.Add("@stanedname", stanedname); } if (repairuser != "" && repairuser != null) { search += "and A.maint_user like '%'+@repairuser+'%' "; dynamicParams.Add("@repairuser", repairuser); } if (repairopendate != "" && repairopendate != null) { search += "and A.maint_date between @repairopendate and @repairclosedate "; dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00"); dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59"); } if (repairresult != "" && repairresult != null) { search += "and A.maint_result=@repairresult "; dynamicParams.Add("@repairresult", repairresult); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.bywo,T.torg_code,T.torg_name,A.eqp_code,E.name as eqp_name,M.code as stanedcode,M.name as stanedname,A.maint_cyc, A.maint_user,A.maint_result,A.maint_date from TEqpmaint_Proc_Main A left join TEqpInfo E on A.eqp_code=E.code left join TEqpmai_Main M on A.eqpmaint_code=M.code left join TOrganization T on E.torg_code=T.torg_code where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养记录明细查询] public static ToMessage DeviceRepairSubTakeSearch(string bywo) { string sql = ""; var dynamicParams = new DynamicParameters(); try { sql = @"select A.seq,T.code as itemcode,T.name as itemname,A.result,A.maint_value,A.remark from TEqpmaint_Proc_Deta A left join TEqpmai_Item T on A.eqpmaideta_code=T.code where A.bywo=@bywo"; dynamicParams.Add("@bywo", bywo); var data = DapperHelper.selectdata(sql, dynamicParams); mes.code = "200"; mes.message = "查询成功!"; mes.data = data; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备保养记录导出] public static ToMessage DeviceRepairTakeOutExcel(User us, string wkshopcode, string eqpcode, string eqpname, string stanedname, string repairuser, string repairopendate, string repairclosedate, string repairresult) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (wkshopcode != "" && wkshopcode != null) { search += "and T.torg_code=@wkshopcode "; dynamicParams.Add("@wkshopcode", wkshopcode); } if (eqpcode != "" && eqpcode != null) { search += "and A.eqp_code like '%'+@eqpcode+'%' "; dynamicParams.Add("@eqpcode", eqpcode); } if (eqpname != "" && eqpname != null) { search += "and E.name like '%'+@eqpname+'%' "; dynamicParams.Add("@eqpname", eqpname); } if (stanedname != "" && stanedname != null) { search += "and M.name like '%'+@stanedname+'%' "; dynamicParams.Add("@stanedname", stanedname); } if (repairuser != "" && repairuser != null) { search += "and A.maint_user like '%'+@repairuser+'%' "; dynamicParams.Add("@repairuser", repairuser); } if (repairopendate != "" && repairopendate != null) { search += "and A.chk_date between @repairopendate and @repairclosedate "; dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00"); dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59"); } if (repairresult != "" && repairresult != null) { search += "and A.maint_result=@repairresult "; dynamicParams.Add("@repairresult", repairresult); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.bywo ORDER BY B.eqpmaideta_code) = 1 THEN A.bywo ELSE ''END AS '保养单号', CASE WHEN ROW_NUMBER() OVER (PARTITION BY E.torg_code ORDER BY B.eqpmaideta_code) = 1 THEN T.torg_name ELSE ''END AS '生产车间', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpmaideta_code) = 1 THEN A.eqp_code ELSE ''END AS '设备编号', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqp_code ORDER BY B.eqpmaideta_code) = 1 THEN E.name ELSE ''END AS '设备名称', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqpmaint_code ORDER BY B.eqpmaideta_code) = 1 THEN A.eqpmaint_code ELSE ''END AS '保养标准编码', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.eqpmaint_code ORDER BY B.eqpmaideta_code) = 1 THEN M.name ELSE ''END AS '保养标准名称', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.maint_cyc ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_cyc ELSE ''END AS '保养周期', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.maint_user ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_user ELSE ''END AS '保养人员', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.maint_result ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_result ELSE ''END AS '保养结果', CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.maint_date ORDER BY B.eqpmaideta_code) = 1 THEN A.maint_date END AS '保养时间', B.seq as '保养部位序号',H.code '保养部位编码',H.name '保养部位名称',B.result '保养结果',B.maint_value '数值',B.remark '备注' from TEqpmaint_Proc_Main A left join TEqpmaint_Proc_Deta B on A.bywo=B.bywo left join TEqpInfo E on A.eqp_code=E.code left join TEqpmai_Main M on A.eqpmaint_code=M.code left join TOrganization T on E.torg_code=T.torg_code left join TEqpmai_Item H on B.eqpmaideta_code=H.code where 1=1 " + search; DataTable data = DapperHelper.selectdata(sql, dynamicParams); data.TableName = "Table"; //设置DataTable的名称 string msg = DownLoad.DataTableToExcel(data, "工序检验记录"); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = msg; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备维修记录查询] public static ToMessage DeviceUpdateSearch(User us, string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate, int startNum, int endNum, string prop, string order) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (wkshopcode != "" && wkshopcode != null) { search += "and A.wksp_code=@wkshopcode "; dynamicParams.Add("@wkshopcode", wkshopcode); } if (eqpcode != "" && eqpcode != null) { search += "and A.eqp_code like '%'+@eqpcode+'%' "; dynamicParams.Add("@eqpcode", eqpcode); } if (eqpname != "" && eqpname != null) { search += "and E.name like '%'+@eqpname+'%' "; dynamicParams.Add("@eqpname", eqpname); } if (reportuser != "" && reportuser != null) { search += "and B.request_person like '%'+@reportuser+'%' "; dynamicParams.Add("@reportuser", reportuser); } if (repairuser != "" && repairuser != null) { search += "and A.repair_person like '%'+@repairuser+'%' "; dynamicParams.Add("@repairuser", repairuser); } if (vrifcatuser != "" && vrifcatuser != null) { search += "and A.verify_person like '%'+@vrifcatuser+'%' "; dynamicParams.Add("@vrifcatuser", vrifcatuser); } if (reportopendate != "" && reportopendate != null) { search += "and B.request_date between @reportopendate and @reportclosedate "; dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00"); dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59"); } if (repairopendate != "" && repairopendate != null) { search += "and A.repair_date between @repairopendate and @repairclosedate "; dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00"); dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59"); } if (vrifcatopendate != "" && vrifcatopendate != null) { search += "and A.verify_date between @vrifcatopendate and @vrifcatclosedate "; dynamicParams.Add("@vrifcatopendate", vrifcatopendate + " 00:00:00"); dynamicParams.Add("@vrifcatclosedate", vrifcatclosedate + " 23:59:59"); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.repair_code,A.wksp_code,T.torg_name as wksp_name,A.eqp_code,E.name as eqp_name,B.request_person,B.request_date, A.repair_person,A.repair_date,CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as cycleDate, A.verify_person,A.verify_date,(case when A.verify_result='OK' then '通过' when A.verify_result='NG' then '不通过' end)as verify_result from TEqp_Repair A left join TEqp_RepairRequest B on A.source_wo=B.docu_code left join TEqpInfo E on A.eqp_code=E.code left join TOrganization T on A.wksp_code=T.torg_code where 1=1 " + search; var data = DapperHelper.GetPageList(sql, dynamicParams, prop, order, startNum, endNum, out total); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = data.ToList(); } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备维修记录明细查询] public static ToMessage DeviceUpdateSubSearch(string repair_code) { string sql = ""; var dynamicParams = new DynamicParameters(); Dictionary Dict = new Dictionary(); try { //获取设备报修申请数据 sql = @"select B.docu_code, ( case when B.source='A' then '设备点检' when B.source='B' then '设备保养' when B.source='C' then '安灯呼叫' when B.source='C' then '手工创建' end ) as source,B.failure_descript from TEqp_Repair A left join TEqp_RepairRequest B on A.source_wo=B.docu_code where A.repair_code=@repair_code"; dynamicParams.Add("@repair_code", repair_code); var data = DapperHelper.selectdata(sql, dynamicParams); DeviceReport report = new DeviceReport(); report.faultsource = data.Rows[0]["source"].ToString(); report.faultdescr = data.Rows[0]["failure_descript"].ToString(); //获取设备报修申请图片数据 sql = @"select M.img1url from TEqp_Repair A left join TEqp_RepairRequest B on A.source_wo=B.docu_code left join TEqp_RepairImage M on B.docu_code=M.source_wo where A.repair_code=@repair_code and M.wo_type='REPA'"; dynamicParams.Add("@repair_code", repair_code); var data0 = DapperHelper.selectdata(sql, dynamicParams); report.faultimage = data0; Dict.Add("data1", report); //获取设备维修数据 sql = @"select A.failure_descript,A.is_shutdown,A.repair_content,A.repair_part from TEqp_Repair A left join TEqp_RepairRequest B on A.source_wo=B.docu_code where A.repair_code=@repair_code"; dynamicParams.Add("@repair_code", repair_code); var data1 = DapperHelper.selectdata(sql, dynamicParams); DeviceRepair repair = new DeviceRepair(); repair.faultdescr = data1.Rows[0]["failure_descript"].ToString(); repair.isstoprepair = data1.Rows[0]["is_shutdown"].ToString(); repair.repaircontent = data1.Rows[0]["repair_content"].ToString(); repair.repairpart = data1.Rows[0]["repair_part"].ToString(); //获取设备维修图片数据 sql = @"select M.img1url,M.img2url from TEqp_Repair A left join TEqp_RepairImage M on A.repair_code=M.source_wo where A.repair_code=@repair_code and M.wo_type='COMP'"; dynamicParams.Add("@repair_code", repair_code); var data3 = DapperHelper.selectdata(sql, dynamicParams); repair.repairimage = data3; Dict.Add("data2", repair); mes.code = "200"; mes.message = "查询成功!"; mes.data = Dict; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion #region[设备维修记录导出] public static ToMessage DeviceUpdateOutExcel(User us, string wkshopcode, string eqpcode, string eqpname, string reportuser, string repairuser, string vrifcatuser, string reportopendate, string reportclosedate, string repairopendate, string repairclosedate, string vrifcatopendate, string vrifcatclosedate) { var dynamicParams = new DynamicParameters(); string search = ""; try { if (wkshopcode != "" && wkshopcode != null) { search += "and A.wksp_code=@wkshopcode "; dynamicParams.Add("@wkshopcode", wkshopcode); } if (eqpcode != "" && eqpcode != null) { search += "and A.eqp_code like '%'+@eqpcode+'%' "; dynamicParams.Add("@eqpcode", eqpcode); } if (eqpname != "" && eqpname != null) { search += "and E.name like '%'+@eqpname+'%' "; dynamicParams.Add("@eqpname", eqpname); } if (reportuser != "" && reportuser != null) { search += "and B.request_person like '%'+@reportuser+'%' "; dynamicParams.Add("@reportuser", reportuser); } if (repairuser != "" && repairuser != null) { search += "and A.repair_person like '%'+@repairuser+'%' "; dynamicParams.Add("@repairuser", repairuser); } if (vrifcatuser != "" && vrifcatuser != null) { search += "and A.verify_person like '%'+@vrifcatuser+'%' "; dynamicParams.Add("@vrifcatuser", vrifcatuser); } if (reportopendate != "" && reportopendate != null) { search += "and B.request_date between @reportopendate and @reportclosedate "; dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00"); dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59"); } if (repairopendate != "" && repairopendate != null) { search += "and A.repair_date between @repairopendate and @repairclosedate "; dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00"); dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59"); } if (vrifcatopendate != "" && vrifcatopendate != null) { search += "and A.verify_date between @vrifcatopendate and @vrifcatclosedate "; dynamicParams.Add("@vrifcatopendate", vrifcatopendate + " 00:00:00"); dynamicParams.Add("@vrifcatclosedate", vrifcatclosedate + " 23:59:59"); } if (search == "") { search = "and 1=1 "; } //search = search.Substring(3);//截取索引2后面的字符 // --------------查询指定数据-------------- var total = 0; //总条数 var sql = @"select A.repair_code as '维修单号', T.torg_name as '所属车间', A.eqp_code as '设备编码', E.name as '设备名称', B.request_person as '报修人员', B.request_date as '报修时间', A.repair_person as '维修人员', A.repair_date as '维修时间', CAST(datediff(minute, B.request_date,A.repair_date)/60.0 AS decimal(9,1)) as '维修时长(小时)', A.verify_person as '验证人员', A.verify_date as '验证时间', (case when A.verify_result='OK' then '通过' when A.verify_result='NG' then '不通过' end)as '验证结果' from TEqp_Repair A left join TEqp_RepairRequest B on A.source_wo=B.docu_code left join TEqpInfo E on A.eqp_code=E.code left join TOrganization T on A.wksp_code=T.torg_code where 1=1 " + search; DataTable data = DapperHelper.selectdata(sql, dynamicParams); data.TableName = "Table"; //设置DataTable的名称 string msg = DownLoad.DataTableToExcel(data, "设备维修记录"); mes.code = "200"; mes.message = "查询成功!"; mes.count = total; mes.data = msg; } catch (Exception e) { mes.code = "300"; mes.count = 0; mes.message = e.Message; mes.data = null; } return mes; } #endregion } }