public static WaferQuery GetWaferQuery(HttpRequestBase req)
        {
            WaferQuery query = new WaferQuery {
                SearchType     = req.QueryString["SearchType"],
                ProductName    = req.QueryString["ProductName"],
                WaferCode      = req.QueryString["WaferCode"],
                LotId          = req.QueryString["LotId"],
                WaferID        = req.QueryString["WaferID"],
                TransformID    = req.QueryString["TransformID"],
                PEDispose      = StringHelper.isNullOrEmpty(req.QueryString["PEDispose"]) ? -1 : Convert.ToInt32(req.QueryString["PEDispose"]),
                PEComment      = req.QueryString["PEComment"],
                QADispose      = StringHelper.isNullOrEmpty(req.QueryString["QADispose"]) ? -1 : Convert.ToInt32(req.QueryString["QADispose"]),
                QAComment      = req.QueryString["QAComment"],
                SPRDDecision   = StringHelper.isNullOrEmpty(req.QueryString["SPRDDecision"]) ? -1 : Convert.ToInt32(req.QueryString["SPRDDecision"]),
                VendorComment  = req.QueryString["VendorComment"],
                Osat           = req.QueryString["Osat"],
                Status         = StringHelper.isNullOrEmpty(req.QueryString["Status"]) ? -1 : Convert.ToInt32(req.QueryString["Status"]),
                HoldReason     = req.QueryString["HoldReason"],
                Yield          = req.QueryString["Yield"],
                CompletionDate = req.QueryString["CompletionDate"],
                OrderBy        = req.QueryString["OrderBy"],
                OrderDesc      = StringHelper.isNullOrEmpty(req.QueryString["OrderDesc"]) ? false : Convert.ToBoolean(req.QueryString["OrderDesc"]),
                LastDays       = StringHelper.isNullOrEmpty(req.QueryString["LastDays"]) ? 1 : Convert.ToInt32(req.QueryString["LastDays"]),
            };

            return(query);
        }
Beispiel #2
0
        public IList <Wafer> GetAllWaferBy(WaferQuery query, int pageSize, int pageIndex, out int recoedCount)
        {
            Conditions      conditions      = GetCondition(query);
            OrderExpression orderExpression = null;

            // List<string> orderList = new List<string>();
            if (!StringHelper.isNullOrEmpty(query.OrderBy))
            {
                orderExpression = new OrderExpression(query.OrderBy, query.OrderDesc);
                // orderList.Add(query.OrderBy);
            }
            orderExpression = new OrderExpression("WaferID", false);
            // orderList.Add("WaferID");
            return(this.dbGateway.getRecords(pageIndex, pageSize, conditions, orderExpression, null, Connector.AND, out recoedCount));
        }
        public ActionResult Search(int pageSize, int pageIndex)
        {
            WaferQuery query = WaferQueryUtility.GetWaferQuery(base.Request);

            if (StringHelper.isNullOrEmpty(query.OrderBy))
            {
                query.OrderBy   = "CreateDate";
                query.OrderDesc = true;
            }
            if (CurrentUserInfo.Role == UserRoles.Fab || CurrentUserInfo.Role == UserRoles.FabAdmin)
            {
                query.Osat   = CurrentUserInfo.BUName;
                query.Status = (int)WaferStatus.WaitVendor;
            }
            int           recordCount = 0;
            IList <Wafer> list        = service.GetAllWaferBy(query, pageSize, pageIndex, out recordCount);

            if (list != null && list.Count > 0)
            {
                foreach (Wafer item in list)
                {
                    item.StatusText       = WaferHelper.waferStatusDes(item.Status);
                    item.PEDisposeText    = WaferHelper.WaferSelectionDes(item.PEDispose);
                    item.QADisposeText    = WaferHelper.WaferSelectionDes(item.QADispose);
                    item.SPRDDecisionText = WaferHelper.WaferSelectionDes(item.SPRDDecision);
                    Boolean            IsTriggered = false;
                    IList <Wafer_Sbin> ListSbin    = sbinService.GetWaferSbin(item.TransformID, item.ID);
                    foreach (Wafer_Sbin sbin in ListSbin)
                    {
                        if (sbin.IsTriggered)
                        {
                            IsTriggered = true;
                        }
                    }
                    item.IsTriggered = IsTriggered;
                }
            }
            var json = JsonConvert.SerializeObject(new
            {
                currentPage = pageIndex,
                totalPages  = PagerUtility.GetPageCount(recordCount, pageSize),
                rows        = list,
            });

            base.Response.Write(json);
            return(null);
        }
        public ActionResult ExportData()
        {
            WaferQuery query       = WaferQueryUtility.GetWaferQuery(base.Request);
            int        recordCount = 0;
            string     xlsName     = string.Format("Wafer_{0}", DateTime.Now.ToString("yyyyMMdd_hhmmss"));

            if (StringHelper.isNullOrEmpty(query.OrderBy))
            {
                query.OrderBy   = "CreateDate";
                query.OrderDesc = true;
            }
            if (CurrentUserInfo.Role == UserRoles.Fab || CurrentUserInfo.Role == UserRoles.FabAdmin)
            {
                query.Osat   = CurrentUserInfo.BUName;
                query.Status = (int)WaferStatus.WaitVendor;
            }
            IList <Wafer> list = service.GetAllWaferBy(query, 0xf423f, 0, out recordCount);

            if (list != null && list.Count > 0)
            {
                foreach (Wafer item in list)
                {
                    item.StatusText       = WaferHelper.waferStatusDes(item.Status);
                    item.PEDisposeText    = WaferHelper.WaferSelectionDes(item.PEDispose);
                    item.QADisposeText    = WaferHelper.WaferSelectionDes(item.QADispose);
                    item.SPRDDecisionText = WaferHelper.WaferSelectionDes(item.SPRDDecision);
                }
            }
            string path = "/Export/Excels/Wafer/";
            string mp   = Server.MapPath("~") + path;

            if (!Directory.Exists(mp))
            {
                Directory.CreateDirectory(mp);
            }
            string        nextUrl     = Exporthelper.GetExport <Wafer>("LOTS", list, "/Export/Excels/Wafer/", "/Content/Exports/ExportWafer.xml", xlsName, 0, 0);
            ResponseTypes redirect    = ResponseTypes.Redirect;
            TipTypes      information = TipTypes.Information;

            base.Response.Write(new HandlerResponse("0", "导出Excel文件", redirect.ToString(), information.ToString(), nextUrl, "", "").GenerateJsonResponse());
            return(null);
        }
