コード例 #1
0
 public ActionResult List(GridCommand command, TyreOrderSearchModel searchModel)
 {
     SearchCacheModel searchCacheModel = this.ProcessSearchModel(command, searchModel);
     ViewBag.PageSize = base.ProcessPageSize(command.PageSize);
     return View();
 }
コード例 #2
0
 public ActionResult _AjaxList(GridCommand command, TyreOrderSearchModel searchModel)
 {
     
     SearchStatementModel searchStatementModel = this.PrepareSearchStatement(command, searchModel);
     return PartialView(GetAjaxPageData<TyreOrderMaster>(searchStatementModel, command));
 }
コード例 #3
0
        private IList<OrderDetail> _GetTyreOrderDetail(TyreOrderSearchModel searchModel)
        {
            string searchSql = PrepareReceiveSearchStatement(searchModel);
            var searchResult = this.genericMgr.FindAllWithNativeSql<object[]>(searchSql);
            var orderDetList = (from tak in searchResult
                                select new OrderDetail
                                {
                                    #region
                                    Id = (int)tak[0],
                                    Item = (string)tak[1],
                                    ItemDescription = (string)tak[2],
                                    ReferenceItemCode = (string)tak[3],
                                    ReserveNo = (string)tak[4],
                                    Uom = (string)tak[5],
                                    UnitCount = (decimal)tak[6],
                                    LocationFrom = (string)tak[7],
                                    LocationFromName = (string)tak[8],
                                    LocationTo = (string)tak[9],
                                    LocationToName = (string)tak[10],
                                    OrderedQty = (decimal)tak[11],
                                    ShippedQty = (decimal)tak[12],
                                    ReceivedQty = (decimal)tak[13],
                                    OrderNo = (string)tak[14],
                                    RefOrderNo = (string)tak[14],
                                    Flow = (string)tak[15],
                                    FlowDescription = (string)tak[16],
                                    SequenceGroup = (string)tak[17],
                                    ProdNo = (string)tak[18],
                                    ProdLine = (string)tak[19],
                                    ProdLineDescription = (string)tak[20],
                                    CompleteDate = (DateTime?)tak[21],
                                    #endregion
                                }).ToList();

            return orderDetList ?? new List<OrderDetail>();
        }
コード例 #4
0
        private string PrepareReceiveSearchStatement(TyreOrderSearchModel searchModel)
        {
            IList<string> prodLines = new List<string>();
            if (string.IsNullOrWhiteSpace(searchModel.ProdLines))
            {
                prodLines = "RAA00,RAB00,RTX00".Split(new char[] { ',' });
            }
            else
            {
                prodLines = searchModel.ProdLines.Split(new char[] { ',' });
            }
            //var startDate = new List<DateTime>();

            //foreach (var prodLine in prodLines)
            //{
            //    startDate.Add(this.genericMgr.FindAllWithNativeSql<DateTime>("select isnull(MAX(LastModifyDate),DATEADD(day,-30,GETDATE())) from ORD_TyreOrderDet  where ProdLine=?", prodLine)[0]);
            //}
            string searchSql = @"  select d2.Id,d2.Item,d2.ItemDesc,d2.RefItemCode,d2.ReserveNo,d2.uom,d2.UC,d2.LocFrom,d2.LocFromNm,d2.LocTo,d2.LocToNm,d2.OrderQty,d2.ShipQty,d2.RecQty,m2.OrderNo,m2.Flow,m2.FlowDesc,m2.SeqGroup,m4.OrderNo as ProdNo ,m4.Flow as ProdLine,m4.FlowDesc as ProdLineDesc,m4.CompleteDate from ORD_OrderDet_2  as d2 with(nolock)
 inner join ORD_OrderMstr_2  as  m2 with(nolock) on m2.OrderNo=d2.OrderNo
 inner join CUST_FlowRelationship as cf on cf.Flow=m2.Flow
 inner join ORD_OrderMstr_4 as m4 with(nolock) on right('0000000000'+d2.ReserveNo,10)=m4.TraceCode and cf.ProdLine=m4.Flow  
 where m4.Status=4 ";       //and  d2.RecQty<d2.OrderQty
            searchSql += string.Format("  and m4.CompleteDate between '{0}' and '{1}' ", searchModel.CompleteDateFrom,searchModel.CompleteDateTo);
            searchSql += string.Format("  and m4.Flow in('{0}') ", string.Join("','", prodLines));

            if (!string.IsNullOrWhiteSpace(searchModel.ids))
            {
                searchSql += string.Format(" and d2.Id in({0})",searchModel.ids);
            }

            return searchSql;
        }
