Skip to content

Commit 60f02a4

Browse files
committed
edit
1 parent 5620adc commit 60f02a4

File tree

9 files changed

+40
-12
lines changed

9 files changed

+40
-12
lines changed

RapidDoc/Activities/CodeActivities/WFCreateDynamicTracker.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ public sealed class WFCreateDynamicTracker : CodeActivity
2424
[RequiredArgument]
2525
public InArgument<bool> inputParallel { get; set; }
2626

27+
public InArgument<string> inputAdditionalText { get; set; }
28+
2729
[Inject]
2830
public IWorkflowService _service { get; set; }
2931

@@ -33,10 +35,11 @@ protected override void Execute(CodeActivityContext context)
3335
Guid documentId = context.GetValue(this.inputDocumentId);
3436
string currentUserId = context.GetValue(this.inputCurrentUser);
3537
bool isParallel = context.GetValue(this.inputParallel);
38+
string additionalText = context.GetValue(this.inputAdditionalText);
3639

3740
_service = DependencyResolver.Current.GetService<IWorkflowService>();
3841

39-
_service.CreateDynamicTracker(users, documentId, currentUserId, isParallel);
42+
_service.CreateDynamicTracker(users, documentId, currentUserId, isParallel, additionalText);
4043
}
4144
}
4245
}

RapidDoc/Activities/USR_OFM_UIT_OfficeMemo.xaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,11 @@
312312
<FlowStep.Next>
313313
<FlowStep x:Name="__ReferenceID14" sap2010:WorkflowViewState.IdRef="FlowStep_23">
314314
<local2:WFCreateDynamicTracker _service="{x:Null}" DisplayName="Создание трекера" sap2010:WorkflowViewState.IdRef="WFCreateDynamicTracker_1">
315+
<local2:WFCreateDynamicTracker.inputAdditionalText>
316+
<InArgument x:TypeArguments="x:String">
317+
<mca:CSharpValue x:TypeArguments="x:String">(string)documentData["AdditionalText"]</mca:CSharpValue>
318+
</InArgument>
319+
</local2:WFCreateDynamicTracker.inputAdditionalText>
315320
<local2:WFCreateDynamicTracker.inputCurrentUser>
316321
<InArgument x:TypeArguments="x:String">
317322
<mca:CSharpValue x:TypeArguments="x:String">inputCurrentUser</mca:CSharpValue>
@@ -404,7 +409,7 @@
404409
<x:Reference>__ReferenceID12</x:Reference>
405410
<x:Reference>__ReferenceID13</x:Reference>
406411
<x:Reference>__ReferenceID14</x:Reference>
407-
<sads:DebugSymbol.Symbol>d1hDOlxVc2Vyc1xpZ2RtaXRcU291cmNlXFJlcG9zXERvY2Zsb3dSZXBvXFJhcGlkRG9jXEFjdGl2aXRpZXNcVVNSX09GTV9VSVRfT2ZmaWNlTWVtby54YW1sOBsHG2cBAwGNAQGTAQEChQEDmAMPAgEBjAEJ5gEVAwHyAeoBD+oBcwMB6AH9AhGIAxoDAdMB7gERtwIdAgFfugIVzwI1AgE20wIb0wJ/AgEs5wId8gImAgEX1wId4gImAgECjwEPmgEYAwHmAp0BE7wBLgMBpgLAARnAAW4DAZwCxAEb2QE8AwHzAYUDF4UDagMB3gGAAxeAA3IDAdQB8QEXkAIyAwGTAZQCHZQCcgMBiQGYAh+tAkACAWDMAhvMAm8CAVXCAhvCAmYCAUu9Ahu9AmkCAUHHAhvHAngCATfvAiPvAoMBAgEi6gIj6gJ+AgEY3wIj3wKAAQIBDdoCI9oCfgIBA5cBFZcBjQEDAfECkgEVkgFxAwHnAqoBGaoBawMB3AKdAYICnQGJAgMB2wK0ARm0AW4DAdECrwEZrwFrAwHHAp0B8wGdAfcBAwHGArkBGbkBdAMBvAKdAeMBnQHmAQMBuwKlARmlAWQDAbECoAEZoAFnAwGnAswBIcwBcwMBkgLRASHRAXcDAYgCxwEhxwFrAwH+AdYBIdYBfAMB9AH+AR3+AW8DAckB8QGKAvEBkQIDAcgBiAIdiAJyAwG+AYMCHYMCbwMBtAHxAfsB8QH/AQMBswGNAh2NAngDAakB8QHrAfEB7gEDAagB+QEd+QFoAwGeAfQBHfQBawMBlAGgAiWgAncCAX+lAiWlAnsCAXWbAiWbAm8CAWuqAiWqAoABAgFh</sads:DebugSymbol.Symbol>
412+
<sads:DebugSymbol.Symbol>d2dDOlxVc2Vyc1xEbVNoa2EuQUxUWU5UQVVcRGVza3RvcFxHaXRIdWJcRG9jRmxvd1xEb2NmbG93XFJhcGlkRG9jXEFjdGl2aXRpZXNcVVNSX09GTV9VSVRfT2ZmaWNlTWVtby54YW1sORsHG2cBAwGNAQGTAQEChQEDnQMPAgEBjAEJ5gEVAwH8AeoBD+oBcwMB8gGCAxGNAxoDAd0B7gERtwIdAgFpugIV1AI1AgE22AIb2AJ/AgEs7AId9wImAgEX3AId5wImAgECjwEPmgEYAwHwAp0BE7wBLgMBsALAARnAAW4DAaYCxAEb2QE8AwH9AYoDF4oDagMB6AGFAxeFA3IDAd4B8QEXkAIyAwGdAZQCHZQCcgMBkwGYAh+tAkACAWrRAhvRAm8CAV/HAhvHAmYCAVW9Ahu9An8CAUvCAhvCAmkCAUHMAhvMAngCATf0AiP0AoMBAgEi7wIj7wJ+AgEY5AIj5AKAAQIBDd8CI98CfgIBA5cBFZcBjQEDAfsCkgEVkgFxAwHxAqoBGaoBawMB5gKdAYICnQGJAgMB5QK0ARm0AW4DAdsCrwEZrwFrAwHRAp0B8wGdAfcBAwHQArkBGbkBdAMBxgKdAeMBnQHmAQMBxQKlARmlAWQDAbsCoAEZoAFnAwGxAswBIcwBcwMBnALRASHRAXcDAZICxwEhxwFrAwGIAtYBIdYBfAMB/gH+AR3+AW8DAdMB8QGKAvEBkQIDAdIBiAIdiAJyAwHIAYMCHYMCbwMBvgHxAfsB8QH/AQMBvQGNAh2NAngDAbMB8QHrAfEB7gEDAbIB+QEd+QFoAwGoAfQBHfQBawMBngGgAiWgAncDAYkBpQIlpQJ7AgF/mwIlmwJvAgF1qgIlqgKAAQIBaw==</sads:DebugSymbol.Symbol>
408413
</Flowchart>
409414
<sap2010:WorkflowViewState.ViewStateManager>
410415
<sap2010:ViewStateManager>

