| 
					
				 | 
			
			
				@@ -1,9 +1,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-using OASystem.Domain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using AutoMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.Dtos; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.Dtos.CRM; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.Dtos.UserDto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.Entities.Customer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.Entities.Groups; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using OASystem.Domain.Entities.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.ViewModels.CRM; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using OASystem.Domain.ViewModels.Groups; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19,9 +22,12 @@ namespace OASystem.Infrastructure.Repositories.CRM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /// </summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public class VisaDeleClientRepository : BaseRepository<Crm_DeleClient, VisaDeleClientView> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public VisaDeleClientRepository(SqlSugarClient sqlSugar) : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private readonly IMapper _mapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public VisaDeleClientRepository(SqlSugarClient sqlSugar,IMapper mapper) : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base(sqlSugar) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        { } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _mapper = mapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// <summary> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /// 签证客户list 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -107,12 +113,12 @@ namespace OASystem.Infrastructure.Repositories.CRM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 int cerdAdd = await _sqlSugar.Insertable<Crm_CustomerCert>(new Crm_CustomerCert 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     DcId = clientInfo.Id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SdId = "773", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    SdId = 773, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Country = "中国", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     CertNo = client.CerdNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     TargetCountry = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     IssueDt = new DateTime(1990, 1, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ExpiryDt = "1990-01-01 00:00:00.000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ExpiryDt = new DateTime(1990, 1, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     CreateUserId = client.UserId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     CreateTime = DateTime.Now, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     DeleteUserId = null, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,5 +145,157 @@ namespace OASystem.Infrastructure.Repositories.CRM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public async Task<Result> OpCustomer(DeleClientOpDto dto) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           Result result = new Result() { Code = -2, Msg = "未知错误" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (dto.Status==1)//添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    string selectSql = string.Format(@"select * from Crm_DeleClient where  LastName+FirstName='{0}' and Phone='{1}' and IsDel='{2}'" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                      , dto.DeleClient.LastName+dto.DeleClient.FirstName, dto.DeleClient.Phone, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var DeleClient = await _sqlSugar.SqlQueryable<Crm_DeleClient>(selectSql).FirstAsync();//查询是否存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (DeleClient != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return result = new Result() { Code = -1, Msg = "该客户已存在,请勿重复添加!" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else//不存在,可添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Crm_DeleClient _CountryFeeCost = _mapper.Map<Crm_DeleClient>(dto.DeleClient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int id = await AddAsyncReturnId(_CountryFeeCost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (id == 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return result = new Result() { Code = -1, Msg = "添加失败!" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return result = new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //进行其他表炒作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                else if (dto.Status == 2)//修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    bool res = await UpdateAsync(a => a.Id == dto.DeleClient.Id, a => new Crm_DeleClient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        LastName = dto.DeleClient.LastName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        FirstName = dto.DeleClient.FirstName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        OldName = dto.DeleClient.OldName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Pinyin = dto.DeleClient.Pinyin, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Sex = dto.DeleClient.Sex, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Marriage = dto.DeleClient.Marriage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Phone = dto.DeleClient.Phone, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BirthProvince = dto.DeleClient.BirthProvince, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BirthCity = dto.DeleClient.BirthCity, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BirthDay = dto.DeleClient.BirthDay, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        AirType = dto.DeleClient.AirType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        SeatPref = dto.DeleClient.SeatPref, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        AirRemark = dto.DeleClient.AirRemark, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        RoomType = dto.DeleClient.RoomType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        RoomPref = dto.DeleClient.RoomPref, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Tel = dto.DeleClient.Tel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Email = dto.DeleClient.Email, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Address = dto.DeleClient.Address, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        HighestEducation = dto.DeleClient.HighestEducation, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        PostCodes = dto.DeleClient.PostCodes, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        CrmCompanyId = dto.DeleClient.CrmCompanyId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Job = dto.DeleClient.Job, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        WorkState = dto.DeleClient.WorkState, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        WorkDate = dto.DeleClient.WorkDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Wage = dto.DeleClient.Wage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ClientPhone = dto.DeleClient.ClientPhone, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ClientFax = dto.DeleClient.ClientFax, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ClientEmail = dto.DeleClient.ClientEmail, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ClientLeader = dto.DeleClient.ClientLeader, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ClientLeaderJob = dto.DeleClient.ClientLeaderJob, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsGetSchengen = dto.DeleClient.IsGetSchengen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        StartTime = dto.DeleClient.StartTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        EndTime = dto.DeleClient.EndTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsFinger = dto.DeleClient.IsFinger, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        FingerDate = dto.DeleClient.FingerDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsVisitUC = dto.DeleClient.IsVisitUC, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        USADate = dto.DeleClient.USADate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        USADays = dto.DeleClient.USADays, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        CanDate = dto.DeleClient.CanDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        CanDays = dto.DeleClient.CanDays, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsUSAVia = dto.DeleClient.IsUSAVia, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        GetUSAVisaDate = dto.DeleClient.GetUSAVisaDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        GetUPPlace = dto.DeleClient.GetUPPlace, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        USAVisaCate = dto.DeleClient.USAVisaCate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        USAVisaCode = dto.DeleClient.USAVisaCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        USAFinger = dto.DeleClient.USAFinger, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsRejected = dto.DeleClient.IsRejected, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        RejectedDate = dto.DeleClient.RejectedDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        RejectedPlace = dto.DeleClient.RejectedPlace, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        RejectedVisa = dto.DeleClient.RejectedVisa, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsRevoke = dto.DeleClient.IsRevoke, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsLose = dto.DeleClient.IsLose, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        LoseDate = dto.DeleClient.LoseDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        LoseCode = dto.DeleClient.LoseCode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsUSAVisa = dto.DeleClient.IsUSAVisa, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateUSA = dto.DeleClient.MateUSA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateIden = dto.DeleClient.MateIden, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        WHUSA = dto.DeleClient.WHUSA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        WHIden = dto.DeleClient.WHIden, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ParentUSA = dto.DeleClient.ParentUSA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ParentIden = dto.DeleClient.ParentIden, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ChildUSA = dto.DeleClient.ChildUSA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ChildIden = dto.DeleClient.ChildIden, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BroUSA = dto.DeleClient.BroUSA, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        BroIden = dto.DeleClient.BroIden, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Social = dto.DeleClient.Social, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        IsArmy = dto.DeleClient.IsArmy, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ArmyState = dto.DeleClient.ArmyState, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        CostBearers = dto.DeleClient.CostBearers, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TableOpName = dto.DeleClient.TableOpName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TableOpTel = dto.DeleClient.TableOpTel, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        TableDate = dto.DeleClient.TableDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Party = dto.DeleClient.Party, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Nationality = dto.DeleClient.Nationality, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        WeddingDate = dto.DeleClient.WeddingDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        DivorceDate = dto.DeleClient.DivorceDate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateName = dto.DeleClient.MateName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateBirthDay = dto.DeleClient.MateBirthDay, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateBirthCity = dto.DeleClient.MateBirthCity, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateBirthCountry = dto.DeleClient.MateBirthCountry, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateAddress = dto.DeleClient.MateAddress, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateClient = dto.DeleClient.MateClient, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateClientAddress = dto.DeleClient.MateClientAddress, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        MateJob = dto.DeleClient.MateJob, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        VisitCountry = dto.DeleClient.VisitCountry, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Paper = dto.DeleClient.Paper, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Papent = dto.DeleClient.Papent, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        PhD = dto.DeleClient.PhD, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        CreateUserId = dto.DeleClient.CreateUserId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Remark = dto.DeleClient.Remark, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!res) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return result = new Result() { Code = -1, Msg = "修改失败!" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    foreach (var item in dto.CustomerFamily) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (item.Id!=0)//修改 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else//添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   return  result = new Result() { Code = 0, Msg = "修改成功!" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //进行其他表操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            catch (Exception) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return result = new Result() { Code = -2, Msg = "程序错误!" }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |