/// <summary>
 /// Creates a new SerializedScheduledEventParams instance based on the provided ScheduledEventParams
 /// </summary>
 /// <param name="scheduledEventParams"></param>
 public SerializedScheduledEventParams(ScheduledEventParams scheduledEventParams)
 {
     Name        = scheduledEventParams.Name;
     ExpiryTime  = Time.DateTimeToUnixTimeStamp(scheduledEventParams.ExpiryTime);
     Tag         = scheduledEventParams.Tag;
     Quantity    = scheduledEventParams.Quantity;
     OrderReason = scheduledEventParams.OrderReason;
     Symbol      = scheduledEventParams.Symbol.ID.ToString();
 }
示例#2
0
 /// <summary>
 /// Initialize ScheduledEventParams
 /// </summary>
 /// <param name="name">an identifier for scheduled event</param>
 /// <param name="expiry_time">utc expiry time of the order</param>
 /// <param name="symbol">order ticker</param>
 /// <param name="quantity">order size</param>
 /// <param name="orderReason">order reason</param>
 public ScheduledEventParams(string name, DateTime expiry_time, Symbol symbol, decimal quantity, OrderReason orderReason)
 {
     Name        = name;
     ExpiryTime  = expiry_time;
     Symbol      = symbol;
     Quantity    = quantity;
     OrderReason = orderReason;
     Tag         = name;
 }
示例#3
0
        /// <summary>
        /// Creates a new ScheduledEventParams instance from a SerializedScheduledEventParams instance
        /// </summary>
        /// <param name="serializedScheduledEventsParams"></param>
        /// <returns></returns>
        public static ScheduledEventParams FromSerialized(SerializedScheduledEventParams serializedScheduledEventsParams)
        {
            string name = serializedScheduledEventsParams.Name;
            string tag  = serializedScheduledEventsParams.Tag;

            var    sid    = SecurityIdentifier.Parse(serializedScheduledEventsParams.Symbol);
            Symbol symbol = new Symbol(sid, sid.Symbol);

            DateTime    expiry_time = QuantConnect.Time.UnixTimeStampToDateTime(serializedScheduledEventsParams.ExpiryTime);
            OrderReason orderReason = serializedScheduledEventsParams.OrderReason;

            decimal quantity = serializedScheduledEventsParams.Quantity;

            return(new ScheduledEventParams(name, expiry_time, symbol, quantity, orderReason));
        }
示例#4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="symbol"></param>
 /// <param name="quantity"></param>
 /// <param name="orderReason"></param>
 /// <param name="tag"></param>
 /// <returns></returns>
 public OrderTicket MarketOrderWrapper(Symbol symbol, decimal quantity, OrderReason orderReason, string tag)
 {
     throw new NotImplementedException();
 }
