|
@@ -7,6 +7,8 @@ using OASystem.Domain.Dtos.Task;
|
|
|
using OASystem.Domain.Entities.Groups;
|
|
|
using OASystem.Domain.Entities.WorkOrder;
|
|
|
using OASystem.Domain.ViewModels.JuHeExchangeRate;
|
|
|
+using OASystem.API.OAMethodLib.QiYeWeChatAPI.AppNotice;
|
|
|
+using Dm.util;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
@@ -24,6 +26,11 @@ namespace OASystem.API.Controllers
|
|
|
_sqlsugar = sqlsugar;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 数据列表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
[HttpPost]
|
|
|
public async Task<IActionResult> GetTaskList(GetTaskListDto dto)
|
|
|
{
|
|
@@ -83,7 +90,13 @@ namespace OASystem.API.Controllers
|
|
|
var taskArr = _sqlsugar.Queryable<Task_WorkTask>()
|
|
|
.Where(y => y.IsDel == 0 && y.WorkOrderId == x.Id)
|
|
|
.ToList();
|
|
|
-
|
|
|
+ var ExtraStep = taskArr.Where(x => x.IsExtraTask == true);
|
|
|
+ var historyStep = _sqlsugar.Queryable<Task_WorkTaskReceipt>()
|
|
|
+ .Where(y => y.IsDel == 0 && y.WorkOrderId == x.Id
|
|
|
+ && ExtraStep.Select(z => z.Id).Contains(y.WorkTaskId)
|
|
|
+ && y.IsApproved == 1)
|
|
|
+ .Select(x => x.WorkTaskId)
|
|
|
+ .ToList();
|
|
|
return new WorkOrdeView
|
|
|
{
|
|
|
Id = x.Id,
|
|
@@ -103,12 +116,13 @@ namespace OASystem.API.Controllers
|
|
|
Id = x.Id,
|
|
|
Name = x.Name,
|
|
|
}).ToList(),
|
|
|
- ExtraStep = taskArr.Where(x => x.IsExtraTask == true)
|
|
|
+ ExtraStep = ExtraStep
|
|
|
.OrderBy(x => x.Sort)
|
|
|
- .Select(x => new Steps
|
|
|
+ .Select(x => new ExtraSteps
|
|
|
{
|
|
|
Id = x.Id,
|
|
|
Name = x.Name,
|
|
|
+ Approved = historyStep.Contains(x.Id) ? 1 : 0,
|
|
|
}).ToList()
|
|
|
},
|
|
|
isReview = x.CreateUserid == dto.UserId,
|
|
@@ -338,6 +352,11 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 工单详情
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
[HttpPost]
|
|
|
public async Task<IActionResult> TaskDetail(TaskDetailDto dto)
|
|
|
{
|
|
@@ -433,6 +452,7 @@ namespace OASystem.API.Controllers
|
|
|
try
|
|
|
{
|
|
|
var workOrderId = _sqlsugar.Insertable<Task_WorkOrder>(workOrder).ExecuteReturnIdentity();
|
|
|
+ workOrder.Id = workOrderId;
|
|
|
List<Task_WorkTask> workTasks = dto.Tasks.Select(x => new Task_WorkTask
|
|
|
{
|
|
|
AssignedUserId = x.AssignedUserId,
|
|
@@ -503,6 +523,11 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
if (insertArr.Any())
|
|
|
{
|
|
|
+ insertArr.ForEach(x =>
|
|
|
+ {
|
|
|
+ x.CreateUserId = dto.CreateUserId;
|
|
|
+ x.CreateTime = DateTime.Now;
|
|
|
+ });
|
|
|
_sqlsugar.Insertable(insertArr).ExecuteCommand();
|
|
|
}
|
|
|
if (updateArr.Any())
|
|
@@ -524,10 +549,18 @@ namespace OASystem.API.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ _ = AppNoticeLibrary.SendUserMsg_Task_ToUser(workOrder.Id,
|
|
|
+ new List<string>() { dto.AssignedUserId.toString(), "235" }
|
|
|
+ , dto.Id == 0);
|
|
|
+
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// 获取历史回执数据
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
[HttpPost]
|
|
|
public async Task<IActionResult> GetWorkTaskReceipt(GetWorkTaskReceiptDto dto)
|
|
|
{
|
|
@@ -577,7 +610,11 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(jw);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// 任务回执提交
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
[HttpPost]
|
|
|
public async Task<IActionResult> SubmitWorkTaskReceipt([FromForm] SubmitWorkTaskReceiptDto dto)
|
|
|
{
|
|
@@ -616,6 +653,13 @@ namespace OASystem.API.Controllers
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ var task = _sqlsugar.Queryable<Task_WorkTask>().
|
|
|
+ First(x => x.Id == dto.WorkTaskId && x.IsDel == 0);
|
|
|
+ if (task == null)
|
|
|
+ {
|
|
|
+ jw.Msg = "任务不存在或已删除!";
|
|
|
+ return Ok(jw);
|
|
|
+ }
|
|
|
|
|
|
Task_WorkTaskReceipt data = new Task_WorkTaskReceipt
|
|
|
{
|
|
@@ -630,6 +674,13 @@ namespace OASystem.API.Controllers
|
|
|
};
|
|
|
|
|
|
var count = _sqlsugar.Insertable(data).ExecuteCommand();
|
|
|
+
|
|
|
+ if (count > 0)
|
|
|
+ {
|
|
|
+ _ = AppNoticeLibrary.SendUserMsg_TaskSubMit_ToUser(task.Id,
|
|
|
+ new List<string>() { task.CreateUserId.toString() });
|
|
|
+ }
|
|
|
+
|
|
|
jw.Code = 200;
|
|
|
jw.Msg = $"{count}条回执单、{dto.Files}个文件保存成功!";
|
|
|
|
|
@@ -789,6 +840,12 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
_sqlsugar.CommitTran();
|
|
|
|
|
|
+ //企微通知
|
|
|
+ _ = AppNoticeLibrary.SendUserMsg_TaskAudit_ToUser
|
|
|
+ (receipt.WorkTaskId, dto.Approve == 1,
|
|
|
+ dto.RejectReason,
|
|
|
+ new List<string>() { receipt.WorkTask.AssignedUserId.toString() });
|
|
|
+
|
|
|
jw.Code = 200;
|
|
|
jw.Msg = "审核完成!";
|
|
|
jw.Data = new
|