private void QualityControl() { Project = Application.Current.Properties["SelectedProject"] as Project; if (Project == null || !"1".Equals(Project.Type)) { MessageBox.Show("请选择楼盘项目", "提示"); return; } var view = new TaskInfoDialog(); TaskInfoDialogViewModel TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); var result = DialogHost.Show(view, "RootDialog"); QualityControlTask task = new QualityControlTask(); try { task.Project = Project; task.Ongo(); } catch (Exception ex) { ErrorDialogViewModel.getInstance().show(ex); return; } }
public TaskInfoDialog() { InitializeComponent(); DataContext = TaskInfoDialogViewModel.getInstance(); // 解决鼠标中轴滚动问题 UseTheScrollViewerScrolling(Messages); }
public void Ongo() { try { TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); TaskMessage taskMessage = new TaskMessage(); taskMessage.Title = "导出项目:" + Project.ProjectName; taskMessage.Progress = 0.0; TaskInfoDialog.Messages.Insert(0, taskMessage); Task task = new Task(() => { try { exportRegistration.TaskMessage = taskMessage; exportRegistration.SaveFileName = SaveFileName; exportRegistration.Project = Project; exportRegistration.write(); } catch (Exception ex) { ErrorMsg.Add(ex.Message); } ErrorMsg.AddRange(exportRegistration.ErrorMsg); }); task.Start(); task.ContinueWith(t => { ThreadPool.QueueUserWorkItem(delegate { SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher)); SynchronizationContext.Current.Post(pl => { foreach (var error in ErrorMsg) { taskMessage.DetailMessages.Add(error); } if (ErrorMsg != null && ErrorMsg.Count > 0) { taskMessage.DetailMessages.Add("导出失败"); } else { taskMessage.Progress = 100.00; taskMessage.DetailMessages.Add("导出成功"); } }, null); }); }); } catch (Exception ex) { throw ex; } }
public void Ongo() { try { TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); //TaskInfoDialog.Messages.Add("开始质检项目:" + Project.ProjectName); TaskMessage taskMessage = new TaskMessage(); taskMessage.Title = "质检项目:" + Project.ProjectName; taskMessage.Progress = 0.0; TaskInfoDialog.Messages.Insert(0, taskMessage); Task task = new Task(() => { //Thread.Sleep(2000); QualityControl qualityControl = new QualityControl(); qualityControl.Project = ProjectDal.InitialRealEstateProject(Project); qualityControl.TaskMessage = taskMessage; try { ErrorMsg.AddRange(qualityControl.Check()); } catch (Exception ex) { ErrorMsg.Add(ex.Message); } }); task.Start(); task.ContinueWith(t => { ThreadPool.QueueUserWorkItem(delegate { SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher)); SynchronizationContext.Current.Post(pl => { foreach (var error in ErrorMsg) { taskMessage.DetailMessages.Add(error); } if (ErrorMsg != null && ErrorMsg.Count > 0) { taskMessage.DetailMessages.Add("质检不通过"); Project.State = "0"; Project.UptateTime = DateTime.Now; ProjectDal.Modify(Project); } else { taskMessage.DetailMessages.Add("质检合格"); Project.State = "1"; Project.UptateTime = DateTime.Now; ProjectDal.Modify(Project); } }, null); }); }); } catch (Exception ex) { throw ex; } }
public void Ongo() { try { TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); TaskMessage taskMessage = new TaskMessage(); taskMessage.Title = "导出项目:" + Project.ProjectName; taskMessage.Progress = 0.0; TaskInfoDialog.Messages.Insert(0, taskMessage); NaturalBuildingDal naturalBuildingDal = new NaturalBuildingDal(); LogicalBuildingDal logicalBuildingDal = new LogicalBuildingDal(); FloorDal floorDal = new FloorDal(); HouseholdDal householdDal = new HouseholdDal(); ObligeeDal obligeeDal = new ObligeeDal(); MortgageDal mortgageDal = new MortgageDal(); SequestrationDal sequestrationDal = new SequestrationDal(); Task task = new Task(() => { try { book.Project = Project; book.TaskMessage = taskMessage; book.NaturalBuildings = naturalBuildingDal.GetListBy(t => t.ProjectID == Project.ID); book.LogicalBuildings = logicalBuildingDal.GetListBy(t => t.ProjectID == Project.ID); book.Floors = floorDal.GetListBy(t => t.ProjectID == Project.ID); book.Households = householdDal.GetListBy(t => t.ProjectID == Project.ID); book.Obligees = obligeeDal.GetListBy(t => t.ProjectID == Project.ID); if ("2".Equals(Project.OwnershipType)) { book.Mortgages = mortgageDal.GetListBy(t => t.ProjectID == Project.ID); book.Sequestrations = sequestrationDal.GetListBy(t => t.ProjectID == Project.ID); } book.Open(TemplateFileName); book.Write(); //book.SaveAsExcel(SaveFileName); } catch (Exception ex) { ErrorMsg.Add(ex.Message); } ErrorMsg.AddRange(book.ErrorMsg); }); task.Start(); task.ContinueWith(t => { ThreadPool.QueueUserWorkItem(delegate { SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher)); SynchronizationContext.Current.Post(pl => { foreach (var error in ErrorMsg) { taskMessage.DetailMessages.Add(error); } if (ErrorMsg != null && ErrorMsg.Count > 0) { taskMessage.DetailMessages.Add("导出失败"); } else { string bufferPath = System.AppDomain.CurrentDomain.BaseDirectory + @"Buffer\" + Path.GetFileName(SaveFileName); try { book.SaveAsExcel(bufferPath); //// 压缩成报盘 //ZipHelper zipHelper = new ZipHelper(); //zipHelper.ZipFile(SaveFileName.Replace(".bpf", ".xls"), SaveFileName, 5, 500); //// 删除excel //File.Delete(SaveFileName.Replace(".bpf", ".xls")); if (Path.GetExtension(bufferPath) == ".xls") { File.Copy(bufferPath, SaveFileName, true); File.Delete(bufferPath); } else if (Path.GetExtension(bufferPath) == ".bpf") { File.Copy(bufferPath.Replace(".xls", ".bpf"), SaveFileName.Replace(".xls", ".bpf"), true); File.Delete(bufferPath.Replace(".xls", ".bpf")); } taskMessage.Progress = 100.00; taskMessage.DetailMessages.Add("导出成功"); } catch (Exception ex) { taskMessage.DetailMessages.Add(ex.Message + ex.StackTrace); } } }, null); }); }); } catch (Exception ex) { throw ex; } }
public void Ongo() { try { TaskInfoDialog = TaskInfoDialogViewModel.getInstance(); String FileName = Path.GetFileName(FullPath); //TaskInfoDialog.Messages.Add("开始导入:" + FileName); TaskMessage taskMessage = new TaskMessage(); taskMessage.Title = "导入项目:" + FileName; taskMessage.Progress = 0.0; TaskInfoDialog.Messages.Insert(0, taskMessage); Task task = new Task(() => { ImportRealEstateBook import = new ImportRealEstateBook(); import.FileName = FullPath; import.Read(); bool canContinue = import.ReadInformation(); if (canContinue) { taskMessage.Progress = 50.00; //var naturalEffective = NaturalEffective(import.ZRZList); var isNaturalBuildingUnique = IsNaturalBuildingUnique(import.NaturalBuildings); var isHouseholdUnique = IsHouseholdUnique(import.Households); if (isNaturalBuildingUnique && isHouseholdUnique) { Project project = InitialProject(); ProjectDal projectDal = new ProjectDal(); NaturalBuildingDal naturalBuildingDal = new NaturalBuildingDal(); LogicalBuildingDal logicalBuildingDal = new LogicalBuildingDal(); FloorDal floorDal = new FloorDal(); HouseholdDal householdDal = new HouseholdDal(); ObligeeDal obligeeDal = new ObligeeDal(); try { foreach (var naturalBuilding in import.NaturalBuildings) { naturalBuilding.ID = Guid.NewGuid(); naturalBuilding.ProjectID = project.ID; naturalBuilding.UpdateTime = DateTime.Now; naturalBuildingDal.Add(naturalBuilding); } } catch (Exception ex) { ErrorMsg.Add("自然幢数据异常:" + ex.Message); } try { foreach (var logicalBuilding in import.LogicalBuildings) { logicalBuilding.ID = Guid.NewGuid(); logicalBuilding.ProjectID = project.ID; logicalBuilding.UpdateTime = DateTime.Now; logicalBuildingDal.Add(logicalBuilding); } } catch (Exception ex) { ErrorMsg.Add("逻辑幢数据异常:" + ex.Message); } try { foreach (var floor in import.Floors) { floor.ID = Guid.NewGuid(); floor.ProjectID = project.ID; floor.UpdateTime = DateTime.Now; floorDal.Add(floor); } } catch (Exception ex) { ErrorMsg.Add("层数据异常:" + ex.Message); } try { foreach (var household in import.Households) { household.ID = Guid.NewGuid(); household.ProjectID = project.ID; household.UpdateTime = DateTime.Now; householdDal.Add(household); } } catch (Exception ex) { ErrorMsg.Add("户数据异常:" + ex.Message); } try { foreach (var obligee in import.Obligees) { obligee.ID = Guid.NewGuid(); obligee.ProjectID = project.ID; obligee.UpdateTime = DateTime.Now; obligeeDal.Add(obligee); } } catch (Exception ex) { ErrorMsg.Add("权利人数据异常:" + ex.Message); } try { projectDal.Add(project); } catch (Exception ex) { ErrorMsg.Add("项目数据异常:" + ex.Message); } } } ErrorMsg.AddRange(import.ErrorMsg); }); task.Start(); task.ContinueWith(t => { ThreadPool.QueueUserWorkItem(delegate { SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher)); SynchronizationContext.Current.Post(pl => { foreach (var error in ErrorMsg) { taskMessage.DetailMessages.Add(error); } if (ErrorMsg != null && ErrorMsg.Count > 0) { taskMessage.DetailMessages.Add("导入失败"); } else { taskMessage.Progress = 100.00; taskMessage.DetailMessages.Add("导入成功"); // 刷新项目列表 } }, null); }); }); } catch (Exception ex) { throw ex; } }
private void ImportDictionary() { var view = new TaskInfoDialog(); var result = DialogHost.Show(view, "RootDialog"); TaskInfoDialogViewModel taskInfoDialog = TaskInfoDialogViewModel.getInstance(); TaskMessage taskMessage = new TaskMessage(); taskMessage.Title = "执行导入字典目录任务"; taskMessage.Progress = 0.0; taskInfoDialog.Messages.Add(taskMessage); Task task = new Task(() => { App.Current.Dispatcher.Invoke((Action)(() => { taskMessage.DetailMessages.Add("开始导入。。"); })); // 导入BDCS_CONSTCLS BaseDal <CONSTCLS> baseDal = new BaseDal <CONSTCLS>(); StreamReader sr = new StreamReader(@"C:\Users\Administrator\Desktop\BDCS_CONSTCLS 1.txt", Encoding.Default); String line; int index = 0; while ((line = sr.ReadLine()) != null) { string[] s = line.Split(','); CONSTCLS c = new CONSTCLS(); c.MBBSM = int.Parse(s[0].Trim()); c.CONSTSLSID = int.Parse(s[1].Trim()); c.CONSTCLSNAME = s[2].Trim(); c.CONSTCLSTYPE = s[3].Trim(); c.BZ = s[4].Trim(); baseDal.Add(c); index++; double per = index / 79.0 * 100; taskMessage.Progress = per; App.Current.Dispatcher.Invoke((Action)(() => { taskMessage.DetailMessages.Add("字典目录表:进度" + per.ToString("#0.#0") + "%"); })); } index = 0; taskMessage.Progress = 0.0; BaseDal <CONST> baseDal2 = new BaseDal <CONST>(); StreamReader sr2 = new StreamReader(@"C:\Users\Administrator\Desktop\BDCS_CONST 1.txt", Encoding.Default); String line2; while ((line2 = sr2.ReadLine()) != null) { string[] s = line2.Split(','); CONST c = new CONST(); c.MBBSM = int.Parse(s[0].Trim()); c.CONSTSLSID = int.Parse(s[1].Trim()); c.CONSTVALUE = s[2].Trim(); c.CONSTTRANS = s[3].Trim(); if (s[4].Trim() != "") { c.PARENTNODE = int.Parse(s[4].Trim()); } else { c.PARENTNODE = null; } if (s[5].Trim() != "") { c.CONSTORDER = int.Parse(s[5].Trim()); } else { c.CONSTORDER = null; } c.BZ = s[6].Trim(); c.CREATETIME = null; c.MODIFYTIME = null; c.REPORTVALUE = s[9].Trim(); c.GJCONSTTRANS = s[10].Trim(); c.SFSY = s[11].Trim(); c.GJVALUE = s[12].Trim(); baseDal2.Add(c); index++; double per = index / 1918.0 * 100; taskMessage.Progress = per; App.Current.Dispatcher.Invoke((Action)(() => { taskMessage.DetailMessages.Add("字典表:进度" + per.ToString("#0.#0") + "%"); })); } }); task.Start(); task.ContinueWith(t => { ThreadPool.QueueUserWorkItem(delegate { SynchronizationContext.SetSynchronizationContext(new System.Windows.Threading.DispatcherSynchronizationContext(System.Windows.Application.Current.Dispatcher)); SynchronizationContext.Current.Post(pl => { taskMessage.DetailMessages.Add("导入完成。"); }, null); }); }); }