public string JudgeTaskType(TaskImportModel taskImportModel)
        {
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployees = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployees.Count == 1)
            {
                long taskId = taskEmployees[0].TaskId;
                return _taskService.Find(taskId).task_type.Name;
            }
            if (taskEmployees.Count >= 2)
            {
                //foreach (var u in taskEmployees)
                //{
                //    if(_taskService.Find(u.TaskId).TaskStatusId==3)
                //    {
                //        taskEmployees.Remove(u);
                //    }
                //}
                //用来记录与各个任务的相符合度
                var count = new int[taskEmployees.Count];
                for (int i = 0; i < taskEmployees.Count; i++)
                {
                    count[i] = 0;
                }
                int k = 0;
                foreach (task_employee c in taskEmployees)
                {
                    string taskTypeName = _taskTypeService.Find(_taskService.Find(c.TaskId).TaskTypeId).Name;
                    if (taskTypeName == "喂饲" || taskTypeName == "防疫")
                    {
                        List<task_pigsty> taskPigsties = _taskPigstyService.FindByTaskId(c.TaskId);
                        foreach (task_pigsty taskPigsty in taskPigsties)
                        {
                            foreach (RawDataDetail r in taskImportModel.RawDataDetails)
                            {
                                if (taskPigsty.PigstyId == r.PigstyId)
                                    count[k]++;
                            }
                        }
                        k++;
                    }
                    if (taskTypeName == "转栏" || taskTypeName == "销售" || taskTypeName == "治疗"||taskTypeName=="死亡"||taskTypeName=="淘汰")
                    {
                        List<task_pig> taskPigs = _taskPigService.FindByTaskId(c.TaskId);
                        foreach (task_pig taskPig in taskPigs)
                        {
                            foreach (RawDataDetail r in taskImportModel.RawDataDetails)
                            {
                                if (taskPig.PigId == r.PigId)
                                    count[k]++;
                            }
                        }
                        k++;
                    }
                    if (taskTypeName == "巡查")
                    {
                        List<task_pighouse> taskPighouses = _taskPigHouseService.FindByTaskId(c.TaskId);
                        foreach (task_pighouse taskPighouse in taskPighouses)
                        {
                            foreach (RawDataDetail r in taskImportModel.RawDataDetails)
                            {
                                if (taskPighouse.PigHouseId == r.PigHouseId)
                                    count[k]++;
                            }
                        }
                        k++;
                    }
                }
                //找到相符度最高的任务名字并返回
                int max = count[0];
                int maxnum = 0;
                for (int j = 1; j < taskEmployees.Count; j++)
                {
                    if (max < count[j])
                    {
                        max = count[j];
                        maxnum = j;
                    }
                }
                return _taskTypeService.Find(_taskService.Find(taskEmployees[maxnum].TaskId).TaskTypeId).Name;
            }

            return "喂饲";
        }
        public void CutFileAndSaveData(TaskImportModel taskImportModel)
        {
            if (!Directory.Exists(@"c:\pigrecorder\Import"))
            {
                // 如果目录不在,则创建
                Directory.CreateDirectory(@"c:\pigrecorder\Import");
            }
            //将已经导入的数据放到Import目录下以当天命名的文件中
            var fs = new FileStream(@"c:\pigrecorder\Import\" + DateTime.Now.ToLongDateString() + ".txt",
                                    FileMode.Append);
            var sw = new StreamWriter(fs, Encoding.Default);
            string b = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).RFID + "," +
                       taskImportModel.StartTime;
            sw.Write(b);
            sw.WriteLine();
            foreach (RawDataDetail detail in taskImportModel.RawDataDetails)
            {
                if (detail.Rfid != "")
                {
                    string a = detail.Rfid + "," + detail.Time;
                    sw.Write(a);
                    sw.WriteLine();
                }
            }
            sw.Close();
            fs.Close();
            string file = taskImportModel.File;
            //找到已导入的数据,不放到lines栈中,最后将lines栈重新写回file文件
            int readstartflag = 1;
            int readendflag = 1;
            int starttime = 0;
            if (File.Exists(file))
            {
                var dReader = new StreamReader(file);
                var lines = new List<string>();
                while (!dReader.EndOfStream)
                {
                    string dataread = dReader.ReadLine();
                    //若是已导入的数据,则不放到lines数组中
                    if (dataread != null)
                    {
                        //首先找到已导入的人员的RFID和时间,直到下次找到人员时停止
                        //这个阶段不把数据放入lines栈中
                        if (_employeeService.FindByNumber(taskImportModel.EmployeeNumber).RFID ==
                            dataread.Split(',')[0] &&
                            taskImportModel.StartTime.ToString(CultureInfo.InvariantCulture) ==
                            Convert.ToDateTime(dataread.Split(',')[1]).ToString(CultureInfo.InvariantCulture))
                        {
                            readstartflag = 0;
                        }
                        if (readstartflag == 0)
                        {
                            starttime++;
                        }
                        if (starttime >= 2)
                        {
                            if (_employeeService.FindByRfid(dataread.Split(',')[0]) != null)
                            {
                                readendflag = 0;
                            }
                        }
                        //还没找到已导入的人员 和找到已导入人员的下一个人员的2种情况
                        if (readstartflag == 1 || (readstartflag == 0 && readendflag == 0))
                        {
                            lines.Add(dataread);
                        }
                    }
                }
                dReader.Close();
                var iStream = new FileStream(file, FileMode.Create);
                var iWriter = new StreamWriter(iStream);

                foreach (string t in lines)
                {
                    iWriter.Write(t);
                    iWriter.WriteLine();
                }
                iWriter.Close();
                iStream.Close();
            }
        }
        public string TransferDataImport(TaskImportModel taskImportModel, string memo)
        {
            int taskflag = 0; //标志,判断当天是否有转栏任务
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployee = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployee != null)
            {
                long taskId = JudgeHaveTask(taskEmployee, taskImportModel.TaskType, taskImportModel);
                if (taskId != 0)
                {
                    taskImportModel.TaskNumber = _taskService.Find(taskId).TaskNumber;
                    taskflag = 1;
                }
            }
            //当天有转栏任务
            if (taskflag == 1)
            {
                long pigstyId = taskImportModel.RawDataDetails[0].PigstyId;
                for (int i = 0; i <= taskImportModel.RawDataDetails.Count - 1; i++)
                {
                    var transfer = new transfer();
                    //若有猪栏,先标记猪栏,后对猪进行赋值,并导入数据库
                    if (taskImportModel.RawDataDetails[i].PigstyId != 0 && taskImportModel.RawDataDetails[i].PigId == 0)
                    {
                        pigstyId = taskImportModel.RawDataDetails[i].PigstyId;
                    }
                        //若无猪栏,则代表猪栏已经标记
                    else if (taskImportModel.RawDataDetails[i].PigId != 0)
                    {
                        transfer.TaskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id;
                        transfer.PigstyId = pigstyId;
                        transfer.PigId = taskImportModel.RawDataDetails[i].PigId;
                        transfer.Time = taskImportModel.RawDataDetails[i].Time;
                        transfer.Memo = memo;
                        //当该员工有当天的任务
                        _transferService.Insert(transfer);
                    }
                }
                //修改任务状态
                task task = _taskService.FindByTaskNumber(taskImportModel.TaskNumber);
                if (task.EndTime != null)
                {
                    if (task.EndTime <= taskImportModel.EndTime)
                    {
                        task.TaskStatusId = 3;
                    }
                    else
                    {
                        task.TaskStatusId = 2;
                    }
                }
                else
                {
                    task.TaskStatusId = 3;
                }
                _taskService.Update(task);
            }
            else
            {
                return "请确保" + taskImportModel.EmployeeName + "的任务是否选择正确,或者该员工没有" + taskImportModel.TaskType + "的任务";
            }

            return "";
        }
        public List<TaskImportModel> GetFilearray(string strFile)
        {
            var rTaskImportModel = new List<TaskImportModel>();
            TaskImportModel taskImportModel = null;
            List<RawDataDetail> rawDataDetails = null;
            //读取指定文件夹下面的指定文件
            string[] lineList = File.ReadAllLines(strFile, Encoding.Default);
            //单个文件中原始的记录的2维字符串数组
            var array = new string[lineList.Length,2];
            int i = 0;
            int length = lineList.Length;
            foreach (string line in lineList)
            {
                string[] elementList = line.Split(',');
                for (int j = 0; j < elementList.Length; j++)
                {
                    if (elementList[0] != "")
                        array[i, j] = elementList[j];
                }
                if (elementList[0] != "")
                    i++;
                else
                    length--;
            }

            //2维字符串数组中前后rfid相同的合并
            for (i = 0; i < length - 1; i++)
            {
                if (array[i, 0] == array[i + 1, 0])
                {
                    for (int j = i + 1; j < length - 1; j++)
                    {
                        array[j, 0] = array[j + 1, 0];
                        array[j, 1] = array[j + 1, 1];
                    }
                    length--;
                    i--;
                }
            }
            //将不重复的2维字符串数组写回文件中
            var iStream = new FileStream(strFile, FileMode.Create);
            var iWriter = new StreamWriter(iStream);

            for (i = 0; i < length; i++)
            {
                string t = array[i, 0] + "," + array[i, 1] + "\n";
                iWriter.Write(t);
                iWriter.WriteLine();
            }
            iWriter.Close();
            iStream.Close();
            //从array数组中寻找员工的rfid
            for (i = 0; i < length; i++)
            {
                string findrfid = array[i, 0];

                //若该rfid为员工rfid,则创建新的DataModel
                if (_employeeService.FindByRfid(findrfid) != null)
                {
                    employee employee = _employeeService.FindByRfid(findrfid);
                    rawDataDetails = new List<RawDataDetail>();
                    taskImportModel = new TaskImportModel
                                          {
                                              Checked = true,
                                              File = strFile,
                                              EmployeeName = employee.Name,
                                              EmployeeNumber = employee.Number,
                                              ImportStatus = false,
                                              StartTime = Convert.ToDateTime(array[i, 1])
                                          };
                    if (i + 1 < length && _employeeService.FindByRfid(array[i + 1, 0]) == null)
                    {
                        rTaskImportModel.Add(taskImportModel);
                    }
                }
                    //否则则为记录的猪舍或猪栏的rfid,创建Detail,并添加到DataModel
                else
                {
                    var rawDataDetail = new RawDataDetail
                                            {
                                                Rfid = array[i, 0],
                                                Time = Convert.ToDateTime(array[i, 1])
                                            };
                    if (rawDataDetails != null)
                    {
                        int rfidFlag = 1; //判断rfid是否重复记录
                        foreach (RawDataDetail importModel in rawDataDetails)
                        {
                            if (importModel.Rfid == rawDataDetail.Rfid)
                            {
                                rfidFlag = 0;
                            }
                        }
                        if (rfidFlag == 1)
                        {
                            rawDataDetails.Add(rawDataDetail);
                            taskImportModel.RawDataDetails = rawDataDetails;
                        }
                    }
                }
            }
            //从数据库中寻找rfid,并存入具体的类别信息,或猪舍,或猪栏,或猪,否则,则不记录到RawDataDetail
            foreach (TaskImportModel dTaskImportModel in rTaskImportModel)
            {
                dTaskImportModel.EndTime =
                    dTaskImportModel.RawDataDetails[dTaskImportModel.RawDataDetails.Count - 1].Time;
                foreach (RawDataDetail detail in dTaskImportModel.RawDataDetails)
                {
                    string rfid = detail.Rfid;
                    pig_house pighouse = _pigHouseService.FindByRfid(rfid);
                    //猪舍
                    if (pighouse != null)
                    {
                        detail.PigHouseName = pighouse.pig_house_type.Name;
                        detail.PigHouseId = pighouse.Id;
                        detail.PigHouseNumber = pighouse.Number;
                    }
                    else
                    {
                        pigsty pigsty = _pigstyService.FindByRfid(rfid);
                        //猪栏
                        if (pigsty != null)
                        {
                            pig_house pigstyHouse = _pigHouseService.Find(pigsty.PigHouseId);
                            detail.PigHouseName = pigstyHouse.pig_house_type.Name;
                            detail.PigHouseNumber = pigstyHouse.Number;
                            detail.PigHouseId = pigstyHouse.Id;
                            detail.PigstyNumber = pigsty.Number;
                            detail.PigstyId = pigsty.Id;
                        }
                        else
                        {
                            pig pig = _pigService.FindByRfid(rfid);
                            //猪
                            if (pig != null)
                            {
                                List<transfer> transfers = _transferService.FindByPigId(pig.Id);
                                //若这头猪的rfid不在transfers这张表中
                                if (transfers.Count != 0)
                                {
                                    DateTime possbileTime = transfers[0].Time;
                                    int possiblePigstyNumber = transfers[0].pigsty.Number;
                                    long possiblePigstyId = transfers[0].pigsty.Id;
                                    foreach (transfer transfer in transfers)
                                    {
                                        if (possbileTime <= transfer.Time)
                                        {
                                            possbileTime = transfer.Time;
                                            possiblePigstyNumber = transfer.pigsty.Number;
                                            possiblePigstyId = transfer.pigsty.Id;
                                        }
                                    }
                                    pig_house pigHouse = _pigHouseService.FindbyPigstyId(possiblePigstyId);
                                    detail.PigHouseId = pigHouse.Id;
                                    detail.PigHouseName = pigHouse.pig_house_type.Name;
                                    detail.PigHouseNumber = pigHouse.Number;
                                    detail.PigstyId = possiblePigstyId;
                                    detail.PigstyNumber = possiblePigstyNumber;
                                    detail.PigId = pig.Id;
                                    detail.PigName = pig.pig_type.Name;
                                    detail.PigNumber = pig.Number;
                                }
                            }
                        }
                    }
                }
                //得到最有可能的任务类型
                dTaskImportModel.TaskType = JudgeTaskType(dTaskImportModel);
            }
            return rTaskImportModel;
        }
        public string PreventionDataImport(TaskImportModel taskImportModel, string memo)
        {
            int taskflag = 0; //标志,判断当天是否有防疫任务
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployee = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployee != null)
            {
                long taskId = JudgeHaveTask(taskEmployee, taskImportModel.TaskType, taskImportModel);
                if (taskId != 0)
                {
                    taskImportModel.TaskNumber = _taskService.Find(taskId).TaskNumber;
                    taskflag = 1;
                }
            }
            //该员工当天有防疫任务
            if (taskflag == 1)
            {
                foreach (RawDataDetail detail in taskImportModel.RawDataDetails)
                {
                    //如果猪栏不为空
                    if (detail.PigstyId != 0 && detail.PigId == 0)
                    {
                        var prevention = new prevention
                                             {
                                                 EmployeeId = employeeId,
                                                 PigstyId = detail.PigstyId,
                                                 Memo = memo,
                                                 Time = detail.Time,
                                                 TaskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id
                                             };
                        _preventionService.Insert(prevention);
                    }
                }
                //修改任务状态
                task task = _taskService.FindByTaskNumber(taskImportModel.TaskNumber);
                if (task.EndTime != null)
                {
                    if (task.EndTime <= taskImportModel.EndTime)
                    {
                        task.TaskStatusId = 3;
                    }
                    else
                    {
                        task.TaskStatusId = 2;
                    }
                }
                else
                {
                    task.TaskStatusId = 3;
                }
                _taskService.Update(task);
            }
            else
            {
                return "请确保" + taskImportModel.EmployeeName + "的任务是否选择正确,或者该员工没有" + taskImportModel.TaskType + "的任务";
            }

            return "";
        }
        public string SaleDataImport(TaskImportModel taskImportModel, string memo)
        {
            int taskflag = 0; //标志,判断当天是否有销售任务
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployee = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployee != null)
            {
                long taskId = JudgeHaveTask(taskEmployee, taskImportModel.TaskType, taskImportModel);
                if (taskId != 0)
                {
                    taskImportModel.TaskNumber = _taskService.Find(taskId).TaskNumber;
                    taskflag = 1;
                }
            }
            //若有当天的销售的任务,才插入数据库
            if (taskflag == 1)
            {
                int saleflag = 0; //用来判断销售单是否已存在于sale这张表中
                List<sale> salelistflags = _saleService.FindAll();
                foreach (sale salelistflag in salelistflags)
                {
                    if (salelistflag.EmployeeId == _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id &&
                        salelistflag.EmployeeId == employeeId)
                    {
                        saleflag = 1;
                    }
                }
                //如果sale中还没有该员工的销售单,则将其插入
                if (saleflag == 0)
                {
                    var sale = new sale
                                   {
                                       EmployeeId = employeeId,
                                       TaskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id
                                   };
                    _saleService.Insert(sale);
                }
                foreach (RawDataDetail detail in taskImportModel.RawDataDetails)
                {
                    long saleId = 0;
                    List<sale> saleslist = _saleService.FindAll();
                    //首先从sale表中获得该人员的销售id
                    foreach (sale salelist in saleslist)
                    {
                        if (salelist.EmployeeId == employeeId &&
                            salelist.TaskId == _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id)
                        {
                            saleId = salelist.Id;
                        }
                    }
                    //将所有的猪的销售Id插入到salepig表中
                    if (detail.PigHouseId != 0 && detail.PigstyId != 0 && detail.PigId != 0)
                    {
                        var salepig = new sale_pig
                                          {
                                              SaleId = saleId,
                                              PigId = detail.PigId,
                                              Time = detail.Time,
                                              Memo = memo
                                          };
                        _salePigService.Insert(salepig);
                        pig pig = _pigService.Find(detail.PigId);
                        pig.State = true;
                        _pigService.Update(pig);
                        sale modifysale = new sale();
                        modifysale.TaskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id;
                        modifysale.EmployeeId = employeeId;
                        modifysale.SaleType = "销售";
                        _saleService.Insert(modifysale);
                    }
                }
                //修改任务状态
                task task = _taskService.FindByTaskNumber(taskImportModel.TaskNumber);
                if (task.EndTime != null)
                {
                    if (task.EndTime <= taskImportModel.EndTime)
                    {
                        task.TaskStatusId = 3;
                    }
                    else
                    {
                        task.TaskStatusId = 2;
                    }
                }
                else
                {
                    task.TaskStatusId = 3;
                }
                _taskService.Update(task);
            }
            else
            {
                return "请确保" + taskImportModel.EmployeeName + "的任务是否选择正确,或者该员工没有" + taskImportModel.TaskType + "的任务";
            }

            return "";
        }
 public long JudgeHaveTaskCirculate(List<task_employee> taskEmployees, string taskType,
     TaskImportModel taskImportModel)
 {
     //在所有的任务里判断在这一天是否有该类型的任务     注:一个人一天只有一个相同的任务
     foreach (task_employee taskemployee in taskEmployees)
     {
         long taskTypeId = _taskService.Find(taskemployee.TaskId).TaskTypeId;
         if (_taskTypeService.Find(taskTypeId).Name == taskType)
         {
             List<task_interval_cycle> taskInterval =
                 _taskIntervalCycleService.FindByTaskId(taskemployee.TaskId);
             foreach (task_interval_cycle taskinterval in taskInterval)
             {
                 for (int i = 0; i < 1000; i++)
                 {
                     //根据任务的循环时间匹配是否有当天的任务
                     if (
                         taskinterval.FirstExecuteDate.AddDays(Convert.ToDouble(taskinterval.CycleDays*i))
                                     .
                                      ToShortDateString() == taskImportModel.StartTime.ToShortDateString())
                     {
                         return taskemployee.TaskId;
                     }
                 }
             }
         }
     }
     return 0;
 }
 public long JudgeHaveTask(List<task_employee> taskEmployees, string taskType, TaskImportModel taskImportModel)
 {
     //在所有的任务里判断在这一天是否有该类型的任务     注:一个人一天只有一个相同的任务
     foreach (task_employee taskemployee in taskEmployees)
     {
         long taskTypeId = _taskService.Find(taskemployee.TaskId).TaskTypeId;
         if (_taskTypeService.Find(taskTypeId).Name == taskType)
         {
             foreach (cure_task_course c in _cureTaskCourseService.FindByTaskId(taskemployee.TaskId))
             {
                 if (c.Time.ToShortDateString() == taskImportModel.StartTime.ToShortDateString())
                 {
                     return taskemployee.TaskId;
                 }
             }
         }
         if (_taskTypeService.Find(taskTypeId).Name == taskType)
         {
             //判断当前记录的时间是否和任务的开始时间相同,若是,则代表当天有防疫任务
             DateTime startTime = _taskService.Find(taskemployee.TaskId).StartTime;
             if (startTime.ToShortDateString() == taskImportModel.StartTime.ToShortDateString())
             {
                 return taskemployee.TaskId;
             }
         }
     }
     return 0;
 }
        public string FeedDataImport(TaskImportModel taskImportModel, string memo)
        {
            int taskflag = 0; //标志,判断当天是否有喂饲任务
            //根据员工的工号找到找到所有的任务
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployee = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployee != null)
            {
                long taskId = JudgeHaveTaskCirculate(taskEmployee, "喂饲", taskImportModel);
                if (taskId != 0)
                {
                    taskImportModel.TaskNumber = _taskService.Find(taskId).TaskNumber;
                    taskflag = 1;
                }
            }

            //当该员工有有喂饲任务
            if (taskflag == 1)
            {
                //找到该任务的所有的猪栏.
                List<task_pigsty> pigsties =
                    _taskPigstyService.FindByTaskId(_taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id);
                foreach (RawDataDetail detail in taskImportModel.RawDataDetails)
                {
                    if (detail.PigstyId != 0)
                    {
                        //找到对应猪栏的feedtaskquality
                        feed_task_quality feedTaskQuality = null;
                        foreach (task_pigsty taskPigsty in pigsties)
                        {
                            if (taskPigsty.PigstyId == detail.PigstyId)
                            {
                                feedTaskQuality = _feedTaskQualityService.FindByFeedTaskPigstyId(taskPigsty.Id)[0];
                            }
                        }
                        if (feedTaskQuality != null && _pigstyService.GetPignumbers(detail.PigstyId) != 0)
                        {
                            var feed = new feed
                                           {
                                               TaskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id,
                                               EmployeeId = employeeId,
                                               PigstyId = detail.PigstyId,
                                               //Quality = feedTaskQuality.Quality*_pigstyService.GetPignumbers(detail.PigstyId),
                                               //FodderTypeId = feedTaskQuality.FodderTypeId,
                                               //UnitId = feedTaskQuality.UnitId,
                                               Time = detail.Time,
                                               Memo = memo
                                           };
                            _feedService.Insert(feed);
                        }
                    }
                }
                //修改任务状态
                task task = _taskService.FindByTaskNumber(taskImportModel.TaskNumber);
                if (task.EndTime != null)
                {
                    if (task.EndTime <= taskImportModel.EndTime)
                    {
                        task.TaskStatusId = 3;
                    }
                    else
                    {
                        task.TaskStatusId = 2;
                    }
                }
                else
                {
                    task.TaskStatusId = 2;
                }
                _taskService.Update(task);
            }

            return "";
        }
        public string EliminateDataImport(TaskImportModel taskImportModel, string memo)
        {
            int taskflag = 0; //标志,判断当天是否有淘汰任务
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployee = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployee != null)
            {
                long taskId = JudgeHaveTask(taskEmployee, taskImportModel.TaskType, taskImportModel);
                if (taskId != 0)
                {
                    taskImportModel.TaskNumber = _taskService.Find(taskId).TaskNumber;
                    taskflag = 1;
                }
            }
            //若有当天的淘汰的任务,才修改生猪的状态
            if (taskflag == 1)
            {
                foreach (RawDataDetail detail in taskImportModel.RawDataDetails)
                {
                    pig modifypig = _pigService.Find(detail.PigId);
                    modifypig.State = true;
                    _pigService.Update(modifypig);
                    sale modifysale = new sale();
                    modifysale.TaskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id;
                    modifysale.EmployeeId = employeeId;
                    modifysale.SaleType = "淘汰";
                    _saleService.Insert(modifysale);

                }
                    //修改任务状态
                    task task = _taskService.FindByTaskNumber(taskImportModel.TaskNumber);
                    if (task.EndTime != null)
                    {
                        if (task.EndTime <= taskImportModel.EndTime)
                        {
                            task.TaskStatusId = 3;
                        }
                        else
                        {
                            task.TaskStatusId = 2;
                        }
                    }
                    else
                    {
                        task.TaskStatusId = 3;
                    }
                    _taskService.Update(task);

            }
            else
            {
                return "请确保" + taskImportModel.EmployeeName + "的任务是否选择正确,或者该员工没有" + taskImportModel.TaskType + "的任务";
            }

            return "";
        }
        public string CureDataImport(TaskImportModel taskImportModel, string memo)
        {
            int taskflag = 0; //标志,判断当天是否有治疗任务
            long employeeId = _employeeService.FindByNumber(taskImportModel.EmployeeNumber).Id;
            List<task_employee> taskEmployee = _taskEmployeeService.FindByEmployeeId(employeeId);
            if (taskEmployee != null)
            {
                long taskId = JudgeHaveTask(taskEmployee, taskImportModel.TaskType, taskImportModel);
                if (taskId != 0)
                {
                    taskImportModel.TaskNumber = _taskService.Find(taskId).TaskNumber;
                    taskflag = 1;
                }
            }
            if (taskflag == 1)
            {
                foreach (RawDataDetail detail in taskImportModel.RawDataDetails)
                {
                    //当猪不为空,导入数据库
                    if (detail.PigHouseId != 0 && detail.PigstyId != 0 && detail.PigId != 0)
                    {
                        var curepig = new cure_pig
                                          {
                                              EmployeeId = employeeId,
                                              PigId = detail.PigId,
                                              CureTime = detail.Time,
                                              Memo = memo
                                          };
                        //根据任务编号和当前的时间找出治疗任务的疗程号
                        long taskId = _taskService.FindByTaskNumber(taskImportModel.TaskNumber).Id;
                        //先找出该任务编号的所有的疗程
                        List<cure_task_course> cureTaskCourse = _cureTaskCourseService.FindByTaskId(taskId);
                        if (cureTaskCourse != null)
                        {
                            foreach (cure_task_course cureCourse in cureTaskCourse)
                            {
                                //在所有的疗程根据时间判断今天的疗程
                                if (cureCourse.Time.ToShortDateString() == taskImportModel.StartTime.ToShortDateString())
                                {
                                    curepig.CureTaskCourseId = cureCourse.Id;
                                }
                            }
                        }
                        _curePigService.Insert(curepig);
                    }
                }
                //修改任务状态
                task task = _taskService.FindByTaskNumber(taskImportModel.TaskNumber);
                if (task.EndTime != null)
                {
                    if (task.EndTime <= taskImportModel.EndTime)
                    {
                        task.TaskStatusId = 3;
                    }
                    else
                    {
                        task.TaskStatusId = 2;
                    }
                }
                else
                {
                    task.TaskStatusId = 3;
                }

                _taskService.Update(task);
            }
            else
            {
                return "请确保" + taskImportModel.EmployeeName + "的任务是否选择正确,或者该员工没有" + taskImportModel.TaskType + "的任务";
            }

            return "";
        }