Browse Source

接团客户名单
增 删 改 查

leiy 1 year ago
parent
commit
d8239365c0

+ 33 - 0
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -5991,6 +5991,39 @@ namespace OASystem.API.Controllers
 
 
             return Ok(JsonView(viewData.Data));
             return Ok(JsonView(viewData.Data));
         }
         }
+
+        /// <summary>
+        /// 接团客户名单
+        /// Del
+        /// </summary>
+        /// <param name="_dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public async Task<IActionResult> PostTourClientListDel(TourClientListDelDto _dto)
+        {
+            #region  参数验证
+            if (_dto.UserId < 1) return Ok(JsonView(false, "请传入有效的UserId参数"));
+            if (_dto.PageId < 1) _dto.PageId = 104; //接团客户名单PageId
+
+            PageFunAuthViewBase pageFunAuthView = new PageFunAuthViewBase();
+
+            #region 页面操作权限验证
+            pageFunAuthView = await GeneralMethod.PostUserPageFuncDatas(_dto.UserId, _dto.PageId);
+            if (pageFunAuthView.DeleteAuth == 0) return Ok(JsonView(false, "您没有删除权限!"));
+
+
+            #endregion
+
+            #endregion
+
+            var viewData = await _tourClientListRep._Del(_dto.Id, _dto.UserId);
+            if (viewData.Code != 0)
+            {
+                return Ok(JsonView(false, viewData.Msg));
+            }
+
+            return Ok(JsonView(viewData.Data));
+        }
         #endregion
         #endregion
     }
     }
 }
 }

+ 38 - 24
OASystem/OASystem.Domain/Dtos/Groups/TourClientListDto.cs

@@ -109,35 +109,35 @@ namespace OASystem.Domain.Dtos.Groups
         /// </summary>
         /// </summary>
         public string? BirthDay { get; set; }
         public string? BirthDay { get; set; }
 
 
-        /// <summary>
-        /// 护照类型Id(数据类型表Id)
-        /// </summary>
-        public int PassportType { get; set; }
+        ///// <summary>
+        ///// 护照类型Id(数据类型表Id)
+        ///// </summary>
+        //public int PassportType { get; set; }
 
 
-        /// <summary>
-        /// 护照No
-        /// </summary>
-        public string? PassportNo { get; set; }
+        ///// <summary>
+        ///// 护照No
+        ///// </summary>
+        //public string? PassportNo { get; set; }
 
 
-        /// <summary>
-        /// 签发国
-        /// </summary>
-        public string? Country { get; set; }
+        ///// <summary>
+        ///// 签发国
+        ///// </summary>
+        //public string? Country { get; set; }
 
 
-        /// <summary>
-        /// 签发地区
-        /// </summary>
-        public string? Area { get; set; }
+        ///// <summary>
+        ///// 签发地区
+        ///// </summary>
+        //public string? Area { get; set; }
 
 
-        /// <summary>
-        /// 签发时间
-        /// </summary>
-        public string? IssueDt { get; set; }
+        ///// <summary>
+        ///// 签发时间
+        ///// </summary>
+        //public string? IssueDt { get; set; }
 
 
-        /// <summary>
-        /// 有效期限
-        /// </summary>
-        public string? ExpiryDt { get; set; }
+        ///// <summary>
+        ///// 有效期限
+        ///// </summary>
+        //public string? ExpiryDt { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 舱位类型(数据类型表Id)
         /// 舱位类型(数据类型表Id)
@@ -164,4 +164,18 @@ namespace OASystem.Domain.Dtos.Groups
         /// </summary>
         /// </summary>
         public string? Remark { get; set; }
         public string? Remark { get; set; }
     }
     }
+
+    /// <summary>
+    /// 接团客户名单
+    /// Del
+    /// </summary>
+    public class TourClientListDelDto : UserPageFuncDtoBase
+    {
+        /// <summary>
+        /// 数据Id
+        /// Id>=0 Del 
+        /// Id<0 无效
+        /// </summary>
+        public int Id { get; set; }
+    }
 }
 }

+ 1 - 1
OASystem/OASystem.Domain/Entities/Customer/Crm_CustomerCert.cs

