public int Update(StartProcessInput <UpdateEarlyStageInput> input) { var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.ReplyNumber}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var record = input.Data.MapTo <EarlyStage>(); record.ProcessInstanceId = processInstanceId; record.State = DataState.Updating; record.Mid = record.Id; record.Id = 0; _earlyStageRepository.Add(record); var task = tasks[0]; _taskProvider.Complete(task.Id); return(record.Id); }
public int Add(StartProcessInput <AddConstructionUnitInput> input) { if (input.Data.Name == null) { throw new AppCoreException("单位名称不能为空"); } var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Name}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var constructionUnit = input.Data.MapTo <ConstructionUnit>(); // var count = AppSampleContext.Instance.GetSupplierNoCount(() => _supplierRepository.Count(u => u.CreateTime.Value.Year == DateTime.Now.Year && (u.State == DataState.Stable || u.State == DataState.Creating))); constructionUnit.ProcessInstanceId = processInstanceId; constructionUnit.State = DataState.Creating; // constructionUnit.SupplierNo = $"{DateTime.Now.Year}{count.ToString("000000")}"; constructionUnit.Mid = null; _constructionUnitRepository.Add(constructionUnit); var task = tasks[0]; _taskProvider.Complete(task.Id); return(constructionUnit.Id); }
public int Add(StartProcessInput <AddProjectInput> input) { NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Name}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var project = input.Data.MapTo <Project>(); var count = ProjectContext.Instance.GetProjectBaseInfoNoCount(() => _projectRepository.Count(u => u.CreateTime.Value.Year == DateTime.Now.Year && (u.DataState == DataState.Stable || u.DataState == DataState.Creating))); project.ProcessInstanceId = processInstanceId; project.DataState = DataState.Creating; project.No = $"{DateTime.Now.Year}{count.ToString("0000")}"; project.Mid = null; _projectRepository.Add(project); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(project.Id); }
public int Add(StartProcessInput <AddRecordInput> input) { NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.RecordName}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var record = input.Data.MapTo <Record>(); record.ProcessInstanceId = processInstanceId; record.DataState = DataState.Creating; record.Mid = null; _recordRepository.Add(record); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(record.Id); }
public int Update(StartProcessInput <UpdateQualityProblemInput> input) { var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; if (!_projectHelper.HasPermission("质量信息负责人", input.Data.ProjectId))//权限设置 { throw new AppCoreException("质量问题修改没有权限"); } variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Source}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var record = input.Data.MapTo <QualityProblem>(); record.ProcessInstanceId = processInstanceId; record.State = DataState.Updating; record.Mid = record.Id; record.Id = 0; _problemRepository.Add(record); var task = tasks[0]; _taskProvider.Complete(task.Id); return(record.Id); }
public IActionResult StartProjectProcess([FromBody] StartProcessInput <AddProjectInput> input) { var id = _projectService.Add(input); _ganttService.AddByProject(id); return(Created("", new { id })); }
public int Update(StartProcessInput <UpdateProjectInput> input) { //if (!_projectHelper.HasPermission("项目负责人", input.Data.Id)) //{ // throw new AppCoreException("项目没有权限"); //} if (_authInfoProvider.GetCurrent().User.Id != _projectRepository.Get().Where(u => u.Id == input.Data.Id).Select(u => u.CreatorId).FirstOrDefault()) { throw new AppCoreException("项目没有权限"); } NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Name}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var project = input.Data.MapTo <Project>(); var projectNo = _projectRepository.Get().Where(u => u.Id == project.Id).Select(u => u.No).FirstOrDefault(); project.ProcessInstanceId = processInstanceId; project.No = projectNo; project.Attachments.ForEach(u => u.Id = 0); project.Members.ForEach(u => u.Id = 0); project.Units.ForEach(u => { u.Id = 0; u.Members.ForEach(v => v.Id = 0); }); if (project.Location != null) { project.Location.Id = 0; project.Location.ProjectId = 0; } project.DataState = DataState.Updating; project.Mid = project.Id; project.Id = 0; _projectRepository.Add(project); var task = tasks[0]; _taskProvider.Complete(task.Id); return(project.Id); }
public int Add(StartProcessInput <AddWeeklyProgressInput> input) { NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; if (!_projectHelper.HasPermission("进度填报负责人", input.Data.ProjectId)) { throw new AppCoreException("进度填报没有权限"); } variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.AddDate}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var progress = input.Data.MapTo <WeeklyProgress>(); if (progress.ProjectId == 0) { throw new AppCoreException("传入数据的ProjectId不能为空"); } //if(_progressRepository.Count(u=>u.ProjectId == progress.ProjectId && u.Week == progress.Week && u.Year == progress.Year) > 0) //{ // throw new EntityException("Week", progress.Week, "PmWeeklyReport", "已存在"); //} progress.ProcessInstanceId = processInstanceId; progress.DataState = DataState.Creating; progress.Mid = null; _progressRepository.Add(progress); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(progress.Id); }
public int Update(StartProcessInput <UpdateMonthlyProgressInput> input) { NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; var projectId = _progressRepository.Get().Where(u => u.Id == input.Data.Id).Select(u => u.ProjectId).FirstOrDefault(); var list = _projectRepository.Get().Where(u => u.Id == input.Data.ProjectId).SelectMany(u => u.Members).Where(u => u.ProjectRole == "投资信息负责人").Select(u => u.UserId).ToList(); if (!_projectHelper.HasPermission("投资信息负责人", projectId)) { throw new AppCoreException("月投资更新没有权限"); } var progress = input.Data.MapTo <MonthlyProgress>(); if (_progressRepository.Count(u => u.ProjectId == projectId && u.RecordDate == progress.RecordDate && u.DataState == DataState.Stable && u.Id != progress.Id) > 0) { throw new EntityException("Date", progress.RecordDate, "PmMonthlyReport", "已存在"); } variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Year}-{input.Data.Month}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } progress.ProcessInstanceId = processInstanceId; progress.DataState = DataState.Updating; progress.Mid = progress.Id; progress.Id = 0; _progressRepository.Add(progress); var task = tasks[0]; _taskProvider.Complete(task.Id); return(progress.Id); }
public int Add(StartProcessInput <AddContractPaymentInput> input) { if (input.Data.ContractId == 0) { throw new AppCoreException("合同id不能为0"); } var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}",//-{input.Data.Title} variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var contractPayment = input.Data.MapTo <ContractPayment>(); // var count = AppSampleContext.Instance.GetSupplierNoCount(() => _supplierRepository.Count(u => u.CreateTime.Value.Year == DateTime.Now.Year && (u.State == DataState.Stable || u.State == DataState.Creating))); contractPayment.ProcessInstanceId = processInstanceId; contractPayment.State = DataState.Creating; // memorabiliaRecord.SupplierNo = $"{DateTime.Now.Year}{count.ToString("000000")}"; var paymentNumberPrefix = $"CP{DateTime.Now.ToString("yyyyMMdd")}"; var count = _contractPaymentRepository.Count(u => u.PaymentNumber.Contains(paymentNumberPrefix) && (u.State == DataState.Stable || u.State == DataState.Creating)); contractPayment.PaymentNumber = $"{paymentNumberPrefix}{count.ToString("00")}"; contractPayment.Mid = null; _contractPaymentRepository.Add(contractPayment); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(contractPayment.Id); }
public int Add(StartProcessInput <AddHousekeepingProblemInput> input) { if (input.Data.ProjectId == 0) { throw new AppCoreException("文明施工所在项目不能为0"); } var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; // var list = _projectRepository.Get().Where(u => u.Id == input.Data.ProjectId).SelectMany(u => u.Members).Where(u => u.ProjectRole == "文明施工负责人").Select(u => u.UserId).ToList(); if (!_projectHelper.HasPermission("文明施工负责人", input.Data.ProjectId))//权限设置 { throw new AppCoreException("文明施工发布没有权限"); } variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Content}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var problem = input.Data.MapTo <HousekeepingProblem>(); // var count = AppSampleContext.Instance.GetSupplierNoCount(() => _supplierRepository.Count(u => u.CreateTime.Value.Year == DateTime.Now.Year && (u.State == DataState.Stable || u.State == DataState.Creating))); problem.ProcessInstanceId = processInstanceId; problem.State = DataState.Creating; // memorabiliaRecord.SupplierNo = $"{DateTime.Now.Year}{count.ToString("000000")}"; problem.Mid = null; _problemRepository.Add(problem); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(problem.Id); }
public int Add(StartProcessInput <AddQualityProblemInput> input) { if (input.Data.Source == null) { throw new AppCoreException("质量问题来源不能为空"); } var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; if (!_projectHelper.HasPermission("质量信息负责人", input.Data.ProjectId))//权限设置 { throw new AppCoreException("质量问题发布没有权限"); } variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.Source}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var qualityProblem = input.Data.MapTo <QualityProblem>(); // var count = AppSampleContext.Instance.GetSupplierNoCount(() => _supplierRepository.Count(u => u.CreateTime.Value.Year == DateTime.Now.Year && (u.State == DataState.Stable || u.State == DataState.Creating))); qualityProblem.ProcessInstanceId = processInstanceId; qualityProblem.State = DataState.Creating; // memorabiliaRecord.SupplierNo = $"{DateTime.Now.Year}{count.ToString("000000")}"; qualityProblem.Mid = null; _problemRepository.Add(qualityProblem); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(qualityProblem.Id); }
public int Update(StartProcessInput <UpdateRecordInput> input) { NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.RecordName}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var record = _recordRepository.Get() .Include(u => u.Attachments) .Where(u => u.Id == input.Data.Id).FirstOrDefault(); var updated = input.Data.MapTo <Record>(); record.ProcessInstanceId = processInstanceId; record.RecordTypeId = updated.RecordTypeId; record.Attachments = updated.Attachments; record.Description = updated.Description; record.RecordName = updated.RecordName; record.Attachments.ForEach(u => u.Id = 0); record.DataState = DataState.Updating; record.Mid = record.Id; record.Id = 0; _recordRepository.Add(record); var task = tasks[0]; _taskProvider.Complete(task.Id); return(record.Id); }
public int Update(StartProcessInput <UpdateWeeklyProgressInput> input) { NullableHelper.SetNull(input.Data); var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; var projectId = _progressRepository.Get().Where(u => u.Id == input.Data.Id).Select(u => u.ProjectId).FirstOrDefault(); if (!_projectHelper.HasPermission("进度填报负责人", projectId)) { throw new AppCoreException("进度填报更新没有权限"); } variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.AddDate}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var progress = input.Data.MapTo <WeeklyProgress>(); progress.ProcessInstanceId = processInstanceId; progress.DataState = DataState.Updating; progress.Mid = progress.Id; progress.Id = 0; _progressRepository.Add(progress); var task = tasks[0]; _taskProvider.Complete(task.Id); return(progress.Id); }
public int Add(StartProcessInput <AddEarlyStageInput> input) { if (input.Data.ReplyNumber == null) { throw new AppCoreException("批复文号不能为空"); } var variables = new Dictionary <string, object>(); var userId = _authInfoProvider.GetCurrent().User.Id; variables.Add("starter", userId.ToString()); int processInstanceId = _runtimeProvider.StartProcessInstanceByName( input.ProcessDefinitionName, $"{input.ProcessDefinitionName}-{input.Data.ReplyNumber}", variables); var tasks = _taskProvider.GetByProcessInstance(processInstanceId); if (tasks.Count == 0) { throw new AppCoreException("任务未创建成功!"); } var earlyStage = input.Data.MapTo <EarlyStage>(); // var count = AppSampleContext.Instance.GetSupplierNoCount(() => _supplierRepository.Count(u => u.CreateTime.Value.Year == DateTime.Now.Year && (u.State == DataState.Stable || u.State == DataState.Creating))); earlyStage.ProcessInstanceId = processInstanceId; earlyStage.State = DataState.Creating; // memorabiliaRecord.SupplierNo = $"{DateTime.Now.Year}{count.ToString("000000")}"; earlyStage.Mid = null; _earlyStageRepository.Add(earlyStage); var task = tasks[0]; if (!input.PreventCommit) { _taskProvider.Complete(task.Id); } return(earlyStage.Id); }
public IActionResult StartConstructionUnitProcess(int id, [FromBody] StartProcessInput <UpdateConstructionUnitInput> input) { input.Data.Id = id; _constructionUnitService.Update(input); return(Created("", new { id })); }
public IActionResult StartSafetyAccidentProcess([FromBody] StartProcessInput <AddSafetyAccidentInput> input) { var id = _safetyAccidentTaskService.Add(input); return(Created("", new { id })); }
public IActionResult StartSafetyAccidentProcess(int id, [FromBody] StartProcessInput <UpdateSafetyAccidentInput> input) { input.Data.Id = id; _safetyAccidentTaskService.Update(input); return(Created("", new { id })); }
public IActionResult StartHousekeepingProcess([FromBody] StartProcessInput <AddHousekeepingProblemInput> input) { var id = _housekeepingProblemTaskService.Add(input); return(Created("", new { id })); }
public IActionResult StartMonthlyProgressProcess([FromBody] StartProcessInput <AddMonthlyProgressInput> input) { var id = _monthlyProgressService.Add(input); return(Created("", new { id })); }
public IActionResult StartEarlyStageProcess([FromBody] StartProcessInput <AddEarlyStageInput> input) { var id = _earlyStageTaskService.Add(input); return(Created("", new { id })); }
public IActionResult StartEarlyStageProcess(int id, [FromBody] StartProcessInput <UpdateEarlyStageInput> input) { input.Data.Id = id; _earlyStageTaskService.Update(input); return(Created("", new { id })); }
public IActionResult StartMemoProcess([FromBody] StartProcessInput <AddRecordInput> input) { var id = _recordService.Add(input); return(Created("", new { id })); }
public IActionResult StartMemoProcess(int id, [FromBody] StartProcessInput <UpdateRecordInput> input) { input.Data.Id = id; _recordService.Update(input); return(Created("", new { id })); }
public IActionResult StartPaymentProcess(int id, [FromBody] StartProcessInput <UpdateContractPaymentInput> input) { input.Data.Id = id; _paymentService.Update(input); return(Created("", new { id })); }
public IActionResult StartProblemsProcess([FromBody] StartProcessInput <AddProblemInput> input) { var id = _problemsTaskService.Add(input); return(Created("", new { id })); }
public IActionResult StartMonthlyProgressProcess(int id, [FromBody] StartProcessInput <UpdateMonthlyProgressInput> input) { input.Data.Id = id; _monthlyProgressService.Update(input); return(Created("", new { id })); }
public IActionResult StartConstructionUnitProcess([FromBody] StartProcessInput <AddConstructionUnitInput> input) { var id = _constructionUnitService.Add(input); return(Created("", new { id })); }
public IActionResult StartPaymentProcess([FromBody] StartProcessInput <AddContractPaymentInput> input) { var id = _paymentService.Add(input); return(Created("", new { id })); }
public IActionResult StartProblemsProcess(int id, [FromBody] StartProcessInput <UpdateProblemInput> input) { input.Data.Id = id; _problemsTaskService.Update(input); return(Created("", new { id })); }