/// <summary> /// 追溯查询 按钮点击回调 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button_RetrosQuery_Click(object sender, EventArgs e) { //获取查询条件参数 string sbId = Convert.ToString(this.comboBox5.SelectedValue); //所选物品名称(设备)ID string strDateStart = this.dateTimePicker_RqDateStart.Value.ToString("yyyy-MM-dd"); //开始日期 string strDateEnd = this.dateTimePicker_RqDateEnd.Value.ToString("yyyy-MM-dd"); //结束日期 DateTime DateStart = Convert.ToDateTime(strDateStart); DateTime DateEnd = Convert.ToDateTime(strDateEnd).AddDays(1); //因为筛选时是小于,所以加上一天 if (String.IsNullOrEmpty(sbId)) { listView4.Items.Clear(); //从集合中移除所有项 //MessageBox.Show("请选择物品后查询", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); //return; } //耗时操作,单启线程 Thread thread = new Thread(() => { DealDataGridViewQueryBLL bll = new DealDataGridViewQueryBLL(); //获取datagridView数据源DataTable DataTable dt = bll.GetRetrosQueryDataTable(sbId, DateStart, DateEnd); BindZscxDataGridData(dt); //获取设备相关信息 if (!String.IsNullOrEmpty(sbId)) { FIXED_MatetialInfo info = bll.GetMaterialInfoById(sbId); BindSbXqListViewData(info); //数据绑定 } }); //新建线程 thread.IsBackground = true; thread.Start(); }
/// <summary> /// 获取RFID卡号为空的设备列表---用于RFID卡第一次与设备绑定时选择设备列表 /// </summary> /// <param name="ref_errMsg_gse"></param> /// <returns></returns> public List <FIXED_MatetialInfo> GetSelectEquipmentList(ref string ref_errMsg_gse) { List <FIXED_MatetialInfo> list = new List <FIXED_MatetialInfo>(); StringBuilder sb = new StringBuilder(); sb.Append(" select * "); sb.Append(" ,类型=td.Name "); sb.Append(" ,当前仓库=fs.仓库名称 "); sb.Append(@" from FIXED_Matetial fm"); sb.Append(@" left join TDictionary td on td.ID=fm.类型编码"); sb.Append(@" left join FIXED_Storage fs on fs.仓库编码=fm.当前仓库编码"); sb.Append(@" where 1=1 "); sb.Append(@" and RFID卡号='' or RFID卡号 is null "); //RFID卡号为空 // sb.Append(@" // and 是否报废!=1 "); //add20200324 plq 过滤报废物资 // sb.Append(@" // and 是否丢失!=1 "); //add20200324 plq 过滤丢失物资 sb.Append(@" and 是否报废=0 "); //add20200324 plq 过滤报废物资 sb.Append(@" and (是否丢失=0 or 是否丢失 is null) "); //add20200324 plq 过滤丢失物资 sb.Append(@" order by 购建日期 "); try { DataSet ds = SqlHelper.ExecuteDataSet(SqlHelper.MainConnectionString, CommandType.Text, sb.ToString(), null); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { FIXED_MatetialInfo info = new FIXED_MatetialInfo(); info.BianMa = dr["编码"].ToString(); info.GuDingZiChanBianMa = dr["固定资产编码"].ToString(); info.LeiXingBianMa = dr["类型编码"].ToString(); info.LeiXing = dr["类型"].ToString(); info.ZiChanMingCheng = dr["资产名称"].ToString(); info.ZhuJiXuLieHao = dr["主机序列号"].ToString(); info.PinPai = dr["品牌"].ToString(); info.XingHao = dr["型号"].ToString(); info.GuiGe = dr["规格"].ToString(); info.DanWei = dr["单位"].ToString(); info.ShuLiang = dr["数量"].ToString(); info.FaPiaoHaoMa = dr["发票号码"].ToString(); info.DanJia = Convert.ToDouble(dr["单价"].ToString()); info.GouJianRiQi = Convert.ToDateTime(dr["购建日期"].ToString()); info.strGouJianRiQi = info.GouJianRiQi.ToString("yyyy-MM-dd"); info.RuKuRiQi = Convert.ToDateTime(dr["入库日期"].ToString()); info.strRuKuRiQi = info.RuKuRiQi.ToString("yyyy-MM-dd"); info.DangQianCangKuBianMa = Convert.ToInt32(dr["当前仓库编码"].ToString()); info.DangQianCangKu = dr["当前仓库"].ToString(); info.DangQianCunFangDian = dr["当前存放点"].ToString(); info.DangQianChePaiHaoMa = dr["当前车牌号码"].ToString(); info.ZiChanGuanLiBuMen = dr["资产管理部门"].ToString(); info.ZiChanGuanLiRen = dr["资产管理人"].ToString(); info.BeiZhu = dr["备注"].ToString(); info.ShiFouBaoFei = Convert.ToBoolean(dr["是否报废"]); info.RFIDKaHao = dr["RFID卡号"].ToString(); //add20191225 list.Add(info); } } return(list); } catch (Exception ex) { ref_errMsg_gse = "获取绑定设备时下拉列表出错:" + ex.Message; LogUtility.Error("RfidStorageDAL/GetObjectAssociationList", "获取绑定设备时下拉列表出错:" + ex.Message); return(null); } }
/// <summary> /// 获取表FIXED_Matetial中所有物资,返回List集合 /// </summary> /// <returns></returns> public List <FIXED_MatetialInfo> GetMaterialList() { List <FIXED_MatetialInfo> list = new List <FIXED_MatetialInfo>(); StringBuilder sb = new StringBuilder(); sb.Append(" select fm.* "); sb.Append(@" ,当前仓库=fs.仓库名称,读写器ID=fs.扫描仪串号 "); sb.Append(@" from FIXED_Matetial fm"); sb.Append(@" left join FIXED_Storage fs on fs.仓库编码=fm.当前仓库编码 "); sb.Append(@" where 1=1 "); sb.Append(@" and 是否报废=0 "); //add20200324 plq 过滤报废物资 sb.Append(@" and (是否丢失=0 or 是否丢失 is null) "); //add20200324 plq 过滤丢失物资 sb.Append(@" order by 当前仓库编码,入库日期 "); //根据RFID卡号和更新时间排序 try { DataSet ds = SqlHelper.ExecuteDataSet(SqlHelper.MainConnectionString, CommandType.Text, sb.ToString(), null); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { FIXED_MatetialInfo info = new FIXED_MatetialInfo(); info.BianMa = dr["编码"].ToString(); info.GuDingZiChanBianMa = dr["固定资产编码"].ToString(); info.LeiXingBianMa = dr["类型编码"].ToString(); //info.LeiXing = dr["类型"].ToString(); info.ZiChanMingCheng = dr["资产名称"].ToString(); info.ZhuJiXuLieHao = dr["主机序列号"].ToString(); info.PinPai = dr["品牌"].ToString(); info.XingHao = dr["型号"].ToString(); info.GuiGe = dr["规格"].ToString(); info.DanWei = dr["单位"].ToString(); info.ShuLiang = dr["数量"].ToString(); info.FaPiaoHaoMa = dr["发票号码"].ToString(); info.DanJia = Convert.ToDouble(dr["单价"].ToString()); info.GouJianRiQi = Convert.ToDateTime(dr["购建日期"].ToString()); info.RuKuRiQi = Convert.ToDateTime(dr["入库日期"].ToString()); info.DangQianCangKuBianMa = Convert.ToInt32(dr["当前仓库编码"].ToString()); info.DangQianCangKu = dr["当前仓库"].ToString(); //仓库名称 info.DangQianCunFangDian = dr["当前存放点"].ToString(); info.DangQianChePaiHaoMa = dr["当前车牌号码"].ToString(); info.ZiChanGuanLiBuMen = dr["资产管理部门"].ToString(); info.ZiChanGuanLiRen = dr["资产管理人"].ToString(); info.BeiZhu = dr["备注"].ToString(); info.ShiFouBaoFei = Convert.ToBoolean(dr["是否报废"]); info.RFIDKaHao = dr["RFID卡号"].ToString(); //add20191225 可能为空 若物品未绑定RFID卡 info.DuXieQiID = dr["读写器ID"].ToString(); //add2020-03-17 可能为空 若仓库为绑定读卡器 list.Add(info); } } return(list); } catch (Exception ex) { LogUtility.Error("DealInnerCommDAL/GetMaterialList", "获取出错:" + ex.Message); return(null); } }
/// <summary> /// 设备基本信息ListView绑定数据 /// </summary> /// <param name="info"></param> private void BindSbXqListViewData(FIXED_MatetialInfo info) { if (dataGridView5.InvokeRequired) //调用方不在创建控件所在的主线程中 { dataGridView5.Invoke(new Action <FIXED_MatetialInfo>(BindSbXqListViewData), new object[] { info }); } else { listView4.Items.Clear(); //清除ListView所有行 //设置ListView行高,用ImageList来将行强制撑大 ImageList ImgList = new ImageList(); //高度设为25 ImgList.ImageSize = new Size(1, 25); //在Details显示模式下,小图标才会起作用 listView4.SmallImageList = ImgList; //第一行 ListViewItem lvItem = new ListViewItem(); lvItem.ImageIndex = 0; lvItem.Text = ""; ListViewItem.ListViewSubItem lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = "物品名称"; lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = info.ZiChanMingCheng; //物品名称 lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = "物品类型"; lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = info.LeiXing; //类型 lvItem.SubItems.Add(lvsItem); listView4.Items.Add(lvItem);//在最后一行插 //第二行 lvItem = new ListViewItem(); lvItem.ImageIndex = 0; lvItem.Text = ""; lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = "品牌"; lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = info.PinPai; //品牌 lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = "型号"; lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = info.XingHao; //型号 lvItem.SubItems.Add(lvsItem); listView4.Items.Add(lvItem);//在最后一行插 //第三行 lvItem = new ListViewItem(); lvItem.ImageIndex = 0; lvItem.Text = ""; lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = "采购时间"; lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = info.GouJianRiQi.ToString("yyyy-MM-dd"); //购建日期 lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = "启用时间"; lvItem.SubItems.Add(lvsItem); lvsItem = new ListViewItem.ListViewSubItem(); lvsItem.Text = info.RuKuRiQi.ToString("yyyy-MM-dd"); //入库日期 lvItem.SubItems.Add(lvsItem); listView4.Items.Add(lvItem);//在最后一行插 } }