RapidDoc/Controllers/DocumentController.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,15 +359,16 @@ public ActionResult WithdrawDocument(Guid processId, int type, Guid fileId, Form
359359
[MultipleButton(Name = "action", Argument = "ApproveDocumentCZ")]
360360
public ActionResult ApproveDocumentCZ(Guid processId, int type, Guid fileId, FormCollection collection, string actionModelName, Guid documentId)
361361
{
362-
var users = _DocumentService.SignDocumentCZ(documentId, TrackerType.Approved,
362+
var users = _DocumentService.SignDocumentCZ(documentId, TrackerType.Approved,
363363
(collection["ApproveComment"] != null | collection["ApproveComment"] != string.Empty) ? (string)collection["ApproveComment"] : "");
364364

365365
DocumentTable documentTable = _DocumentService.Find(documentId);
366366
_DocumentService.UpdateDocument(documentTable, User.Identity.GetUserId());
367367

368368
foreach (var userid in users)
369369
{
370-
_EmailService.SendNewExecutorEmail(documentId, userid, collection["AdditionalText"] != null | collection["AdditionalText"] != string.Empty ? (string)collection["AdditionalText"] : "");
370+
string[] arrayStructrue = userid.Split('|');
371+
_EmailService.SendNewExecutorEmail(documentId, arrayStructrue[0], arrayStructrue[1] != null | arrayStructrue[1] != string.Empty ? arrayStructrue[1] : "");
371372
}
372373
return RedirectToAction("Index", "Document");
373374
}
@@ -404,7 +405,7 @@ public ActionResult AddUsersDocumentCZ(Guid processId, int type, Guid fileId, Fo
404405
List<string> users = _WorkflowService.GetUniqueUserList(documentId, documentData, "Flow");
405406

406407
if(users.Count > 0)
407-
_WorkflowService.CreateDynamicTracker(users, documentId, currentUserId, (bool)documentData["IsParallel"]);
408+
_WorkflowService.CreateDynamicTracker(users, documentId, currentUserId, (bool)documentData["IsParallel"], (collection["AdditionaltextCZ"] != null | collection["AdditionaltextCZ"] != string.Empty) ? (string)collection["AdditionaltextCZ"] : "");
408409

409410
DocumentTable documentTable = _DocumentService.Find(documentId);
410411
_DocumentService.UpdateDocument(documentTable, currentUserId);

RapidDoc/Models/DomainModels/WorkFlowDomainModels.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ public class WFTrackerTable : BasicTable
204204
public virtual List<WFTrackerUsersTable> Users { get; set; }
205205

206206
public string Comments { get; set; }
207+
208+
public string AdditionalText { get; set; }
207209
}
208210

209211
public class WFTrackerUsersTable

RapidDoc/Models/Services/DocumentService.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,9 @@ private List<string> SignDocumentUserCZ(Guid documentId, TrackerType trackerType
10011001
nextstep.StartDateSLA = DateTime.UtcNow;
10021002
_WorkflowTrackerService.SaveDomain(nextstep, userid);
10031003
if (nextstep.Users != null)
1004-
ret.AddRange(nextstep.Users.Select(x => x.UserId));
1004+
{
1005+
ret.AddRange(nextstep.Users.Select(x => x.UserId + "|" + nextstep.AdditionalText));
1006+
}
10051007
}
10061008
}
10071009
}

