|
@@ -3461,16 +3461,28 @@ public class OrderController : BaseController
|
|
|
public async Task<object> SpecialBaseData(string id)
|
|
|
{
|
|
|
var step = await _workflowApplication.GetRecallStepsAsync(id, HttpContext.RequestAborted);
|
|
|
- if (step != null && step.Steps.Any() && _sessionContext.Roles.Contains("zuoxi"))
|
|
|
+ var specialSeats = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.SpecialSeats).SettingValue[0]);
|
|
|
+ var specialSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.SpecialSendOrder).SettingValue[0]);
|
|
|
+
|
|
|
+ var baseTypeId = string.Empty;
|
|
|
+ if (step != null && step.Steps.Any() && _sessionContext.Roles.Contains("zuoxi") && specialSeats)
|
|
|
{
|
|
|
- step.Steps = step.Steps.Where(x => x.Key == "start").ToList();
|
|
|
- }
|
|
|
+ step.Steps = step.Steps.Where(x => x.Key.ToLower() == "start").ToList();
|
|
|
+ if (step.Steps.Any()) baseTypeId = step.Steps[0].Key;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (step != null && step.Steps.Any() && _sessionContext.Roles.Contains("paidanyuan") && specialSendOrder)
|
|
|
+ {
|
|
|
+ step.Steps = step.Steps.Where(d => d.BusinessType is EBusinessType.Send).ToList();
|
|
|
+ if (step.Steps.Any()) baseTypeId = step.Steps[0].Key;
|
|
|
+ }
|
|
|
var rsp = new
|
|
|
{
|
|
|
SpecialTimeType = EnumExts.GetDescriptions<ETimeType>(),
|
|
|
SpecialReason = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.SpecialReason),
|
|
|
- Step = step
|
|
|
- };
|
|
|
+ Step = step,
|
|
|
+ BaseTypeId = baseTypeId
|
|
|
+ };
|
|
|
return rsp;
|
|
|
}
|
|
|
|