public List<AscmGetMaterialCreateTask> createTasks(List<AscmDiscreteJobs> list)
        {
            string date = DateTime.Now.Date.ToString("yyyy-MM-dd");
            int iCount = YnDaoHelper.GetInstance().nHibernateHelper.GetCount("select count(*) from AscmGetMaterialTask where createTime like '" + date + "%'");

            List<AscmGetMaterialCreateTask> listTasks = new List<AscmGetMaterialCreateTask>();
            foreach (AscmDiscreteJobs ascmDiscreteJobs in list)
            {
                if (ascmDiscreteJobs.listAscmWipBom == null)
                    ascmDiscreteJobs.listAscmWipBom = new List<AscmWipRequirementOperations>();
                foreach (AscmWipRequirementOperations ascmWipRequirementOperations in ascmDiscreteJobs.listAscmWipRequirementOperations)
                {
                    if (ascmDiscreteJobs.status == AscmDiscreteJobs.StatusDefine.defaultvalue)
                    {
                        AscmGetMaterialCreateTask task = new AscmGetMaterialCreateTask();
                        if(task.ascmDiscreteJobsList == null)
                            task.ascmDiscreteJobsList = new List<AscmDiscreteJobs>();
                        task.taskId = getTaskId(iCount + listTasks.Count + 1);
                        task.IdentificationId = ascmDiscreteJobs.identificationId;
                        task.productLine = ascmDiscreteJobs.productLine;
                        task.warehouserId = ascmWipRequirementOperations.supplySubinventory;
                        task.materialDocNumber = ((ascmWipRequirementOperations.ascmMaterialItem) == null) ? null : ascmWipRequirementOperations.ascmMaterialItem.docNumber;
                        task.materialType = ascmWipRequirementOperations.wipSupplyType;
                        task.dateReleased = ascmWipRequirementOperations.ascmWipDiscreteJobs.scheduledStartDate;

                        switch (task.IdentificationId)
                        {
                            case 1://总装
                                task.categoryStatus = ((ascmWipRequirementOperations.ascmMaterialItem) == null) ? null : ((AscmCommonHelperService.GetInstance().JudgeSpecWmRelatedMaterial(task.warehouserId, task.materialDocNumber)) ? "" : ascmWipRequirementOperations.ascmMaterialItem.zMtlCategoryStatus);
                                break;
                            case 2://电装
                                task.categoryStatus = ((ascmWipRequirementOperations.ascmMaterialItem) == null) ? null : ((AscmCommonHelperService.GetInstance().JudgeSpecWmRelatedMaterial(task.warehouserId, task.materialDocNumber)) ? "" : ascmWipRequirementOperations.ascmMaterialItem.dMtlCategoryStatus);
                                break;
                        }
                        task.uploadDate = DateTime.Parse(ascmDiscreteJobs.time).ToString("yyyy-MM-dd");
                        task.taskTime = string.IsNullOrEmpty(ascmDiscreteJobs.onlineTime) ? "上午" : ascmDiscreteJobs.onlineTime;
                        task.warehouserPlace = ((ascmWipRequirementOperations.ascmWarehouse) == null) ? null : ascmWipRequirementOperations.ascmWarehouse.description;
                        task.rankMan = ascmDiscreteJobs.workerId;
                        task.rankManName = ascmDiscreteJobs.rankerName;
                        task.which = ascmDiscreteJobs.which;

                        if (!string.IsNullOrEmpty(task.IdentificationId.ToString()) && !string.IsNullOrEmpty(task.productLine) && !string.IsNullOrEmpty(task.warehouserId) && !string.IsNullOrEmpty(task.materialDocNumber) && !string.IsNullOrEmpty(task.materialType.ToString()) && !string.IsNullOrEmpty(task.taskTime) && !string.IsNullOrEmpty(task.uploadDate) && !string.IsNullOrEmpty(task.rankMan) && !string.IsNullOrEmpty(task.which.ToString()))
                        {
                            if (task.categoryStatus == "PRESTOCK" || task.categoryStatus == "MIXSTOCK" || task.categoryStatus == "")
                            {
                                #region
                                switch (task.IdentificationId)
                                {
                                    case 1://总装
                                        if ((task.warehouserId.Substring(0, 4).ToUpper() == "W112") && (task.materialDocNumber.Substring(0, 4) == "2014"))
                                        {
                                            //W112开头的压缩机
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 4).ToUpper() == "B631") && (task.materialType == 1))
                                        {
                                            //B631开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.materialDocNumber = null;
                                                task.categoryStatus = null;
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 4).ToUpper() == "B632") && (task.materialType == 1))
                                        {
                                            //B632开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.materialDocNumber = null;
                                                task.categoryStatus = null;
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 4).ToUpper() == "E221") && (task.materialType == 1))
                                        {
                                            //E221开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.materialDocNumber = null;
                                                task.categoryStatus = null;
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 4).ToUpper() == "E222") && (task.materialType == 1))
                                        {
                                            //E222开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.materialDocNumber = null;
                                                task.categoryStatus = null;
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 1).ToUpper() == "W") && (task.materialType == 1) && (task.warehouserId.Substring(0,4).ToUpper().ToString() != "W412"))
                                        {
                                            //以W开头的字库且为推式
                                            if (task.categoryStatus == "PRESTOCK")//需备料
                                            {
                                                if (contains(listTasks, task) == null)
                                                {
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                    listTasks.Add(task);
                                                }
                                                else
                                                {
                                                    //任务存在 获取该任务
                                                    AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                    if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                    {
                                                        //任务不包含作业
                                                        AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                        ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                        existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                    }
                                                    else
                                                    {
                                                        //任务包含作业
                                                        AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                        existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    }
                                                }
                                            }
                                            else if (task.categoryStatus == "MIXSTOCK")//需配料
                                            {
                                                if (contains(listTasks, task) == null)
                                                {
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                    task.materialDocNumber = null;
                                                    listTasks.Add(task);
                                                }
                                                else
                                                {
                                                    //任务存在 获取该任务
                                                    AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                    if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                    {
                                                        //任务不包含作业
                                                        AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                        ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                        existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                    }
                                                    else
                                                    {
                                                        //任务包含作业
                                                        AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                        existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    }
                                                }
                                            }
                                        }
                                        break;
                                    case 2://电装
                                        if ((task.warehouserId.Substring(0, 4).ToUpper() == "B631") && (task.materialType == 1))
                                        {
                                            //B631开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.materialDocNumber = null;
                                                task.taskTime = null;
                                                task.categoryStatus = null;
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 4).ToUpper() == "B632") && (task.materialType == 1))
                                        {
                                            //B632开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.materialDocNumber = null;
                                                task.taskTime = null;
                                                task.categoryStatus = null;
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        else if ((task.warehouserId.Substring(0, 1).ToUpper() == "W") && (task.materialType == 1) && (task.warehouserId.Substring(0, 4).ToUpper().ToString() != "W412"))
                                        {
                                            //W开头的子库且为推式
                                            if (contains(listTasks, task) == null)
                                            {
                                                AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                task.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);

                                                task.productLine = null;
                                                task.materialDocNumber = null;
                                                task.taskTime = null;
                                                task.categoryStatus = "MIXSTOCK";
                                                listTasks.Add(task);
                                            }
                                            else
                                            {
                                                //任务存在 获取该任务
                                                AscmGetMaterialCreateTask existTask = contains(listTasks, task);
                                                if (containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs) == null)
                                                {
                                                    //任务不包含作业
                                                    AscmDiscreteJobs ascm_DiscreteJobs = (AscmDiscreteJobs)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ascmDiscreteJobs), typeof(AscmDiscreteJobs));
                                                    ascm_DiscreteJobs.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                    existTask.ascmDiscreteJobsList.Add(ascm_DiscreteJobs);
                                                }
                                                else
                                                {
                                                    //任务包含作业
                                                    AscmDiscreteJobs existJob = containsJob(existTask.ascmDiscreteJobsList, ascmDiscreteJobs);
                                                    existJob.listAscmWipBom.Add(ascmWipRequirementOperations);
                                                }
                                            }
                                        }
                                        break;
                                }
                                #endregion
                            }
                        }
                    }
                }
            }
            return listTasks;
        }
        public AscmGetMaterialCreateTask contains(List<AscmGetMaterialCreateTask> listTasks, AscmGetMaterialCreateTask task)
        {
            if (listTasks.Count == 0)
                return null;

            switch (task.IdentificationId)
            {
                case 1://总装
                    if ((task.warehouserId.Substring(0, 4).ToUpper() == "W112") && (task.materialDocNumber.Substring(0, 4) == "2014"))
                    {
                        //W112开头的压缩机
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.materialDocNumber == task.materialDocNumber) && (item.categoryStatus == task.categoryStatus) && (item.productLine == task.productLine) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 4).ToUpper() == "B631") && (task.materialType == 1))
                    {
                        //B631开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime) && (item.productLine == task.productLine) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 4).ToUpper() == "B632") && (task.materialType == 1))
                    {
                        //B632开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime) && (item.productLine == task.productLine) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 4).ToUpper() == "E221") && (task.materialType == 1))
                    {
                        //E221开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime) && (item.productLine == task.productLine) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 4).ToUpper() == "E222") && (task.materialType == 1))
                    {
                        //E222开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime) && (item.productLine == task.productLine) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 1).ToUpper() == "W") && (task.materialType == 1))
                    {
                        //以W开头的字库且为推式
                        if (task.categoryStatus == "PRESTOCK")//需备料
                        {
                            foreach (AscmGetMaterialCreateTask item in listTasks)
                            {
                                if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.materialDocNumber == task.materialDocNumber) && (item.categoryStatus == task.categoryStatus) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime) && (item.which == task.which))
                                    return item;
                            }
                        }
                        else if (task.categoryStatus == "MIXSTOCK")//需配料
                        {
                            foreach (AscmGetMaterialCreateTask item in listTasks)
                            {
                                if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.categoryStatus == task.categoryStatus) && (item.productLine == task.productLine) && (item.uploadDate == task.uploadDate) && (item.taskTime == task.taskTime))
                                    return item;
                            }
                        }
                    }
                    break;
                case 2://电装
                    if ((task.warehouserId.Substring(0, 4).ToUpper() == "B631") && (task.materialType == 1))
                    {
                        //B631开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.productLine == task.productLine) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 4).ToUpper() == "B632") && (task.materialType == 1))
                    {
                        //B632开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.productLine == task.productLine) && (item.which == task.which))
                                return item;
                        }
                    }
                    else if ((task.warehouserId.Substring(0, 1).ToUpper() == "W") && (task.materialType == 1))
                    {
                        //W开头的子库且为推式
                        foreach (AscmGetMaterialCreateTask item in listTasks)
                        {
                            if ((item.rankMan == task.rankMan) && (item.IdentificationId == task.IdentificationId) && (item.warehouserId == task.warehouserId) && (item.uploadDate == task.uploadDate) && (item.which == task.which))
                                return item;
                        }
                    }
                    break;
            }
            return null;
        }