Browse Source

团组模块
团组状态
分页查询 设置操作完

leiy 1 year ago
parent
commit
01b920dc00

+ 95 - 6
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -309,10 +309,6 @@ namespace OASystem.API.Controllers
             {
                 return Ok(JsonView(false, "查询失败"));
             }
-
-
-
-
         }
 
         /// <summary>
@@ -343,7 +339,6 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> GroupEditBasicSource(GroupListDto dto)
         {
-
             var groupData = await _groupRepository.GroupEditBasicSource(dto);
             if (groupData.Code != 0)
             {
@@ -3439,7 +3434,6 @@ namespace OASystem.API.Controllers
 
         #endregion
 
-
         #region 酒店预定
         /// <summary>
         /// 酒店预订页面初始化绑定
@@ -3845,6 +3839,7 @@ namespace OASystem.API.Controllers
 
 
         #endregion
+
         /// <summary>
         /// 导出确认单
         /// </summary>
@@ -3969,6 +3964,100 @@ namespace OASystem.API.Controllers
             
         }
 
+        #region 团组状态
+
+        /// <summary>
+        ///  团组状态列表 Page
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostGroupStatusPageList(GroupStatusListDto dto)
+        {
+            if (dto == null) return Ok(JsonView(false, "请输入搜索条件!"));
+
+            if (dto.PortType == 1 || dto.PortType == 2) // web/Android
+            {
+                string sqlWhere = string.Empty;
+                if (dto.IsSure == 0) //未完成
+                {
+                    sqlWhere += string.Format(@" And IsSure = 0");
+                }
+                else if (dto.IsSure == 1) //已完成
+                {
+                    sqlWhere += string.Format(@" And IsSure = 1");
+                }
+
+                if (!string.IsNullOrEmpty(dto.SearchCriteria))
+                {
+                    string tj = dto.SearchCriteria;
+                    sqlWhere += string.Format(@"And (ssd.Name Like '%{0}%' Or TeamName Like '%{1}%' Or ClientName Like '%{2}%' Or  ClientName Like '%{3}%' Or su.CnName  Like '%{4}%')",
+                       tj, tj, tj, tj, tj);
+                }
+
+                string sql = string.Format(@"Select Row_Number,SalesQuoteNo,TourCode,TeamTypeId, TeamType,
+					                              TeamLevId,TeamLev,TeamName,ClientName,ClientUnit,
+					                              VisitDate,VisitDays,VisitPNumber,JietuanOperator,IsSure,CreateTime
+					                              From (
+					                              Select row_number() over(order by gdi.CreateTime Desc) as Row_Number,
+					                              gdi.Id,SalesQuoteNo,TourCode,ssd.Id TeamTypeId, ssd.Name TeamType,
+					                              ssd1.Id TeamLevId,ssd1.Name TeamLev,TeamName,ClientName,ClientUnit,
+					                              VisitDate,VisitDays,VisitPNumber,su.CnName JietuanOperator,IsSure,gdi.CreateTime
+					                              From  Grp_DelegationInfo gdi
+					                              Inner Join Sys_SetData ssd On gdi.TeamDid = ssd.Id 
+					                              Inner Join Sys_SetData ssd1 On gdi.TeamLevSId = ssd1.Id
+					                              Left Join Sys_Users su On gdi.JietuanOperator = su.Id
+					                              Where gdi.IsDel = 0  {0}
+				                              ) temp  ", sqlWhere);
+
+                RefAsync<int> total = 0;//REF和OUT不支持异步,想要真的异步这是最优解
+                var _DelegationList = await _sqlSugar.SqlQueryable<GroupStatusView>(sql).ToPageListAsync(dto.PageIndex, dto.PageSize, total);//ToPageAsync
+
+                return Ok(JsonView(true, "查询成功!", _DelegationList, total));
+
+            }
+            else
+            {
+                return Ok(JsonView(false, "查询失败"));
+            }
+        }
+
+        /// <summary>
+        ///  团组状态
+        ///  设置操作完成
+        /// </summary>
+        /// <param name="dto">团组列表请求dto</param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> PostGroupStatusSetOperationComplete(GroupStatusSetOperationCompleteDto dto)
+        {
+            if (dto == null) return Ok(JsonView(false, "请输入搜索条件!"));
+
 
+            Grp_DelegationInfo _DelegationInfo = new Grp_DelegationInfo()
+            {
+                Id = dto.Id,
+                IsSure = 1
+            };
+
+
+            var result = await _sqlSugar.Updateable(_DelegationInfo)
+                .UpdateColumns(it => new { it.IsSure })
+                .WhereColumns(it => new { it.Id })
+                .ExecuteCommandAsync();
+
+            if (result > 0)
+            {
+                return Ok(JsonView(true, "操作完成!"));
+            }
+
+            return Ok(JsonView(false, "操作失败!"));
+
+
+        }
+
+        #endregion
     }
 }

