leiy 1 year ago
parent
commit
163a07528e

+ 26 - 0
OASystem/OASystem.Api/Controllers/CRMController.cs

@@ -191,5 +191,31 @@ namespace OASystem.API.Controllers
             }
             return Ok(JsonView(false, "程序错误!"));
         }
+
+        /// <summary>
+        /// 客户资料操作删除
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult>DelCustomer(DeleClientDelDto dto)
+        {
+            try
+            {
+                Result result = await _clientRepository.DelCustomer(dto);
+                if (result.Code != 0)
+                {
+                    return Ok(JsonView(false, result.Msg));
+                }
+                return Ok(JsonView(true, result.Msg));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+            return Ok(JsonView(false, "程序错误!"));
+        }
     }
 }

+ 28 - 0
OASystem/OASystem.Api/Controllers/MarketCustomerResourcesController.cs

@@ -0,0 +1,28 @@
+using Microsoft.AspNetCore.Mvc;
+using OASystem.Domain.Dtos.CRM;
+using OASystem.Infrastructure.Repositories.CRM;
+
+namespace OASystem.API.Controllers
+{
+    public class MarketCustomerResourcesController : Controller
+    {
+        private readonly NewClientDataRepository _clientCompanyRepository;
+        /// <summary>
+        /// 初始化
+        /// </summary>
+        public MarketCustomerResourcesController(NewClientDataRepository clientCompanyRepository)
+        {
+            this._clientCompanyRepository = clientCompanyRepository;
+        }
+
+        public IActionResult ViewDataInit()
+        {
+            return Ok("");
+        }
+
+        public IActionResult QuerySearchData(NewClientDataQueryDto dto)
+        {
+            return Ok("");
+        }
+    }
+}

+ 4 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -122,6 +122,10 @@ namespace OASystem.Domain.AutoMappers
             #endregion
             #region 客户资料板块
             CreateMap<DeleClient, Crm_DeleClient>();
+            CreateMap<CustomerFamily,Crm_VisaCustomerFamily>();
+            CreateMap<CustomerCerts, Crm_CustomerCert>();
+            CreateMap<VisaCustomerCompany, Crm_VisaCustomerCompany>();
+            CreateMap<VisaCustomerSchool,Crm_VisaCustomerSchool>();
             #endregion
             #endregion
 

+ 185 - 0
OASystem/OASystem.Domain/Dtos/CRM/DeleClientAddDto.cs

@@ -20,6 +20,12 @@ namespace OASystem.Domain.Dtos.CRM
         /// </summary>
         public DeleClient DeleClient { get; set; }
         public List<CustomerFamily> CustomerFamily { get; set; }
+
+        public List<CustomerCerts> CustomerCert { get; set; }
+
+        public List<VisaCustomerCompany> WorkExperience { get; set; }
+
+        public List<VisaCustomerSchool> CustomerSchool { get; set; }
     } 
     /// <summary>
     /// 客户资料修改
@@ -579,6 +585,176 @@ namespace OASystem.Domain.Dtos.CRM
         /// </summary>
         public string Remark { get; set; }
     }