@@ -29,7 +29,7 @@ namespace OASystem.Domain.Entities.Customer
         /// SdId == 74 该字段有值
         /// SdId == 74 该字段有值
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int PassportType { get; set; }
+        public int PassportType { get; set; } = 0;
 
 
         /// <summary>
         /// <summary>
         /// 证件号
         /// 证件号

+ 33 - 32
OASystem/OASystem.Domain/Entities/Customer/Crm_DeleClient.cs

@@ -11,12 +11,12 @@ namespace OASystem.Domain.Entities.Customer
     /// 客户信息表
     /// 客户信息表
     /// </summary>
     /// </summary>
     [SugarTable("Crm_DeleClient")]
     [SugarTable("Crm_DeleClient")]
-    public class Crm_DeleClient:EntityBase
+    public class Crm_DeleClient : EntityBase
     {
     {
         /// <summary>
         /// <summary>
         /// 团组Id
         /// 团组Id
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int DiId { get; set; }
         public int DiId { get; set; }
         /// <summary>
         /// <summary>
         /// 中文姓
         /// 中文姓
@@ -39,15 +39,16 @@ namespace OASystem.Domain.Entities.Customer
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         public string Pinyin { get; set; }
         public string Pinyin { get; set; }
         /// <summary>
         /// <summary>
-        /// 性别 0男1女
+        /// 性别 
+        /// 0男1女 -1未选择
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int Sex { get; set; }
+        public int Sex { get; set; } = -1;
         /// <summary>
         /// <summary>
         /// 婚姻状况 0、1、2、3、4 (未设置、未婚、已婚、离异、丧偶)
         /// 婚姻状况 0、1、2、3、4 (未设置、未婚、已婚、离异、丧偶)
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int Marriage { get; set; }
+        public int Marriage { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 客户手机号
         /// 客户手机号
         /// </summary>
         /// </summary>
@@ -72,12 +73,12 @@ namespace OASystem.Domain.Entities.Customer
         /// <summary>
         /// <summary>
         /// 机票喜好舱位
         /// 机票喜好舱位
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType = "varchar(300)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
         public string AirType { get; set; }
         public string AirType { get; set; }
         /// <summary>
         /// <summary>
         /// 是否靠窗
         /// 是否靠窗
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int SeatPref { get; set; }
         public int SeatPref { get; set; }
         /// <summary>
         /// <summary>
         /// 机票备注
         /// 机票备注
@@ -94,7 +95,7 @@ namespace OASystem.Domain.Entities.Customer
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
         [SugarColumn(IsNullable = true, ColumnDataType = "varchar(300)")]
         public string RoomPref { get; set; }
         public string RoomPref { get; set; }
-       
+
         /// <summary>
         /// <summary>
         /// 家庭联系方式
         /// 家庭联系方式
         /// </summary>
         /// </summary>
@@ -177,7 +178,7 @@ namespace OASystem.Domain.Entities.Customer
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsGetSchengen { get; set; }
+        public int IsGetSchengen { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 申根有效期
         /// 申根有效期
         /// </summary>
         /// </summary>
@@ -192,19 +193,19 @@ namespace OASystem.Domain.Entities.Customer
         /// 申根是否在使馆有指纹记录 
         /// 申根是否在使馆有指纹记录 
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
-        public int IsFinger { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int IsFinger { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 申根指纹录入时间
         /// 申根指纹录入时间
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="DateTime")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
         public DateTime FingerDate { get; set; }
         public DateTime FingerDate { get; set; }
         /// <summary>
         /// <summary>
         /// 是否因公去过美国/加拿大
         /// 是否因公去过美国/加拿大
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsVisitUC { get; set; }
+        public int IsVisitUC { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 美国抵达日期
         /// 美国抵达日期
         /// </summary>
         /// </summary>
@@ -214,7 +215,7 @@ namespace OASystem.Domain.Entities.Customer
         /// 美国停留天数
         /// 美国停留天数
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int USADays { get; set; }
+        public int USADays { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 加拿大抵达日期
         /// 加拿大抵达日期
         /// </summary>
         /// </summary>
@@ -224,7 +225,7 @@ namespace OASystem.Domain.Entities.Customer
         /// 加拿大停留天数
         /// 加拿大停留天数
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int CanDays { get; set; }
+        public int CanDays { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 是否曾获得过因公美国签证 0否1是
         /// 是否曾获得过因公美国签证 0否1是
         /// </summary>
         /// </summary>
@@ -234,12 +235,12 @@ namespace OASystem.Domain.Entities.Customer
         /// 因公美国签证最近获得时间
         /// 因公美国签证最近获得时间
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="DateTime")]
-        public DateTime GetUSAVisaDate { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
+        public DateTime GetUSAVisaDate { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 因公美国签证地点
         /// 因公美国签证地点
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType = "varchar(50)")]
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
         public string GetUPPlace { get; set; }
         public string GetUPPlace { get; set; }
         /// <summary>
         /// <summary>
         /// 因公美国签证种类
         /// 因公美国签证种类
@@ -254,13 +255,13 @@ namespace OASystem.Domain.Entities.Customer
         /// <summary>
         /// <summary>
         /// 是否在使馆留过十指的指纹 0否1是
         /// 是否在使馆留过十指的指纹 0否1是
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="int")]
-        public int USAFinger { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int USAFinger { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 是否曾经被拒签 0否1是
         /// 是否曾经被拒签 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsRejected { get; set; }
+        public int IsRejected { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 被拒时间
         /// 被拒时间
         /// </summary>
         /// </summary>
@@ -280,12 +281,12 @@ namespace OASystem.Domain.Entities.Customer
         /// 美国签证是否被吊销过 0否1是
         /// 美国签证是否被吊销过 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsRevoke { get; set; }
+        public int IsRevoke { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 护照是否曾经丢失 0否1是
         /// 护照是否曾经丢失 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsLose { get; set; }
+        public int IsLose { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 丢失护照时间
         /// 丢失护照时间
         /// </summary>
         /// </summary>
@@ -300,13 +301,13 @@ namespace OASystem.Domain.Entities.Customer
         /// 丢失的护照是否有美国签证 0否1是
         /// 丢失的护照是否有美国签证 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsUSAVisa { get; set; }
+        public int IsUSAVisa { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 夫/妻是否已在美国 
         /// 夫/妻是否已在美国 
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int MateUSA { get; set; }
+        public int MateUSA { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 夫/妻身份
         /// 夫/妻身份
         /// </summary>
         /// </summary>
@@ -316,18 +317,18 @@ namespace OASystem.Domain.Entities.Customer
         /// 未婚夫/妻是否已在美国 0否1是
         /// 未婚夫/妻是否已在美国 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int WHUSA { get; set; }
+        public int WHUSA { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 未婚夫/妻身份
         /// 未婚夫/妻身份
         /// </summary>
         /// </summary>
-        [SugarColumn(IsNullable =true,ColumnDataType ="varchar(50)")]
-        public string WHIden { get; set; }
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string WHIden { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 父/母是否已在美国
         /// 父/母是否已在美国
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int ParentUSA { get; set; }
+        public int ParentUSA { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 父/母身份
         /// 父/母身份
         /// </summary>
         /// </summary>
@@ -337,7 +338,7 @@ namespace OASystem.Domain.Entities.Customer
         /// 子/女是否已在美国 0否1是
         /// 子/女是否已在美国 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int ChildUSA { get; set; }
+        public int ChildUSA { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 子/女身份
         /// 子/女身份
         /// </summary>
         /// </summary>
@@ -347,7 +348,7 @@ namespace OASystem.Domain.Entities.Customer
         /// 兄弟/姐妹是否已在美国 0否1是
         /// 兄弟/姐妹是否已在美国 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int BroUSA { get; set; }
+        public int BroUSA { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 兄弟/姐妹身份
         /// 兄弟/姐妹身份
         /// </summary>
         /// </summary>
@@ -363,7 +364,7 @@ namespace OASystem.Domain.Entities.Customer
         /// 0否1是
         /// 0否1是
         /// </summary>
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public int IsArmy { get; set; }
+        public int IsArmy { get; set; } = 0;
         /// <summary>
         /// <summary>
         /// 参军详情
         /// 参军详情
         /// </summary>
         /// </summary>

+ 40 - 24
OASystem/OASystem.Domain/ViewModels/Groups/TourClientListView.cs

@@ -145,35 +145,35 @@ namespace OASystem.Domain.ViewModels.Groups
         /// </summary>
         /// </summary>
         public string? BirthDay { get; set; }
         public string? BirthDay { get; set; }
 
 
-        /// <summary>
-        /// 护照类型Id(数据类型表Id)
-        /// </summary>
-        public int PassportType { get; set; }
+        ///// <summary>
+        ///// 护照类型Id(数据类型表Id)
+        ///// </summary>
+        //public int PassportType { get; set; }
 
 
-        /// <summary>
-        /// 护照No
-        /// </summary>
-        public string? PassportNo { get; set; }
+        ///// <summary>
+        ///// 护照No
+        ///// </summary>
+        //public string? PassportNo { get; set; }
 
 
-        /// <summary>
-        /// 签发国
-        /// </summary>
-        public string? Country { get; set; }
+        ///// <summary>
+        ///// 签发国
+        ///// </summary>
+        //public string? Country { get; set; }
 
 
-        /// <summary>
-        /// 签发地区
-        /// </summary>
-        public string? Area { get; set; }
+        ///// <summary>
+        ///// 签发地区
+        ///// </summary>
+        //public string? Area { get; set; }
 
 
-        /// <summary>
-        /// 签发时间
-        /// </summary>
-        public string? IssueDt { get; set; }
+        ///// <summary>
+        ///// 签发时间
+        ///// </summary>
+        //public string? IssueDt { get; set; }
 
 
-        /// <summary>
-        /// 有效期限
-        /// </summary>
-        public string? ExpiryDt { get; set; }
+        ///// <summary>
+        ///// 有效期限
+        ///// </summary>
+        //public string? ExpiryDt { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// 舱位类型(数据类型表Id)
         /// 舱位类型(数据类型表Id)
@@ -200,4 +200,20 @@ namespace OASystem.Domain.ViewModels.Groups
         /// </summary>
         /// </summary>
         public string? Remark { get; set; }
         public string? Remark { get; set; }
     }
     }
+
+    /// <summary>
+    /// 公司名称信息
+    /// </summary>
+    public class CustomerCompanyCiew
+    {
+        /// <summary>
+        /// id
+        /// </summary>
+        public int Id { get; set; }
+
+        /// <summary>
+        /// 公司全称
+        /// </summary>
+        public string? CompanyFullName { get; set; }
+    }
 }
 }

+ 306 - 66
OASystem/OASystem.Infrastructure/Repositories/Groups/TourClientListRepository.cs

@@ -8,6 +8,7 @@ using OASystem.Infrastructure.Tools;
 using Org.BouncyCastle.Utilities.Encoders;
 using Org.BouncyCastle.Utilities.Encoders;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Globalization;
 using System.Linq;
 using System.Linq;
 using System.Text;
 using System.Text;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
@@ -75,12 +76,27 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 var shippingSpaceTypeData = setData.Where(it => it.STid == 44).ToList(); //舱位类型
                 var shippingSpaceTypeData = setData.Where(it => it.STid == 44).ToList(); //舱位类型
                 List<SetDataInfoView> _ShippingSpaceTypeData = _mapper.Map<List<SetDataInfoView>>(shippingSpaceTypeData);
                 List<SetDataInfoView> _ShippingSpaceTypeData = _mapper.Map<List<SetDataInfoView>>(shippingSpaceTypeData);
 
 
-                var passportTypeData = setData.Where(it => it.STid == 74).ToList(); //护照类型
-                List<SetDataInfoView> _PassportTypeData = _mapper.Map<List<SetDataInfoView>>(passportTypeData);
+                //var passportTypeData = setData.Where(it => it.STid == 74).ToList(); //护照类型
+                //List<SetDataInfoView> _PassportTypeData = _mapper.Map<List<SetDataInfoView>>(passportTypeData);
+
+                //客户信息资料
+                var clientInfoSql = string.Format(@"Select dc.Id As DcId,dc.LastName,dc.FirstName,dc.Pinyin,dc.Sex,ccom.CompanyFullName,dc.Job,
+											               cc1.CertNo As IDCardNo,dc.Phone,dc.BirthDay
+	                                                From Crm_DeleClient dc
+	                                                Left Join Crm_CustomerCompany ccom On dc.CrmCompanyId = ccom.Id  And ccom.IsDel = 0
+	                                                Left Join Crm_CustomerCert cc1 On dc.Id = cc1.DcId And cc1.SdId = 773 And cc1.IsDel = 0
+	                                                Where dc.IsDel = 0");
+                var clientData = await _sqlSugar.SqlQueryable<TourClientListDetailsView>(clientInfoSql).ToListAsync();
+
+                //公司信息 
+                var clientCompanySql = string.Format(@"Select Id,CompanyFullName From Crm_CustomerCompany Where IsDel = 0");
+                var clientCompanyData = await _sqlSugar.SqlQueryable<CustomerCompanyCiew>(clientCompanySql).ToListAsync();
 
 
                 var _view = new {
                 var _view = new {
                     ShippingSpaceTypeData = _ShippingSpaceTypeData,
                     ShippingSpaceTypeData = _ShippingSpaceTypeData,
-                    PassportTypeData = _PassportTypeData
+                    ClientData = clientData,
+                    ClientCompanyData = clientCompanyData
+                    //PassportTypeData = _PassportTypeData
                 };
                 };
                 _result.Code = 0;
                 _result.Code = 0;
                 _result.Data = _view;
                 _result.Data = _view;
@@ -120,8 +136,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 if (data != null) 
                 if (data != null) 
                 {
                 {
                     data.BirthDay = data.BirthDay.DateFormat("yyyy-MM-dd");
                     data.BirthDay = data.BirthDay.DateFormat("yyyy-MM-dd");
-                    data.IssueDt = data.IssueDt.DateFormat("yyyy-MM-dd");
-                    data.ExpiryDt = data.ExpiryDt.DateFormat("yyyy-MM-dd");
+                    //data.IssueDt = data.IssueDt.DateFormat("yyyy-MM-dd");
+                    //data.ExpiryDt = data.ExpiryDt.DateFormat("yyyy-MM-dd");
                     _result.Code = 0;
                     _result.Code = 0;
                     _result.Data = data;
                     _result.Data = data;
                 }
                 }
@@ -141,87 +157,266 @@ namespace OASystem.Infrastructure.Repositories.Groups
         /// <returns></returns>
         /// <returns></returns>
         public async Task<Result> _AddOrEdit(TourClientListAddOrEditDto dto)
         public async Task<Result> _AddOrEdit(TourClientListAddOrEditDto dto)
         {
         {
-            if (dto.Id < 0) // 1 web 2 Android 3 ios
+            if (string.IsNullOrEmpty(dto.CompanyFullName))
             {
             {
-                if (dto.Id == 0) // 添加
+                _result.Msg = "客户单位名称为空!";
+                return _result;
+            }
+
+            if (string.IsNullOrEmpty(dto.IDCardNo))
+            {
+                _result.Msg = "客户身份证No为空!";
+                return _result;
+            }
+
+            if (dto.ShippingSpaceTypeId < 0)
+            {
+                _result.Msg = "舱位类型为空!";
+                return _result;
+            }
+
+            if (dto.Id < 0) 
+            {
+
+                #region 参数处理
+                _sqlSugar.BeginTran();
+                int clientId = -1;
+                int crmCompanyId = -1;
+                var clientInfo = await _sqlSugar.Queryable<Crm_DeleClient>().Where(it => it.IsDel == 0 &&
+                                                                                         it.LastName.Equals(dto.LastName) &&
+                                                                                         it.FirstName.Equals(dto.FirstName) &&
+                                                                                         it.Phone.Equals(dto.Phone)
+                                                                                   ).FirstAsync();
+
+                Crm_CustomerCompany _CustomerCompany = new Crm_CustomerCompany()
                 {
                 {
-                    #region 参数处理
-                    _sqlSugar.BeginTran();
-                    int clientId = -1;
-                    var clientInfo = await _sqlSugar.Queryable<Crm_DeleClient>().Where(it => it.IsDel == 0 &&
-                                                                                             it.LastName.Equals(dto.LastName) &&
-                                                                                             it.FirstName.Equals(dto.FirstName) &&
-                                                                                             it.Phone.Equals(dto.Phone)
-                                                                                       ).FirstAsync();
-                    if (clientInfo != null)  //该客户存在 修改信息 
+                    CompanyFullName = dto.CompanyFullName,
+                    CreateUserId = dto.UserId
+                };
+
+                Crm_CustomerCert _CustomerCert = new Crm_CustomerCert()
+                {
+                    SdId = 733,
+                    CertNo = dto.IDCardNo,
+                    CreateUserId = dto.UserId
+                };
+
+                Crm_DeleClient _DeleClient = new Crm_DeleClient()
+                {
+                    LastName = dto.LastName,
+                    FirstName = dto.FirstName,
+                    Pinyin = dto.Pinyin,
+                    Phone = dto.Phone,
+                    Sex = dto.Sex,
+                    BirthDay = dto.BirthDay,
+                    Job = dto.Job,
+                    CreateUserId = dto.UserId
+                };
+
+                //客户单位/公司 操作
+                //1.添加 or 修改 公司基本信息
+                if (clientInfo == null)
+                {
+                    var companyInfo = await _sqlSugar.Queryable<Crm_CustomerCompany>().Where(it => it.IsDel == 0 &&
+                                                                                                   it.CompanyFullName.Equals(dto.CompanyFullName)
+                                                                                             ).FirstAsync();
+                    if (companyInfo != null) crmCompanyId = companyInfo.Id;
+                    else
                     {
                     {
-                        Crm_DeleClient _DeleClient = new Crm_DeleClient()
+                        var companyAdd = await _sqlSugar.Insertable(_CustomerCompany).ExecuteReturnIdentityAsync();
+                        if (companyAdd < 0)
                         {
                         {
-                            LastName = dto.LastName,
-                            FirstName = dto.FirstName,
-                            Pinyin = dto.Pinyin,
-                            Sex = dto.Sex,
-                            Phone = dto.Phone,
-                            BirthDay = dto.BirthDay
-                        };
-
-
-                        clientId = clientInfo.Id;
-
-                        //1.修改基本信息
-                        var clientEdit = await _sqlSugar.Updateable(_DeleClient).UpdateColumns(it =>
-                                                                                     new
-                                                                                     {
-                                                                                         it.LastName,
-                                                                                         it.FirstName,
-                                                                                         it.Pinyin,
-                                                                                         it.Sex,
-                                                                                         it.Phone,
-                                                                                         it.BirthDay
-                                                                                     }
-                                                                                 )
-                                                                                .Where(it => it.Id == clientId)
-                                                                                .ExecuteCommandAsync();
-                        if (clientEdit < 0)
+                            _result.Msg = "客户公司信息添加失败!";
+                            _sqlSugar.RollbackTran();
+                            return _result;
+                        }
+                        crmCompanyId = companyAdd;
+                    }
+                }
+                else
+                {
+                    var companyInfo = await _sqlSugar.Queryable<Crm_CustomerCompany>().Where(it => it.IsDel == 0 &&
+                                                                                                   it.Id == clientInfo.CrmCompanyId
+                                                                                             ).FirstAsync();
+                    if (companyInfo != null)
+                    {
+                        crmCompanyId = companyInfo.Id;
+                        if (!companyInfo.CompanyFullName.Equals(dto.CompanyFullName))
+                        {
+                            companyInfo.CompanyFullName = dto.CompanyFullName;
+                            var companyEdit = await _sqlSugar.Updateable(companyInfo).UpdateColumns(it =>
+                                                                                 new
+                                                                                 {
+                                                                                     it.CompanyFullName,
+                                                                                 }
+                                                                             )
+                                                                            .Where(it => it.Id == companyInfo.Id)
+                                                                            .ExecuteCommandAsync();
+                            if (companyEdit < 0)
+                            {
+                                _result.Msg = "客户公司信息修改失败!";
+                                _sqlSugar.RollbackTran();
+                                return _result;
+                            }
+                        }
+                    }
+                    else
+                    {
+                        var companyAdd = await _sqlSugar.Insertable(_CustomerCompany).ExecuteReturnIdentityAsync();
+                        if (companyAdd < 0)
                         {
                         {
+                            _result.Msg = "客户公司信息添加失败!";
                             _sqlSugar.RollbackTran();
                             _sqlSugar.RollbackTran();
-                            _result.Msg = "客户基础信息修改失败!";
+                            return _result;
                         }
                         }
-                        //2.修改卡类型信息
-                        //2.1 修改身份证信息
-
+                        crmCompanyId = companyAdd;
+                    }
+                }
 
 
+                //客户人员 操作
+                //2.添加 or 修改 客户基本信息
+                if (clientInfo != null)  //该客户存在 修改信息 
+                {
+                    clientId = clientInfo.Id;
+                    var clientEdit = await _sqlSugar.Updateable(_DeleClient).UpdateColumns(it =>
+                                                                                 new
+                                                                                 {
+                                                                                     it.LastName,
+                                                                                     it.FirstName,
+                                                                                     it.Pinyin,
+                                                                                     it.Sex,
+                                                                                     it.Phone,
+                                                                                     it.BirthDay
+                                                                                 }
+                                                                             )
+                                                                            .Where(it => it.Id == clientId)
+                                                                            .ExecuteCommandAsync();
+                    if (clientEdit < 0)
+                    {
+                        _result.Msg = "客户基础信息修改失败!";
+                        _sqlSugar.RollbackTran();
+                        return _result;
                     }
                     }
-                    else //不存在添加 客户信息
+                }
+                else //不存在添加 客户信息
+                {
+                    _DeleClient.CrmCompanyId = crmCompanyId;
+                    var clientAdd = await _sqlSugar.Insertable(_DeleClient).ExecuteReturnIdentityAsync();
+                    if (clientAdd < 0)
                     {
                     {
-                        //1.添加基本信息
-                        //2.添加卡类型信息
-                        //2.1 添加身份证信息
-                        //2.2 添加护照信息
+                        _result.Msg = "客户基本信息添加失败!";
+                        _sqlSugar.RollbackTran();
+                        return _result;
                     }
                     }
+                    clientId = clientAdd;
 
 
+                }
 
 
-                    Grp_TourClientList _TourClientList = new Grp_TourClientList() {
-                        DiId = dto.DiId,
-                        ClientId = clientId,
-                        ShippingSpaceTypeId = dto.ShippingSpaceTypeId,
-                        ShippingSpaceSpecialNeeds = dto.ShippingSpaceSpecialNeeds,
-                        HotelSpecialNeeds = dto.HotelSpecialNeeds,
-                        MealSpecialNeeds = dto.MealSpecialNeeds,
-                        CreateUserId = dto.UserId,
-                        IsDel = 0
-                    };
+                //客户身份证操作
+                //3.添加 or 修改 身份证信息
+                if (clientInfo == null)
+                {
+                    var certInfo = await _sqlSugar.Queryable<Crm_CustomerCert>().Where(it => it.IsDel == 0 &&
+                                                                                             it.SdId == 773 &&      //卡类型 身份证
+                                                                                             it.CertNo == dto.IDCardNo    //人员Id
+                                                                                       ).FirstAsync();
+                    if (certInfo == null)
+                    {
+                        var certAdd = await _sqlSugar.Insertable(_CustomerCert).ExecuteReturnIdentityAsync();
+                        if (certAdd < 0)
+                        {
+                            _result.Msg = "客户身份证添加失败!";
+                            _sqlSugar.RollbackTran();
+                            return _result;
+                        }
+                    }
+                }
+                else
+                {
+                    var certInfo = await _sqlSugar.Queryable<Crm_CustomerCert>().Where(it => it.IsDel == 0 &&
+                                                                                             it.SdId == 773 &&      //卡类型 身份证
+                                                                                             it.DcId == clientInfo.Id    //人员Id
+                                                                                       ).FirstAsync();
+                    if (certInfo == null)
+                    {
+                        var certAdd = await _sqlSugar.Insertable(_CustomerCert).ExecuteReturnIdentityAsync();
+                        if (certAdd < 0)
+                        {
+                            _result.Msg = "客户身份证添加失败!";
+                            _sqlSugar.RollbackTran();
+                            return _result;
+                        }
+                    }
+                    else
+                    {
+                        var certEdit = await _sqlSugar.Updateable(_CustomerCert).UpdateColumns(it =>
+                                                                                 new
+                                                                                 {
+                                                                                     it.CertNo,
+                                                                                 }
+                                                                             )
+                                                                            .Where(it => it.Id == certInfo.Id)
+                                                                            .ExecuteCommandAsync();
+                        if (certEdit < 0)
+                        {
+                            _result.Msg = "客户身份证修改失败!";
+                            _sqlSugar.RollbackTran();
+                            return _result;
+                        }
+                    }
+                }
 
 
 
 
-                    _sqlSugar.CommitTran();
-                    #endregion
+                //团组客户信息名单操作
+                Grp_TourClientList _TourClientList = new Grp_TourClientList()
+                {
+                    DiId = dto.DiId,
+                    ClientId = clientId,
+                    ShippingSpaceTypeId = dto.ShippingSpaceTypeId,
+                    ShippingSpaceSpecialNeeds = dto.ShippingSpaceSpecialNeeds,
+                    HotelSpecialNeeds = dto.HotelSpecialNeeds,
+                    MealSpecialNeeds = dto.MealSpecialNeeds,
+                    Remark = dto.Remark,
+                    CreateUserId = dto.UserId
+                };
 
 
+                #endregion
 
 
+                if (dto.Id == 0) // 添加
+                {
+                    var tourClientAdd = await _sqlSugar.Insertable(_TourClientList).ExecuteReturnIdentityAsync();
+                    if (tourClientAdd < 0)
+                    {
+                        _result.Msg = "接团客户名单添加失败!";
+                        _sqlSugar.RollbackTran();
+                        return _result;
+                    }
                 }
                 }
                 else if (dto.Id > 0) //修改
                 else if (dto.Id > 0) //修改
-                { 
-                
+                {
+                    var certEdit = await _sqlSugar.Updateable(_TourClientList).UpdateColumns(it =>
+                                                                                new
+                                                                                {
+                                                                                    it.ClientId,
+                                                                                    it.ShippingSpaceTypeId,
+                                                                                    it.ShippingSpaceSpecialNeeds,
+                                                                                    it.HotelSpecialNeeds,
+                                                                                    it.MealSpecialNeeds,
+                                                                                    it.Remark,
+                                                                                }
+                    )
+                                                                           .Where(it => it.Id == dto.Id)
+                                                                           .ExecuteCommandAsync();
+                    if (certEdit < 0)
+                    {
+                        _result.Msg = "接团客户名单失败修改!";
+                        _sqlSugar.RollbackTran();
+                        return _result;
+                    }
                 }
                 }
+                
+                _result.Code = 0;
+                _sqlSugar.CommitTran();
 
 
             }
             }
             else
             else
@@ -230,5 +425,50 @@ namespace OASystem.Infrastructure.Repositories.Groups
             }
             }
             return _result;
             return _result;
         }
         }
+
+        /// <summary>
+        /// Del
+        /// </summary>
+        /// <param name="portId"></param>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<Result> _Del(int id, int userId)
+        {
+
+            if (id < 0) // 1 web 2 Android 3 ios
+            {
+
+                Grp_TourClientList _TourClientList = new Grp_TourClientList()
+                {
+                    Id = id,
+                    IsDel = 1,
+                    DeleteUserId = userId,
+                    DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+                };
+
+                var certEdit = await _sqlSugar.Updateable(_TourClientList).UpdateColumns(it =>
+                                                                                new
+                                                                                {
+                                                                                    it.IsDel,
+                                                                                    it.DeleteUserId,
+                                                                                    it.DeleteTime,
+                                                                                }
+                    )
+                                                                           .Where(it => it.Id == id)
+                                                                           .ExecuteCommandAsync();
+                if (certEdit < 0)
+                {
+                    _result.Msg = string.Format(@"接团客户名单删除修改!");
+                    return _result;
+                }
+                _result.Code = 0;
+            }
+            else
+            {
+                _result.Msg = string.Format(@"请传入有效的Id参数");
+            }
+
+            return _result;
+        }
     }
     }
 }
 }