示例#5
0
        public Object GetOrderInfo(long PageIndex, long PageSize, string OrderNo,
                                   string WorkProcedure, string BatchNo, string Model, string EquipmentNo,
                                   string FeedbackMan, string StartTime, string EndTime, string Status, int OrderType)
        {
            OrderNo       = OrderNo != null ? OrderNo : "";
            WorkProcedure = WorkProcedure != null ? WorkProcedure : "";
            BatchNo       = BatchNo != null ? BatchNo : "";
            Model         = Model != null ? Model : "";
            EquipmentNo   = EquipmentNo != null ? EquipmentNo : "";;
            FeedbackMan   = FeedbackMan != null ? FeedbackMan : "";
            StartTime     = StartTime != null ? StartTime : "";
            EndTime       = EndTime != null ? EndTime : "";
            Status        = Status != null ? Status : "";
            string strWhere = @"   OrderNo like '%{0}%' and isnull(WorkProcedure,'') like
 '%{1}%' and isnull(BatchNo,'') like '%{2}%' and isnull(Model,'') like '%{3}%' and  isnull(EquipmentNo,'') like '%{4}%' and isnull(FeedbackMan,'') like '%{5}%'  ";

            strWhere = string.Format(strWhere, OrderNo, WorkProcedure, BatchNo, Model, EquipmentNo, FeedbackMan);
            if (StartTime != "" & EndTime != "")
            {
                strWhere += " and FeedbackTime between '" + StartTime + "' and '" + EndTime + " 23:59:59'";
            }

            /*
             *  Status表示订单状态,该值存在以下几种情况: Null:全部,E:待处理;W:待确认;T:处理中;P:已完成;B:已退单;
             *  W状态下:b.Status=0&&b.StepID=私有公共变量WaitConfirmStepID
             *  E状态下: b.Status=0&&b.StepID=私有公共变量WaitHandleStepID,即QC所在步骤StepID
             *  T状态下: b.Status=0
             *  P状态下:b.Status=2
             *  B状态下:b.Status=3
             */
            switch (Status)
            {
            case "E":
                strWhere += @" and (b.Status=0 and b.StepID='" + WaitHandleStepID + "')";
                break;

            case "W":
                strWhere += @" and (b.Status=0 and b.StepID='" + WaitConfirmStepID + "')";
                break;

            case "T":
                strWhere += @" and (b.Status=0)";
                break;

            case "P":
                strWhere += @" and (b.Status=2)";
                break;

            case "B":
                strWhere += @" and (b.Status=3)";
                break;

            default:
                break;
            }
            strWhere += " and OrderType=" + OrderType + "  ";
            using (SqlConnection con = new SqlConnection(conString))
            {
                try
                {
                    BllApprovalStream        BllStream = new BllApprovalStream(con);
                    FeedbackBaseService      BllBase = new FeedbackBaseService(con);
                    FeedbackExReasonService  BllReason = new FeedbackExReasonService(con);
                    FeedbackExProblemService BllPro = new FeedbackExProblemService(con);
                    BllProductCard           BllCard = new BllProductCard(con);
                    long RowCount = 0, PageCount = 0;
                    List <FeedbackBase> BaseList  = BllBase.GetOrderByWorkFlowTaskOnPage(PageIndex, PageSize, strWhere, out RowCount);
                    List <OrderInfo>    OrderList = new List <OrderInfo>();
                    if (BaseList != null && BaseList.Count > 0)
                    {
                        foreach (var node in BaseList)
                        {
                            OrderInfo Item = new OrderInfo();
                            //①基础信息
                            Item.OrderNo       = node.OrderNo;
                            Item.BatchNo       = node.BatchNo;
                            Item.Model         = node.Model;
                            Item.Qty           = node.Qty;
                            Item.ProductClass  = node.ProductClass;
                            Item.WorkProcedure = node.WorkProcedure;
                            Item.EquipmentName = node.EquipmentName;
                            Item.EquipmentNo   = node.EquipmentNo;
                            Item.FeedbackMan   = node.FeedbackMan;
                            Item.FeedbackTime  = node.FeedbackTime.ToString("yyyy-MM-dd HH:mm");
                            Item.ProblemLevel  = node.ProblemLevel;
                            Item.Report        = node.Report;
                            Item.Measure       = node.Measure;
                            //Item.Status= node.Status;
                            Item.Status     = node.ProvalStatus.ToString();
                            Item.EmployeeID = node.EmployeeID;
                            Item.StepID     = node.StepID;
                            Item.StepName   = node.StepName;
                            Item.ID         = (node.ID).ToString();
                            Item.PrevStatus = node.PrevStatus;
                            Item.IsControl  = node.IsControl;
                            Item.ImageList  = node.ImageList;



                            //②质量问题
                            List <FeedbackExProblem> Problem      = BllPro.GetProblemByWhere(" where OrderNo='" + node.OrderNo + "'");
                            List <OrderProblem>      OrderProblem = new List <OrderProblem>();
                            foreach (var list in Problem)
                            {
                                OrderProblem Obj_Problem = new OrderProblem();
                                Obj_Problem.codeString     = list.CodeString;
                                Obj_Problem.topClass       = list.TopClass;
                                Obj_Problem.roomName       = list.RoomName;
                                Obj_Problem.typeName       = list.TypeName;
                                Obj_Problem.present        = list.Present;
                                Obj_Problem.problem        = list.Problem;
                                Obj_Problem.suggestion     = list.Suggestion;
                                Obj_Problem.problemDetails = list.ProblemDetails;
                                Obj_Problem.qualityClass   = list.QualityClass;
                                Obj_Problem.problemLevel   = list.ProblemLevel;
                                OrderProblem.Add(Obj_Problem);
                            }
                            Item.ProblemData = OrderProblem;
                            //③原因分析
                            List <FeedbackExReason> Reason      = BllReason.GetReasonByWhere(" where OrderNo='" + node.OrderNo + "'");
                            List <OrderReason>      OrderReason = new List <OrderController.OrderReason>();
                            foreach (var list in Reason)
                            {
                                OrderReason Obj_Reason = new OrderReason();
                                Obj_Reason.reasonType    = list.ReasonType;
                                Obj_Reason.reasonDetails = list.ReasonDetails;
                                Obj_Reason.orderNo       = list.OrderNo;
                                OrderReason.Add(Obj_Reason);
                            }
                            Item.ReasonData = OrderReason;
                            //④客户信息
                            Item.CardList = BllCard.GetCard(" where FKOrderNo='" + node.OrderNo + "' and CardNo <>''");
                            //⑤反馈单处理意见
                            Item.ApprovalStream = BllStream.GetStream(" where OrderNo='" + node.OrderNo + "' and StreamType=0");
                            if (OrderType == 1)
                            {
                                //⑥控制表处理意见
                                Item.ControlStream = BllStream.GetStream(" where OrderNo='" + node.OrderNo + "' and StreamType=1");
                            }
                            Item.RowCount = RowCount;
                            OrderList.Add(Item);
                        }
                    }
                    return(OrderList);
                }
                catch (Exception ex)
                {
                    string ErrMsg = ex.Message;
                    return("");
                }
                finally
                {
                    if (con.State != ConnectionState.Closed)
                    {
                        con.Close();
                    }
                }
            }
        }