+ 33 - 0
OASystem/OASystem.Domain/Dtos/Groups/GroupStatusDto.cs

@@ -0,0 +1,33 @@
+    using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.Groups
+{
+    /// <summary>
+    /// 团组状态
+    /// 查询Page List
+    /// Dto
+    /// </summary>
+    public class GroupStatusListDto : DtoBase
+    {
+        /// <summary>
+        /// 是否操作完成 
+        /// -1 全部 0否 1是
+        /// </summary>
+        public int IsSure { get; set; }
+
+        /// <summary>
+        /// 搜索条件
+        /// 团组类型/团队名称/客户名称/客户单位/接团操作人
+        /// </summary>
+        public string? SearchCriteria { get; set; }
+    }
+
+    public class GroupStatusSetOperationCompleteDto
+    {
+        public int Id { get; set; }
+    }
+}

+ 95 - 0
OASystem/OASystem.Domain/ViewModels/Groups/GroupStatusView.cs

@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.Groups
+{
+    /// <summary>
+    /// 团组状态
+    /// 查询 Page List
+    /// View
+    /// </summary>
+    public class GroupStatusView
+    {
+
+        /// <summary>
+        /// 主键Id
+        /// 团组Id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 销售报价号
+        /// </summary>
+        public string? SalesQuoteNo { get; set; }
+
+        /// <summary>
+        /// 团号
+        /// </summary>
+        public string? TourCode { get; set; }
+
+        /// <summary>
+        /// 接团操作人
+        /// </summary>
+        public string? JietuanOperator { get; set; }
+
+        /// <summary>
+        /// 团组等级Id
+        /// </summary>
+        public int TeamLevId { get; set; }
+
+        /// <summary>
+        /// 团组等级 
+        /// </summary>
+        public string? TeamLev { get; set; }
+
+        /// <summary>
+        /// 团组类型Id
+        /// </summary>
+        public int TeamTypeId { get; set; }
+
+        /// <summary>
+        /// 团组类型
+        /// </summary>
+        public string? TeamType { get; set; }
+
+        /// <summary>
+        /// 团组名称
+        /// </summary>
+        public string? TeamName { get; set; }
+
+        /// <summary>
+        /// 客户名称
+        /// </summary>
+        public string? ClientName { get; set; }
+
+        /// <summary>
+        /// 客户所属公司
+        /// </summary>
+        public string? ClientUnit { get; set; }
+
+        /// <summary>
+        /// 出团日期
+        /// </summary>
+        public DateTime VisitDate { get; set; }
+
+        /// <summary>
+        /// 出行天数
+        /// </summary>
+        public int VisitDays { get; set; }
+
+        /// <summary>
+        /// 出行人数
+        /// </summary>
+        public int VisitPNumber { get; set; }
+
+
+        /// <summary>
+        /// 是否操作完成 
+        /// 0否1是
+        /// </summary>
+        public int IsSure { get; set; }
+    }
+}