从山证v2.3.0拷贝
This commit is contained in:
@@ -0,0 +1,583 @@
|
||||
using BaseOUDAL;
|
||||
using NPOI.Util;
|
||||
using Org.BouncyCastle.Ocsp;
|
||||
using Qdp.Pricing.Library.Base.Utilities;
|
||||
using System.Data;
|
||||
using YieldChain.Helpers;
|
||||
using YLErp.Commons;
|
||||
using YLErp.Configuration;
|
||||
using YLErp.Helpers;
|
||||
using YLErp.Model.Enum;
|
||||
|
||||
namespace YLErp.Modules.ClientModule
|
||||
{
|
||||
/// <summary>
|
||||
/// 客户人员信息服务
|
||||
/// </summary>
|
||||
public class ClientDutyService : ClientBaseService
|
||||
{
|
||||
public ClientDutyService(OptUserInfo userInfo) : base(userInfo)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ClientDutyService(ClientBaseService baseService) : base(baseService)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询ClientDuty
|
||||
/// </summary>
|
||||
public SearchListResult<ClientDuty> SearchList(ClientDutyReq req)
|
||||
{
|
||||
var query = DbContext.clientduty.AsNoTracking().AsQueryable().Where(d => d.ApprovalOrder < 1);
|
||||
|
||||
if (!string.IsNullOrEmpty(req.ContactName))
|
||||
{
|
||||
query = query.Where(d => d.ContactName.Contains(req.ContactName));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.ContactTypeId))
|
||||
{
|
||||
query = query.Where(d => d.ContactTypeId.Contains(req.ContactTypeId));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.IdCardNo))
|
||||
{
|
||||
query = query.Where(d => d.IdCardNo.Contains(req.IdCardNo));
|
||||
}
|
||||
|
||||
if (req.PhoneNumber != null)
|
||||
{
|
||||
query = query.Where(d => d.PhoneNumber == req.PhoneNumber);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(req.Email))
|
||||
{
|
||||
query = query.Where(d => d.Email.Contains(req.Email));
|
||||
}
|
||||
|
||||
if (req.IsReceiveEmail != null)
|
||||
{
|
||||
query = query.Where(d => d.IsReceiveEmail == req.IsReceiveEmail);
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(req.sidx))
|
||||
{
|
||||
req.sidx = "id";
|
||||
req.sord = "asc";
|
||||
}
|
||||
return query.ToSearchList(req);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存客户人员信息
|
||||
/// </summary>
|
||||
public ClientDuty SaveClientDuty(ClientDuty req, HashSet<string> updatedPropertyNameSet = null, bool isDirectSubApp = false)
|
||||
{
|
||||
ClientDuty dbmodel;
|
||||
Client client;
|
||||
var changeStr = string.Empty;
|
||||
var contactypelist = DbContext.contactype.ToList();
|
||||
|
||||
//新增
|
||||
bool isAdd = req.id < 1;
|
||||
|
||||
if (isAdd)
|
||||
{
|
||||
client = req.ClientId > 0 ? DbContext.client.Find(req.ClientId) : null;
|
||||
|
||||
if (client == null)
|
||||
{
|
||||
throw new ServiceException("没有找到客户数据");
|
||||
}
|
||||
|
||||
foreach (var contactType in req.ContactTypeIdsInt)
|
||||
{
|
||||
//针对法人,授权协议签署人才做唯一性判断,有效期结束后可新增
|
||||
if ((contactType == contactypelist.FirstOrDefault(x => x.ContactType == "法人")?.id || (contactType == contactypelist.FirstOrDefault(x => x.ContactType == "授权协议签署人")?.id && PS.Config.Company == Configuration.CompanyEnum.国泰君安))
|
||||
&& DbContext.clientduty.Any(x => x.ApprovalOrder < 1 && x.ClientId == req.ClientId && x.ContactTypeId.Contains(contactType.ToString()) && (x.DeadLine >= DateTime.Now || !x.DeadLine.HasValue))
|
||||
&& !PS.Config.Is浙期)
|
||||
{
|
||||
throw new ServiceException("法人在有效期内必须唯一,授权协议签署人必须唯一");
|
||||
}
|
||||
}
|
||||
|
||||
DbContext.clientduty.Add(dbmodel = new ClientDuty());
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var contactType in req.ContactTypeIdsInt)
|
||||
{
|
||||
//针对法人,授权协议签署人才做唯一性判断,有效期结束后可新增
|
||||
if ((contactType == contactypelist.FirstOrDefault(x => x.ContactType == "法人")?.id || contactType == contactypelist.FirstOrDefault(x => x.ContactType == "授权协议签署人")?.id)
|
||||
&& DbContext.clientduty.Any(x => x.ApprovalOrder < 1 && x.ClientId == req.ClientId && x.ContactTypeId.Contains(contactType.ToString()) && x.id != req.id && (x.DeadLine >= DateTime.Now || !x.DeadLine.HasValue))
|
||||
&& !PS.Config.Is浙期)
|
||||
{
|
||||
throw new ServiceException("法人在有效期内必须唯一,授权协议签署人必须唯一");
|
||||
}
|
||||
}
|
||||
|
||||
dbmodel = DbContext.clientduty.Find(req.id);
|
||||
|
||||
client = DbContext.client.Find(dbmodel.ClientId);
|
||||
|
||||
if (PS.Config.Is东莞)
|
||||
{
|
||||
var typeids = DataConvert.ConvertCommaValuesToInt32Array(dbmodel.ContactTypeId);
|
||||
var reqtypeids = DataConvert.ConvertCommaValuesToInt32Array(req.ContactTypeId);
|
||||
using (var clientDB = DbContextFactory.GetClientDbContext(null))
|
||||
{
|
||||
// var listDirector = dic.Where(l=>l.Value== "控股股东" || l.Value == "董事会成员" || l.Value == "普通股东").Select(n => n.Key.ToString());
|
||||
if (req.IdentityOfTheBoardOfDirectors != null)
|
||||
{
|
||||
//string strContactType = "";
|
||||
//string strContactTypeIds = "";
|
||||
var strContactTypeList = new List<string>();
|
||||
var strContactTypeIdsList = new List<int>();
|
||||
|
||||
var contype = clientDB.contactype;
|
||||
var types = contype.Where(n => typeids.Contains(n.id)).Select(n => new { n.id, n.ContactType }).ToList();
|
||||
strContactTypeList = types.Select(l => l.ContactType).ToList();
|
||||
strContactTypeIdsList = types.Select(l => l.id).ToList();
|
||||
if (req.IdentityOfTheBoardOfDirectors == (int)IdentityOfTheBoardOfDirectorsEnum.非董事会成员)
|
||||
{
|
||||
var hasDirectors = types.Where(n => n.ContactType.Contains("董事会成员")).FirstOrDefault();
|
||||
if (hasDirectors != null)
|
||||
{
|
||||
strContactTypeList.Remove(hasDirectors.ContactType);
|
||||
strContactTypeIdsList.Remove(hasDirectors.id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var hasDirectors = types.Where(n => n.ContactType.Contains("董事会成员")).FirstOrDefault();
|
||||
if (hasDirectors == null)
|
||||
{
|
||||
var contypeHasDirector = contype.Where(l => l.ContactType.Contains("董事会成员")).FirstOrDefault();
|
||||
strContactTypeList.Add(contypeHasDirector.ContactType);
|
||||
strContactTypeIdsList.Add(contypeHasDirector.id);
|
||||
}
|
||||
}
|
||||
if (req.IsShareholder == false)
|
||||
{
|
||||
var hasShareholder = types.Where(n => n.ContactType.Contains("普通股东")).FirstOrDefault();
|
||||
if (hasShareholder != null)
|
||||
{
|
||||
strContactTypeList.Remove(hasShareholder.ContactType);
|
||||
strContactTypeIdsList.Remove(hasShareholder.id);
|
||||
}
|
||||
req.ShareholdingByShareholdersType = null;
|
||||
req.ShareholdingByShareholdersRatio = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
var hasShareholder = types.Where(n => n.ContactType.Contains("普通股东")).FirstOrDefault();
|
||||
if (hasShareholder == null)
|
||||
{
|
||||
var contypeHasShareholder = contype.Where(l => l.ContactType.Contains("普通股东")).FirstOrDefault();
|
||||
strContactTypeList.Add(contypeHasShareholder.ContactType);
|
||||
strContactTypeIdsList.Add(contypeHasShareholder.id);
|
||||
}
|
||||
}
|
||||
req.ContactType = String.Join(",", strContactTypeList);
|
||||
req.ContactTypeId = String.Join(",", strContactTypeIdsList);
|
||||
dbmodel.ContactTypeId = req.ContactTypeId;
|
||||
}
|
||||
var reqtypesHasShareholder = clientDB.contactype.Where(n => reqtypeids.Contains(n.id) && (n.ContactType == "普通股东" || n.ContactType == "控股股东"));
|
||||
if (reqtypesHasShareholder != null && reqtypesHasShareholder.Any())
|
||||
{
|
||||
req.IsShareholder = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
req.IsShareholder = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (client == null)
|
||||
{
|
||||
throw new ServiceException("没有找到客户数据");
|
||||
}
|
||||
var changeList = DataChangeHelper.GetDataChanges(dbmodel, req);
|
||||
changeList = ClientDataChangeLogHandle.Handle(typeof(ClientDuty), changeList);
|
||||
changeStr = changeList.ToJson();
|
||||
}
|
||||
|
||||
var clientCount = yldb.approvalprocess.Where(x => x.processType == "ClientProcess").Count();
|
||||
if (dbmodel.ApprovalOrder == 0)
|
||||
{
|
||||
if (clientCount > 0 && client.ProcessStatus == "已开户" && PS.Config.Is浙期)
|
||||
{
|
||||
if (!isAdd)
|
||||
{
|
||||
var update = DbContext.clientduty.Where(x => x.SourceId == req.id)?.FirstOrDefault();
|
||||
if (update != null)
|
||||
{
|
||||
ObjectHelper.MapValues(update, req.Copy(), "id");
|
||||
}
|
||||
else
|
||||
{
|
||||
update = req.Copy();
|
||||
update.id = 0;
|
||||
DbContext.clientduty.Add(update);
|
||||
}
|
||||
update.SourceId = req.id;
|
||||
update.ApprovalOrder = (int)ApprovalOrderEnum.修改;
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjectHelper.MapValues(dbmodel, req);
|
||||
dbmodel.ApprovalOrder = (int)ApprovalOrderEnum.新增;
|
||||
}
|
||||
if (isDirectSubApp)
|
||||
{
|
||||
var processlist = yldb.approvalprocess.Where(x => x.processType == "ClientProcess");
|
||||
if (processlist.Count() > 0)
|
||||
{
|
||||
var groupId = UserBLL.GetApprovalProcessGroup(UserId);
|
||||
bool approvalBranch = processlist.Any(x => x.approvalGroupId != 0);//审批流程有分支情况
|
||||
client.ProcessOrderBranch = 0;
|
||||
client.ApprovalOrderId = ProcessTradeLog.审批中;
|
||||
client.ApprovalStatus = "审批中";
|
||||
client.ApprovalOptDate = DateTime.Now;
|
||||
|
||||
if (approvalBranch)//审批流程有分支情况
|
||||
{
|
||||
//该审批组属于流程的审批组或该审批组不属于流程审批组
|
||||
var tradeProessBranchQuery = processlist.FirstOrDefault(x => (x.approvalGroupId == groupId && x.approvalCondition == 1) || (x.approvalGroupId != groupId && x.approvalCondition == 2));
|
||||
if (tradeProessBranchQuery == null)//都没有情况
|
||||
{
|
||||
throw new ServiceException("当前存在分支开户审批流程,检测到申请人不满足任意一个分支进入条件,无法提交审批,请更换申请人或调整审批组");
|
||||
}
|
||||
client.ApprovalOrderId = tradeProessBranchQuery.order > 1 ? 1 : tradeProessBranchQuery.order + 1;//第一个节点是分支需要跳过审批组那一级
|
||||
client.ProcessOrderBranch = tradeProessBranchQuery.node ?? 1;//审批组分支
|
||||
}
|
||||
|
||||
var range = DbContext.client_file_audit.Where(x => x.ClientId == req.ClientId).ToList();
|
||||
DbContext.client_file_audit.RemoveRange(range);
|
||||
|
||||
var clientAuditlog = new ClientAuditLog
|
||||
{
|
||||
ClientId = client.id,
|
||||
OptType = "提交信息变更审批",
|
||||
DataType = "00",
|
||||
OptId = UserId,
|
||||
OptName = UserName,
|
||||
OptDate = DateTime.Now
|
||||
};
|
||||
|
||||
///日志记录
|
||||
DbContext.ClientAuditLog.Add(clientAuditlog);
|
||||
DbContext.SaveChanges();
|
||||
client.ApprovalLogId = clientAuditlog.id;
|
||||
}
|
||||
}
|
||||
DbContext.SaveChanges();
|
||||
if (!isAdd)
|
||||
{
|
||||
ObjectHelper.MapValues(dbmodel, req, "ApprovalOrder", "id");
|
||||
}
|
||||
return dbmodel;
|
||||
}
|
||||
else
|
||||
{
|
||||
ObjectHelper.MapValues(dbmodel, req);
|
||||
if (req.id == 0)
|
||||
{
|
||||
DbContext.ClientAuditLog.Add(new ClientAuditLog
|
||||
{
|
||||
ClientId = req.ClientId ?? 0,
|
||||
OptType = "新增客户人员",
|
||||
Changes = string.Empty,
|
||||
DataType = "00",
|
||||
OptId = UserId,
|
||||
OptName = UserName,
|
||||
OptDate = DateTime.Now
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
DbContext.ClientAuditLog.Add(new ClientAuditLog
|
||||
{
|
||||
ClientId = req.ClientId ?? 0,
|
||||
OptType = "编辑客户人员",
|
||||
Changes = changeStr,
|
||||
DataType = "C02",
|
||||
OptId = UserId,
|
||||
OptName = UserName,
|
||||
OptDate = DateTime.Now
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
DbContext.SaveChanges();
|
||||
return dbmodel;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 导出客户人员信息到Excel
|
||||
/// </summary>
|
||||
public byte[] ExportClientDutyToExcel(IEnumerable<int> clientIds)
|
||||
{
|
||||
var ret = DbContext.clientduty.AsNoTracking().AsQueryable().Where(o => o.ApprovalOrder < 1 && clientIds.Contains(o.ClientId ?? 0)).OrderBy(o => o.ClientId).ToList();
|
||||
List<Client> clientList = null;
|
||||
if (ret != null && ret.Count > 0)
|
||||
{
|
||||
clientList = DbContext.client.AsNoTracking().Where(o => clientIds.Contains(o.id)).ToList();
|
||||
}
|
||||
clientList ??= new List<Client>();
|
||||
var contactypeList = DbContext.contactype.AsNoTracking().ToList();
|
||||
var dc = new List<ExcelHelper.DataColumnModel>
|
||||
{
|
||||
new ExcelHelper.DataColumnModel("客户名称", "ClientId", (cv, obj) =>
|
||||
{
|
||||
var id = (int?)cv ?? 0;
|
||||
//return DbContext.client.Where(o => o.id == id).FirstOrDefault().Name;
|
||||
return clientList.FirstOrDefault(d=>d.id==id)?.Name;
|
||||
}),
|
||||
new ExcelHelper.DataColumnModel("姓名", "ContactName", typeof(string)),
|
||||
new ExcelHelper.DataColumnModel("职责类型", "ContactTypeId", (cv, obj) =>
|
||||
{
|
||||
string types = cv;
|
||||
var dutyTypes = types.Split(',').ToList();
|
||||
var result = contactypeList.Where(o => dutyTypes.Contains(o.id.ToString())).Select(o => o.ContactType).ToList();
|
||||
return string.Join(",", result);
|
||||
}),
|
||||
|
||||
new ExcelHelper.DataColumnModel("证件类型", "IdCardType", (cv, obj) =>
|
||||
{
|
||||
return Enum.GetName(typeof(IdCardTypeEnum), cv);
|
||||
}),
|
||||
new ExcelHelper.DataColumnModel("证件号码", "IdCardNo", typeof(string)),
|
||||
new ExcelHelper.DataColumnModel("电子邮箱", "Email", typeof(string)),
|
||||
new ExcelHelper.DataColumnModel("是否接收相关邮件", "IsReceiveEmail", (cv, obj) =>
|
||||
{
|
||||
if (cv!=null)
|
||||
{
|
||||
var status = (int)cv;
|
||||
return status == 1 ? "是" : "否";
|
||||
}else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}),
|
||||
new ExcelHelper.DataColumnModel("联系电话", "PhoneNumber", typeof(string)),
|
||||
new ExcelHelper.DataColumnModel("传真", "Fax", typeof(string)),
|
||||
new ExcelHelper.DataColumnModel("联系地址", "Address", typeof(string))
|
||||
};
|
||||
if (!(PS.Config.Company == CompanyEnum.招证) && !(PS.Config.Company == CompanyEnum.东吴))
|
||||
{
|
||||
dc.Add(new ExcelHelper.DataColumnModel("证件有效日期", "IdCardEffectiveDate", (cv, obj) =>
|
||||
{
|
||||
var date = (DateTime?)cv;
|
||||
if (date != null)
|
||||
{
|
||||
var flag = ((DateTime)date).ToString("yyyy-MM-dd") == "3000-12-31";
|
||||
return flag ? "长期有效" : ((DateTime)date).ToString("yyyy-MM-dd");
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}));
|
||||
}
|
||||
if (PS.Config.Company == CompanyEnum.招证 || PS.Config.Company == CompanyEnum.东吴)
|
||||
{
|
||||
dc.Add(new ExcelHelper.DataColumnModel("证件到期日", "DeadLine", (cv, obj) =>
|
||||
{
|
||||
var date = (DateTime?)cv;
|
||||
return date != null ? ((DateTime)date).ToString("yyyy-MM-dd") : "";
|
||||
}));
|
||||
dc.Add(new ExcelHelper.DataColumnModel("授权到期日", "AuthorizeEndDate", (cv, obj) =>
|
||||
{
|
||||
var date = (DateTime?)cv;
|
||||
return date != null ? ((DateTime)date).ToString("yyyy-MM-dd") : "";
|
||||
}));
|
||||
if (PS.Config.Company == CompanyEnum.东吴)
|
||||
{
|
||||
dc.Add(new ExcelHelper.DataColumnModel("微信号", "Weixin", typeof(string)));
|
||||
}
|
||||
}
|
||||
new ExcelHelper().ListToExcel<ClientDuty>(dc.ToArray(), ret, "客户人员信息", true, out var buffer);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除客户人员信息
|
||||
/// </summary>
|
||||
public ClientDuty RemoveClientDuty(int id, bool isDirectSubApp = false)
|
||||
{
|
||||
var r = DbContext.clientduty.FirstOrDefault(s => s.id == id);
|
||||
|
||||
return RemoveClientDuty(r, isDirectSubApp);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除客户人员信息
|
||||
/// </summary>
|
||||
public ClientDuty RemoveClientDuty(ClientDuty clientDuty, bool isDirectSubApp = false)
|
||||
{
|
||||
if (clientDuty == null)
|
||||
{
|
||||
throw new ServiceException("删除失败,找不到人员信息");
|
||||
}
|
||||
|
||||
var client = DbContext.client.Find(clientDuty.ClientId);
|
||||
if (client == null)
|
||||
{
|
||||
throw new ServiceException("删除失败,找不到客户信息");
|
||||
}
|
||||
|
||||
var clientCount = yldb.approvalprocess.Where(x => x.processType == "ClientProcess").Count();
|
||||
|
||||
if (clientCount > 0 && client.ProcessStatus == "已开户" && PS.Config.Is浙期 && clientDuty.ApprovalOrder == 0)
|
||||
{
|
||||
clientDuty.ApprovalOrder = (int)ApprovalOrderEnum.删除;
|
||||
if (isDirectSubApp)
|
||||
{
|
||||
var processlist = yldb.approvalprocess.Where(x => x.processType == "ClientProcess");
|
||||
if (processlist.Count() > 0)
|
||||
{
|
||||
var groupId = UserBLL.GetApprovalProcessGroup(UserId);
|
||||
bool approvalBranch = processlist.Any(x => x.approvalGroupId != 0);//审批流程有分支情况
|
||||
client.ProcessOrderBranch = 0;
|
||||
client.ApprovalOrderId = ProcessTradeLog.审批中;
|
||||
client.ApprovalStatus = "审批中";
|
||||
client.ApprovalOptDate = DateTime.Now;
|
||||
|
||||
if (approvalBranch)//审批流程有分支情况
|
||||
{
|
||||
//该审批组属于流程的审批组或该审批组不属于流程审批组
|
||||
var tradeProessBranchQuery = processlist.FirstOrDefault(x => (x.approvalGroupId == groupId && x.approvalCondition == 1) || (x.approvalGroupId != groupId && x.approvalCondition == 2));
|
||||
if (tradeProessBranchQuery == null)//都没有情况
|
||||
{
|
||||
throw new ServiceException("当前存在分支开户审批流程,检测到申请人不满足任意一个分支进入条件,无法提交审批,请更换申请人或调整审批组");
|
||||
}
|
||||
client.ApprovalOrderId = tradeProessBranchQuery.order > 1 ? 1 : tradeProessBranchQuery.order + 1;//第一个节点是分支需要跳过审批组那一级
|
||||
client.ProcessOrderBranch = tradeProessBranchQuery.node ?? 1;//审批组分支
|
||||
}
|
||||
|
||||
var range = DbContext.client_file_audit.Where(x => x.ClientId == client.id).ToList();
|
||||
DbContext.client_file_audit.RemoveRange(range);
|
||||
|
||||
var clientAuditlog = new ClientAuditLog
|
||||
{
|
||||
ClientId = client.id,
|
||||
OptType = "提交信息变更审批",
|
||||
DataType = "00",
|
||||
OptId = UserId,
|
||||
OptName = UserName,
|
||||
OptDate = DateTime.Now
|
||||
};
|
||||
|
||||
///日志记录
|
||||
DbContext.ClientAuditLog.Add(clientAuditlog);
|
||||
DbContext.SaveChanges();
|
||||
client.ApprovalLogId = clientAuditlog.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DbContext.clientduty.Remove(clientDuty);
|
||||
|
||||
if (DbContext.clientduty.Where(x => x.SourceId == clientDuty.id).Any())
|
||||
{
|
||||
DbContext.clientduty.RemoveRange(DbContext.clientduty.Where(x => x.SourceId == clientDuty.id).ToList());
|
||||
}
|
||||
|
||||
if (clientDuty.ApprovalOrder == 0)
|
||||
{
|
||||
DbContext.ClientAuditLog.Add(new ClientAuditLog
|
||||
{
|
||||
ClientId = clientDuty.ClientId ?? 0,
|
||||
OptType = "删除人员信息",
|
||||
Changes = string.Empty,
|
||||
DataType = "00",
|
||||
OptId = UserId,
|
||||
OptName = UserName,
|
||||
OptDate = DateTime.Now
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
DbContext.SaveChanges();
|
||||
|
||||
return clientDuty;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public class ClientDutyReq : BaseSearchReq
|
||||
{
|
||||
public int? ClientId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 联系人姓名
|
||||
/// </summary>
|
||||
public string ContactName { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 联系人类型id
|
||||
/// </summary>
|
||||
public string ContactTypeId { get; set; }
|
||||
public List<int> ContactTypeIdsInt
|
||||
{
|
||||
get
|
||||
{
|
||||
if (string.IsNullOrEmpty(ContactTypeId))
|
||||
{
|
||||
return new List<int>();
|
||||
}
|
||||
|
||||
return ContactTypeId.Split(',').Select(v => Convert.ToInt32(v)).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 证件号
|
||||
/// </summary>
|
||||
public string IdCardNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 证件类型
|
||||
/// </summary>
|
||||
public int? IdCardType { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 电话号码
|
||||
/// </summary>
|
||||
public string PhoneNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 传真
|
||||
/// </summary>
|
||||
public string Fax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Email
|
||||
/// </summary>
|
||||
public string Email { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 有效日期
|
||||
/// </summary>
|
||||
public DateTime? DeadLine { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否接收相关邮件
|
||||
/// </summary>
|
||||
public int? IsReceiveEmail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 联系地址
|
||||
/// </summary>
|
||||
public string Address { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user