public void ProcessRequest(HttpContext context) { //清空之前数据 context.Response.Clear(); //检测是否含有session if (context.Session.Count < 5) { //跳转 context.Response.Redirect("/Account/Login", true); //停止加载后续内容 context.Response.End(); //直接返回 return; } //执行基类的方法 if (!base.CheckIsLogin(context)) { return; } //用户传入的参数 string prevDeptName = context.Request["pdept"]; //检测参数 if (prevDeptName == null || prevDeptName.Trim().Length <= 0) { prevDeptName = "%"; } //当前使用的查询表的类型 var parTable = ParameterTable.None; //用户传入的参数 string tabType = context.Request["ttype"]; //转换后的结果 int iType; //检测参数 if (tabType == null || tabType.Trim().Length <= 0 || !int.TryParse(tabType, out iType) || iType < 1 || iType > 4 ) { return; } //设置tab的值得 parTable = (ParameterTable)iType; //当前使用的查询参数类型 var parField = ParameterField.None; //用户传入的参数 string lotId = context.Request["lid"]; string productNum = string.Empty; //检测lot卡号 if (lotId != null && lotId.Length > 0) { //查询字段类型为生产编号 parField = ParameterField.LotId; //去掉空格 lotId = lotId.Trim(); //检测lot卡号重新设置参数值 if (!lotId.Contains("-")) { //添加减号 lotId = "-" + lotId; } //使用模糊查询 lotId = "%" + lotId + "%"; } else { //用户传入的生产编号 productNum = context.Request["pnum"]; if (productNum != null && productNum.Length > 0) { //查询字段类型为生产编号 parField = ParameterField.ProductNum; //设置参数值 productNum = "%" + productNum.Trim() + "%"; } } //当前未使用特定的三种字段类型之一进行查询则不输出值直接退出 if (parField == ParameterField.None) { return; } //待输出到浏览器的数据 string strResult = string.Empty; //将查询到的结果保存到泛型变量中 var l = new List<LotCardLiItem>(); //检测查询表的类型 switch (parTable) { //在待入库记录中查询 case ParameterTable.Wait: //数据适配器 using (var da = new t_complete_lot_card_waitTableAdapter()) { //获取数据使用的表 DataSetCompleteWait.t_complete_lot_card_waitDataTable tab; //通过lot卡号查询 if (parField == ParameterField.LotId) { //取得数据 tab = da.GetDataLikePrevDeptAndLotId(prevDeptName, lotId); } //通过生产编号查询 else { //取得数据 tab = da.GetDataLikePrevDeptAndProductNum(prevDeptName, productNum); } //获取单据数据 AddLotCardListItem(tab, ref l); } //退出switch break; case ParameterTable.Balance: //数据适配器 using (var da = new t_complete_lot_card_balanceTableAdapter()) { //获取数据使用的表 DataSetCompleteBalance.t_complete_lot_card_balanceDataTable tab; //通过lot卡号查询 if (parField == ParameterField.LotId) { //取得数据 tab = da.GetDataLikePrevDeptAndLotId(prevDeptName, lotId); } //通过生产编号查询 else { //取得数据 tab = da.GetDataLikePrevDeptAndProductNum(prevDeptName, productNum); } //获取单据数据 AddLotCardListItem(tab, ref l); } //退出switch break; case ParameterTable.Lose: //数据适配器 using (var da = new v_complete_lot_card_loseTableAdapter()) { //获取数据使用的表 DataSetCompleteLose.v_complete_lot_card_loseDataTable tab; //通过lot卡号查询 if (parField == ParameterField.LotId) { //取得数据 tab = da.GetDataLikePrevDeptAndLotId(prevDeptName, lotId); } //通过生产编号查询 else { //取得数据 tab = da.GetDataLikePrevDeptAndProductNum(prevDeptName, productNum); } //获取单据数据 AddLotCardListItem(tab, ref l); } //退出switch break; } //如果在清单中查询到数据 if (l.Count > 0) { //将泛型变量各项目放入数组 var itms = new LotCardLiItem[l.Count]; //复制泛型变量的内容到数组 l.CopyTo(itms); //循环重新设置单只数 foreach (var itm in itms) { //将实例加入li strResult += itm.ToString(); } } //加入ul头尾 strResult = "<ul>\n" + strResult + "</ul>\n"; //写入数据 context.Response.Write(strResult); }
/// <summary> /// 添加获取到的数据到泛型变量 /// </summary> /// <param name="tab">包含指定格式的数据表</param> /// <param name="l">将数据填写到的泛型变量</param> private void AddLotCardListItem(DataSetMantissaBalance.t_mantissa_lot_card_balanceDataTable tab, ref List<LotCardLiItem> l) { //li内容 foreach (DataSetMantissaBalance.t_mantissa_lot_card_balanceRow row in tab.Rows) { //实例化li项目类 var itm = new LotCardLiItem(); //设置实例的值 //上部门名称 itm.PrevProcName = row.prev_proc_name; //批量卡序号 itm.LotId = row.lot_id; //生产编号 itm.ProductNum = row.product_num; //pnl数量 itm.PnlQty = row.pnl_qty; //pcs数量 itm.PcsQty = row.pcs_qty; //备注 if (!row.IsremarkNull()) { itm.Remark = row.remark; } //将实例加入泛型变量 l.Add(itm); } }
/// <summary> /// 添加获取到的数据到泛型变量 /// </summary> /// <param name="tab">包含指定格式的数据表</param> /// <param name="l">将数据填写到的泛型变量</param> private void AddLotCardListItem(DataSetCompleteLose.v_complete_lot_card_loseDataTable tab, ref List<LotCardLiItem> l) { //li内容 foreach (DataSetCompleteLose.v_complete_lot_card_loseRow row in tab.Rows) { //实例化li项目类 var itm = new LotCardLiItem(); //设置实例的值 //上部门名称 itm.PrevDeptName = row.prev_dept_name; //lot卡号 itm.LotId = row.lot_id; //生产编号 itm.ProductNum = row.product_num; //pnl数量 itm.PnlQty = row.pnl_qty; //pcs数量 itm.PcsQty = row.pcs_qty; //备注 if (!row.IsremarkNull()) { itm.Remark = row.remark; } //将实例加入泛型变量 l.Add(itm); } }
/// <summary> /// 添加获取到的数据到泛型变量 /// </summary> /// <param name="tab">包含指定格式的数据表</param> /// <param name="l">将数据填写到的泛型变量</param> private void AddLotCardListItem(DataSetCompleteWait.t_complete_lot_card_waitDataTable tab, ref List<LotCardLiItem> l) { //li内容 foreach (DataSetCompleteWait.t_complete_lot_card_waitRow row in tab.Rows) { //实例化li项目类 var itm = new LotCardLiItem(); //设置实例的值 //上部门名称 itm.PrevProcName = string.Empty; //批量卡序号 itm.LotId = row.lot_id; //生产编号 itm.ProductNum = row.product_num; //pnl数量 itm.PnlQty = row.pnl_qty; //pcs数量 itm.PcsQty = row.pcs_qty; //备注 if (!row.IsremarkNull()) { itm.Remark = row.remark; } //将实例加入泛型变量 l.Add(itm); } }