Example #1
0
        public int Resolve(int tid, string path, string file)
        {
            bool IsSuccess = true;
            int  num       = 0;

            Loger.Current.Write("AddTask.Resolve() begin");
            try
            {
                FileStream fileStream = null;
                fileStream = new FileStream(path + file, FileMode.Open);
                if (file.Substring(file.LastIndexOf('.') + 1).ToLower() == "xls")
                {
                    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(fileStream);
                    TaskProject  model        = null;
                    if (hssfWorkbook != null)
                    {
                        for (int sheetIndex = 0; sheetIndex < hssfWorkbook.NumberOfSheets; ++sheetIndex)
                        {
                            HSSFSheet hssfSheet = hssfWorkbook.GetSheetAt(sheetIndex) as HSSFSheet;
                            try
                            {
                                for (int i = (hssfSheet.FirstRowNum + 1); i <= hssfSheet.LastRowNum; i++)
                                {
                                    HSSFRow row = hssfSheet.GetRow(hssfSheet.FirstRowNum) as HSSFRow;
                                    if (row.Cells.Count < 10)
                                    {
                                        IsSuccess = false;
                                        num       = -1;
                                        monitor.DeleteTask(tid);
                                        return(num);
                                    }
                                    row = hssfSheet.GetRow(i) as HSSFRow;
                                    num = i;
                                    if (row != null && row.Cells.Count > 0)
                                    {
                                        model               = new TaskProject();
                                        model.TId           = tid;
                                        model.RegionId      = monitor.GetReturnsRegionId(ConvertHelper.GetString(row.GetCell(1)));
                                        model.AreaName      = ConvertHelper.GetString(row.GetCell(2));
                                        model.StreetAddress = ConvertHelper.GetString(row.GetCell(3));
                                        model.BlockName     = ConvertHelper.GetString(row.GetCell(4));
                                        model.PointName     = ConvertHelper.GetString(row.GetCell(5));
                                        model.MediaType     = ConvertHelper.GetString(row.GetCell(6));
                                        model.AdProductName = ConvertHelper.GetString(row.GetCell(7));
                                        string[] dates = ConvertHelper.GetString(row.GetCell(8)).Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                                        if (dates.Length > 1)
                                        {
                                            model.BeginDate = ConvertHelper.GetDateTime(dates[0]);
                                            model.EndDate   = ConvertHelper.GetDateTime(dates[1]);
                                        }
                                        else
                                        {
                                            model.BeginDate = ConvertHelper.GetDateTime(row.GetCell(8));
                                            model.EndDate   = ConvertHelper.GetDateTime(row.GetCell(8));
                                        }
                                        if (string.IsNullOrEmpty(beginDate) || string.IsNullOrEmpty(endDate))
                                        {
                                            beginDate = model.BeginDate.ToString();
                                            endDate   = model.EndDate.ToString();
                                        }
                                        model.Status       = 0;
                                        model.PhotoRequire = "实地获取位置信息并拍照上传";
                                        model.Price        = 0;
                                        model.SpareOne     = ConvertHelper.GetString(row.GetCell(9));
                                        model.SpareTwo     = "";
                                        monitor.AddTaskProject(model);
                                    }
                                }
                            }
                            catch (Exception e)
                            {
                                Loger.Current.Write("AddTask.Resolve() errornum=" + num + " err=" + e.ToString());
                                monitor.DeleteTask(tid);
                                IsSuccess = false;
                            }
                        }
                    }
                }
                else if (file.Substring(file.LastIndexOf('.') + 1).ToLower() == "xlsx")
                {
                    XSSFWorkbook xssfWorkbook = new XSSFWorkbook(fileStream);
                    TaskProject  model        = null;
                    if (xssfWorkbook != null)
                    {
                        for (int sheetIndex = 0; sheetIndex < xssfWorkbook.NumberOfSheets; ++sheetIndex)
                        {
                            XSSFSheet xssfSheet = xssfWorkbook.GetSheetAt(sheetIndex) as XSSFSheet;
                            try
                            {
                                for (int i = (xssfSheet.FirstRowNum + 1); i <= xssfSheet.LastRowNum; i++)
                                {
                                    XSSFRow row = xssfSheet.GetRow(xssfSheet.FirstRowNum) as XSSFRow;
                                    if (row.Cells.Count < 10)
                                    {
                                        IsSuccess = false;
                                        num       = -1;
                                        monitor.DeleteTask(tid);
                                        return(num);
                                    }
                                    row = xssfSheet.GetRow(i) as XSSFRow;
                                    num = i;
                                    if (row != null && row.Cells.Count > 0)
                                    {
                                        model               = new TaskProject();
                                        model.TId           = tid;
                                        model.RegionId      = monitor.GetReturnsRegionId(ConvertHelper.GetString(row.GetCell(1)));
                                        model.AreaName      = ConvertHelper.GetString(row.GetCell(2));
                                        model.StreetAddress = ConvertHelper.GetString(row.GetCell(3));
                                        model.BlockName     = ConvertHelper.GetString(row.GetCell(4));
                                        model.PointName     = ConvertHelper.GetString(row.GetCell(5));
                                        model.MediaType     = ConvertHelper.GetString(row.GetCell(6));
                                        model.AdProductName = ConvertHelper.GetString(row.GetCell(7));
                                        string[] dates = ConvertHelper.GetString(row.GetCell(8)).Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
                                        if (dates.Length > 1)
                                        {
                                            model.BeginDate = ConvertHelper.GetDateTime(dates[0]);
                                            model.EndDate   = ConvertHelper.GetDateTime(dates[1]);
                                        }
                                        else
                                        {
                                            model.BeginDate = ConvertHelper.GetDateTime(row.GetCell(8));
                                            model.EndDate   = ConvertHelper.GetDateTime(row.GetCell(8));
                                        }
                                        if (string.IsNullOrEmpty(beginDate) || string.IsNullOrEmpty(endDate))
                                        {
                                            beginDate = model.BeginDate.ToString();
                                            endDate   = model.EndDate.ToString();
                                        }
                                        model.Status       = 0;
                                        model.PhotoRequire = "实地获取位置信息并拍照上传";
                                        model.Price        = 0;
                                        model.SpareOne     = ConvertHelper.GetString(row.GetCell(9));
                                        model.SpareTwo     = "";
                                        monitor.AddTaskProject(model);
                                    }
                                }
                            }
                            catch (Exception e)
                            {
                                Loger.Current.Write("AddTask.Resolve() errornum=" + num + " err=" + e.ToString());
                                monitor.DeleteTask(tid);
                                IsSuccess = false;
                            }
                        }
                    }
                }
                else
                {
                    num = -1;
                }
            }
            catch (Exception e)
            {
                Loger.Current.Write("AddTask.Resolve() err=" + e.ToString());
                monitor.DeleteTask(tid);
                IsSuccess = false;
            }
            Loger.Current.Write("AddTask.Resolve() end");
            return(IsSuccess ? 0 : num);
        }