RapidDoc/Models/Services/EmailService.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public interface IEmailService
4545
void SendDelegationEmplEmail(DelegationView delegationView);
4646
void SendReaderEmail(Guid documentId, List<string> newReader);
4747
void SendNewExecutorEmail(Guid documentId, string userId, string additionalTextCZ = "");
48-
void SendNewExecutorEmail(Guid documentId, List<string> userListId);
48+
void SendNewExecutorEmail(Guid documentId, List<string> userListId, string additionalTextCZ = "");
4949
void SendSLAWarningEmail(string userId, IEnumerable<DocumentTable> documents);
5050
void SendSLADisturbanceEmail(string userId, IEnumerable<DocumentTable> documents);
5151
void SendReminderEmail(ApplicationUser user, List<DocumentTable> documents);
@@ -545,12 +545,15 @@ public void SendNewExecutorEmail(Guid documentId, string userId, string addition
545545
}
546546
}
547547

548-
public void SendNewExecutorEmail(Guid documentId, List<string> userListId)
548+
public void SendNewExecutorEmail(Guid documentId, List<string> userListId,string additionalTextCZ = "")
549549
{
550550
var documentTable = _DocumentService.Find(documentId);
551551
if (documentTable == null)
552552
return;
553553

554+
dynamic ViewBag = new DynamicViewBag();
555+
ViewBag.AdditionalText = additionalTextCZ;
556+
554557
List<string> emails = repoUser.FindAll(x => userListId.Contains(x.Id) && x.Email != String.Empty).GroupBy(x => x.Email).Select(x => x.Key).ToList();
555558

556559
if (emails != null && emails.Count > 0)
@@ -572,7 +575,7 @@ public void SendNewExecutorEmail(Guid documentId, List<string> userListId)
572575
CultureInfo ci = CultureInfo.GetCultureInfo("ru-RU");
573576
Thread.CurrentThread.CurrentCulture = ci;
574577
Thread.CurrentThread.CurrentUICulture = ci;
575-
string body = Razor.Parse(razorText, new { DocumentNum = String.Format("{0} - {1}", documentTable.DocumentNum, processName), DocumentUri = documentUri, BodyText = UIElementRes.UIElement.SendExecutorEmail, DocumentText = documentTable.DocumentText }, "emailBulkTemplateDefault");
578+
string body = Razor.Parse(razorText, new { DocumentNum = String.Format("{0} - {1}", documentTable.DocumentNum, processName), DocumentUri = documentUri, BodyText = UIElementRes.UIElement.SendExecutorEmail, DocumentText = documentTable.DocumentText }, ViewBag, "emailBulkTemplateDefault");
576579
SendEmail(emailParameter, emails.ToArray(), new string[] { }, String.Format("Требуется ваша подпись, документ [{0}]", documentTable.DocumentNum), body);
577580
ci = CultureInfo.GetCultureInfo(currentLang);
578581
Thread.CurrentThread.CurrentCulture = ci;

RapidDoc/Models/Services/WorkflowService.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public interface IWorkflowService
4949
List<Array> GetRequestTree(Activity activity, IDictionary<string, object> documentData, string _parallel = "");
5050
List<Array> GetTrackerList(Guid documentId, Activity activity, IDictionary<string, object> documentData, DocumentType documentType);
5151
List<string> GetUniqueUserList(Guid documentId, IDictionary<string, object> documentData, string nameField);
52-
void CreateDynamicTracker(List<string> users, Guid documentId, string currentUserId, bool parallel);
52+
void CreateDynamicTracker(List<string> users, Guid documentId, string currentUserId, bool parallel, string additionalText = "");
5353
void UpdateProlongationDate(Guid refDocumentid, DateTime prolongationDate, string currentUserId);
5454
}
5555