+    /// <summary>
+    /// 证件信息修改
+    /// </summary>
+    public class CustomerCerts
+    {
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 客户信息表Id
+        /// </summary>
+        public int DcId { get; set; }
+        /// <summary>
+        /// 证件类型表Id
+        /// </summary>
+        public int SdId { get; set; }
+        /// <summary>
+        /// 证件号
+        /// </summary>
+        public string CertNo { get; set; }
+        /// <summary>
+        /// 签发国
+        /// </summary>
+        public string Country { get; set; }
+
+        /// <summary>
+        /// 签发地区
+        /// </summary>
+        public string Area { get; set; }
+
+        /// <summary>
+        /// 目的地国家
+        /// </summary>
+        public string TargetCountry { get; set; }
+
+        /// <summary>
+        /// 有效期起始时间
+        /// </summary>
+        public DateTime IssueDt { get; set; }
+        /// <summary>
+        /// 有效期截止时间
+        /// </summary>
+        public DateTime ExpiryDt { get; set; }
+
+        /// <summary>
+        /// 身份证户籍地址
+        /// </summary>
+        public string IDCardAddress { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+       
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 客户工作经历表
+    /// </summary>
+    public class VisaCustomerCompany
+    {
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 客户表ID
+        /// </summary>
+        public int DcId { get; set; }
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string Company { get; set; }
+        /// <summary>
+        /// 公司地址
+        /// </summary>
+        public string CompanyAddress { get; set; }
+        /// <summary>
+        /// 公司电话
+        /// </summary>
+        public string Phone { get; set; }
+        /// <summary>
+        /// 职务
+        /// </summary>
+        public string Job { get; set; }
+        /// <summary>
+        /// 主管名字
+        /// </summary>
+        public string LeaderName { get; set; }
+        /// <summary>
+        /// 雇佣起始年月日
+        /// </summary>
+        public DateTime WorkStart { get; set; }
+        /// <summary>
+        /// 雇佣结束年月日
+        /// </summary>
+        public DateTime WorkEnd { get; set; }
+        /// <summary>
+        /// 工作职责及内容简述
+        /// </summary>
+        public string WorkState { get; set; }
+       
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+
+    }
+
+    /// <summary>
+    /// 客户学历表
+    /// </summary>
+    public class VisaCustomerSchool
+    {
+        /// <summary>
+        /// 编号
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 客户表ID
+        /// </summary>
+        public int DcId { get; set; }
+        /// <summary>
+        /// 学校名称和学历
+        /// </summary>
+        public string School { get; set; }
+        /// <summary>
+        /// 学校地址
+        /// </summary>
+        public string Address { get; set; }
+        /// <summary>
+        /// 指导老师
+        /// </summary>
+        public string Teacher { get; set; }
+        /// <summary>
+        /// 学历
+        /// </summary>
+        public string Education { get; set; }
+
+        /// <summary>
+        /// 所学课程或专业名称
+        /// </summary>
+        public string Subject { get; set; }
+        /// <summary>
+        /// 就读起始日
+        /// </summary>
+        public DateTime StudyStart { get; set; }
+        /// <summary>
+        /// 就读结束日
+        /// </summary>
+        public DateTime StudyEnd { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+    }
+
     public class SetCrmUpdPassIdCardOCRDto
     {
         public int UserId { get; set; }
@@ -599,4 +775,13 @@ namespace OASystem.Domain.Dtos.CRM
     {
         public int Id { get; set; }
     }
+
+    /// <summary>
+    /// 删除客户资料
+    /// </summary>
+    public class DeleClientDelDto
+    {
+        public int Id { get; set; }
+        public int DeleteUserId { get; set; }
+    }
 }

+ 39 - 0
OASystem/OASystem.Domain/Dtos/CRM/NewClientDataQueryDto.cs

@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.CRM
+{
+    public class NewClientDataQueryDto
+    {
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        public string Contact { get; set; }
+        //地区
+        public string Location { get; set; }
+        //单位
+        public string Client { get; set; }
+
+        //负责人
+        public int Userid { get; set; }
+        
+        //省域
+
+        //单独负责的客户 (只看老张的)
+
+        //权重
+        public char Weight { get; set; }
+
+
+        //客户级别(地市州)
+        public int Lvlid { get; set; }
+
+        //客户类别
+
+        //业务分类
+        public int Business { get; set; }
+    }
+}

+ 16 - 0
OASystem/OASystem.Infrastructure/Repositories/CRM/NewClientDataRepository.cs

@@ -0,0 +1,16 @@
+using OASystem.Domain.Entities.Customer;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.CRM
+{
+    public class NewClientDataRepository : BaseRepository<Crm_NewClientData, Crm_NewClientData>
+    {
+        public NewClientDataRepository(SqlSugarClient sqlSugar) :
+         base(sqlSugar)
+        { }
+    }
+}

+ 203 - 16
OASystem/OASystem.Infrastructure/Repositories/CRM/VisaDeleClientRepository.cs

@@ -1,5 +1,6 @@
 
 using AutoMapper;
+using Newtonsoft.Json;
 using OASystem.Domain;
 using OASystem.Domain.Dtos;
 using OASystem.Domain.Dtos.CRM;
@@ -12,6 +13,7 @@ using OASystem.Domain.ViewModels.Groups;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime.Intrinsics.X86;
 using System.Text;
 using System.Threading.Tasks;
 
@@ -26,7 +28,8 @@ namespace OASystem.Infrastructure.Repositories.CRM
         public VisaDeleClientRepository(SqlSugarClient sqlSugar,IMapper mapper) :
             base(sqlSugar)
         {
-            _mapper = mapper;
+            this._mapper = mapper;
+           
         }
 
         /// <summary>
@@ -44,7 +47,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                                              From Crm_DeleClient cdc
                                              Left Join Crm_CustomerCompany ccc On cdc.crmCompanyId = ccc.Id
                                              Left Join Crm_CustomerCert crmCard1 On crmCard1.SdId = 773 And  cdc.Id = crmCard1.DcId 
-                                             Left Join Crm_CustomerCert crmCard2 On crmCard2.SdId = 774 And  cdc.Id = crmCard2.DcId ");
+                                             Left Join Crm_CustomerCert crmCard2 On crmCard2.SdId = 774 And  cdc.Id = crmCard2.DcId  where cdc.IsDel='0' order By cdc.CreateTime desc");
 
                 var clientList = await _sqlSugar.SqlQueryable<VisaDeleClientListView>(sql).ToListAsync();
 
@@ -151,6 +154,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
            Result result = new Result() { Code = -2, Msg = "未知错误" };
             try
             {
+                int deleId = 0;
                 if (dto.Status==1)//添加
                 {
                     string selectSql = string.Format(@"select * from Crm_DeleClient where  LastName+FirstName='{0}' and Phone='{1}' and IsDel='{2}'"
@@ -158,7 +162,7 @@ namespace OASystem.Infrastructure.Repositories.CRM
                     var DeleClient = await _sqlSugar.SqlQueryable<Crm_DeleClient>(selectSql).FirstAsync();//查询是否存在
                     if (DeleClient != null)
                     {
-                        return result = new Result() { Code = -1, Msg = "该客户已存在,请勿重复添加!" };
+                        result = new Result() { Code = -1, Msg = "该客户已存在,请勿重复添加!" };
 
                     }
                     else//不存在,可添加
@@ -167,16 +171,17 @@ namespace OASystem.Infrastructure.Repositories.CRM
                         int id = await AddAsyncReturnId(_CountryFeeCost);
                         if (id == 0)
                         {
-                            return result = new Result() { Code = -1, Msg = "添加失败!" };
+                            result = new Result() { Code = -1, Msg = "添加失败!" };
 
                         }
-
-                        return result = new Result() { Code = 0, Msg = "添加成功!", Data = new { Id = id } };
-                        //进行其他表炒作
+                        result = new Result() { Code = 0, Msg = "添加成功!" };
+                        deleId = id;
+                        
                     }
                 }
                 else if (dto.Status == 2)//修改
                 {
+                    deleId=dto.DeleClient.Id;
                     bool res = await UpdateAsync(a => a.Id == dto.DeleClient.Id, a => new Crm_DeleClient
                     {
                         LastName = dto.DeleClient.LastName,
@@ -272,25 +277,207 @@ namespace OASystem.Infrastructure.Repositories.CRM
                     });
                     if (!res)
                     {
-                        return result = new Result() { Code = -1, Msg = "修改失败!" };
+                        result = new Result() { Code = -1, Msg = "修改失败!" };
                     }
-                    foreach (var item in dto.CustomerFamily)
+                    result = new Result() { Code = 0, Msg = "修改成功!" };
+                    
+                }
+                //进行其他表
+                if (result.Code == 0)
+                {//家庭成员信息
+                    foreach (CustomerFamily item in dto.CustomerFamily)
                     {
-                        if (item.Id!=0)//修改
+                        Crm_VisaCustomerFamily Crm_VisaCustomerFamily = _mapper.Map<Crm_VisaCustomerFamily>(item);
+                        Crm_VisaCustomerFamily.DcId = deleId;
+                        if (item.Id != 0)//修改
+                        {
+                            int res = await _sqlSugar.Updateable<Crm_VisaCustomerFamily>().Where(a => a.Id == Crm_VisaCustomerFamily.Id).SetColumns(a => new Crm_VisaCustomerFamily
+                            {
+                                Appellation = Crm_VisaCustomerFamily.Appellation,
+                                Name = Crm_VisaCustomerFamily.Name,
+                                BirthDay = Crm_VisaCustomerFamily.BirthDay,
+                                BirthPlace = Crm_VisaCustomerFamily.BirthPlace,
+                                Politics = Crm_VisaCustomerFamily.Politics,
+                                Client = Crm_VisaCustomerFamily.Client,
+                                Address = Crm_VisaCustomerFamily.Address,
+                                IsEu = Crm_VisaCustomerFamily.IsEu,
+                                NameSnd = Crm_VisaCustomerFamily.NameSnd,
+                                BirthDaySnd = Crm_VisaCustomerFamily.BirthDaySnd,
+                                Nationality = Crm_VisaCustomerFamily.Nationality,
+                                IDCard = Crm_VisaCustomerFamily.IDCard,
+                                Reletionship = Crm_VisaCustomerFamily.Reletionship,
+                                IsUSA = Crm_VisaCustomerFamily.IsUSA,
+                                Remark = Crm_VisaCustomerFamily.Remark,
+                            }).ExecuteCommandAsync();
+                            if (res==0)
+                            {
+                                result = new Result() { Code = -1, Msg = "家庭成员信息保存失败!" };
+                            }
+                        }
+                        else if (item.Id == 0)//添加
                         {
+                           int sss= await _sqlSugar.Insertable(Crm_VisaCustomerFamily).ExecuteReturnIdentityAsync();
+                            if (sss == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "家庭成员信息保存失败!" };
+                            }
+                        }
+                    }
 
+                    //证件表信息
+                    foreach (CustomerCerts item in dto.CustomerCert)
+                    {
+                        Crm_CustomerCert CustomerCert = _mapper.Map<Crm_CustomerCert>(item);
+                        CustomerCert.DcId = deleId;
+                        if (item.Id != 0)//修改
+                        {
+                            int res = await _sqlSugar.Updateable<Crm_CustomerCert>().Where(a => a.Id == CustomerCert.Id).SetColumns(a => new Crm_CustomerCert
+                            {
+                                DcId=CustomerCert.DcId,
+                                SdId = CustomerCert.DcId,
+                                CertNo = CustomerCert.CertNo,
+                                Country = CustomerCert.Country,
+                                Area = CustomerCert.Area,
+                                TargetCountry = CustomerCert.TargetCountry,
+                                IssueDt = CustomerCert.IssueDt,
+                                ExpiryDt = CustomerCert.ExpiryDt,
+                                IDCardAddress = CustomerCert.IDCardAddress,
+                                CreateUserId = CustomerCert.CreateUserId,
+                                Remark = CustomerCert.Remark,
+                            }).ExecuteCommandAsync();
+                            if (res == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "证件信息保存失败!" };
+                            }
                         }
-                        else//添加
+                        else if (item.Id == 0)//添加
                         {
-                            
+                            int sss = await _sqlSugar.Insertable(CustomerCert).ExecuteReturnIdentityAsync();
+                            if (sss == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "证件信息保存失败!" };
+                            }
                         }
                     }
-                   return  result = new Result() { Code = 0, Msg = "修改成功!" };
-                    //进行其他表操作
+                    //客户工作经历表
+                    foreach (VisaCustomerCompany item in dto.WorkExperience)
+                    {
+                        Crm_VisaCustomerCompany VisaCustomerCompany = _mapper.Map<Crm_VisaCustomerCompany>(item);
+                        VisaCustomerCompany.DcId = deleId;
+                        if (item.Id != 0)//修改
+                        {
+                            int res = await _sqlSugar.Updateable<Crm_VisaCustomerCompany>().Where(a => a.Id == VisaCustomerCompany.Id).SetColumns(a => new Crm_VisaCustomerCompany
+                            {
+                                DcId=VisaCustomerCompany.DcId,
+                                Company = VisaCustomerCompany.Company,
+                                CompanyAddress = VisaCustomerCompany.CompanyAddress,
+                                Phone = VisaCustomerCompany.Phone,
+                                Job = VisaCustomerCompany.Job,
+                                LeaderName = VisaCustomerCompany.LeaderName,
+                                WorkStart = VisaCustomerCompany.WorkStart,
+                                WorkEnd = VisaCustomerCompany.WorkEnd,
+                                WorkState = VisaCustomerCompany.WorkState,
+                                CreateUserId = VisaCustomerCompany.CreateUserId,
+                                Remark = VisaCustomerCompany.Remark,
+                            }).ExecuteCommandAsync();
+                            if (res == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "客户工作经历保存失败!" };
+                            }
+                        }
+                        else if (item.Id == 0)//添加
+                        {
+                            int sss = await _sqlSugar.Insertable(VisaCustomerCompany).ExecuteReturnIdentityAsync();
+                            if (sss == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "客户工作经历保存失败!" };
+                            }
+                        }
+                    }
+                    //客户学历表
+                    foreach (VisaCustomerSchool item in dto.CustomerSchool)
+                    {
+                        Crm_VisaCustomerSchool VisaCustomerSchool = _mapper.Map<Crm_VisaCustomerSchool>(item);
+                        VisaCustomerSchool.DcId = deleId;
+                        if (item.Id != 0)//修改
+                        {
+                            int res = await _sqlSugar.Updateable<Crm_VisaCustomerSchool>().Where(a => a.Id == VisaCustomerSchool.Id).SetColumns(a => new Crm_VisaCustomerSchool
+                            {
+                                DcId = VisaCustomerSchool.DcId,
+                                School = VisaCustomerSchool.School,
+                                Address = VisaCustomerSchool.Address,
+                                Teacher = VisaCustomerSchool.Teacher,
+                                Education = VisaCustomerSchool.Education,
+                                Subject = VisaCustomerSchool.Subject,
+                                StudyStart = VisaCustomerSchool.StudyStart,
+                                StudyEnd = VisaCustomerSchool.StudyEnd,
+                                CreateUserId = VisaCustomerSchool.CreateUserId,
+                                Remark = VisaCustomerSchool.Remark,
+                            }).ExecuteCommandAsync();
+                            if (res == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "客户学历信息保存失败!" };
+                            }
+                        }
+                        else if (item.Id == 0)//添加
+                        {
+                            int sss = await _sqlSugar.Insertable(VisaCustomerSchool).ExecuteReturnIdentityAsync();
+                            if (sss == 0)
+                            {
+                                result = new Result() { Code = -1, Msg = "客户学历信息保存失败!" };
+                            }
+                        }
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                return result = new Result() { Code = -2, Msg = "程序错误!" };
+                throw;
+            }
+            return result;
+        }
+
+        public async Task<Result> DelCustomer(DeleClientDelDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                bool isOk=await SoftDeleteByIdAsync<Crm_DeleClient>(dto.Id.ToString(),dto.DeleteUserId);
+                if (isOk)//删除其他表数据
+                {
+                    //客户工作经历
+                    await _sqlSugar.Updateable<Crm_VisaCustomerCompany>().Where(a => a.DcId==dto.Id).SetColumns(a => new Crm_VisaCustomerCompany()
+                    {
+                        IsDel = 1,
+                        DeleteUserId = dto.DeleteUserId,
+                        DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+                    }).ExecuteCommandAsync();
+                    //客户学历
+                    await _sqlSugar.Updateable<Crm_VisaCustomerSchool>().Where(a => a.DcId == dto.Id).SetColumns(a => new Crm_VisaCustomerSchool()
+                    {
+                        IsDel = 1,
+                        DeleteUserId = dto.DeleteUserId,
+                        DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+                    }).ExecuteCommandAsync();
+                    //客户家庭成员信息
+                    await _sqlSugar.Updateable<Crm_VisaCustomerFamily>().Where(a => a.DcId == dto.Id).SetColumns(a => new Crm_VisaCustomerFamily()
+                    {
+                        IsDel = 1,
+                        DeleteUserId = dto.DeleteUserId,
+                        DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+                    }).ExecuteCommandAsync();
+                    //客户证件表
+                    await _sqlSugar.Updateable<Crm_CustomerCert>().Where(a => a.DcId == dto.Id).SetColumns(a => new Crm_CustomerCert()
+                    {
+                        IsDel = 1,
+                        DeleteUserId = dto.DeleteUserId,
+                        DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
+                    }).ExecuteCommandAsync();
+                    return result = new Result() { Code = 0, Msg = "删除成功!" };
                 }
-                
             }
-            catch (Exception)
+            catch (Exception ex)
             {
                 return result = new Result() { Code = -2, Msg = "程序错误!" };
                 throw;

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs

@@ -146,7 +146,7 @@ namespace OASystem.Infrastructure.Repositories.System
                         {
                             arr.Add(new
                             {
-                                pageid = item.Key,
+                                pageId = item.Key,
                                 opList = item.Select(x=>x.Funid).ToList(),
                             });
                         }