|
@@ -1337,7 +1337,7 @@ public class OrderController : BaseController
|
|
|
Histories = histories,
|
|
|
IsCanUpdate = isCanUpdate
|
|
|
};
|
|
|
- if (_appOptions.Value.IsLuZhou
|
|
|
+ if (_appOptions.Value.IsLuZhou
|
|
|
&& !_sessionContext.OrgIsCenter
|
|
|
&& rsp.OrderVisitModel.Order.IsSecret)
|
|
|
{
|
|
@@ -2693,7 +2693,7 @@ public class OrderController : BaseController
|
|
|
{
|
|
|
var mes = "超过截至甄别时间不能申请甄别!";
|
|
|
mes = _appOptions.Value.IsLuZhou ? "回访完成的次月第一个工作日后不能再申请甄别!" : mes;
|
|
|
- throw UserFriendlyException.SameMessage(mes);
|
|
|
+ throw UserFriendlyException.SameMessage(mes);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -3034,6 +3034,31 @@ public class OrderController : BaseController
|
|
|
await _workflowDomainService.NextAsync(dto, cancellationToken: HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 甄别审批退回(返回前一节点)
|
|
|
+ /// </summary>
|
|
|
+ [HttpPost("screen/previous")]
|
|
|
+ [LogFilterAlpha("甄别审批退回")]
|
|
|
+ public async Task Previous([FromBody] PreviousWorkflowDto dto)
|
|
|
+ {
|
|
|
+ /*
|
|
|
+ *甄别退回到最开始节点到部门 todo 重构放在调用处判断
|
|
|
+ if (workflow.FlowType == EFlowType.Review && workflow.ModuleCode == WorkflowModuleConsts.OrderScreen)
|
|
|
+ {
|
|
|
+ newPrevStep.FlowAssignType = newPrevStep.StepType == EStepType.Start ? EFlowAssignType.Org : prevStep.FlowAssignType;
|
|
|
+ }
|
|
|
+ */
|
|
|
+
|
|
|
+ await _workflowDomainService.PreviousAsync(dto,
|
|
|
+ newStepConfig: (workflow, currentStep, prevStepDefine, prevStep, newPrevStep) =>
|
|
|
+ {
|
|
|
+ newPrevStep.FlowAssignType = prevStepDefine.BusinessType is EBusinessType.Department
|
|
|
+ ? EFlowAssignType.Org
|
|
|
+ : prevStep.FlowAssignType;
|
|
|
+ },
|
|
|
+ cancellationToken: HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
#endregion
|
|
|
|
|
@@ -3387,13 +3412,13 @@ public class OrderController : BaseController
|
|
|
//中心催办
|
|
|
if (_sessionContext.OrgIsCenter)
|
|
|
{
|
|
|
- //泸州任务 303 当前节点处于承办部门,不管是几级部门,催办对象都是当前接办部门所属的一级部门的所有部门经办人
|
|
|
- if (_appOptions.Value.IsLuZhou && !string.IsNullOrEmpty(order.OrgLevelOneCode) && order.OrgLevelOneCode != "001")
|
|
|
- {
|
|
|
- model.OrgId = order.OrgLevelOneCode;
|
|
|
- model.OrgName = order.OrgLevelOneName;
|
|
|
- }
|
|
|
- if (dto.AcceptSms)
|
|
|
+ //泸州任务 303 当前节点处于承办部门,不管是几级部门,催办对象都是当前接办部门所属的一级部门的所有部门经办人
|
|
|
+ if (_appOptions.Value.IsLuZhou && !string.IsNullOrEmpty(order.OrgLevelOneCode) && order.OrgLevelOneCode != "001")
|
|
|
+ {
|
|
|
+ model.OrgId = order.OrgLevelOneCode;
|
|
|
+ model.OrgName = order.OrgLevelOneName;
|
|
|
+ }
|
|
|
+ if (dto.AcceptSms)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
@@ -3426,40 +3451,41 @@ public class OrderController : BaseController
|
|
|
}
|
|
|
}
|
|
|
//部门催办
|
|
|
- else {
|
|
|
- if (dto.AcceptSms)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- //查询部门所有账号
|
|
|
- var userlist = work.FlowAssignType == EFlowAssignType.User || work.FlowAssignType == EFlowAssignType.Role
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (dto.AcceptSms)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //查询部门所有账号
|
|
|
+ var userlist = work.FlowAssignType == EFlowAssignType.User || work.FlowAssignType == EFlowAssignType.Role
|
|
|
? await _userRepository.Queryable().Where(x => x.Id == workflowStepHandler.UserId).ToListAsync() :
|
|
|
- await _userRepository.Queryable().Where(x => x.OrgId == workflowStepHandler.OrgId).ToListAsync();
|
|
|
- foreach (var user in userlist)
|
|
|
- {
|
|
|
- //发送短信
|
|
|
- var messageDto = new Share.Dtos.Push.MessageDto
|
|
|
- {
|
|
|
- PushBusiness = EPushBusiness.OrderUrge,
|
|
|
- ExternalId = order.Id,
|
|
|
- OrderId = order.Id,
|
|
|
- PushPlatform = EPushPlatform.Sms,
|
|
|
- Remark = order.Title,
|
|
|
- Name = user.Name,
|
|
|
- TemplateCode = "1002",
|
|
|
- Params = new List<string>() { order.No },
|
|
|
- TelNumber = user.PhoneNo,
|
|
|
- };
|
|
|
- await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
|
|
|
- }
|
|
|
- }
|
|
|
- catch
|
|
|
- {
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- await _orderUrgeRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
- }
|
|
|
+ await _userRepository.Queryable().Where(x => x.OrgId == workflowStepHandler.OrgId).ToListAsync();
|
|
|
+ foreach (var user in userlist)
|
|
|
+ {
|
|
|
+ //发送短信
|
|
|
+ var messageDto = new Share.Dtos.Push.MessageDto
|
|
|
+ {
|
|
|
+ PushBusiness = EPushBusiness.OrderUrge,
|
|
|
+ ExternalId = order.Id,
|
|
|
+ OrderId = order.Id,
|
|
|
+ PushPlatform = EPushPlatform.Sms,
|
|
|
+ Remark = order.Title,
|
|
|
+ Name = user.Name,
|
|
|
+ TemplateCode = "1002",
|
|
|
+ Params = new List<string>() { order.No },
|
|
|
+ TelNumber = user.PhoneNo,
|
|
|
+ };
|
|
|
+ await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ await _orderUrgeRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|
|
@@ -3481,9 +3507,9 @@ public class OrderController : BaseController
|
|
|
var order = await _orderRepository.GetAsync(dto.OrderId, HttpContext.RequestAborted);
|
|
|
if (order is null)
|
|
|
throw UserFriendlyException.SameMessage("无效工单");
|
|
|
- var work = await _workflowStepRepository.GetAsync(p => p.Id == order.ActualHandleStepId, HttpContext.RequestAborted);
|
|
|
- var workflowStepHandler = work.GetWorkflowStepHandler();
|
|
|
- foreach (var item in dto.UrgeOrgDtos)
|
|
|
+ var work = await _workflowStepRepository.GetAsync(p => p.Id == order.ActualHandleStepId, HttpContext.RequestAborted);
|
|
|
+ var workflowStepHandler = work.GetWorkflowStepHandler();
|
|
|
+ foreach (var item in dto.UrgeOrgDtos)
|
|
|
{
|
|
|
var model = _mapper.Map<OrderUrge>(dto);
|
|
|
model.OrgId = item.OrgId;
|
|
@@ -3495,13 +3521,13 @@ public class OrderController : BaseController
|
|
|
if (dto.Files.Any())
|
|
|
model.FileJson =
|
|
|
await _fileRepository.AddFileAsync(dto.Files, model.Id, "", HttpContext.RequestAborted);
|
|
|
- //泸州任务 303 当前节点处于承办部门,不管是几级部门,催办对象都是当前接办部门所属的一级部门的所有部门经办人
|
|
|
- if (_appOptions.Value.IsLuZhou && !string.IsNullOrEmpty(order.OrgLevelOneCode) && order.OrgLevelOneCode != "001")
|
|
|
- {
|
|
|
- model.OrgId = order.OrgLevelOneCode;
|
|
|
- model.OrgName = order.OrgLevelOneName;
|
|
|
- }
|
|
|
- await _orderUrgeRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
+ //泸州任务 303 当前节点处于承办部门,不管是几级部门,催办对象都是当前接办部门所属的一级部门的所有部门经办人
|
|
|
+ if (_appOptions.Value.IsLuZhou && !string.IsNullOrEmpty(order.OrgLevelOneCode) && order.OrgLevelOneCode != "001")
|
|
|
+ {
|
|
|
+ model.OrgId = order.OrgLevelOneCode;
|
|
|
+ model.OrgName = order.OrgLevelOneName;
|
|
|
+ }
|
|
|
+ await _orderUrgeRepository.AddAsync(model, HttpContext.RequestAborted);
|
|
|
if (_sessionContext.OrgIsCenter)
|
|
|
{
|
|
|
if (dto.AcceptSms)
|
|
@@ -3536,39 +3562,40 @@ public class OrderController : BaseController
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else {
|
|
|
- if (dto.AcceptSms)
|
|
|
- {
|
|
|
- try
|
|
|
- {
|
|
|
- //查询部门所有账号
|
|
|
- var userlist = work.FlowAssignType == EFlowAssignType.User || work.FlowAssignType == EFlowAssignType.Role
|
|
|
- ? await _userRepository.Queryable().Where(x => x.Id == workflowStepHandler.UserId).ToListAsync() :
|
|
|
- await _userRepository.Queryable().Where(x => x.OrgId == workflowStepHandler.OrgId).ToListAsync();
|
|
|
- foreach (var user in userlist)
|
|
|
- {
|
|
|
- //发送短信
|
|
|
- var messageDto = new Share.Dtos.Push.MessageDto
|
|
|
- {
|
|
|
- PushBusiness = EPushBusiness.OrderUrge,
|
|
|
- ExternalId = order.Id,
|
|
|
- OrderId = order.Id,
|
|
|
- PushPlatform = EPushPlatform.Sms,
|
|
|
- Remark = order.Title,
|
|
|
- Name = user.Name,
|
|
|
- TemplateCode = "1002",
|
|
|
- Params = new List<string>() { order.No },
|
|
|
- TelNumber = user.PhoneNo,
|
|
|
- };
|
|
|
- await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
|
|
|
- }
|
|
|
- }
|
|
|
- catch
|
|
|
- {
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (dto.AcceptSms)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ //查询部门所有账号
|
|
|
+ var userlist = work.FlowAssignType == EFlowAssignType.User || work.FlowAssignType == EFlowAssignType.Role
|
|
|
+ ? await _userRepository.Queryable().Where(x => x.Id == workflowStepHandler.UserId).ToListAsync() :
|
|
|
+ await _userRepository.Queryable().Where(x => x.OrgId == workflowStepHandler.OrgId).ToListAsync();
|
|
|
+ foreach (var user in userlist)
|
|
|
+ {
|
|
|
+ //发送短信
|
|
|
+ var messageDto = new Share.Dtos.Push.MessageDto
|
|
|
+ {
|
|
|
+ PushBusiness = EPushBusiness.OrderUrge,
|
|
|
+ ExternalId = order.Id,
|
|
|
+ OrderId = order.Id,
|
|
|
+ PushPlatform = EPushPlatform.Sms,
|
|
|
+ Remark = order.Title,
|
|
|
+ Name = user.Name,
|
|
|
+ TemplateCode = "1002",
|
|
|
+ Params = new List<string>() { order.No },
|
|
|
+ TelNumber = user.PhoneNo,
|
|
|
+ };
|
|
|
+ await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch
|
|
|
+ {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
var setting = _systemSettingCacheManager.GetSetting(SettingConstants.CityBaseConfiguration)?.SettingValue[0];
|
|
|
CityBaseConfiguration cityBase = JsonSerializer.Deserialize<CityBaseConfiguration>(setting);
|
|
|
//推省上
|
|
@@ -7301,11 +7328,11 @@ public class OrderController : BaseController
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 批量重提 根据传入的工单编号特提所有工单
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("order_batch_special")]
|
|
|
+ /// <summary>
|
|
|
+ /// 批量重提 根据传入的工单编号特提所有工单
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("order_batch_special")]
|
|
|
[AllowAnonymous]
|
|
|
public async Task BatchSpecial([FromBody] OrderBatchSpecialDto model)
|
|
|
{
|
|
@@ -7313,15 +7340,15 @@ public class OrderController : BaseController
|
|
|
.Includes(o => o.Workflow)
|
|
|
.Includes(o => o.OrderVisits)
|
|
|
.Where(o => (o.CounterSignType == null || o.CounterSignType == ECounterSignType.Department))
|
|
|
- .In(o=> o.No, model.No).ToListAsync();
|
|
|
+ .In(o => o.No, model.No).ToListAsync();
|
|
|
if (!orders.Any())
|
|
|
throw UserFriendlyException.SameMessage("未查询到工单信息!");
|
|
|
foreach (var order in orders)
|
|
|
{
|
|
|
var nextStep = await _workflowTraceRepository.Queryable()
|
|
|
- .LeftJoin<SystemOrganize>((step, o) => step.HandlerOrgId == o.Id)
|
|
|
- .Where((step,o) => step.WorkflowId == order.WorkflowId && step.TraceStyle == ETraceStyle.Flow && step.StepType == EStepType.Normal
|
|
|
- &&!string.IsNullOrEmpty(step.HandlerOrgId) && o.Level == 1 && step.BusinessType == EBusinessType.Department).OrderByDescending(step => step.CreationTime)
|
|
|
+ .LeftJoin<SystemOrganize>((step, o) => step.HandlerOrgId == o.Id)
|
|
|
+ .Where((step, o) => step.WorkflowId == order.WorkflowId && step.TraceStyle == ETraceStyle.Flow && step.StepType == EStepType.Normal
|
|
|
+ && !string.IsNullOrEmpty(step.HandlerOrgId) && o.Level == 1 && step.BusinessType == EBusinessType.Department).OrderByDescending(step => step.CreationTime)
|
|
|
.FirstAsync(HttpContext.RequestAborted);
|
|
|
if (nextStep is null)
|
|
|
continue;
|