Beispiel #5
0
        private Conditions GetCondition(WaferQuery query)
        {
            Conditions conditions = new Conditions();

            if (!StringHelper.isNullOrEmpty(query.SearchType))
            {
                conditions.ConditionExpressions.Add(new Condition("AutoJudeResult", Operator.EqualTo, query.SearchType));
            }
            if (!StringHelper.isNullOrEmpty(query.ProductName))
            {
                conditions.ConditionExpressions.Add(new Condition("ProductName", Operator.Like, query.ProductName));
            }
            if (!StringHelper.isNullOrEmpty(query.WaferCode))
            {
                conditions.ConditionExpressions.Add(new Condition("WaferCode", Operator.Like, query.WaferCode));
            }

            if (!StringHelper.isNullOrEmpty(query.Osat))
            {
                conditions.ConditionExpressions.Add(new Condition("Vendor", Operator.EqualTo, query.Osat));
            }
            if (!StringHelper.isNullOrEmpty(query.LotId))
            {
                conditions.ConditionExpressions.Add(new Condition("LotId", Operator.Like, query.LotId));
            }

            if (!StringHelper.isNullOrEmpty(query.WaferID))
            {
                conditions.ConditionExpressions.Add(new Condition("WaferID", Operator.EqualTo, query.WaferID));
            }
            if (!StringHelper.isNullOrEmpty(query.TransformID))
            {
                conditions.ConditionExpressions.Add(new Condition("TransformID", Operator.EqualTo, query.TransformID));
            }
            if (query.PEDispose > 0)
            {
                conditions.ConditionExpressions.Add(new Condition("PEDispose", Operator.EqualTo, query.PEDispose));
            }
            if (!StringHelper.isNullOrEmpty(query.PEComment))
            {
                conditions.ConditionExpressions.Add(new Condition("PEComment", Operator.Like, query.PEComment));
            }
            if (query.QADispose > 0)
            {
                conditions.ConditionExpressions.Add(new Condition("QADispose", Operator.EqualTo, query.QADispose));
            }
            if (!StringHelper.isNullOrEmpty(query.QAComment))
            {
                conditions.ConditionExpressions.Add(new Condition("QAComment", Operator.Like, query.QAComment));
            }
            if (query.SPRDDecision > 0)
            {
                conditions.ConditionExpressions.Add(new Condition("SPRDDecision", Operator.EqualTo, query.SPRDDecision));
            }
            if (!StringHelper.isNullOrEmpty(query.VendorComment))
            {
                conditions.ConditionExpressions.Add(new Condition("VendorComment", Operator.Like, query.VendorComment));
            }
            if (!StringHelper.isNullOrEmpty(query.Osat))
            {
                conditions.ConditionExpressions.Add(new Condition("Vendor", Operator.Like, query.Osat));
            }
            if (query.Status > 0)
            {
                conditions.ConditionExpressions.Add(new Condition("Status", Operator.EqualTo, query.Status));
            }
            if (!StringHelper.isNullOrEmpty(query.HoldReason))
            {
                conditions.ConditionExpressions.Add(new Condition("HoldReason", Operator.Like, query.HoldReason));
            }
            if (!StringHelper.isNullOrEmpty(query.Yield))
            {
                conditions.ConditionExpressions.Add(new Condition("Yield", Operator.EqualTo, query.Yield));
            }
            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 (query.LastDays > 0)
            {
                var dt = DateTime.Now.ToLocalTime();
                if (query.LastDays == 1)
                {
                    conditions.ConditionExpressions.Add(new Condition("CompletionDate", Operator.Between, dt.AddHours(-24), dt));
                }
                else
                {
                    string str_startTime = dt.AddDays(-2).ToShortDateString();
                    conditions.ConditionExpressions.Add(new Condition("CompletionDate", Operator.Between, str_startTime, dt.ToShortDateString()));
                }
            }
            if (!StringHelper.isNullOrEmpty(query.CreateDate))
            {
                string[] dateArray = query.CreateDate.Split('-');
                conditions.ConditionExpressions.Add(new Condition("CreateDate", Operator.Between, dateArray[0], dateArray[1] + " 23:59:59"));
            }
            conditions.Connector = Connector.AND;
            return(conditions);
        }
Beispiel #6
0
 public IList <Wafer> GetAllWaferBy(WaferQuery query, int pageSize, int pageIndex, out int recoedCount)
 {
     return(this.way.GetAllWaferBy(query, pageSize, pageIndex, out recoedCount));
 }