Kaynağa Gözat

添加无记录通过

yuanrf 1 ay önce
ebeveyn
işleme
61a61bf146

+ 79 - 1
OASystem/OASystem.Api/Controllers/TaskController.cs

@@ -621,7 +621,7 @@ namespace OASystem.API.Controllers
             var jw = JsonView(false);
             jw.Data = "";
 
-            var orderInfo = _sqlsugar.Queryable<Task_WorkOrder>().First(x => x.Id == dto.WorkOrderId);
+            var orderInfo = _sqlsugar.Queryable<Task_WorkOrder>().First(x => x.Id == dto.WorkOrderId && x.IsDel == 0);
 
             if (orderInfo == null)
             {
@@ -687,6 +687,84 @@ namespace OASystem.API.Controllers
             return Ok(jw);
         }
 
+        /// <summary>
+        /// 无记录通过
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<IActionResult> SubmitWorkTaskNotRecord(SubmitWorkTaskNotRecord dto)
+        {
+            var jw = JsonView(false);
+            jw.Data = "";
+
+            var orderInfo = _sqlsugar.Queryable<Task_WorkOrder>().First(x => x.Id == dto.WorkOrderId && x.IsDel == 0);
+
+            if (orderInfo == null)
+            {
+                jw.Msg = "参数有误!";
+                return Ok(jw);
+            }
+
+            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
+            {
+                Content = string.Empty,
+                CreateTime = DateTime.Now,
+                CreateUserId = dto.UserId,
+                IsApproved = 1,
+                IsCompleted = 1,
+                WorkTaskId = dto.WorkTaskId,
+                WorkOrderId = dto.WorkOrderId,
+                FilePath = string.Empty
+            };
+
+            _sqlsugar.BeginTran();
+            try
+            {
+                var ReceiptId = _sqlsugar.Insertable(data)
+                                         .ExecuteReturnIdentity();
+
+                var existsApproved = _sqlsugar.Queryable<Task_WorkTaskReceipt>()
+               .First(x => x.WorkOrderId == dto.WorkOrderId
+                && x.WorkTaskId == dto.WorkTaskId
+                && x.IsDel == 0
+                && x.IsApproved == 1
+                && x.Id != ReceiptId);
+
+                if (ReceiptId > 0 && existsApproved == null && !task.IsExtraTask)
+                {
+                    _sqlsugar.Updateable<Task_WorkOrder>()
+                                                        .SetColumns(x => new Task_WorkOrder
+                                                        {
+                                                            ProgressId = x.ProgressId + 1
+                                                        })
+                                                        .Where(x => x.Id == orderInfo.Id)
+                                                        .ExecuteCommand();
+                }
+
+                _sqlsugar.CommitTran();
+                jw.Code = 200;
+                jw.Msg = "SUCCESS!";
+                jw.Data = ReceiptId;
+            }
+            catch (Exception ex)
+            {
+                _sqlsugar.RollbackTran();
+                jw.Code = 500;
+                jw.Msg = ex.Message;
+            }
+
+            return Ok(jw);
+        }
+
         /// <summary>
         /// 软删除工作订单
         /// </summary>

+ 15 - 0
OASystem/OASystem.Domain/Dtos/Task/GetTaskDefaultDto.cs

@@ -254,6 +254,21 @@ namespace OASystem.Domain.Dtos.Task
         public int UserId { get; set; }
     }
 
+    public class SubmitWorkTaskNotRecord
+    {
+        public int UserId { get; set; }
+
+        /// <summary>
+        /// 工单主表ID
+        /// </summary>
+        public int WorkOrderId { get; set; }
+
+        /// <summary>
+        /// 任务ID
+        /// </summary>
+        public int WorkTaskId { get; set; }
+    }
+
     /// <summary>
     /// 软删除工作订单DTO
     /// </summary>