コード例 #5
0
 public ActionResult TyreReceive(TyreOrderSearchModel searchModel)
 {
     try
     {
         if (searchModel.CompleteDateFrom == null || searchModel.CompleteDateTo == null)
         {
             throw new BusinessException("订单完工开始结束日期不能为空。");
         }
         IList<OrderDetail> orderDetList = new List<OrderDetail>();
         orderDetList = _GetTyreOrderDetail(searchModel);
         orderDetList = orderDetList.Where(d => d.OrderedQty > d.ReceivedQty).ToList();
         orderMgr.TyreReceive(orderDetList);
         SaveSuccessMessage("轮胎结算成功。");
     }
     catch (BusinessException eb)
     {
         SaveErrorMessage("轮胎结算失败:" + eb.GetMessages()[0].GetMessageString());
     }
     catch (Exception e)
     {
         SaveErrorMessage("轮胎结算失败:" + e.Message);
     }
     return RedirectToAction("ReceiveList", searchModel);
    
 }
コード例 #6
0
        public ActionResult _AjaxReceiveList(GridCommand command, TyreOrderSearchModel searchModel)
        {
            if (searchModel.CompleteDateFrom == null || searchModel.CompleteDateTo == null)
            {
                return PartialView(new GridModel<OrderDetail>(new List<OrderDetail>()));
            }
            //d2.Id,d2.Item,d2.ItemDesc,d2.RefItemCode,d2.ReserveNo,d2.uom,d2.UC,d2.LocFrom,d2.LocFromNm,d2.LocTo,d2.LocToNm,
            //d2.OrderQty,d2.ShipQty,d2.RecQty,m2.OrderNo,m2.Flow,m2.FlowDesc,m2.SeqGroup,m4.OrderNo as ProdNo ,
            //m4.Flow as ProdLine,m4.FlowDesc as ProdLineDesc,m4.CompleteDate
            IList<OrderDetail> orderDetList = new List<OrderDetail>();
             orderDetList = _GetTyreOrderDetail(searchModel);
            GridModel<OrderDetail> gridModelOrderDet = new GridModel<OrderDetail>();
            gridModelOrderDet.Total = orderDetList.Count;
            gridModelOrderDet.Data = orderDetList.Skip((command.Page-1)*command.PageSize) .Take(command.PageSize);
            return PartialView(gridModelOrderDet);

        }
コード例 #7
0
 public ActionResult ReceiveList(GridCommand command, TyreOrderSearchModel searchModel)
 {
     SearchCacheModel searchCacheModel = this.ProcessSearchModel(command, searchModel);
     ViewBag.PageSize = 50;
     if (searchModel.CompleteDateFrom == null || searchModel.CompleteDateTo == null)
     {
         SaveWarningMessage("订单完工开始结束日期不能为空。");
     }
     return View();
 }
コード例 #8
0
        private SearchStatementModel PrepareSearchDetailStatement(GridCommand command, TyreOrderSearchModel searchModel)
        {
            string whereStatement = string.Empty;

            IList<object> param = new List<object>();

            HqlStatementHelper.AddEqStatement("ProdLine", searchModel.ProdLine, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("Flow", searchModel.Flow, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("ProdNo", searchModel.ProdNo, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("TyreOrderNo", searchModel.TyreOrderNo, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("RefOrderNo", searchModel.RefOrderNo, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("SeqGroup", searchModel.SeqGroup, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("Item", searchModel.Item, "t", ref whereStatement, param);
            HqlStatementHelper.AddEqStatement("VanNo", searchModel.VanNo, "t", ref whereStatement, param);
            
            if (searchModel.CreateDateFrom != null & searchModel.CreateDateTo != null)
            {
                HqlStatementHelper.AddBetweenStatement("CreateDate", searchModel.CreateDateFrom, searchModel.CreateDateTo, "t", ref whereStatement, param);
            }
            else if (searchModel.CreateDateFrom != null & searchModel.CreateDateTo == null)
            {
                HqlStatementHelper.AddGeStatement("CreateDate", searchModel.CreateDateFrom, "t", ref whereStatement, param);
            }
            else if (searchModel.CreateDateFrom == null & searchModel.CreateDateTo != null)
            {
                HqlStatementHelper.AddLeStatement("CreateDate", searchModel.CreateDateTo, "t", ref whereStatement, param);
            }
            string sortingStatement = HqlStatementHelper.GetSortingStatement(command.SortDescriptors);
            if (string.IsNullOrWhiteSpace(sortingStatement))
            {
                sortingStatement = " ORDER BY t.CreateDate desc ";
            }
            SearchStatementModel searchStatementModel = new SearchStatementModel();
            searchStatementModel.SelectCountStatement = selectTyreOrderDetailCountStatement;
            searchStatementModel.SelectStatement = selectTyreOrderDetailStatement;
            searchStatementModel.WhereStatement = whereStatement;
            //searchStatementModel.SortingStatement = sortingStatement;
            searchStatementModel.Parameters = param.ToArray<object>();

            return searchStatementModel;
        }
コード例 #9
0
        //[SconitAuthorize(Permissions = "Url_OrderSeq_View")]
        //public ActionResult ExportXLS(GridCommand command, TyreOrderSearchModel searchModel)
        //{
        //    string hql = " select u from VanOrderSeqView as u where 1=1";
        //    IList<object> param = new List<object>();
        //    var error = false;
        //    if (string.IsNullOrWhiteSpace(searchModel.ProdLine))
        //    {
        //        error = true;
        //        SaveWarningMessage(Resources.ErrorMessage.Errors_Common_FieldRequired, Resources.ORD.OrderMaster.OrderMaster_Flow);
        //    }
        //    else
        //    {
        //        hql += " and  u.Flow=?";
        //        param.Add(searchModel.ProdLine);
        //    }
        //    long seq = 0;
        //    if (!string.IsNullOrWhiteSpace(searchModel.ProdLine) && !string.IsNullOrWhiteSpace(searchModel.TraceCode))
        //    {
        //        seq = this.genericMgr.FindAllWithNativeSql<long>("SELECT Seq FROM ORD_OrderSeq os where os.TraceCode=? AND os.ProdLine=? ", new object[] { searchModel.TraceCode, searchModel.ProdLine })[0];
        //        if (seq > 0)
        //        {
        //            hql += " and  u.Sequence>=?";
        //            param.Add(seq);
        //        }
        //        else
        //        {
        //            error = true;
        //            SaveErrorMessage("Van号值加生产线找不到对应的数据.");
        //        }
        //    }
           

        //    if (error)
        //    {
        //        ViewBag.ReadOnly = true;
        //        return RedirectToAction("Index");
        //    }

        //    var list = this.genericMgr.FindAll<VanOrderSeqView>(hql,param.ToArray());
        //    ExportToXLS<VanOrderSeqView>("VanOrderSeqView", "XLS", list);
        //    return null;
        //}

        private SearchStatementModel PrepareSearchStatement(GridCommand command, TyreOrderSearchModel searchModel)
        {
            string whereStatement = " where 1=1 ";

            IList<object> param = new List<object>();

            if (!string.IsNullOrWhiteSpace(searchModel.ProdLine) && !string.IsNullOrWhiteSpace(searchModel.Flow))
            {
                whereStatement += " and exists( select 1 from TyreOrderDetail as d where d.TyreOrderNo=t.TyreOrderNo and d.ProdLine=? and d.Flow=?) ";
                param.Add(searchModel.ProdLine);
                param.Add(searchModel.Flow);
            }
            else if (!string.IsNullOrWhiteSpace(searchModel.ProdLine) && string.IsNullOrWhiteSpace(searchModel.Flow))
            {
                whereStatement += " and exists( select 1 from TyreOrderDetail as d where d.TyreOrderNo=t.TyreOrderNo and d.ProdLine=? ) ";
                param.Add(searchModel.ProdLine);
            }
            else if (string.IsNullOrWhiteSpace(searchModel.ProdLine) && !string.IsNullOrWhiteSpace(searchModel.Flow))
            {
                whereStatement += " and exists( select 1 from TyreOrderDetail as d where d.TyreOrderNo=t.TyreOrderNo and d.Flow=? ) ";
                param.Add(searchModel.Flow);
            }
            if (searchModel.CreateDateFrom != null & searchModel.CreateDateTo != null)
            {
                HqlStatementHelper.AddBetweenStatement("CreateDate", searchModel.CreateDateFrom, searchModel.CreateDateTo, "t", ref whereStatement, param);
            }
            else if (searchModel.CreateDateFrom != null & searchModel.CreateDateTo == null)
            {
                HqlStatementHelper.AddGeStatement("CreateDate", searchModel.CreateDateFrom, "t", ref whereStatement, param);
            }
            else if (searchModel.CreateDateFrom == null & searchModel.CreateDateTo != null)
            {
                HqlStatementHelper.AddLeStatement("CreateDate", searchModel.CreateDateTo, "t", ref whereStatement, param);
            }
            string sortingStatement = HqlStatementHelper.GetSortingStatement(command.SortDescriptors);
            if (string.IsNullOrWhiteSpace(sortingStatement))
            {
                sortingStatement = " ORDER BY t.CreateDate desc ";
            }
            SearchStatementModel searchStatementModel = new SearchStatementModel();
            searchStatementModel.SelectCountStatement = selectCountStatement;
            searchStatementModel.SelectStatement = selectStatement;
            searchStatementModel.WhereStatement = whereStatement;
            //searchStatementModel.SortingStatement = sortingStatement;
            searchStatementModel.Parameters = param.ToArray<object>();

            return searchStatementModel;
        }