Пример #1
0
 /// <summary>
 /// 数据源:外发
 /// </summary>
 /// <param name="Tasks"></param>
 /// <param name="_viewmodel"></param>
 /// <param name="ProjectPhaseRepository"></param>
 /// <param name="SteelDrawingRepo"></param>
 /// <param name="TaskRepository"></param>
 public PurchaseContentGridViewModel(IEnumerable <Task> Tasks,
                                     List <SetupTaskStart> _viewmodel,
                                     IProjectPhaseRepository ProjectPhaseRepository,
                                     ISteelCAMDrawingRepository SteelDrawingRepo,
                                     ITaskRepository TaskRepository,
                                     IWHPartRepository WHPartRepository,
                                     IPurchaseTypeRepository PurchaseTypeRepository,
                                     string mrPurDate = ""
                                     )
 {
     rows = new List <PurchaseContentGridRowModel>();
     foreach (var m in _viewmodel)
     {
         Task _task = TaskRepository.QueryByTaskID(m.TaskID) ?? new Task();
         rows.Add(new PurchaseContentGridRowModel(_task, m, mrPurDate, ProjectPhaseRepository, SteelDrawingRepo, WHPartRepository, PurchaseTypeRepository, _task.Time));
     }
     Page    = 1;
     Total   = Tasks.Count();
     Records = 500;
 }
        public WarehouseStockGridViewModel(List <WHStock> StockItems,
                                           IUserRepository UserRepo,
                                           IPurchaseItemRepository PurchaseItemRepo,
                                           IPurchaseTypeRepository PurchaseTypeRepo,
                                           IStockTypeRepository StockTypeRepo,
                                           IWarehouseRepository WarehouseRepo,
                                           IWarehousePositionRepository WarehousePositionRepo,
                                           IWHPartRepository WHPartRepository)
        {
            string UserName, PurchaseUserName, WarehouseUserName, PurchaseType, StockType, Warehouse, WarehousePosition;

            foreach (var _item in StockItems)
            {
                //PurchaseItem _purchaseItem = PurchaseItemRepo.QueryByID(_item.PurchaseItemID);
                try
                {
                    //UserName = UserRepo.GetUserByID(_item.RequestUserID).FullName;
                    UserName = "";
                }
                catch
                {
                    UserName = "";
                }
                try
                {
                    //PurchaseUserName = UserRepo.GetUserByID(_purchaseItem.PurchaseUserID).FullName;
                    PurchaseUserName = "";
                }
                catch
                {
                    PurchaseUserName = "";
                }
                try
                {
                    //WarehouseUserName = UserRepo.GetUserByID(_item.WarehouseUserID).FullName;
                    WarehouseUserName = "";
                }
                catch
                {
                    WarehouseUserName = "";
                }

                try
                {
                    PurchaseType = PurchaseTypeRepo.QueryByID(_item.PurchaseType).Name;
                }
                catch
                {
                    PurchaseType = "";
                }
                try
                {
                    var _PartNumStrs = _item.PartNum.Split('-');
                    StockType = StockTypeRepo.StockTypes.Where(s => s.Code == _PartNumStrs[0]).FirstOrDefault().Name;//StockTypeRepo.QueryByID(_item.StockType).Name;
                }
                catch
                {
                    StockType = "";
                }
                try
                {
                    Warehouse = WarehouseRepo.QueryByID(_item.WarehouseID).Name;
                }
                catch
                {
                    Warehouse = "";
                }
                try
                {
                    WarehousePosition = WarehousePositionRepo.QueryByID(_item.WarehousePositionID).Name;
                }
                catch
                {
                    WarehousePosition = "";
                }
                WHPart _part1 = WHPartRepository.GetPart(_item.PartNum, _item.PartID) ?? new WHPart();
                rows.Add(new WarehouseStockGridRowModel(_item,
                                                        _part1,
                                                        //UserName,
                                                        //PurchaseUserName,
                                                        //WarehouseUserName,
                                                        PurchaseType,
                                                        StockType,
                                                        Warehouse,
                                                        WarehousePosition));
            }
        }
        //外发任务
        public PurchaseContentGridRowModel(Task Task, SetupTaskStart _setuptaskStart, string mrPurDate, IProjectPhaseRepository ProjectPhaseRepository, ISteelCAMDrawingRepository SteelDrawingRepo
                                           , IWHPartRepository WHPartRepository, IPurchaseTypeRepository PurchaseTypeRepository, double time)
        {
            int    _phaseID = 0;
            string _partNum = WHPartRepository.GetwfTaskPartNum(Task.TaskID);

            cell    = new string[28];
            cell[0] = "";
            cell[1] = "0";
            cell[2] = Task.TaskID.ToString();
            cell[3] = "0";
            //零件名 taskname+processname
            cell[4] = Task.TaskName + "_" + Task.ProcessName + "(V" + string.Format("{0:00}", Task.Version) + ")";
            //数量
            if (Task.TaskType == 1)
            {
                cell[5] = (Task.R + Task.F).ToString();
            }
            else
            {
                //cell[5] = Task.Quantity.ToString();
                cell[5] = _setuptaskStart.Qty.ToString();
            }
            ////物料编号 模具号-taskid
            cell[6] = _partNum;//Task.MoldNumber+"-"+Task.TaskID.ToString();
            //规格
            cell[7] = Task.Raw;
            //材料
            cell[8] = Task.Material;
            //硬度
            cell[9] = Task.HRC;
            //零件号
            cell[10] = _partNum.Split('-')[1];
            cell[11] = "";
            cell[12] = _setuptaskStart.MachinesName ?? "";
            cell[13] = "true";

            cell[14] = "新建";
            cell[15] = "0";
            cell[16] = mrPurDate ?? Task.PlanTime.ToString("yyyy-MM-dd");
            cell[17] = Task.MoldNumber;
            cell[18] = "";
            cell[19] = "";
            cell[20] = "";
            cell[21] = Task.Memo;
            cell[22] = _setuptaskStart.UserName ?? "";
            cell[23] = _setuptaskStart.MachinesName ?? "";
            cell[24] = _setuptaskStart.MachinesCode ?? "";
            cell[25] = Task.Quantity.ToString();
            int _purchaseType = 0;

            if (Task.TaskType == 6)
            {
                switch (Task.OldID)//0 铣/1 磨/4 全加工/3 车
                {
                case 0:
                    _purchaseType = PurchaseTypeRepository.QueryByName("铣床外发").PurchaseTypeID;
                    break;

                case 1:
                    _purchaseType = PurchaseTypeRepository.QueryByName("磨床外发").PurchaseTypeID;
                    break;

                case 3:
                    _purchaseType = PurchaseTypeRepository.QueryByName("车外发").PurchaseTypeID;
                    break;

                case 4:
                    _purchaseType = PurchaseTypeRepository.QueryByName("全加工外发").PurchaseTypeID;
                    break;

                default:
                    _purchaseType = PurchaseTypeRepository.QueryByName("铣磨外发").PurchaseTypeID;
                    break;
                }
            }
            else
            {
                _purchaseType = PurchaseTypeRepository.PurchaseTypes.ToList().Where(t => Task.TaskType.Equals(Convert.ToInt32(t.TaskType))).FirstOrDefault().PurchaseTypeID;
            }
            cell[26] = _purchaseType.ToString();
            cell[27] = time.ToString();
        }