private static IList <LotView> GetLotViewsFromNotifications(LotQuery query, NotificationTypes notificationType, bool unReadOnly, string orderBy, bool desc, int pageIndex, int pageSize, out int recordCount) { IList <LotView> list = new List <LotView>(); foreach (NotificationswithLot lot in notificationWithLotGateway.GetNotificationswithLotsBy(query, notificationType, unReadOnly, orderBy, desc, pageIndex, pageSize, out recordCount)) { list.Add(GetLotViewByLotID(lot.LotID)); } return(list); }
public ActionResult Search(int pageSize, int pageIndex = 0, string orderBy = "", bool desc = false) { //if (DateTime.Now <= Convert.ToDateTime("2017-12-31")) //{ // if (StringHelper.isNullOrEmpty(orderBy)) // { // orderBy = "UpdateTime"; // desc = true; // } // int recordCount = 0; // LotQuery queryFromRequest = QueryUtility.GetQueryFromRequest(base.Request, BaseController.CurrentUserInfo.UserID); // if ((BaseController.CurrentUserInfo.Role == UserRoles.OSAT) || (BaseController.CurrentUserInfo.Role == UserRoles.OSATAdmin)) // { // queryFromRequest.Osat = BaseController.CurrentUserInfo.BUName; // } // IList<LotView> list = LotService.GetLotViews(queryFromRequest, orderBy, desc, pageIndex, pageSize, out recordCount); // string s = JsonConvert.SerializeObject(new { currentPage = pageIndex, totalPages = PagerUtility.GetPageCount(recordCount, pageSize), rows = list }); // base.Response.Write(s); //} //return null; if (StringHelper.isNullOrEmpty(orderBy)) { orderBy = "UpdateTime"; desc = true; } int recordCount = 0; LotQuery queryFromRequest = QueryUtility.GetQueryFromRequest(base.Request, BaseController.CurrentUserInfo.UserID); if (BaseController.CurrentUserInfo.Role == UserRoles.OSAT || BaseController.CurrentUserInfo.Role == UserRoles.OSATAdmin) { queryFromRequest.Osat = BaseController.CurrentUserInfo.BUName; } IList <LotView> lotViews = LotService.GetLotViews(queryFromRequest, orderBy, desc, pageIndex, pageSize, out recordCount); foreach (LotView lv in lotViews) { lv.HoldReason = lv.HoldReason.Replace("failed sublot:", ""); } string s = JsonConvert.SerializeObject(new { currentPage = pageIndex, totalPages = PagerUtility.GetPageCount(recordCount, pageSize), rows = lotViews }); base.Response.Write(s); return(null); }
public static IList <LotView> GetLotViews(LotQuery query, string orderBy, bool desc, int pageIndex, int pageSize, out int recordCount) { NotificationTypes notSpecified = NotificationTypes.NotSpecified; if (query.NewCommentOnly) { notSpecified = NotificationTypes.Comment; } if (query.WaitForConfirmOnly) { notSpecified = NotificationTypes.Confirm; } if (query.WaitForDisposeOnly) { notSpecified = NotificationTypes.LotDispose; } if (query.WaitForOtherBinDispose) { notSpecified = NotificationTypes.OtherBinDispose; } if (query.EqaLotsOnly) { notSpecified = NotificationTypes.EQANotification; } IList <LotView> lotviews = null; switch (notSpecified) { case NotificationTypes.Comment: case NotificationTypes.LotDispose: case NotificationTypes.Confirm: case NotificationTypes.OtherBinDispose: case NotificationTypes.EQANotification: lotviews = GetLotViewsFromNotifications(query, notSpecified, true, orderBy, desc, pageIndex, pageSize, out recordCount); return(ReadUnReadMessageCountByCurrentUser(query.CurrentUser, lotviews)); case NotificationTypes.NotSpecified: lotviews = lotViewGateway.GetLotViewBy(query, orderBy, desc, pageIndex, pageSize, out recordCount); return(ReadUnReadMessageCountByCurrentUser(query.CurrentUser, lotviews)); } lotviews = null; recordCount = 0; return(lotviews); }
public IList <NotificationswithLot> GetNotificationswithLotsBy(LotQuery query, NotificationTypes notificationType, bool unReadOnly, string orderBy, bool desc, int pageIndex, int pageSize, out int recordCount) { Conditions conditions = new Conditions(); if (!StringHelper.isNullOrEmpty(query.CurrentUser)) { conditions.ConditionExpressions.Add(new Condition("RecipientID", Operator.EqualTo, query.CurrentUser)); } if (notificationType != NotificationTypes.NotSpecified) { conditions.ConditionExpressions.Add(new Condition("NotificationType", Operator.EqualTo, notificationType)); } if (unReadOnly) { conditions.ConditionExpressions.Add(new Condition("Opened", Operator.EqualTo, false)); } if (query != null) { if (query.AutoJudgeResult != AutoJudgeResult.Empty) { conditions.ConditionExpressions.Add(new Condition("AutoJudgeResult", Operator.EqualTo, query.AutoJudgeResult)); } if (!StringHelper.isNullOrEmpty(query.Bin1)) { conditions.ConditionExpressions.Add(new Condition("Bin1", Operator.EqualTo, query.Bin1)); } if (!StringHelper.isNullOrEmpty(query.Bin2)) { conditions.ConditionExpressions.Add(new Condition("Bin2", Operator.EqualTo, query.Bin2)); } if (!StringHelper.isNullOrEmpty(query.Bin3)) { conditions.ConditionExpressions.Add(new Condition("Bin3", Operator.EqualTo, query.Bin3)); } if (!StringHelper.isNullOrEmpty(query.Bin4)) { conditions.ConditionExpressions.Add(new Condition("Bin4", Operator.EqualTo, query.Bin4)); } if (!StringHelper.isNullOrEmpty(query.Bin5)) { conditions.ConditionExpressions.Add(new Condition("Bin5", Operator.EqualTo, query.Bin5)); } if (!StringHelper.isNullOrEmpty(query.Bin6)) { conditions.ConditionExpressions.Add(new Condition("Bin6", Operator.EqualTo, query.Bin6)); } if (!StringHelper.isNullOrEmpty(query.Bin7)) { conditions.ConditionExpressions.Add(new Condition("Bin7", Operator.EqualTo, query.Bin7)); } if (!StringHelper.isNullOrEmpty(query.Bin8)) { conditions.ConditionExpressions.Add(new Condition("Bin8", Operator.EqualTo, query.Bin8)); } if (!StringHelper.isNullOrEmpty(query.Bin9)) { conditions.ConditionExpressions.Add(new Condition("Bin9", Operator.EqualTo, query.Bin9)); } if (!StringHelper.isNullOrEmpty(query.Bin10)) { conditions.ConditionExpressions.Add(new Condition("Bin10", Operator.EqualTo, query.Bin10)); } if (!StringHelper.isNullOrEmpty(query.CompletionDate)) { string[] dateArray = query.CompletionDate.Split('-'); conditions.ConditionExpressions.Add(new Condition("CompletionDate", Operator.Between, dateArray[0], dateArray[1] + " 23:59:59")); } if (!StringHelper.isNullOrEmpty(query.Damage)) { conditions.ConditionExpressions.Add(new Condition("Damage", Operator.EqualTo, query.Damage)); } if (!StringHelper.isNullOrEmpty(query.DeviceCode)) { conditions.ConditionExpressions.Add(new Condition("DeviceCode", Operator.Like, query.DeviceCode)); } if (!StringHelper.isNullOrEmpty(query.DeviceName)) { conditions.ConditionExpressions.Add(new Condition("DeviceName", Operator.Like, query.DeviceName)); } if (!StringHelper.isNullOrEmpty(query.Die1CP)) { conditions.ConditionExpressions.Add(new Condition("Die1CP", Operator.Like, query.Die1CP)); } if (!StringHelper.isNullOrEmpty(query.Die1LotNo)) { conditions.ConditionExpressions.Add(new Condition("Die1LotNO", Operator.Like, query.Die1LotNo)); } if (!StringHelper.isNullOrEmpty(query.Die2CP)) { conditions.ConditionExpressions.Add(new Condition("Die2CP", Operator.Like, query.Die2CP)); } if (!StringHelper.isNullOrEmpty(query.Die2LotNo)) { conditions.ConditionExpressions.Add(new Condition("Die2LotNO", Operator.Like, query.Die2LotNo)); } if (!StringHelper.isNullOrEmpty(query.Die3CP)) { conditions.ConditionExpressions.Add(new Condition("Die3CP", Operator.Like, query.Die3CP)); } if (!StringHelper.isNullOrEmpty(query.Die3LotNo)) { conditions.ConditionExpressions.Add(new Condition("Die3LotNO", Operator.Like, query.Die3LotNo)); } if (!StringHelper.isNullOrEmpty(query.Die4CP)) { conditions.ConditionExpressions.Add(new Condition("Die4CP", Operator.Like, query.Die4CP)); } if (!StringHelper.isNullOrEmpty(query.Die4LotNo)) { conditions.ConditionExpressions.Add(new Condition("Die4LotNO", Operator.Like, query.Die4LotNo)); } if (!StringHelper.isNullOrEmpty(query.HoldReason)) { conditions.ConditionExpressions.Add(new Condition("HoldReason", Operator.Like, query.HoldReason)); } if (!StringHelper.isNullOrEmpty(query.LBNO)) { conditions.ConditionExpressions.Add(new Condition("LBNO", Operator.Like, query.LBNO)); } if (!StringHelper.isNullOrEmpty(query.Loss)) { conditions.ConditionExpressions.Add(new Condition("Loss", Operator.EqualTo, query.Loss)); } if (!StringHelper.isNullOrEmpty(query.LotNO)) { conditions.ConditionExpressions.Add(new Condition("LotNO", Operator.Like, query.LotNO)); } if (!StringHelper.isNullOrEmpty(query.LotType)) { conditions.ConditionExpressions.Add(new Condition("LotType", Operator.EqualTo, query.LotType)); } if (query.ManualHold != -1) { conditions.ConditionExpressions.Add(new Condition("ManualHold", Operator.EqualTo, query.ManualHold)); } if (query.OtherBinDispose != -1) { conditions.ConditionExpressions.Add(new Condition("OtherBinDispose", Operator.EqualTo, query.OtherBinDispose)); } if (!StringHelper.isNullOrEmpty(query.Osat)) { conditions.ConditionExpressions.Add(new Condition("VendorName", Operator.Like, query.Osat)); } if (!StringHelper.isNullOrEmpty(query.OsRate)) { conditions.ConditionExpressions.Add(new Condition("RoundOSRate", Operator.Like, query.OsRate)); } if (query.PEDispose != -1) { conditions.ConditionExpressions.Add(new Condition("PEDispose", Operator.EqualTo, query.PEDispose)); } if (!StringHelper.isNullOrEmpty(query.Platform)) { conditions.ConditionExpressions.Add(new Condition("Platforms", Operator.Like, query.Platform)); } if (query.QADispose != -1) { conditions.ConditionExpressions.Add(new Condition("QADispose", Operator.EqualTo, query.QADispose)); } if (query.QtyIn != -1) { conditions.ConditionExpressions.Add(new Condition("QtyIn", Operator.EqualTo, query.QtyIn)); } if (query.RetestTimes != -1) { conditions.ConditionExpressions.Add(new Condition("RetestTimes", Operator.EqualTo, query.RetestTimes)); } if (query.SPRDDecision != -1) { conditions.ConditionExpressions.Add(new Condition("SPRDDecision", Operator.EqualTo, query.SPRDDecision)); } if (!StringHelper.isNullOrEmpty(query.SubconLot)) { conditions.ConditionExpressions.Add(new Condition("SubconLot", Operator.Like, query.SubconLot)); } if (!StringHelper.isNullOrEmpty(query.TesterID)) { conditions.ConditionExpressions.Add(new Condition("TesterID", Operator.Like, query.TesterID)); } if (!StringHelper.isNullOrEmpty(query.TestProgram)) { conditions.ConditionExpressions.Add(new Condition("TestProgram", Operator.Like, query.TestProgram)); } if (!StringHelper.isNullOrEmpty(query.Yield)) { conditions.ConditionExpressions.Add(new Condition("RoundYield", Operator.Like, query.Yield)); } if (!StringHelper.isNullOrEmpty(query.Status)) { conditions.ConditionExpressions.Add(new Condition("Status", Operator.EqualTo, query.Status.Trim())); } if (!StringHelper.isNullOrEmpty(query.Stage)) { conditions.ConditionExpressions.Add(new Condition("Stage", Operator.Like, query.Stage)); } } conditions.ConditionExpressions.Add(new Condition("RecordType", Operator.EqualTo, "Record")); conditions.Connector = Connector.AND; OrderExpression orderExpression = null; if (!StringHelper.isNullOrEmpty(orderBy)) { orderExpression = new OrderExpression(orderBy, desc); } return(this.dbGateway.getRecords(pageIndex, pageSize, conditions, orderExpression, null, Connector.AND, out recordCount)); }
public static LotQuery GetQueryFromRequest(HttpRequestBase Request, string userID) { LotQuery query = new LotQuery { CurrentUser = userID, AutoJudgeResult = StringHelper.isNullOrEmpty(Request.QueryString["cmbAutoJudgeResult"]) ? AutoJudgeResult.Empty : ((AutoJudgeResult)Enum.Parse(typeof(AutoJudgeResult), Request.QueryString["cmbAutoJudgeResult"])), Bin1 = Request.QueryString["txtbin1"], Bin2 = Request.QueryString["txtbin2"], Bin3 = Request.QueryString["txtbin3"], Bin4 = Request.QueryString["txtbin4"], Bin5 = Request.QueryString["txtbin5"], Bin6 = Request.QueryString["txtbin6"], Bin7 = Request.QueryString["txtbin7"], Bin8 = Request.QueryString["txtbin8"], Bin9 = Request.QueryString["txtbin9"], Bin10 = Request.QueryString["txtbin10"], CompletionDate = Request.QueryString["txtCompletionDate"], Damage = Request.QueryString["txtDamage"], DeviceCode = Request.QueryString["txtDeviceCode"], DeviceName = Request.QueryString["txtDeviceName"], Die1CP = Request.QueryString["txtDie1CP"], Die1LotNo = Request.QueryString["txtDie1LotNo"], Die2CP = Request.QueryString["txtDie2CP"], Die2LotNo = Request.QueryString["txtDie2LotNo"], Die3CP = Request.QueryString["txtDie3CP"], Die3LotNo = Request.QueryString["txtDie3LotNo"], Die4CP = Request.QueryString["txtDie4CP"], Die4LotNo = Request.QueryString["txtDie4LotNo"], HoldReason = Request.QueryString["HoldReason"], LBNO = Request.QueryString["txtLBNo"], Loss = Request.QueryString["txtLoss"], LotNO = Request.QueryString["txtLotNo"], Status = Request.QueryString["txtStatus"], LotType = Request.QueryString["cmbLotType"], ManualHold = StringHelper.isNullOrEmpty(Request.QueryString["cmbManualHold"]) ? -1 : Convert.ToInt32(Request.QueryString["cmbManualHold"]), Osat = Request.QueryString["txtOSAT"], OsRate = Request.QueryString["txtOSRate"], PEDispose = StringHelper.isNullOrEmpty(Request.QueryString["cmbPEDispose"]) ? -1 : Convert.ToInt32(Request.QueryString["cmbPEDispose"]), Platform = Request.QueryString["txtPlatform"], QADispose = StringHelper.isNullOrEmpty(Request.QueryString["cmbQADispose"]) ? -1 : Convert.ToInt32(Request.QueryString["cmbQADispose"]), QtyIn = StringHelper.isNullOrEmpty(Request.QueryString["txtQtyIn"]) ? -1 : Convert.ToInt32(Request.QueryString["txtQtyIn"]), RetestTimes = StringHelper.isNullOrEmpty(Request.QueryString["txtRetestTimes"]) ? -1 : Convert.ToInt32(Request.QueryString["txtRetestTimes"]), SPRDDecision = StringHelper.isNullOrEmpty(Request.QueryString["cmbSPRDDecision"]) ? -1 : Convert.ToInt32(Request.QueryString["cmbSPRDDecision"]), SubconLot = Request.QueryString["txtSubconLot"], TesterID = Request.QueryString["txtTesterID"], TestProgram = Request.QueryString["txtTestProgram"], Stage = Request.QueryString["txtStage"], Yield = Request.QueryString["txtYield"], OtherBinDispose = StringHelper.isNullOrEmpty(Request.QueryString["cmbOtherBinDispose"]) ? -1 : Convert.ToInt32(Request.QueryString["cmbOtherBinDispose"]) }; string s = Request.QueryString["action"]; uint num = ComputeStringHash(s); if (num <= 0x3cfd7330) { switch (num) { case 0x302c992: if (s == "NewComment") { query.NewCommentOnly = true; return(query); } return(query); case 0x289beb49: if (s == "LotDispose") { query.WaitForDisposeOnly = true; return(query); } return(query); case 0x3cfd7330: if (s == "WaitConfirm") { query.WaitForConfirmOnly = true; return(query); } return(query); } return(query); } if (num <= 0x9e89e783) { switch (num) { case 0x811c9dc5: if ((s != null) && (s.Length != 0)) { } return(query); case 0x9e89e783: if (!(s == "Query")) { } return(query); } return(query); } switch (num) { case 0xc837a832: if (s == "EQALots") { query.EqaLotsOnly = true; return(query); } return(query); case 0xe9f83059: if (s == "WaitForOtherBinDispose") { query.WaitForOtherBinDispose = true; return(query); } return(query); } return(query); }