@@ -797,7 +797,7 @@ public List<string> GetUniqueUserList(Guid documentId, IDictionary<string, objec
797797
}
798798

799799

800-
public void CreateDynamicTracker(List<string> users, Guid documentId, string currentUserId, bool parallel)
800+
public void CreateDynamicTracker(List<string> users, Guid documentId, string currentUserId, bool parallel, string additionalText = "")
801801
{
802802
List<string> result = new List<string>();
803803
List<string> reminderList = new List<string>();
@@ -846,6 +846,7 @@ public void CreateDynamicTracker(List<string> users, Guid documentId, string cur
846846
table.Columns.Add("ApplicationUserCreatedId", typeof(string));
847847
table.Columns.Add("ApplicationUserModifiedId", typeof(string));
848848
table.Columns.Add("StartDateSLA", typeof(DateTime));
849+
table.Columns.Add("AdditionalText", typeof(string));
849850

850851
int num = 0;
851852
foreach (string item in result)
@@ -886,6 +887,7 @@ public void CreateDynamicTracker(List<string> users, Guid documentId, string cur
886887
row["ApplicationUserCreatedId"] = currentUserId;
887888
row["ApplicationUserModifiedId"] = currentUserId;
888889
row["StartDateSLA"] = DBNull.Value;
890+
row["AdditionalText"] = additionalText;
889891

890892
table.Rows.Add(row);
891893
}
@@ -924,7 +926,7 @@ public void CreateDynamicTracker(List<string> users, Guid documentId, string cur
924926
_uow.Commit();
925927
}
926928

927-
_EmailService.SendNewExecutorEmail(documentId, reminderList);
929+
_EmailService.SendNewExecutorEmail(documentId, reminderList, additionalText);
928930
}
929931

930932

RapidDoc/Models/ViewModels/WorkFlowViewModels.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ public class WFTrackerListView : BasicCompanyNullView
177177
public TrackerType TrackerType { get; set; }
178178

179179
public string Comments { get; set; }
180+
181+
public string AdditionalText { get; set; }
180182
}
181183

182184
public class CommentView : BasicCompanyNullView

RapidDoc/Views/Custom/USR_OFM_UIT_OfficeMemo_View.cshtml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,14 @@
9292
<span>
9393
@Html.CheckBox("IsParallel", true, new { @data_labelauty = "Параллельно|Параллельно" })
9494
</span>
95+
96+
<a data-toggle="collapse" href="#collapseSettings" aria-expanded="false" aria-controls="collapseSettings">Добавить сопроводительный текст</a>
97+
<div class="collapse" id="collapseSettings">
98+
<div class="editor-field">
99+
@Html.TextArea("AdditionaltextCZ","", new { @class = "form-control" })
100+
</div>
101+
</div>
102+
95103
<div class="modal-footer">
96104
<button type="submit" class="btn btn-primary" name="action:AddUsersDocumentCZ">@UIElementRes.UIElement.AddUsers</button>
97105
<button type="button" class="btn btn-default" data-dismiss="modal">@UIElementRes.UIElement.Cancel</button>

0 commit comments

Comments
 (0)