示例#1
0
        /// <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);
            }
        }
示例#4
0
        /// <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);//在最后一行插
            }
        }