using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using RiskControl.NewService.Entity.QccDbEntity; using RiskControl.NewService.QiChaCha.TushareEntity; using System.Globalization; using System.Text.RegularExpressions; using CommonHelper; using RiskControl.NewService.QiChaCha.QccEntity; using RiskControl.NewService.QiChaCha.QccEntity2; using RiskControl.NewService.QiChaCha.TycEntity; using RiskControl.NewService.QiChaCha.QxbEntity; using RiskControl.NewService.Entity.Neeq; using Employees = RiskControl.NewService.QiChaCha.QccEntity.Employees; using GasolineBlend.Entity; using RiskControl.NewService.Entity.Alarm; using GasolineBlend.DAL; using SqlSugar; namespace RiskControl.NewService.Service { public class LeaseAlarmService : DbContext { QiChaChaService qiChaCha = new QiChaChaService(); TianYanChaService tianYanCha = new TianYanChaService(); TushareService tushareService = new TushareService(); QxbService qxbService = new QxbService(); NeeqService neeqService = new NeeqService(); RmcCapitalDAL _cap = new RmcCapitalDAL(); RmcLibraryDAL _lib = new RmcLibraryDAL(); SelfReportService selfReportService = new SelfReportService(); public string StockCode = ""; public string New3Codestr = ""; public string OperNamestr = "";//法定代表人 public string ActualNamestr = ""; //实际控制人 public string Scopestr = ""; //经营范围 public double RegistCapiMoney = 0; public List listFinanceLeaseLtds = new List();//融资租赁公司查询库 public List listFinanceLeaseLtdsZg = new List();//金融资管公司查询库 public void Execute(string Name,int ReportId,List listMkFinanceLeaseLtds,List listMkFinanceLeaseLtdsZg, bool AllFlag) { try { StockCode = ""; New3Codestr = ""; OperNamestr = ""; ActualNamestr = ""; Scopestr = ""; listFinanceLeaseLtds = listMkFinanceLeaseLtds; listFinanceLeaseLtdsZg= listMkFinanceLeaseLtdsZg; //基本信息 DateTime dt0 = DateTime.Now; GetFullDetail(Name, false,AllFlag); //TD基本信息 //GetSuspectedActualControl(Name); //QCC实际控制人 GetEndCase(Name, ReportId); //TYC终本案件New20211026 GetTycTaxCredit(Name, ReportId); //TYC税务评级 GetQxbAbnormalEnterpriseByName(Name, ReportId);//QXB非正常户 GetAdminPenaltyCheckList(Name, ReportId); //TD行政处罚 GetTaxOweNoticeCheckList(Name, ReportId); //TD欠税公告 GetBankruptcyCheckList(Name, ReportId); //TD破产重整 GetTaxIllegalCheckList(Name, ReportId); //TD税收违法 GetSimpleCancelCheckInfo(Name, ReportId); //TD简易注销 //GetFullDetail //QCC经营异常 //GetSeriousViolation(Name, ReportId); //QCC黑名单 //GetOffFilingCheckList(Name, ReportId); //QCC注销备案 //GetEnvPunishmentCheckList(Name, ReportId); //QCC环保处罚 GetFinaAudit(Name, ReportId); //财务审计意见 GetForecast(Name, ReportId); //业绩预告 //GetIPOAnnouncement(Name, ReportId); //公司公告th GetIPOViolation(Name, ReportId); //违规处理 //司法涉诉 GetCaseFilingCheckList(Name, ReportId); //立案信息 GetCourtAnnoCheckList(Name, ReportId); //开庭公告 GetJudgmentDoc(Name, ReportId); //裁判文书 GetCourtNoticeCheckList(Name, ReportId); //法院公告 GetDeliveryNoticeCheckList(Name, ReportId);//送达公告 GetZhiXingRen(Name, ReportId); //被执行人New20211026 GetEquityFreezeCheck(Name, ReportId); //股权冻结New20211026 GetShiXin(Name, ReportId); //失信被执行 GetConsumptionRestriction(Name, ReportId);//TYC限制高消费 //GetEndCase(Name, ReportId); //终本案件New20211026 GetJudicialSaleList(Name, ReportId); //司法拍卖New20211026 GetJudicialListCheck(Name, ReportId); //司法协助New20211026 if (AllFlag) { GetAnnualReport(Name, ReportId); //企业年报 GetInvestmentCheckList(Name, ReportId); //TD对外投资 //GetECIBranchList(Name, ReportId); //分支机构 //GetHoldingCompany(Name, ReportId); //控制企业 //GetECIParentInfo(Name, ReportId); //总公司 ////企业图谱 //GetEquityThroughAndInvestV2(Name, 1);//股权结构图变动 //GetEquityThroughAndInvestV2(Name, 2);//股权穿透图变动 //经营信息 GetTender(Name, ReportId); //招投标 GetLandPurchaseList(Name, ReportId); //购地信息 GetRecruitment(Name, ReportId); //招聘信息 GetCompanyNews(Name, ReportId); //新闻舆情 GetTrademark(Name, ReportId); //商标信息 GetPatent(Name, ReportId); //专利信息 GetCertification(Name, ReportId); //资质证书 GetCopyRight(Name, ReportId); // 作品著作权 GetCopyRightSoftware(Name, ReportId); // 软件著作权 GetCompanyWebSite(Name, ReportId); //网站信息 GetPublicWeChat(Name, ReportId); //微信公众号 GetMicroblog(Name, ReportId); //微博 GetCustomerList(Name, ReportId); //客户 GetSupplierList(Name, ReportId); //供应商 GetCompanyCompanyProducts(Name, ReportId); //企业业务 if (DateTime.Now.Day == 1) //竞品信息--1个月更新一次 { GetQxbEntCompetitionByName(Name, ReportId); } GetLandPublishList(Name, ReportId); //地块公示 GetLandTransferList(Name, ReportId); //地块转让 GetTelecomLicenseList(Name, ReportId); //电信许可 GetOperationCheckList(Name, ReportId); //进出口信用 GetBuildingProjectList(Name, ReportId); //工程项目-建筑资质 GetQualificationList(Name, ReportId); //资质资格-建筑资质 //GetTycTaxpayer(Name, ReportId); //一般纳税人-消费太高 GetTycDoubleRandomCheck(Name, ReportId); //双随机抽查 //上市信息(待确认) //GetDailyBasic(Name,ReportId);-每天三点后运行 //GetMoneyFlow(Name,ReportId);-每天三点后运行 //GetMarginDetail(Name,ReportId);-每天三点后运行 //GetBlockTrade(Name,ReportId);-每天三点后运行 //GetRepurchase(Name,ReportId);-每天三点后运行 //GetStkHoldertrade(Name,ReportId);-每天三点后运行 GetStockCompany(Name, ReportId); GetStkManagers(Name, ReportId); if (DateTime.Now.Month != 1 && DateTime.Now.Month != 4 && DateTime.Now.Month != 7 && DateTime.Now.Month != 10 && DateTime.Now.Day == 2) { GetTopTenPartnerList(Name, ReportId); GetTopTenCirPartnerList(Name, ReportId); } GetShareStructure(Name, ReportId); GetDisclosureDate(Name, ReportId); GetIPOGuarantee(Name, ReportId); //GetIPOLitigArbitrate(Name, ReportId); GetDividend(Name, ReportId); GetQxbIssuanceList(Name, ReportId); //新三板上市信息(待确认) //GetNeeqNqhqOnline(Name,ReportId);-每天三点后运行 GetNeeqCompanyDetail(Name, ReportId); GetSeniorExecutive(Name, ReportId); GetNeeqTopTenHolders(Name, ReportId); GetNeeqDisclosureProductFile(Name, ReportId); //经营预警 GetInquiryAssessCheckList(Name, ReportId); //询价评估 GetPublishNoticeCheckList(Name, ReportId); //公示催告 } //信用评级 GetCRWarning(Name, ReportId); DateTime dt1 = DateTime.Now; LogHelper.Warn(Name + "信息耗时记录:ReportID" + ReportId + "--通用接口m" + (dt1 - dt0).TotalSeconds); //中登网融资 GetFinanceLease(Name, ReportId); DateTime dt2 = DateTime.Now; GetMkReceivablesPledge(Name, ReportId); DateTime dt3 = DateTime.Now; if (AllFlag) { GetMkAccReceivableAssigned(Name, ReportId); DateTime dt4 = DateTime.Now; GetMkProductionEquipment(Name, ReportId); DateTime dt5 = DateTime.Now; GetMkCAPRev(Name,ReportId); DateTime dt6 = DateTime.Now; LogHelper.Warn(Name + "信息耗时记录:ReportID" + ReportId + "--通用接口m" + (dt1 - dt0).TotalSeconds + "--融资m" + (dt2 - dt1).TotalSeconds + "--应收账款抵质押m" + (dt3 - dt2).TotalSeconds + "--应收账款转让m" + (dt4 - dt3).TotalSeconds + "--动产抵质押m" + (dt5 - dt4).TotalSeconds + "--其他动产权登记m" + (dt6 - dt5).TotalSeconds); } else { LogHelper.Warn(Name + "信息耗时记录:ReportID" + ReportId + "--通用接口m" + (dt1 - dt0).TotalSeconds + "--融资m" + (dt2 - dt1).TotalSeconds + "--应收账款抵质押m" + (dt3 - dt2).TotalSeconds); } } catch (Exception a) { LogHelper.Error($"报错公司:{Name} 异常记录:" + a.ToString()); } } #region 常用函数 /// /// 是否是交易日 /// /// public bool IsOpenDay(string today) { //var today = time.ToString("yyyyMMdd"); var query = new BaseParam(); query.api_name = "trade_cal"; query.@params = new { start_date = today, end_date = today, is_open = "1" }; var url = "http://api.tushare.pro"; var resultStr = HttpMethods.HttpPost(url, query.ToJson()); var resultObj = resultStr.ToObject(); if (resultObj.code == 0 && resultObj.data.items.Any()) return true; return false; } /// /// 是否日期格式--通用 /// /// /// public bool IsDate(object strDate) { try { if (strDate == null || strDate.ToString() == "") return false; DateTime.Parse(strDate.ToString()); return true; } catch { return false; } } /// /// 是否日期格式--指定yyyyMMdd /// /// /// public bool IsTimeExact(string Date) { try { DateTime.ParseExact(Date, "yyyyMMdd", CultureInfo.CurrentCulture); return true; } catch { return false; } } /// /// 是否是浮点数 /// /// /// public bool IsDouble(object data) { try { Convert.ToDouble(data); return true; } catch { return false; } } /// /// 转化互联网日期到通用日期A /// /// /// private DateTime GetLongTime(string timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = 0; lTime = long.Parse(timeStamp + "0000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); } /// /// 转化互联网日期到通用日期B /// /// /// private DateTime StampToDateTime(string timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime; if (timeStamp.Length.Equals(10))//判断是10位 { lTime = long.Parse(timeStamp + "0000000"); } else { lTime = long.Parse(timeStamp + "0000");//13位 } TimeSpan toNow = new TimeSpan(lTime); DateTime daTime = dtStart.Add(toNow); return daTime; } /// /// 判断是否有交集 /// /// /// /// /// public bool IsArrayIntersection(List list1, List list2) { List t = list1.Distinct().ToList(); var exceptArr = t.Except(list2).ToList(); if (exceptArr.Count < t.Count) { return true; } else { return false; } } /// /// 获取之前上一条 /// /// /// /// public ComDynamicEva GetEventTypeFirst(string Name, string EventType) { var res = alarmDb.Queryable().Where(p => p.CompanyName == Name && p.EventType == EventType) .OrderBy(p => p.CreateTime, OrderByType.Desc).First(); return res; } /// /// 获取红色或者黄色告警信息 /// /// /// /// public List GetEventTypeYellowRed(string Name, string EventType,int ReportId) { var res = alarmDb.Queryable().Where(p => p.CompanyName == Name && p.EventType == EventType && p.WarnLevel>1 && p.ReportId==ReportId) .OrderBy(p => p.CreateTime, OrderByType.Desc).ToList(); return res; } /// /// 判断是否存在-Detail /// /// /// public bool ExistComDynamicEva(ComDynamicEva comDynamicEva) { var res = alarmDb.Queryable().Where(p => p.CompanyName == comDynamicEva.CompanyName && p.EventType == comDynamicEva.EventType && p.Detail == comDynamicEva.Detail && p.WarnLevel == comDynamicEva.WarnLevel).ToList(); return res.Count > 0; } /// /// 判断是否存在-Content /// /// /// public bool ExistComDynamicEvaContentOnly(ComDynamicEva comDynamicEva) { var res = alarmDb.Queryable().Where(p => p.CompanyName == comDynamicEva.CompanyName && p.EventType == comDynamicEva.EventType && p.Content == comDynamicEva.Content && p.WarnLevel == comDynamicEva.WarnLevel).ToList(); return res.Count > 0; } #endregion #region 调用通用接口方法(X项) /// /// 关键词库 /// /// /// public string[] GetAlarmWords(int iIndex) { string[] strResult = null; if (iIndex == 1) { string keyStrings = "银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、财务有限公司、信托、金融资产、资产管理、租赁、保理、理财、汽车金融、融资担保、信用增进、贷款、证券、基金"; return keyStrings.Split(new char[]{ '、' }); } else if (iIndex == 2) { string keyStrings = "同业拆借、金融、小额借款、不良债权、融资租赁、债券、信托、贷款、借贷、借款、破产、重整、保理"; return keyStrings.Split(new char[] { '、' }); } else if (iIndex == 3) { string keyStrings = "信用证、票据、汇票、股东、股权、侵权、行纪、服务、中介、购买、购房、建设、工程、施工、损害公司利益"; return keyStrings.Split(new char[] { '、' }); } else if (iIndex == 4) { string keyStrings = "信用证、票据、汇票"; return keyStrings.Split(new char[] { '、' }); } else if (iIndex == 5) { string keyStrings = "基础设施、土地、房地产、商品房、住宅、房产、房屋、住房、商铺、商业地产、办公楼、写字楼、商住、物业、一级开发、二级开发、安置房、回迁、旧城、城市更新、拆迁"; return keyStrings.Split(new char[] { '、' }); } else if (iIndex == 6) { string keyStrings = "银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理"; return keyStrings.Split(new char[] { '、' }); } return strResult; } /// /// 是否匹配关键词库 /// /// /// /// public bool ContainKeyWords(string strWord, int iIndex) { if (iIndex == 1 && strWord.Contains("租赁")) { string[] Ltds = strWord.Split(new char[] { ',' }); List listLtds = new List(Ltds); var listLtdsZL = listLtds.Where(p => p.Contains("租赁")).ToList(); for (int i = 0; i < listLtdsZL.Count; i++) { if (listLtdsZL[i].Contains("金融租赁") || listLtdsZL[i].Contains("融资租赁")) return true; if (listFinanceLeaseLtds.Contains(FileUtil.ToDBC(listLtdsZL[i]))) return true; } var listLtdsZLNone = listLtds.Where(p => !p.Contains("租赁")).ToList(); var strWordTmp = string.Join(",", listLtdsZLNone.ToArray()); string[] strWordList = GetAlarmWords(iIndex); for (int i = 0; i < strWordList.Length; i++) { if (strWordTmp.IndexOf(strWordList[i]) >= 0) return true; } return false; } else if (iIndex == 1 && strWord.Contains("资产管理")) { string[] Ltds = strWord.Split(new char[] { ',' }); List listLtds = new List(Ltds); var listLtdsZL = listLtds.Where(p => p.Contains("资产管理")).ToList(); for (int i = 0; i < listLtdsZL.Count; i++) { if (listLtdsZL[i].Contains("金融资产管理") || (!listLtdsZL[i].Contains("金融资产管理") && ( listLtdsZL[i].Contains("中国东方资产管理") || listLtdsZL[i].Contains("中国长城资产管理") || listLtdsZL[i].Contains("中国华融资产管理") || listLtdsZL[i].Contains("中国信达资产管理") || listLtdsZL[i].Contains("中国银河资产管理")))) return true; if (listFinanceLeaseLtdsZg.Contains(FileUtil.ToDBC(listLtdsZL[i]))) return true; } var listLtdsZLNone = listLtds.Where(p => !p.Contains("资产管理")).ToList(); var strWordTmp = string.Join(",", listLtdsZLNone.ToArray()); string[] strWordList = GetAlarmWords(iIndex); for (int i = 0; i < strWordList.Length; i++) { if (strWordTmp.IndexOf(strWordList[i]) >= 0) return true; } return false; } else { string[] strWordList = GetAlarmWords(iIndex); for (int i = 0; i < strWordList.Length; i++) { if (strWord.IndexOf(strWordList[i]) >= 0) return true; } return false; } } /// /// 获取完整信息 /// /// public void GetFullDetail(string Name, bool GetCodeFlag = false,bool AllFlag=true) { try { var list = qiChaCha.GetFullDetail(Name); if (list != null && list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { //股票代码 var StockCodes = list.Result.Data.GetType().GetProperty("StockNumber").GetValue(list.Result.Data); if (StockCodes != null) { StockCode = StockCodes.ToString(); } //新三板代码 var New3Code = list.Result.Data.GetType().GetProperty("New3Code").GetValue(list.Result.Data); if (New3Code != null) { New3Codestr = New3Code.ToString(); } //法定代表人+企业范围 var ComName = list.Result.Data.GetType().GetProperty("Name").GetValue(list.Result.Data); if (ComName != null) { var OperName = list.Result.Data.GetType().GetProperty("OperName").GetValue(list.Result.Data); if (OperName != null) { OperNamestr = OperName.ToString(); } var Scope = list.Result.Data.GetType().GetProperty("Scope").GetValue(list.Result.Data); if (Scope != null) { Scopestr = Scope.ToString(); } } if (GetCodeFlag) return; if (AllFlag) { //工商信息(绿色) if (ComName != null) { var CurrentInfo = GetEventTypeFirst(Name, "深度信息-基本信息-工商信息"); //主体类型 var EconKind = list.Result.Data.GetType().GetProperty("EconKind").GetValue(list.Result.Data); //法定代表人 var OperName = list.Result.Data.GetType().GetProperty("OperName").GetValue(list.Result.Data); //注册资本 var RegistCapi = list.Result.Data.GetType().GetProperty("RegistCapi").GetValue(list.Result.Data); //实缴资本 var RecCap = list.Result.Data.GetType().GetProperty("RecCap").GetValue(list.Result.Data); //营业期限 开始 var TermStart = list.Result.Data.GetType().GetProperty("TermStart").GetValue(list.Result.Data); //营业期限 结束 var TeamEnd = list.Result.Data.GetType().GetProperty("TeamEnd").GetValue(list.Result.Data); //登记机关 var BelongOrg = list.Result.Data.GetType().GetProperty("BelongOrg").GetValue(list.Result.Data); //统一社会信用代码 var CreditCode = list.Result.Data.GetType().GetProperty("CreditCode").GetValue(list.Result.Data); //经营状态 var Status = list.Result.Data.GetType().GetProperty("Status").GetValue(list.Result.Data); //成立日期 var StartDate = list.Result.Data.GetType().GetProperty("StartDate").GetValue(list.Result.Data); //核准日期 var CheckDate = list.Result.Data.GetType().GetProperty("CheckDate").GetValue(list.Result.Data); //所属行业 var Industry = list.Result.Data.GetType().GetProperty("Industry").GetValue(list.Result.Data); //所属地区 var Area = list.Result.Data.GetType().GetProperty("Area").GetValue(list.Result.Data); //参保人数 var InsuredCount = list.Result.Data.GetType().GetProperty("InsuredCount").GetValue(list.Result.Data); //人员规模 var PersonScope = list.Result.Data.GetType().GetProperty("PersonScope").GetValue(list.Result.Data); //企业地址 var Address = list.Result.Data.GetType().GetProperty("Address").GetValue(list.Result.Data); //企业范围 var Scope = list.Result.Data.GetType().GetProperty("Scope").GetValue(list.Result.Data); //英文名 var EnglishName = list.Result.Data.GetType().GetProperty("EnglishName").GetValue(list.Result.Data); //将PrimaryId设置为0防止重复抓取20211020FX var PrimaryId = list.Result.Data.GetType().GetProperty("PrimaryId"); PrimaryId.SetValue(list.Result.Data, 0, null); if (CheckDate != null && IsDate(CheckDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Parse(CheckDate.ToString()).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-工商信息", Detail = JsonHelper.ToJson(list.Result.Data), ContentTime = IsDate(CheckDate) == true ? CheckDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { if (CurrentInfo != null) { var Flag = false; var DataInfo = JsonHelper.ToObject(CurrentInfo.Detail); //主体类型 var CurrentEconKind = ((dynamic)DataInfo).EconKind; //法定代表人 var CurrentOperName = ((dynamic)DataInfo).OperName; //注册资本 var CurrentRegistCapi = ((dynamic)DataInfo).RegistCapi; //实缴资本 var CurrentRecCap = ((dynamic)DataInfo).RecCap; //营业期限 开始 var CurrentTermStart = ((dynamic)DataInfo).TermStart; //营业期限 结束 var CurrentTeamEnd = ((dynamic)DataInfo).TeamEnd; //登记机关 var CurrentBelongOrg = ((dynamic)DataInfo).BelongOrg; //统一社会信用代码 var CurrentCreditCode = ((dynamic)DataInfo).CreditCode; //经营状态 var CurrentStatus = ((dynamic)DataInfo).Status; //成立日期 var CurrentStartDate = ((dynamic)DataInfo).StartDate; //核准日期 var CurrentCheckDate = ((dynamic)DataInfo).CheckDate; //所属行业 var CurrentIndustry = ((dynamic)DataInfo).Industry; //所属地区 var CurrentArea = ((dynamic)DataInfo).Area; //参保人数 var CurrentInsuredCount = ((dynamic)DataInfo).InsuredCount; //人员规模 var CurrentPersonScope = ((dynamic)DataInfo).PersonScope; //企业地址 var CurrentAddress = ((dynamic)DataInfo).Address; //企业范围 var CurrentScope = ((dynamic)DataInfo).Scope; //英文名 var CurrentEnglishName = ((dynamic)DataInfo).EnglishName; comDynamicEva.WarnLevel = 1; //1.先判断经营状态--红色 if (CurrentStatus != null && CurrentStatus != Status) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-经营状态变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentStatus }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = Status }); string StatusStr = Convert.ToString(CurrentStatus); if (StatusStr.Contains("清算") || StatusStr.Contains("停业") || StatusStr.Contains("撤销") || StatusStr.Contains("吊销") || StatusStr.Contains("注销") || StatusStr.Contains("解散")) { comDynamicEva.WarnLevel = 3; Flag = true; } } //2. 再判断法定代表--黄色 if (Flag == false) { if (CurrentOperName != null && CurrentOperName != OperName) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-法定代表人变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentOperName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = OperName }); Flag = true; } } //3. 判断其他场景 if (Flag == false) { comDynamicEva.WarnLevel = 1; if (CurrentEconKind != EconKind) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-主体类型变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentEconKind }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = EconKind }); } else if (CurrentRegistCapi != RegistCapi) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-注册资本变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentRegistCapi }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = RegistCapi }); } else if (CurrentRecCap != RecCap) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-实缴资本变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentRecCap }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = RecCap }); } else if (CurrentTermStart != TermStart) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-营业期限开始时间变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentTermStart }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = TermStart }); } else if (CurrentTeamEnd != TeamEnd) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-营业期限结束时间变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentTeamEnd }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = TeamEnd }); } else if (CurrentBelongOrg != BelongOrg) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-登记机关变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentBelongOrg }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = BelongOrg }); } else if (CurrentCreditCode != CreditCode) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-统一社会信用代码变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentCreditCode }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = CreditCode }); } else if (CurrentStatus != Status) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-经营状态变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentStatus }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = Status }); } else if (CurrentStartDate != StartDate) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-成立日期变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentStartDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = StartDate }); } else if (CurrentCheckDate != CheckDate) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-核准日期变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = DateTime.Parse(CurrentCheckDate).ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = DateTime.Parse(CheckDate.ToString()).ToString("yyyy-MM-dd") }); } else if (Convert.ToString(CurrentIndustry) != JsonHelper.ToJson(Industry)) { var industryData = (IndustryData)Industry; var industryCurrent = JsonHelper.JSONToObject(Convert.ToString(CurrentIndustry)); if (industryData != null && industryCurrent != null) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-行业变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = industryCurrent.Industry + "/" + (string.IsNullOrWhiteSpace(industryCurrent.SubIndustry) ? "--" : industryCurrent.SubIndustry) + "/" + (string.IsNullOrWhiteSpace(industryCurrent.MiddleCategory) ? "--" : industryCurrent.MiddleCategory) + "/" + (string.IsNullOrWhiteSpace(industryCurrent.SmallCategory) ? "--" : industryCurrent.SmallCategory) }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = industryData.Industry + "/" + (string.IsNullOrWhiteSpace(industryData.SubIndustry) ? "--" : industryData.SubIndustry) + "/" + (string.IsNullOrWhiteSpace(industryData.MiddleCategory) ? "--" : industryData.MiddleCategory) + "/" + (string.IsNullOrWhiteSpace(industryData.SmallCategory) ? "--" : industryData.SmallCategory) }); } } else if (Convert.ToString(CurrentArea) != JsonHelper.ToJson(Area)) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-地区变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentArea }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = JsonHelper.ToJson(Area) }); } else if (CurrentInsuredCount != InsuredCount) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-参保人数变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentInsuredCount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = InsuredCount }); } else if (CurrentPersonScope != PersonScope) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-人员规模变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentPersonScope }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = PersonScope }); } else if (CurrentAddress != Address) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-企业地址变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentAddress }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = Address }); } else if (CurrentScope != Scope) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-企业范围变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentScope }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = Scope }); } else if (CurrentEnglishName != EnglishName) { Flag = true; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-英文名变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentEnglishName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = EnglishName }); } //else if (CurrentPersonScope != PersonScope) //{ // comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工商信息-人员规模变更" }); // comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentPersonScope }); // comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = PersonScope }); //} } if (Flag) { comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { comDynamicEva.BlankFlag = true; comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } //变更记录 这里是反射拿到的数据 var ChangeRecords = list.Result.Data.GetType().GetProperty("ChangeRecords").GetValue(list.Result.Data); if (ChangeRecords != null) { IEnumerable slist = ChangeRecords as IEnumerable; if (slist != null) { foreach (var item in slist) { var AfterContent = item.GetType().GetProperty("AfterContent").GetValue(item); var BeforeContent = item.GetType().GetProperty("BeforeContent").GetValue(item); var ChangeDate = item.GetType().GetProperty("ChangeDate").GetValue(item); var ProjectName = item.GetType().GetProperty("ProjectName").GetValue(item); //if (ChangeDate != null && IsDate(ChangeDate.ToString())) //{ // //AddChangeRecord(AfterContent == null ? "--" : AfterContent.ToString() == "" ? "--" : AfterContent.ToString(), BeforeContent == null ? "--" : BeforeContent.ToString() == "" ? "--" : BeforeContent.ToString(), DateTime.Parse(ChangeDate.ToString()).ToString("yyyy-MM-dd"), ProjectName == null ? "--" : ProjectName.ToString() == "" ? "--" : ProjectName.ToString(), Name); //} if (ProjectName != null && ProjectName.ToString() != "" && BeforeContent != null && BeforeContent.ToString() != "") { List comDynamicContentlist = new List(); int WarnLevel = 0; var StrProjectName = ProjectName.ToString(); var StrBeforeContent = BeforeContent.ToString(); var StrAfterContent = AfterContent.ToString(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = ChangeDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前内容", Value = BeforeContent }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后内容", Value = AfterContent }); if (StrProjectName == "经营状态" && (StrAfterContent.Contains("清算") || StrAfterContent.Contains("停业") || StrAfterContent.Contains("撤销") || StrAfterContent.Contains("吊销") || StrAfterContent.Contains("注销") || StrAfterContent.Contains("解散"))) { //红色 WarnLevel = 3; } else if (StrProjectName == "登记状态" && (StrAfterContent.Contains("清算") || StrAfterContent.Contains("停业") || StrAfterContent.Contains("撤销") || StrAfterContent.Contains("吊销") || StrAfterContent.Contains("注销") || StrAfterContent.Contains("解散"))) { //红色 WarnLevel = 3; } else if (StrProjectName == "法定代表人" || StrProjectName.Contains("董事") || StrProjectName.Contains("监事") || StrProjectName.Contains("经理") || StrProjectName.Contains("高级管理人员") || StrProjectName.Contains("投资人")) { //黄色 WarnLevel = (int)2; } else { //绿色 WarnLevel = 1; } List arr = new List(); arr.Add(item); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-变更记录", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(ChangeDate) == true ? ChangeDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } //行政许可 var PermissionEciInfo = list.Result.Data.GetType().GetProperty("PermissionEciInfo").GetValue(list.Result.Data); if (PermissionEciInfo != null) { IEnumerable slist = PermissionEciInfo as IEnumerable; foreach (var item in slist) { //绿色 //有效期自 var ValidityFrom = item.GetType().GetProperty("ValidityFrom").GetValue(item); // 许可文件名称 var LicensDocName = item.GetType().GetProperty("LicensDocName").GetValue(item); //许可文件编号 var LicensDocNo = item.GetType().GetProperty("LicensDocNo").GetValue(item); //有效期至 var ValidityTo = item.GetType().GetProperty("ValidityTo").GetValue(item); //许可内容 var LicensContent = item.GetType().GetProperty("LicensContent").GetValue(item); //许可机关 var LicensOffice = item.GetType().GetProperty("LicensOffice").GetValue(item); if (ValidityFrom != null && IsDate(ValidityFrom.ToString()) && ValidityTo != null && IsDate(ValidityTo.ToString())) { List comDynamicContentlist = new List(); int WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = ValidityFrom }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "行政许可" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "许可文件名称", Value = LicensDocName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "许可文件编号", Value = LicensDocNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "有效期", Value = (IsDate(ValidityFrom) == true ? ValidityFrom : "--") + "~" + (IsDate(ValidityTo) == true ? ValidityTo : "--") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "许可机关", Value = LicensOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "许可内容", Value = LicensContent }); List arr = new List(); arr.Add(item); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-行政许可", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(ValidityFrom) == true ? ValidityFrom.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } //获取股东/发起人 var Partners = list.Result.Data.GetType().GetProperty("Partners").GetValue(list.Result.Data); if (Partners != null) { IEnumerable slist = Partners as IEnumerable; foreach (var item in slist) { //认缴出资日期 var ShoudDate = item.GetType().GetProperty("ShoudDate").GetValue(item); //股东/发起人 var StockName = item.GetType().GetProperty("StockName").GetValue(item); //出资比例 var StockPercent = item.GetType().GetProperty("StockPercent").GetValue(item); //认缴出资方式 var InvestType = item.GetType().GetProperty("InvestType").GetValue(item); //认缴出资金额 var ShouldCapi = item.GetType().GetProperty("ShouldCapi").GetValue(item); //实缴出资方式 //实缴出资金额 var RealCapi = item.GetType().GetProperty("RealCapi").GetValue(item); //实缴出资日期 var CapiDate = item.GetType().GetProperty("CapiDate").GetValue(item); if (ShoudDate != null && ShoudDate.ToString() != "") { //绿色 List comDynamicContentlist = new List(); int WarnLevel = 1; List arr = new List(); arr.Add(item); //股东/发起人认缴出资 comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股东/发起人出资信息-认缴出资" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股东/发起人", Value = StockName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "出资比例", Value = StockPercent }); comDynamicContentlist.Add(new ComDynamicContent { Name = "认缴出资方式", Value = InvestType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "认缴出资金额", Value = ShouldCapi + "万人民币" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "认缴出资日期", Value = ShoudDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实缴出资方式", Value = "--" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实缴出资金额", Value = RealCapi }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实缴出资日期", Value = CapiDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-股东/发起人出资信息", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(ShoudDate) == true ? ShoudDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (CapiDate != null && CapiDate.ToString() != "") { //绿色 List comDynamicContentlist = new List(); int WarnLevel = 1; List arr = new List(); arr.Add(item); //股东/发起人认缴出资 comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = CapiDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股东/发起人出资信息-实缴出资" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股东/发起人", Value = StockName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "出资比例", Value = StockPercent }); comDynamicContentlist.Add(new ComDynamicContent { Name = "认缴出资方式", Value = InvestType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "认缴出资金额", Value = ShouldCapi + "万人民币" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "认缴出资日期", Value = ShoudDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实缴出资方式", Value = "--" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实缴出资金额", Value = RealCapi }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-股东/发起人出资信息", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(CapiDate) == true ? CapiDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } //主要人员 var EmployeesNow = list.Result.Data.GetType().GetProperty("Employees").GetValue(list.Result.Data); if (EmployeesNow != null) { IEnumerable slist = EmployeesNow as IEnumerable; if (slist.Count() > 0) { //黄色 var CurrentInfo = GetEventTypeFirst(Name, "深度信息-基本信息-主要人员");//历史信息 int WarnLevel = 2; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "主要人员变动" }); //补充变更类型 var Info = (List)EmployeesNow; List listChangeType = new List(); if (CurrentInfo != null) { //上次情况对比 var LastInfo = JsonHelper.ToList(CurrentInfo.Detail); //var Newlist = (from x in Info where LastInfo.Select(p => p.Name).Contains(x.Name) select x).ToList(); var Newlist = Info.Select(p => p.Name).Except(LastInfo.Select(p => p.Name)) .ToList(); if (Newlist != null && Newlist.Count > 0) { foreach (var item in Newlist) { listChangeType.Add("主要人员新增"); break; } } foreach (var item in LastInfo) { var Sel = Info.FirstOrDefault(p => p.Name == item.Name); if (Sel != null) { if (Sel.Job != item.Job && !listChangeType.Contains("主要人员职位变更")) { listChangeType.Add("主要人员职位变更"); } } else { if (!listChangeType.Contains("主要人员调出")) { listChangeType.Add("主要人员调出"); } } } string Tips = "发生" + string.Join(",", listChangeType.ToArray()) + "等事项"; comDynamicContentlist.Add(new ComDynamicContent { Name = "内容", Value = Tips }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-主要人员", Detail = JsonHelper.ToJson(EmployeesNow), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (CurrentInfo != null) { if (ExistComDynamicEva(comDynamicEva) == false && listChangeType.Count > 0) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } //抽样检查 var SpotCheck = list.Result.Data.GetType().GetProperty("SpotCheck").GetValue(list.Result.Data); if (SpotCheck != null) { IEnumerable slist = SpotCheck as IEnumerable; foreach (var item in slist) { //登记编号 var No = item.GetType().GetProperty("No").GetValue(item); //检查实施机关 var ExecutiveOrg = item.GetType().GetProperty("ExecutiveOrg").GetValue(item); //类型 var Type = item.GetType().GetProperty("Type").GetValue(item); //日期 var Date = item.GetType().GetProperty("Date").GetValue(item); //结果 var Consequence = item.GetType().GetProperty("Consequence").GetValue(item); //备注 var Remark = item.GetType().GetProperty("Remark").GetValue(item); if (Date != null) { //绿色 List comDynamicContentlist = new List(); int WarnLevel = 0; if (ExecutiveOrg != null && (ExecutiveOrg.ToString().Contains("未发现问题") || ExecutiveOrg.ToString().Contains("未发现开展本次抽查涉及的经营活动") || ExecutiveOrg.ToString().Contains("合格"))) { WarnLevel = 1; } else if (Consequence != null && (Consequence.ToString().Contains("未发现问题") || Consequence.ToString().Contains("未发现开展本次抽查涉及的经营活动") || Consequence.ToString().Contains("合格"))) { WarnLevel = 1; } else { WarnLevel = 2; } List arr = new List(); arr.Add(item); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Date }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "抽查检查" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "检查类型", Value = Type }); comDynamicContentlist.Add(new ComDynamicContent { Name = "检查实施机关", Value = ExecutiveOrg }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记编号", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "检查结果", Value = Consequence }); comDynamicContentlist.Add(new ComDynamicContent { Name = "备注", Value = Remark }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-抽查检查", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(Date) == true ? Date.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } var RegistCapis = list.Result.Data.GetType().GetProperty("RegistCapi").GetValue(list.Result.Data); if (RegistCapis != null) { var RegistCapiStr = RegistCapis.ToString().Replace("万元人民币", ""); RegistCapiMoney = IsDouble(RegistCapiStr) == true ? double.Parse(RegistCapiStr) * 10000 : 0; } var Exceptions = list.Result.Data.GetType().GetProperty("Exceptions").GetValue(list.Result.Data); if (Exceptions != null) { var Exceptionlist = Exceptions as IEnumerable; foreach (var itemex in Exceptionlist) { //列入日期 var AddDate = itemex.GetType().GetProperty("AddDate").GetValue(itemex); //列入经营异常名录原因 var AddReason = itemex.GetType().GetProperty("AddReason").GetValue(itemex); //作出决定机关(列入) var DecisionOffice = itemex.GetType().GetProperty("DecisionOffice").GetValue(itemex); //移出经营异常名录原因 var RomoveReason = itemex.GetType().GetProperty("RomoveReason").GetValue(itemex); //移出日期 var RemoveDate = itemex.GetType().GetProperty("RemoveDate").GetValue(itemex); //作出决定机关(移出) var RemoveDecisionOffice = itemex.GetType().GetProperty("RemoveDecisionOffice").GetValue(itemex); int WarnLevel = 1; if (AddDate != null && IsDate(AddDate)) { List arr = new List(); arr.Add(itemex); if (AddReason != null) { var AddReasonStr = AddReason.ToString(); if (AddReasonStr.Contains("企业未按规定公示年报") || AddReasonStr.Contains("未按照工商部门责令的期限公示有关企业信息") || AddReasonStr.Contains("通过登记的住所或者经营场所无法联系企业") && ((RomoveReason == null || RomoveReason.ToString() == "") && (RemoveDate == null || RemoveDate.ToString() == "") && (RemoveDecisionOffice == null || RemoveDecisionOffice.ToString() == ""))) { WarnLevel = 2; } else if (AddReasonStr.Contains("公示信息隐瞒真实情况") || AddReasonStr.Contains("弄虚作假") && ((RomoveReason == null || RomoveReason.ToString() == "") && (RemoveDate == null || RemoveDate.ToString() == "") && (RemoveDecisionOffice == null || RemoveDecisionOffice.ToString() == ""))) { WarnLevel = 2; } else { WarnLevel = 1; } } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AddDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "经营异常-列入经营异常名录" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "列入经营异常名录原因", Value = AddReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(列入)", Value = DecisionOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(移出)", Value = RemoveDecisionOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "移出日期", Value = RemoveDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-经营异常", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(AddDate) == true ? AddDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (RemoveDate != null && IsDate(RemoveDate)) { List arr = new List(); arr.Add(itemex); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AddDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "经营异常-移出经营异常名录" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "列入经营异常名录原因", Value = AddReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "列入日期", Value = DecisionOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "移出经营异常名录原因", Value = RemoveDecisionOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(移出)", Value = RemoveDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-经营异常", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(AddDate) == true ? AddDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("获取全部信息" + a.ToString()); } } /// /// 获取企业年报信息 /// /// public void GetAnnualReport(string Name, int ReportId) { var list = qiChaCha.GetAnnualReport(Name); if (list != null && list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { IEnumerable slist = list.Result.Data as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); //((dynamic)item).TotalItems = 0; //((dynamic)item).PrimaryId = 0; //((dynamic)item).ItemIndex = 0; var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); var Year = item.GetType().GetProperty("Year").GetValue(item); if (PublishDate != null && IsDate(PublishDate.ToString())) { if (PublishDate != null && IsDate(PublishDate.ToString())) { List comDynamicContentlist = new List(); int WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "企业年报" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "内容", Value = Year }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-基本信息-企业年报", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(PublishDate) == true ? Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 获取实际控制人 /// /// public void GetSuspectedActualControl(string Name) { var list = qiChaCha.GetSuspectedActualControl(Name); if (list.Result.Data != null) { object ControllerData = list.Result.Data.GetType().GetProperty("ControllerData").GetValue(list.Result.Data); if (ControllerData != null) { var CurrentInfo = GetEventTypeFirst(Name, "深度信息-企业图谱-实际控制人"); //实际控制人姓名 var ActualName = ControllerData.GetType().GetProperty("Name").GetValue(ControllerData).ToString(); ActualNamestr = ActualName; //持股比例 var PercentTotal = ControllerData.GetType().GetProperty("PercentTotal").GetValue(ControllerData).ToString(); //red int WarnLevel = 2; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-企业图谱-实际控制人", Detail = JsonHelper.ToJson(ControllerData), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { if (CurrentInfo != null) { var DataInfo = JsonHelper.ToObject(CurrentInfo.Detail); //实际控制人姓名 var CurrentActualName = ((dynamic)DataInfo).Name; //持股比例 var CurrentPercentTotal = ((dynamic)DataInfo).PercentTotal; if (CurrentActualName != null && CurrentPercentTotal != null) { if (Convert.ToString(CurrentActualName) != ActualName) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "实际控制人变动" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = "实际控制人为" + CurrentActualName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = "实际控制人为" + ActualName }); comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } else if (Convert.ToString(CurrentPercentTotal) != PercentTotal) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "实际控制人变动" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = "实际控制人(" + CurrentActualName + ")总股权比例为" + CurrentPercentTotal }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = "实际控制人(" + CurrentActualName + ")总股权比例为" + PercentTotal }); comDynamicEva.WarnLevel = 1; comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 获取股权穿透图/结构图 /// /// /// public void GetEquityThroughAndInvestV2(string Name, int TypeId) { if (TypeId == 1) { var list = qiChaCha.GetEquityThroughAndInvestV2(Name, 0, 0, false, false); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { //黄色 int WarnLevel = 2; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股权结构变动" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-企业图谱-股权结构图", Detail = JsonHelper.ToJson(list.Result.Data), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; var CurrentInfo = GetEventTypeFirst(Name, "深度信息-企业图谱-股权结构图"); if (CurrentInfo != null) { if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } else if (TypeId == 2) { var list = qiChaCha.GetEquityThroughAndInvestV2(Name, 0, 0, true, false); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { //黄色 int WarnLevel = 2; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股权穿透图变动" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-企业图谱-股权穿透图", Detail = JsonHelper.ToJson(list.Result.Data), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; var CurrentInfo = GetEventTypeFirst(Name, "深度信息-企业图谱-股权穿透图"); if (CurrentInfo != null) { if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } /// /// 获取招投标信息 /// /// public void GetTender(string Name,int ReportId) { try { var list = qiChaCha.GetTender(Name, 1, 10); if (list.Result.Data != null && list.Result.Message != "查询无结果" && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; //((dynamic)item).Id = 0; var ChannelName = item.GetType().GetProperty("ChannelName").GetValue(item); var ProvinceName = item.GetType().GetProperty("ProvinceName").GetValue(item); var Pubdate = item.GetType().GetProperty("Pubdate").GetValue(item); var Title = item.GetType().GetProperty("Title").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); if (Pubdate != null && IsDate(Pubdate.ToString())) { //绿色 int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(Pubdate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "招投标" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "招投标内容", Value = $"{Title.ToString()}" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "所属地区", Value = ProvinceName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目分类", Value = ChannelName }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-招投标", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(Pubdate) == true ? Pubdate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if(ExistComDynamicEvaContentOnly(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("获取招投标" + a.ToString()); } } /// /// 获取购地信息 /// /// public void GetLandPurchaseList(string Name,int ReportId) { try { var list = qiChaCha.GetLandPurchaseList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var Address = item.GetType().GetProperty("Address").GetValue(item); var AdminArea = item.GetType().GetProperty("AdminArea").GetValue(item); var Area = item.GetType().GetProperty("Area").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); var LandUse = item.GetType().GetProperty("LandUse").GetValue(item); var SignTime = item.GetType().GetProperty("SignTime").GetValue(item); var SupplyWay = item.GetType().GetProperty("SupplyWay").GetValue(item); if (SignTime != null && IsDate(SignTime.ToString())) { //绿色 int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(SignTime).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "购地信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目所属行政区", Value = AdminArea }); comDynamicContentlist.Add(new ComDynamicContent { Name = "位置", Value = Address }); comDynamicContentlist.Add(new ComDynamicContent { Name = "面积(公顷)", Value = Area }); comDynamicContentlist.Add(new ComDynamicContent { Name = "供地方式", Value = SupplyWay }); comDynamicContentlist.Add(new ComDynamicContent { Name = "土地用途", Value = LandUse }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-购地信息", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(SignTime) == true ? SignTime.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("获取购地信息" + a.ToString()); } } /// /// 获取商标信息 /// /// public void GetTrademark(string Name,int ReportId) { try { var list = qiChaCha.GetTrademark(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var ImageUrl = item.GetType().GetProperty("ImageUrl").GetValue(item); var TrademarkName = item.GetType().GetProperty("Name").GetValue(item); var StatusDesc = item.GetType().GetProperty("StatusDesc").GetValue(item); var AppDate = item.GetType().GetProperty("AppDate").GetValue(item); var RegNo = item.GetType().GetProperty("RegNo").GetValue(item); var Category = item.GetType().GetProperty("Category").GetValue(item); var IntCls = item.GetType().GetProperty("IntCls").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); if (AppDate != null && IsDate(AppDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(AppDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "商标信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "商标", Value = ImageUrl }); comDynamicContentlist.Add(new ComDynamicContent { Name = "商标名", Value = TrademarkName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "国际分类", Value = IntCls }); comDynamicContentlist.Add(new ComDynamicContent { Name = "商标状态", Value = StatusDesc }); comDynamicContentlist.Add(new ComDynamicContent { Name = "申请/注册号", Value = RegNo }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-商标信息", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(AppDate) == true ? AppDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("获取商标信息" + a.ToString()); } } /// /// 新闻舆情 /// /// public void GetCompanyNews(string Name,int ReportId) { try { var list = qiChaCha.GetCompanyNews(Name, "", 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; var EmotionTypeDesc = item.GetType().GetProperty("EmotionTypeDesc").GetValue(item); var Title = item.GetType().GetProperty("Title").GetValue(item); var PublishTime = item.GetType().GetProperty("PublishTime").GetValue(item); var Source = item.GetType().GetProperty("Source").GetValue(item); if (PublishTime != null && IsDate(PublishTime)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishTime).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "新闻舆论" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "新闻标题", Value = Title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发布来源", Value = Source }); int WarnLevel = 0; if (EmotionTypeDesc.ToString()!="消极") { WarnLevel = 1; } else { WarnLevel = 2; } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-新闻舆论", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(PublishTime) == true ? PublishTime.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("获取新闻舆论" + a.ToString()); } } /// /// 专利信息 /// /// public void GetPatent(string Name,int ReportId) { try { var list = qiChaCha.GetPatent(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var KindCodeDesc = item.GetType().GetProperty("KindCodeDesc").GetValue(item); var PublicationNumber = item.GetType().GetProperty("PublicationNumber").GetValue(item); var PublicationDate = item.GetType().GetProperty("PublicationDate").GetValue(item); var Title = item.GetType().GetProperty("Title").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); if (PublicationDate != null && IsDate(PublicationDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublicationDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "专利信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "专利名称", Value = Title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "专利类型", Value = KindCodeDesc }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公开(公告)号", Value = PublicationNumber }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-专利信息", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(PublicationDate) == true ? PublicationDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("专利信息" + a.ToString()); } } /// /// 资质证书 /// /// public void GetCertification(string Name,int ReportId) { try { var list = qiChaCha.GetCertification(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var TypeDesc = item.GetType().GetProperty("TypeDesc").GetValue(item); //证书名称 var CreName = item.GetType().GetProperty("Name").GetValue(item); var No = item.GetType().GetProperty("No").GetValue(item); var StartDate = item.GetType().GetProperty("StartDate").GetValue(item); var EndDate = item.GetType().GetProperty("EndDate").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); if (StartDate != null && IsDate(StartDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(StartDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "资质证书-取得证书" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书名称", Value = CreName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书类型", Value = TypeDesc }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书编号", Value = No }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-资质证书", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(StartDate) == true ? StartDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else if (EndDate != null && IsDate(EndDate.ToString()) && DateTime.Now > Convert.ToDateTime(EndDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(EndDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "资质证书-证书到期" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书名称", Value = CreName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书类型", Value = TypeDesc }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书编号", Value = No }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-资质证书", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(EndDate) == true ? EndDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } catch (Exception a) { LogHelper.Error("获取资格证书" + a.ToString()); } } /// /// 作品著作权 /// /// public void GetCopyRight(string Name,int ReportId) { try { var list = qiChaCha.GetCopyRight(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var RigthName = item.GetType().GetProperty("Name").GetValue(item); var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); //创作完成日期 var FinishDate = item.GetType().GetProperty("FinishDate").GetValue(item); var RegisterNo = item.GetType().GetProperty("RegisterNo").GetValue(item); var RegisterDate = item.GetType().GetProperty("RegisterDate").GetValue(item); var Category = item.GetType().GetProperty("Category").GetValue(item); if (PublishDate != null && IsDate(PublishDate.ToString()) && FinishDate != null && IsDate(FinishDate.ToString()) && RegisterDate != null && IsDate(RegisterDate.ToString())) { //创作时间 if (DateTime.Now > Convert.ToDateTime(FinishDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(FinishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "作品著作权-创作完成" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作品名称", Value = RigthName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记号", Value = RegisterNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记日期", Value = RegisterDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "首次发表日期", Value = PublishDate }); int WarnLevel = 1; List arr = new List(); arr.Add(item); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-作品著作权", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(FinishDate) == true ? FinishDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } //首次发表 else if (DateTime.Now > Convert.ToDateTime(PublishDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "作品著作权-首次发表" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作品名称", Value = RigthName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记号", Value = RegisterNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记日期", Value = RegisterDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "创作完成日期", Value = FinishDate }); int WarnLevel = 1; List arr = new List(); arr.Add(item); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-作品著作权", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublishDate) == true ? PublishDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else if (DateTime.Now > Convert.ToDateTime(RegisterDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(RegisterDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "作品著作权-登记" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作品名称", Value = RigthName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记号", Value = RegisterNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "创作完成时间", Value = FinishDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "首次发表日期", Value = PublishDate }); int WarnLevel = 1; List arr = new List(); arr.Add(item); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-作品著作权", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(RegisterDate) == true ? RegisterDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } catch (Exception a) { LogHelper.Error("获取作品著作权" + a.ToString()); } } /// /// 工程项目-建筑资质 /// /// public void GetBuildingProjectList(string Name,int ReportId) { var list = qiChaCha.GetBuildingProjectList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var Id = item.GetType().GetProperty("Id").GetValue(item); //项目编码 var No = item.GetType().GetProperty("No").GetValue(item); //项目名称 var ProjectName = item.GetType().GetProperty("ProjectName").GetValue(item); //项目属地 var Region = item.GetType().GetProperty("Region").GetValue(item); //项目类别 var Category = item.GetType().GetProperty("Category").GetValue(item); //建设单位 var ConsCoyList = item.GetType().GetProperty("ConsCoyList").GetValue(item); var sConsCoyList = (ConsCoyList as IEnumerable).ToList(); string ConsCoyName = sConsCoyList.Count == 0 ? "--" : ((dynamic)sConsCoyList[0]).Name; var Detail = qiChaCha.GetBuildingProjectDetail(Id.ToString()); if (Detail.Result.Data != null) { ((dynamic)Detail.Result.Data).CreateTime = DateTime.Parse("1900-01-01"); //招投标 var TenderList = Detail.Result.Data.GetType().GetProperty("TenderList").GetValue(Detail.Result.Data); if (TenderList != null) { IEnumerable sTenderList = TenderList as IEnumerable; foreach (var itemTend in sTenderList) { //中标单位名称 var BidWinCoy = itemTend.GetType().GetProperty("BidWinCoy").GetValue(itemTend); //招标类型 var Type = itemTend.GetType().GetProperty("Type").GetValue(itemTend); //招标方式 var Way = itemTend.GetType().GetProperty("Way").GetValue(itemTend); //中标日期 var BidWinDate = itemTend.GetType().GetProperty("BidWinDate").GetValue(itemTend); //中标金额 var BidWinAmt = itemTend.GetType().GetProperty("BidWinAmt").GetValue(itemTend); //中标通知书编号 var NoticeNo = itemTend.GetType().GetProperty("NoticeNo").GetValue(itemTend); //省级中标通知书编号 var PrNoticeNo = itemTend.GetType().GetProperty("PrNoticeNo").GetValue(itemTend); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = BidWinDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-工程项目-招投标" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目名称", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目属地", Value = Region }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目编码", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "建设单位", Value = ConsCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "中标单位名称", Value = BidWinCoy }); comDynamicContentlist.Add(new ComDynamicContent { Name = "招标类型", Value = Type }); comDynamicContentlist.Add(new ComDynamicContent { Name = "招标方式", Value = Way }); comDynamicContentlist.Add(new ComDynamicContent { Name = "中标金额", Value = BidWinAmt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "中标通知书编号", Value = NoticeNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "省级中标通知书编号", Value = PrNoticeNo }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(itemTend), ContentTime = IsDate(BidWinDate) == true ? BidWinDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } //施工图审查 var DrawingCheckList = Detail.Result.Data.GetType().GetProperty("DrawingCheckList").GetValue(Detail.Result.Data); if (DrawingCheckList != null) { IEnumerable sDrawingCheckList = DrawingCheckList as IEnumerable; foreach (var itemTend in sDrawingCheckList) { var DesignCoyName = ""; //设计单位名称 var DesignCoy = itemTend.GetType().GetProperty("DesignCoy").GetValue(itemTend); if (DesignCoy != null) { DesignCoyName = ((dynamic)DesignCoy).Name; } //勘察单位名称 var AuditCoy = itemTend.GetType().GetProperty("AuditCoy").GetValue(itemTend); var AuditCoyName = ""; if (AuditCoy != null) { AuditCoyName = ((dynamic)AuditCoy).Name; } //施工图审查合格证书编号 var DocNo = itemTend.GetType().GetProperty("DocNo").GetValue(itemTend); //省级施工图审核合格书编号 var PrDocNo = itemTend.GetType().GetProperty("PrDocNo").GetValue(itemTend); //施工图审查机构名称 var InvestigateCoy = itemTend.GetType().GetProperty("InvestigateCoy").GetValue(itemTend); var InvestigateCoyName = ""; if (InvestigateCoy != null) { InvestigateCoyName = ((dynamic)InvestigateCoy).Name; } //审查完成日期 var FinishDate = itemTend.GetType().GetProperty("FinishDate").GetValue(itemTend); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = FinishDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-工程项目-施工图审查" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目名称", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目属地", Value = Region }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目编码", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "建设单位", Value = ConsCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "设计单位名称", Value = DesignCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "勘察单位名称", Value = AuditCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "施工图审查合格证书编号", Value = DocNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "省级施工图审核合格书编号", Value = PrDocNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "施工图审查机构名称", Value = InvestigateCoyName }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(itemTend), ContentTime = IsDate(FinishDate) == true ? FinishDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } //合同备案 var ContractRecordList = Detail.Result.Data.GetType().GetProperty("ContractRecordList").GetValue(Detail.Result.Data); if (ContractRecordList != null) { IEnumerable sContractRecordList = ContractRecordList as IEnumerable; foreach (var itemTend in sContractRecordList) { //合同类型 var ItemCategory = itemTend.GetType().GetProperty("Category").GetValue(itemTend); //合同金额 var Amount = itemTend.GetType().GetProperty("Amount").GetValue(itemTend); //合同签订日期 var SignDate = itemTend.GetType().GetProperty("SignDate").GetValue(itemTend); //合同备案编号 var RecordNo = itemTend.GetType().GetProperty("RecordNo").GetValue(itemTend); //省级合同备案编号 var PrRecordNo = itemTend.GetType().GetProperty("PrRecordNo").GetValue(itemTend); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = SignDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-工程项目-合同备案" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目名称", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目属地", Value = Region }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目编码", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "建设单位", Value = ConsCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "合同类型", Value = ItemCategory }); comDynamicContentlist.Add(new ComDynamicContent { Name = "合同金额", Value = Amount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "合同备案编号", Value = RecordNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "省级合同备案编号", Value = PrRecordNo }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(itemTend), ContentTime = IsDate(SignDate) == true ? SignDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } //施工许可 var ConstructLicList = Detail.Result.Data.GetType().GetProperty("ConstructLicList").GetValue(Detail.Result.Data); if (ContractRecordList != null) { IEnumerable sConstructLicList = ConstructLicList as IEnumerable; foreach (var itemTend in sConstructLicList) { //面积 var Area = itemTend.GetType().GetProperty("Area").GetValue(itemTend); //合同金额 var Amount = itemTend.GetType().GetProperty("Amount").GetValue(itemTend); //发证日期 var LicenseDate = itemTend.GetType().GetProperty("LicenseDate").GetValue(itemTend); //施工许可证编号 var DocNo = itemTend.GetType().GetProperty("DocNo").GetValue(itemTend); //省级施工许可证编号 var PrDocNo = itemTend.GetType().GetProperty("PrDocNo").GetValue(itemTend); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = LicenseDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-工程项目-施工许可" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目名称", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目属地", Value = Region }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目编码", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "建设单位", Value = ConsCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "合同金额", Value = Amount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "面积", Value = Area }); comDynamicContentlist.Add(new ComDynamicContent { Name = "施工许可证编号", Value = DocNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "省级施工许可证编号", Value = PrDocNo }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(itemTend), ContentTime = IsDate(LicenseDate) == true ? LicenseDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } //竣工验收备案 var FinishVerifyList = Detail.Result.Data.GetType().GetProperty("FinishVerifyList").GetValue(Detail.Result.Data); if (FinishVerifyList != null) { IEnumerable sFinishVerifyList = FinishVerifyList as IEnumerable; foreach (var itemTend in sFinishVerifyList) { //实际造价 var Price = itemTend.GetType().GetProperty("Price").GetValue(itemTend); //实际面积 var Area = itemTend.GetType().GetProperty("Area").GetValue(itemTend); //实际开工日期 var StartDate = itemTend.GetType().GetProperty("StartDate").GetValue(itemTend); //实际竣工验收日期 var VerifyDate = itemTend.GetType().GetProperty("VerifyDate").GetValue(itemTend); //竣工备案编号 var RecordNo = itemTend.GetType().GetProperty("RecordNo").GetValue(itemTend); //省级竣工备案编号 var PrRecordNo = itemTend.GetType().GetProperty("PrRecordNo").GetValue(itemTend); if (StartDate != null && IsDate(StartDate)) { if (DateTime.Now > Convert.ToDateTime(StartDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = StartDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-工程项目-竣工验收备案-实际开工" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目名称", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目属地", Value = Region }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目编码", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "建设单位", Value = ConsCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际造价", Value = Price }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际面积", Value = Area }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际竣工验收日期", Value = VerifyDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "竣工备案编号", Value = RecordNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "省级竣工备案编号", Value = PrRecordNo }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(itemTend), ContentTime = IsDate(StartDate) == true ? StartDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } if (VerifyDate != null && IsDate(VerifyDate)) { if (DateTime.Now > Convert.ToDateTime(VerifyDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = VerifyDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "工程项目-竣工验收备案-实际竣工验收" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目名称", Value = ProjectName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目类别", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目属地", Value = Region }); comDynamicContentlist.Add(new ComDynamicContent { Name = "项目编码", Value = No }); comDynamicContentlist.Add(new ComDynamicContent { Name = "建设单位", Value = ConsCoyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际造价", Value = Price }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际面积", Value = Area }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际开工日期", Value = StartDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "竣工备案编号", Value = RecordNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "省级竣工备案编号", Value = PrRecordNo }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(itemTend), ContentTime = IsDate(VerifyDate) == true ? VerifyDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } } } } /// /// 软件著作权 /// /// public void GetCopyRightSoftware(string Name,int ReportId) { var list = qiChaCha.GetCopyRightSoftware(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; var RigthName = item.GetType().GetProperty("Name").GetValue(item); var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); var VersionNo = item.GetType().GetProperty("VersionNo").GetValue(item); var RegisterAperDate = item.GetType().GetProperty("RegisterAperDate").GetValue(item); var ShortName = item.GetType().GetProperty("ShortName").GetValue(item); var RegisterNo = item.GetType().GetProperty("RegisterNo").GetValue(item); if (PublishDate != null && IsDate(PublishDate.ToString()) && RegisterAperDate != null && IsDate(RegisterAperDate.ToString())) { //登记时间 if (DateTime.Now > Convert.ToDateTime(RegisterAperDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(RegisterAperDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "软件著作权-登记批准" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "软件名称", Value = RigthName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "简称", Value = ShortName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "版本号", Value = VersionNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记号", Value = RegisterNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发布日期", Value = PublishDate }); int WarnLevel = 1; List Arr = new List(); Arr.Add(item); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-软件著作权", Detail = JsonHelper.ToJson(Arr.ToArray()), ContentTime = IsDate(RegisterAperDate) == true ? RegisterAperDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else if (DateTime.Now > Convert.ToDateTime(PublishDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "软件著作权-发布" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "软件名称", Value = RigthName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "简称", Value = ShortName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "版本号", Value = VersionNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记号", Value = RegisterNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记批准日期", Value = RegisterAperDate }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-软件著作权", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(PublishDate) == true ? PublishDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } //招聘信息 public void GetRecruitment(string Name,int ReportId) { var list = qiChaCha.GetRecruitment(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; //发布时间 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); //招聘岗位 var Title = item.GetType().GetProperty("Title").GetValue(item); //月薪 var Salary = item.GetType().GetProperty("Salary").GetValue(item); //学历 var Education = item.GetType().GetProperty("Education").GetValue(item); //经验 var Experience = item.GetType().GetProperty("Experience").GetValue(item); var ProvinceDesc = item.GetType().GetProperty("ProvinceDesc").GetValue(item); if (PublishDate != null && IsDate(PublishDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "招聘信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "招聘职位", Value = Title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "月薪", Value = Salary }); comDynamicContentlist.Add(new ComDynamicContent { Name = "学历及相关工作经验", Value = Education + "," + Experience }); comDynamicContentlist.Add(new ComDynamicContent { Name = "所在城市", Value = ProvinceDesc }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-招聘信息", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(PublishDate) == true ? PublishDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 竞品信息 /// /// public void GetQxbEntCompetitionByName(string Name,int ReportId) { var list = qxbService.GetQxbEntCompetitionByName(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //竞品名称 var name = item.GetType().GetProperty("name").GetValue(item); //融资轮次 var round = item.GetType().GetProperty("round").GetValue(item); //竞品运营状态 var operate_status = item.GetType().GetProperty("operate_status").GetValue(item); //企业名称 var ename = item.GetType().GetProperty("ename").GetValue(item); //成立日期 var date = item.GetType().GetProperty("date").GetValue(item); //简介 var brief = item.GetType().GetProperty("brief").GetValue(item); //竞品标签 var category = item.GetType().GetProperty("category").GetValue(item); List arr = new List(); arr.Add(item); if (date != null && IsDate(date.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(date).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "竞品信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "竞品名称", Value = name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "融资轮次", Value = round }); comDynamicContentlist.Add(new ComDynamicContent { Name = "竞品运营状态", Value = operate_status }); comDynamicContentlist.Add(new ComDynamicContent { Name = "竞品所属企业", Value = ename }); comDynamicContentlist.Add(new ComDynamicContent { Name = "所属企业成立日期", Value = date }); comDynamicContentlist.Add(new ComDynamicContent { Name = "简介", Value = brief }); comDynamicContentlist.Add(new ComDynamicContent { Name = "竞品标签", Value = category }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-竞品信息", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(date) == true ? date.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 获取地块公示 /// /// public void GetLandPublishList(string Name,int ReportId) { var list = qiChaCha.GetLandPublishList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; //地块位置 var Address = item.GetType().GetProperty("Address").GetValue(item); var AdminArea = item.GetType().GetProperty("AdminArea").GetValue(item); var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); var PublishGov = item.GetType().GetProperty("PublishGov").GetValue(item); if (PublishDate != null && IsDate(PublishDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "地块公示" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "地块位置", Value = Address }); comDynamicContentlist.Add(new ComDynamicContent { Name = "行政区", Value = AdminArea }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发布机关", Value = PublishGov }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-地块公示", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(PublishDate) == true ? PublishDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { //comDynamicDal.AddComDynamic(comDynamic); } } } } } } /// /// 进出口信用 /// /// public void GetOperationCheckList(string Name,int ReportId) { var list = qiChaCha.GetOperationCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; //注册海关 var RegGov = item.GetType().GetProperty("RegGov").GetValue(item); //经营类别 var TradeType = item.GetType().GetProperty("TradeType").GetValue(item); //注册日期 var RegDate = item.GetType().GetProperty("RegDate").GetValue(item); if (RegDate != null && IsDate(RegDate.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(RegDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "进出口信用" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "注册海关", Value = RegGov }); comDynamicContentlist.Add(new ComDynamicContent { Name = "经营类别", Value = TradeType }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-进出口信用", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(RegDate) == true ? RegDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 资质资格-建筑资质 /// /// public void GetQualificationList(string Name,int ReportId) { var list = qiChaCha.GetQualificationList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //资质类别 var Category = item.GetType().GetProperty("Category").GetValue(item); //证书编号 var CertNo = item.GetType().GetProperty("CertNo").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); //资质名称 var CertName = item.GetType().GetProperty("CertName").GetValue(item); //发证日期 var SignDate = item.GetType().GetProperty("SignDate").GetValue(item); //证书有效期 var ValidPeriod = item.GetType().GetProperty("ValidPeriod").GetValue(item); //发证机关 var SignDept = item.GetType().GetProperty("SignDept").GetValue(item); if (SignDate != null && IsDate(SignDate.ToString()) && ValidPeriod != null && IsDate(ValidPeriod.ToString())) { if (DateTime.Now > Convert.ToDateTime(SignDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(SignDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-资质资格-取得证书" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "资质名称", Value = CertName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "资质类型", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "资质证书号", Value = CertNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发证机关", Value = SignDept }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书到期日", Value = ValidPeriod }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(SignDate) == true ? SignDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (DateTime.Now > Convert.ToDateTime(ValidPeriod)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(ValidPeriod).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "建筑资质-资质资格-证书到期" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "资质名称", Value = CertName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "资质类型", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "资质证书号", Value = CertNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发证机关", Value = SignDept }); comDynamicContentlist.Add(new ComDynamicContent { Name = "证书到期日", Value = SignDate }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-建筑资质", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(ValidPeriod) == true ? ValidPeriod.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 税务评级 /// /// public void GetTycTaxCredit(string Name,int ReportId) { var list = tianYanCha.GetTaxCredit(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; List arr = new List(); arr.Add(item); int WarnLevel = 0; //评价年度 var year = item.GetType().GetProperty("year").GetValue(item); //纳税人信用级别 var grade = item.GetType().GetProperty("grade").GetValue(item).ToString(); if (grade == "A" || grade == "B" || grade == "M") { WarnLevel = 1; } else if (grade == "C") { WarnLevel = 2; } else { WarnLevel = 3; } //类型 var type = item.GetType().GetProperty("type").GetValue(item); //纳税人识别号 var idNumber = item.GetType().GetProperty("idNumber").GetValue(item); //评价单位 var evalDepartment = item.GetType().GetProperty("evalDepartment").GetValue(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "经营信息-税务评级" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "纳税人信用级别", Value = grade }); comDynamicContentlist.Add(new ComDynamicContent { Name = "评价年度", Value = year }); comDynamicContentlist.Add(new ComDynamicContent { Name = "税务评级类型", Value = type }); comDynamicContentlist.Add(new ComDynamicContent { Name = "纳税人识别号", Value = idNumber }); comDynamicContentlist.Add(new ComDynamicContent { Name = "评价单位", Value = evalDepartment }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-税务评级", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; int yearTmp = 0; Int32.TryParse(year.ToString(), out yearTmp); if(ExistComDynamicEva(comDynamicEva) == false && yearTmp > 0) { if (DateTime.Now.Year == yearTmp) { comDynamicEva.BlankFlag = false; } else { comDynamicEva.BlankFlag = true; } var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 一般纳税人 /// /// public void GetTycTaxpayer(string Name,int ReportId) { var list = tianYanCha.GetTaxpayer(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; int WarnLevel = 1; //纳税人名称 var name = item.GetType().GetProperty("name").GetValue(item); //纳税人识别号 var taxpayerIdentificationNumber = item.GetType().GetProperty("taxpayerIdentificationNumber").GetValue(item); //纳税人资格类型 var taxpayerQualificationType = item.GetType().GetProperty("taxpayerQualificationType").GetValue(item); //有效期止 var endDate = item.GetType().GetProperty("endDate").GetValue(item); List arr = new List(); arr.Add(item); if (IsDate(endDate) == true && DateTime.Now >= Convert.ToDateTime(endDate)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = endDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "经营信息-一般纳税人资格到期" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "纳税人识别号", Value = taxpayerIdentificationNumber }); comDynamicContentlist.Add(new ComDynamicContent { Name = "纳税人资格类型", Value = taxpayerQualificationType }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-一般纳税人", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(endDate) == true ? endDate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 获取地块转让信息 /// /// public void GetLandTransferList(string Name,int ReportId) { var list = qiChaCha.GetLandTransferList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //宗地坐落 var Address = item.GetType().GetProperty("Address").GetValue(item); //行政区 var AdminArea = item.GetType().GetProperty("AdminArea").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); var NewOwner = item.GetType().GetProperty("NewOwner").GetValue(item); //现有土地使用权人 var NewName = "--"; if (NewOwner != null) { NewName = NewOwner.GetType().GetProperty("Name").GetValue(NewOwner).ToString(); } var OldOwner = item.GetType().GetProperty("OldOwner").GetValue(item); //原土地使用权人 var OldName = "--"; if (OldOwner != null) { OldName = OldOwner.GetType().GetProperty("Name").GetValue(OldOwner).ToString(); } var detail = qiChaCha.GetLandTransferDetail(Id.ToString()); if (detail.Result.Data != null) { var TransTime = detail.Result.Data.GetType().GetProperty("TransTime").GetValue(detail.Result.Data); if (TransTime != null && IsDate(TransTime.ToString())) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(TransTime).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "地块公示" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "宗地坐落", Value = Address }); comDynamicContentlist.Add(new ComDynamicContent { Name = "宗地所属行政区", Value = AdminArea }); comDynamicContentlist.Add(new ComDynamicContent { Name = "原土地使用权人", Value = OldName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "现有土地使用权人", Value = NewName }); int WarnLevel = 1; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-土地转让", Detail = JsonHelper.ToJson(item), ContentTime = IsDate(TransTime) == true ? TransTime.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 双随机抽查 /// /// public void GetTycDoubleRandomCheck(string Name,int ReportId) { var list = tianYanCha.GetDoubleRandomCheck(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; int WarnLevel = 1; //抽查计划编号 var checkPlanNum = item.GetType().GetProperty("checkPlanNum").GetValue(item); //抽查计划名称 var checkPlanName = item.GetType().GetProperty("checkPlanName").GetValue(item); //任务 var taskList = item.GetType().GetProperty("taskList").GetValue(item); var taskListItem = (taskList as IEnumerable).ToList(); //抽查任务编号 var checkTaskNum = ((dynamic)taskListItem[0]).checkTaskNum; //抽查任务名称 var checkTaskName = ((dynamic)taskListItem[0]).checkTaskName; //抽查类型 var checkType = ((dynamic)taskListItem[0]).checkType; //抽查机关 var checkDepartment = ((dynamic)taskListItem[0]).checkDepartment; //抽查完成时间 string checkDate = ((dynamic)taskListItem[0]).checkDate; if (checkDate != null) { var Time = StampToDateTime(checkDate); //ID string businessId = ((dynamic)taskListItem[0]).businessId; //详情 var Detail = tianYanCha.GetDoubleRandomCheckDetail(businessId); if (Detail.Result.Data != null) { var Flag = true; var DetailItems = Detail.Result.Data.GetType().GetProperty("Items").GetValue(Detail.Result.Data); if (DetailItems != null) { IEnumerable sDetaillist = DetailItems as IEnumerable; foreach (var itemde in sDetaillist) { var checkResult = itemde.GetType().GetProperty("checkResult").GetValue(itemde); if (checkResult != null) { var checkResultName = checkResult.ToString(); if (!checkResultName.Contains("未发现问题") && !checkResultName.Contains("未发现开展本次抽查涉及的经营活动") && !checkResultName.Contains("合格")) { Flag = false; } } } } if (Flag == false) { WarnLevel = 2; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "双随机抽查" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "抽查计划名称", Value = checkPlanName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "抽查计划编号", Value = checkPlanNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "抽查任务名称", Value = checkTaskName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "抽查任务编号", Value = checkTaskNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "抽查类型", Value = checkType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "抽查机关", Value = checkDepartment }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营信息-双随机抽查", Detail = JsonHelper.ToJson(item), ContentTime = Time.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 被执行人 /// /// public void GetZhiXingRen(string Name,int ReportId) { var list = qiChaCha.GetZhiXing(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取企业的注册资金 var dRegistCapi = GetRegistCapi(Name); if (dRegistCapi > 0) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; var Anno = item.GetType().GetProperty("Anno").GetValue(item); var Liandate = item.GetType().GetProperty("Liandate").GetValue(item); var ExecuteGov = item.GetType().GetProperty("ExecuteGov").GetValue(item); var Biaodi = item.GetType().GetProperty("Biaodi").GetValue(item); if (Liandate != null && IsDate(Liandate.ToString())) { int WarnLevel = 2; //int WarnLevel = 1; //if (Biaodi == null || Biaodi == "") //{ // WarnLevel = 3; //} //else //{ // double Cash = 0; // double.TryParse(Biaodi.ToString(), out Cash); // if (Cash >= dRegistCapi * 0.03) // { // WarnLevel = 3; // } // else // { // WarnLevel = 2; // } //} ////强制为黄色20220414FX //if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Liandate.ToString().Replace(" 00:00:00", "") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "被执行人" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = Anno }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行标的(元)", Value = Biaodi }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecuteGov }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-被执行人", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(Liandate) ? Liandate.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 根据年份确定日期 /// /// /// private string GetRightDate(object Info) { string strResult = ""; if (Info != null && (Info.ToString().IndexOf("(")>=0 || Info.ToString().IndexOf("(") >= 0)) { strResult = Info.ToString().Replace("(", "("); strResult = strResult.Substring(strResult.IndexOf("(")+1,4); int Year = 0; Int32.TryParse(strResult, out Year); strResult = Year < DateTime.Now.Year ?strResult + "-12-31": DateTime.Now.ToString("yyyy-MM-dd"); } else { strResult = DateTime.Now.ToString("yyyy-MM-dd"); } return strResult; } /// /// 股权冻结 /// /// public void GetEquityFreezeCheck(string Name,int ReportId) { var list = qiChaCha.GetEquityFreezeCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取企业的注册资金2 var dRegistCapi = GetRegistCapi(Name); if (dRegistCapi > 0) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //状态 var Status = item.GetType().GetProperty("Status").GetValue(item); if (Status != null && Status != "") { //股权数量 var EquityAmount = item.GetType().GetProperty("EquityAmount").GetValue(item); //通知文书号 var ExecutionNoticeNum = item.GetType().GetProperty("ExecutionNoticeNum").GetValue(item); //被执行人名称 var ExecuteName = item.GetType().GetProperty("ExecuteName").GetValue(item); //执行法院 var ExecuteCourt = item.GetType().GetProperty("ExecuteCourt").GetValue(item); //冻结股权标的企业信息 var RelatedInfo = item.GetType().GetProperty("RelatedInfo").GetValue(item); var KeyNo = ""; var RelatedName = ""; if (RelatedInfo != null) { KeyNo = RelatedInfo.GetType().GetProperty("KeyNo").GetValue(RelatedInfo).ToString(); RelatedName = RelatedInfo.GetType().GetProperty("Name").GetValue(RelatedInfo).ToString(); } var Id = item.GetType().GetProperty("Id").GetValue(item); int WarnLevel = 0; if (Status.ToString().IndexOf("解除冻结") >= 0 || Status.ToString().IndexOf("解冻") >= 0) { WarnLevel = 1; var GetDetail = qiChaCha.GetEquityFreezeCheckDetail(Id.ToString(), KeyNo); if (GetDetail.Result.Data != null) { var EquityUnFreezeDetail = GetDetail.Result.Data.GetType() .GetProperty("EquityUnFreezeDetail").GetValue(GetDetail.Result.Data); if (EquityUnFreezeDetail != null) { var PublicDate = EquityUnFreezeDetail.GetType() .GetProperty("PublicDate").GetValue(EquityUnFreezeDetail); var UnFreezeDate = EquityUnFreezeDetail.GetType() .GetProperty("UnFreezeDate").GetValue(EquityUnFreezeDetail); //强制为黄色20220414FX //if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = IsDate(PublicDate) ? DateTime.Parse(PublicDate.ToString()).ToString("yyyy-MM-dd") : GetRightDate(ExecutionNoticeNum) }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "解除股权冻结" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecuteName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecuteCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecutionNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "冻结股权标的企业", Value = RelatedName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = Status }); comDynamicContentlist.Add(new ComDynamicContent { Name = "解除冻结日期", Value = UnFreezeDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-股权冻结", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : GetRightDate(ExecutionNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } else if (Status.ToString().IndexOf("冻结") >= 0 && Status.ToString().IndexOf("解除") < 0) { double dCash = 0; if (EquityAmount == null || EquityAmount.ToString() == "") //执行标的金额字段为空(--) { //股权金额字段为空(--)(情形1-4均是执行标的金额有数值的情况),此时将股权数额设定为10万元 dCash = 100000; } else { double dCoffientSmall = EquityAmount.ToString().IndexOf("万元") >= 0 ? 10000 : 1; string strEquityAmountSrc = EquityAmount.ToString().Replace("万元", "").Replace("人民币", "").Replace(",", ""); double.TryParse(strEquityAmountSrc, out dCash); dCash = dCash * dCoffientSmall; } WarnLevel = 2; //if (RelatedName == Name) //{ // if (dCash >= dRegistCapi * 0.03) // { // WarnLevel = 3; // } // else // { // WarnLevel = 2; // } //} //else //{ // if (dCash >= dRegistCapi * 0.05) // { // WarnLevel = 2; // } // else // { // WarnLevel = 1; // } //} var GetDetail = qiChaCha.GetEquityFreezeCheckDetail(Id.ToString(), KeyNo); if (GetDetail.Result.Data != null) { var EquityFreezeDetail = GetDetail.Result.Data.GetType() .GetProperty("EquityFreezeDetail").GetValue(GetDetail.Result.Data); if (EquityFreezeDetail != null) { //强制为黄色20220414FX if (WarnLevel == 3) WarnLevel = 2; var PublicDate = EquityFreezeDetail.GetType() .GetProperty("PublicDate").GetValue(EquityFreezeDetail); var FreezeStartDate = EquityFreezeDetail.GetType() .GetProperty("FreezeStartDate").GetValue(EquityFreezeDetail); var FreezeEndDate = EquityFreezeDetail.GetType() .GetProperty("FreezeEndDate").GetValue(EquityFreezeDetail); List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = IsDate(PublicDate) ? DateTime.Parse(PublicDate.ToString()).ToString("yyyy-MM-dd") : (FreezeStartDate.ToString() == "" ? GetRightDate(ExecutionNoticeNum) : FreezeStartDate.ToString()) }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股权冻结" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecuteName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecuteCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecutionNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "冻结股权标的企业", Value = RelatedName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = Status }); comDynamicContentlist.Add(new ComDynamicContent { Name = "冻结期间", Value = FreezeStartDate + "--" + FreezeEndDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-股权冻结", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : (FreezeStartDate.ToString()==""? GetRightDate(ExecutionNoticeNum) : FreezeStartDate.ToString()), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } else if (Status.ToString().IndexOf("股权变更") >= 0) { WarnLevel = 1; double dCash = 0; if (EquityAmount == null || EquityAmount.ToString() == "") //执行标的金额字段为空(--) { //股权金额字段为空(--)(情形1-4均是执行标的金额有数值的情况),此时将股权数额设定为10万元 dCash = 100000; } else { double dCoffientSmall = EquityAmount.ToString().IndexOf("万元") >= 0 ? 10000 : 1; string strEquityAmountSrc = EquityAmount.ToString().Replace("万元", "").Replace("人民币", "").Replace(",", ""); double.TryParse(strEquityAmountSrc, out dCash); dCash = dCash * dCoffientSmall; } WarnLevel = 2; //if (RelatedName == Name) //{ // if (dCash >= dRegistCapi * 0.03) // { // WarnLevel = 3; // } // else // { // WarnLevel = 2; // } //} //else //{ // if (dCash >= dRegistCapi * 0.05) // { // WarnLevel = 2; // } // else // { // WarnLevel = 1; // } //} //强制为黄色20220414FX //if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = GetRightDate(ExecutionNoticeNum) }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股权变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecuteName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecuteCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecutionNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "冻结股权标的企业", Value = RelatedName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = Status }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-股权冻结", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = GetRightDate(ExecutionNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } } /// /// 终本案件 /// /// public void GetEndCase(string Name,int ReportId) { var list = tianYanCha.GetEndCase(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取企业的注册资金2 var dRegistCapi = GetRegistCapi(Name); if (dRegistCapi > 0) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //终本日期 var CaseFinalTimeOrg = item.GetType().GetProperty("CaseFinalTime").GetValue(item); string CaseFinalTime = CaseFinalTimeOrg == null ? null : GetLongTime(CaseFinalTimeOrg.ToString()).ToString("yyyy-MM-dd"); //案号 var CaseCode = item.GetType().GetProperty("CaseCode").GetValue(item); //执行法院 var ExecCourtName = item.GetType().GetProperty("ExecCourtName").GetValue(item); //执行标的 var ExecMoney = item.GetType().GetProperty("ExecMoney").GetValue(item); //立案日期 var CaseCreateTime = item.GetType().GetProperty("CaseCreateTime").GetValue(item); if (CaseFinalTime != null && IsDate(CaseFinalTime.ToString())) { int WarnLevel = 1; if (ExecMoney == null || ExecMoney == "") { WarnLevel = 3; } else { double Cash = 0; double.TryParse(ExecMoney.ToString(), out Cash); if (Cash >= dRegistCapi * 0.03) { WarnLevel = 3; } else { WarnLevel = 2; } } //强制为红色20220414FX if (WarnLevel == 2) WarnLevel = 3; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = CaseFinalTime }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "终本案件" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行标的(元)", Value = ExecMoney }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecCourtName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseCode }); comDynamicContentlist.Add(new ComDynamicContent { Name = "立案日期", Value = CaseCreateTime.ToString().Replace(" 00:00:00", "") }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-终本案件", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(CaseFinalTime) ? CaseFinalTime.ToString() : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 司法拍卖 /// /// public void GetJudicialSaleList(string Name,int ReportId) { var list = qiChaCha.GetJudicialSaleList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取企业的注册资金2 var dRegistCapi = GetRegistCapi(Name); if (dRegistCapi > 0) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //标题 var TitleName = item.GetType().GetProperty("Name").GetValue(item); //拍卖时间 var ActionRemarkOrg = item.GetType().GetProperty("ActionRemark").GetValue(item); if (ActionRemarkOrg == null || ActionRemarkOrg.ToString().IndexOf("至") < 0) continue; string ActionTime = ActionRemarkOrg.ToString().Substring(0, ActionRemarkOrg.ToString().IndexOf("至")).Replace("起", ""); ; ActionTime = DateTime.Parse(ActionTime).ToString("yyyy-MM-dd HH:mm:ss"); //执行法院 var Executegov = item.GetType().GetProperty("Executegov").GetValue(item); //起拍价 var YiWu = item.GetType().GetProperty("YiWu").GetValue(item); if (ActionTime != null && IsDate(ActionTime.ToString())) { int WarnLevel = 2; //int WarnLevel = 1; //if (YiWu == null || YiWu == "") //{ // WarnLevel = 3; //} //else //{ // double Cash = 0; // double.TryParse(YiWu.ToString(), out Cash); // if (Cash >= dRegistCapi * 0.03) // { // WarnLevel = 3; // } // else // { // WarnLevel = 2; // } //} ////强制为黄色20220414FX //if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Parse(ActionTime).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法拍卖" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "标题", Value = TitleName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "起拍价(元)", Value = YiWu }); comDynamicContentlist.Add(new ComDynamicContent { Name = "拍卖时间", Value = ActionTime }); comDynamicContentlist.Add(new ComDynamicContent { Name = "委托法院", Value = Executegov }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法拍卖", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(ActionTime) ? ActionTime : DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 司法协助 /// /// public void GetJudicialListCheck(string Name,int ReportId) { var list = tianYanCha.GetJudicialList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取企业的注册资金 var listCompany = qiChaCha.GetFullDetail(Name); if (listCompany != null && listCompany.Result.Data != null && listCompany.Result.Data.ToString() != "接口无数据返回") { //工商信息--注册资本 var comRegistCapi = listCompany.Result.Data.GetType().GetProperty("RegistCapi") .GetValue(listCompany.Result.Data); if (comRegistCapi != null) { double dRegistCapi = 0; double dCoffient = comRegistCapi.ToString().IndexOf("万元") >= 0 ? 10000 : 1; string strRegistCapiSrc = comRegistCapi.ToString().Replace("万元", "").Replace("人民币", "") .Replace(",", ""); double.TryParse(strRegistCapiSrc, out dRegistCapi); dRegistCapi = dRegistCapi * dCoffient; IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; //状态 var TypeState = item.GetType().GetProperty("TypeState").GetValue(item); //var TypeState = item.GetType().GetProperty("typeState").GetValue(item); if (TypeState != null && TypeState != "") { //股权数量 var EquityAmount = item.GetType().GetProperty("EquityAmount").GetValue(item); //通知文书号 var ExecuteNoticeNum = item.GetType().GetProperty("ExecuteNoticeNum").GetValue(item); //被执行人名称 var ExecutedPerson = item.GetType().GetProperty("ExecutedPerson").GetValue(item); //执行法院 var ExecutiveCourt = item.GetType().GetProperty("ExecutiveCourt").GetValue(item); //股权被执行企业 var StockExecutedCompany = item.GetType().GetProperty("StockExecutedCompany").GetValue(item); var AssId = item.GetType().GetProperty("AssId").GetValue(item); int WarnLevel = 0; if (TypeState.ToString().IndexOf("解除冻结") >= 0 || TypeState.ToString().IndexOf("解冻") >= 0) { WarnLevel = 1; var GetDetail = tianYanCha.GetJudicialDetail(AssId.ToString()); if (GetDetail.Result.Data != null) { var ResultData = GetDetail.Result.Data.GetType() .GetProperty("ResultData").GetValue(GetDetail.Result.Data); JObject jo = JObject.Parse(ResultData.ToString()); var removeFrozen = jo["removeFrozen"]; if (removeFrozen != null && removeFrozen.Count() > 0) { var PublicDate = GetLongTime(removeFrozen["publicityAate"].ToString()); var UnFreezeDate = GetLongTime(removeFrozen["frozenRemoveDate"].ToString()); List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublicDate.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法协助-解除股权冻结" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecutedPerson }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecutiveCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecuteNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = TypeState }); comDynamicContentlist.Add(new ComDynamicContent { Name = "解除冻结日期", Value = UnFreezeDate.ToString("yyyy-MM-dd") }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法协助", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : GetRightDate(ExecuteNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } else { double dCash = 0; if (EquityAmount == null || EquityAmount.ToString() == "") //执行标的金额字段为空(--) { //股权金额字段为空(--)(情形1-4均是执行标的金额有数值的情况),此时将股权数额设定为10万元 dCash = 100000; } else { double dCoffientSmall = EquityAmount.ToString().IndexOf("万") >= 0 ? 10000 : 1; string strEquityAmountSrc = EquityAmount.ToString().Replace("万", "") .Replace("万元", "").Replace("人民币", "").Replace(",", ""); double.TryParse(strEquityAmountSrc, out dCash); dCash = dCash * dCoffientSmall; } WarnLevel = 2; //if (StockExecutedCompany != null && StockExecutedCompany.ToString() == Name) //{ // if (dCash >= dRegistCapi * 0.03) // { // WarnLevel = 3; // } // else // { // WarnLevel = 2; // } //} //else //{ // if (dCash >= dRegistCapi * 0.05) // { // WarnLevel = 2; // } // else // { // WarnLevel = 1; // } //} var GetDetail = tianYanCha.GetJudicialDetail(AssId.ToString()); if (GetDetail.Result.Data != null) { var ResultData = GetDetail.Result.Data.GetType() .GetProperty("ResultData").GetValue(GetDetail.Result.Data); JObject jo = JObject.Parse(ResultData.ToString()); var keepFrozen = jo["keepFrozen"]; var shareholderChange = jo["shareholderChange"]; var frozen = jo["frozen"]; var invalidationFrozen = jo["invalidationFrozen"]; if (frozen != null && frozen.Count() > 0) { var PublicDate = GetLongTime(frozen["publicityAate"].ToString()); var FreezeStartDate = GetLongTime(frozen["fromDate"].ToString()); var FreezeEndDate = GetLongTime(frozen["toDate"].ToString()); //强制为黄色20220414FX if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublicDate.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法协助-股权冻结" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecutedPerson }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权被执行的企业", Value = (StockExecutedCompany == null || StockExecutedCompany.ToString() == "") ? "--" : StockExecutedCompany.ToString() }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecutiveCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecuteNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = TypeState }); comDynamicContentlist.Add(new ComDynamicContent { Name = "冻结期间", Value = FreezeStartDate.ToString("yyyy-MM-dd") + "--" + FreezeEndDate.ToString("yyyy-MM-dd") }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法协助", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : GetRightDate(ExecuteNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (keepFrozen != null && keepFrozen.Count() > 0) { var PublicDate = GetLongTime(keepFrozen["publicityAate"].ToString()); var FreezeStartDate = GetLongTime(keepFrozen["fromDate"].ToString()); var FreezeEndDate = "~";//keepFrozen["toDate"]==null? new DateTime(): GetLongTime(keepFrozen["toDate"].ToString()); //强制为黄色20220414FX if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublicDate.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法协助-司法协助续行" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecutedPerson }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecutiveCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecuteNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = TypeState }); comDynamicContentlist.Add(new ComDynamicContent { Name = "冻结期间", Value = FreezeStartDate.ToString("yyyy-MM-dd") + "--" + FreezeEndDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法协助", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : GetRightDate(ExecuteNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (shareholderChange != null && shareholderChange.Count() > 0) { var PublicDate = GetLongTime(shareholderChange["executionDate"].ToString()); //强制为黄色20220414FX if (WarnLevel == 3) WarnLevel = 2; List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublicDate.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法协助-股权变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecutedPerson }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecutiveCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecuteNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = TypeState }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法协助", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : GetRightDate(ExecuteNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (invalidationFrozen != null && invalidationFrozen.Count() > 0) { //WarnLevel = 1;//强制更新Green var PublicDate = GetLongTime(invalidationFrozen["invalidationDate"].ToString()); List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublicDate.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法协助-司法冻结失效" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecutedPerson }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecutiveCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecuteNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = TypeState }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法协助", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = IsDate(PublicDate) ? PublicDate.ToString() : GetRightDate(ExecuteNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (TypeState.ToString().Trim().IndexOf("股权冻结") >= 0 && frozen.Count()==0 && keepFrozen.Count() == 0 && shareholderChange.Count() == 0 && invalidationFrozen.Count() == 0) { List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = GetRightDate(ExecuteNoticeNum) }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "司法协助-股权冻结" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被执行人", Value = ExecutedPerson }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = ExecutiveCourt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行通知书文号", Value = ExecuteNoticeNum }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股权数额", Value = EquityAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "状态", Value = TypeState }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-司法协助", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = GetRightDate(ExecuteNoticeNum), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } } } } } /// /// 获取股票信息 /// /// /// public object GetIPODetail(string Name,int ReportId, bool Flag = false) { if (Flag == false) { //从指定库里面获取20230731FX ChinaStockDAL chinaStockDal = new ChinaStockDAL(); var list = chinaStockDal.GetChinaStockBasic(Name); if (list != null) { return list.ts_code; } else { return null; } //if (list.Result.Data != null) //{ // var TSCode = list.Result.Data.GetType().GetProperty("TSCode").GetValue(list.Result.Data); // return TSCode; //} //else //{ // return null; //} } else { var list = qiChaCha.GetIPODetail(Name); if (list.Result.Data != null) { List comDynamicContentlist = new List(); var CurrentInfo = GetEventTypeFirst(Name, "深度信息-上市信息-公司资料-证券信息"); //A股代码 var ACode = list.Result.Data.GetType().GetProperty("ACode").GetValue(list.Result.Data); //B股代码 var BCode = list.Result.Data.GetType().GetProperty("BCode").GetValue(list.Result.Data); //H股代码 var HCode = list.Result.Data.GetType().GetProperty("HCode").GetValue(list.Result.Data); //A股简称 var AShortName = list.Result.Data.GetType().GetProperty("AShortName").GetValue(list.Result.Data); //B股简称 var BShortName = list.Result.Data.GetType().GetProperty("BShortName").GetValue(list.Result.Data); //H股简称 var HShortName = list.Result.Data.GetType().GetProperty("HShortName").GetValue(list.Result.Data); //证券类别 var StockCategory = list.Result.Data.GetType().GetProperty("StockCategory").GetValue(list.Result.Data); //律师事务所 var LawFirm = list.Result.Data.GetType().GetProperty("LawFirm").GetValue(list.Result.Data); //会计师事务所 var AccountingFirm = list.Result.Data.GetType().GetProperty("AccountingFirm").GetValue(list.Result.Data); if (CurrentInfo != null) { var ExFlag = false; var DataInfo = JsonHelper.ToObject(CurrentInfo.Detail); var CurrentACode = ((dynamic)DataInfo).ACode; var CurrentBCode = ((dynamic)DataInfo).BCode; var CurrentHCode = ((dynamic)DataInfo).HCode; var CurrentAShortName = ((dynamic)DataInfo).AShortName; var CurrentBShortName = ((dynamic)DataInfo).BShortName; var CurrentHShortName = ((dynamic)DataInfo).HShortName; var CurrentStockCategory = ((dynamic)DataInfo).StockCategory; var CurrentLawFirm = ((dynamic)DataInfo).LawFirm; var CurrentAccountingFirm = ((dynamic)DataInfo).AccountingFirm; if (CurrentACode != null && CurrentACode != ACode) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-A股代码" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentACode }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = ACode }); ExFlag = true; } else if (CurrentBCode != null && CurrentBCode != BCode) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-B股代码" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentBCode }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = BCode }); ExFlag = true; } else if (CurrentHCode != null && CurrentHCode != HCode) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-H股代码" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentHCode }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = HCode }); ExFlag = true; } else if (CurrentAShortName != null && CurrentAShortName != AShortName) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-A股简称" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentAShortName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = AShortName }); ExFlag = true; } else if (CurrentBShortName != null && CurrentBShortName != BShortName) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-B股简称" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentBShortName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = BShortName }); ExFlag = true; } else if (CurrentHShortName != null && CurrentAShortName != HShortName) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-H股简称" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentHShortName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = HShortName }); ExFlag = true; } else if (CurrentStockCategory != null && CurrentStockCategory != StockCategory) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-证券类别" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentStockCategory }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = StockCategory }); ExFlag = true; } //律师事务所 else if (CurrentLawFirm != null && CurrentLawFirm != LawFirm) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-律师事务所" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentLawFirm }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = LawFirm }); ExFlag = true; } //律师事务所 else if (CurrentAccountingFirm != null && CurrentAccountingFirm != AccountingFirm) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-上市信息-会计师事务所" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = CurrentAccountingFirm }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = AccountingFirm }); ExFlag = true; } if (ExFlag) { ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-上市信息-公司资料-证券信息", Detail = JsonHelper.ToJson(list.Result.Data), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } else { ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-上市信息-公司资料-证券信息", Detail = JsonHelper.ToJson(list.Result.Data), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; comDynamicEva.BlankFlag = true; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } return null; } } /// /// 深度信息-上市信息-行情走势-交易行情-每日指标 /// /// public void GetDailyBasic(string Name,int ReportId) { QueryParam queryParam = new QueryParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString();//"002948.SZ";// queryParam.start_date = DateTime.Now.AddDays(-20).ToString("yyyyMMdd"); queryParam.end_date = DateTime.Now.ToString("yyyyMMdd"); var list = tushareService.GetDailyBasic(queryParam); if (list.Result.Data != null) { var slist = (list.Result.Data as IEnumerable).ToList(); //交易日期 if (slist.Count == 0)//没有数据记录一下 { LogHelper.Info("深度信息-上市信息-行情走势-交易行情-每日指标的数量为0!" + Name); } else { var trade_date = slist[0].GetType().GetProperty("trade_date").GetValue(slist[0]); var Time = DateTime.ParseExact(trade_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); if (trade_date.ToString() == queryParam.end_date) { //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //交易日期 //var trade_date = slist[0].GetType().GetProperty("trade_date").GetValue(slist[0]); //当日收盘价 var close = slist[0].GetType().GetProperty("close").GetValue(slist[0]); //昨日收盘价 var floatYclose = slist[1].GetType().GetProperty("close").GetValue(slist[1]); var DayRiseOrFall = (Convert.ToDouble(close) - Convert.ToDouble(floatYclose)) / Convert.ToDouble(floatYclose); int WarnLevel = 0; if (DayRiseOrFall >= 0) { WarnLevel = 1; } else if (DayRiseOrFall < 0 && DayRiseOrFall > -0.05) { WarnLevel = 1; } else if (DayRiseOrFall < -0.05 && DayRiseOrFall > -0.1) { WarnLevel = 2; } else if (DayRiseOrFall < -0.1) { WarnLevel = 2; } else { WarnLevel = 1; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); if (DayRiseOrFall >= 0) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = ts_code + $"当日收盘价为{close}元,较上一交易日上涨{ (DayRiseOrFall * 100).ToString("0.00")}%" }); } else { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = ts_code + $"当日收盘价为{close}元,较上一交易日下跌{(DayRiseOrFall * 100).ToString("0.00")}%" }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-交易行情-每日指标", Detail = JsonHelper.ToJson(slist[0]), ContentTime = Time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "今日停盘" }); int WarnLevel = 2; ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-交易行情-每日指标", Detail = JsonHelper.ToJson(slist[0]), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } #region 未使用字段 ////换手率(%) //var turnover_rate = list.Result.Data.GetType().GetProperty("turnover_rate").GetValue(list.Result.Data); ////换手率(自由流通股) //var turnover_rate_f = list.Result.Data.GetType().GetProperty("turnover_rate_f").GetValue(list.Result.Data); ////量比 //var volume_ratio = list.Result.Data.GetType().GetProperty("volume_ratio").GetValue(list.Result.Data); ////市盈率(总市值/净利润, 亏损的PE为空) //var pe = list.Result.Data.GetType().GetProperty("pe").GetValue(list.Result.Data); ////市盈率(TTM,亏损的PE为空) //var pe_ttm = list.Result.Data.GetType().GetProperty("pe_ttm").GetValue(list.Result.Data); ////市净率(总市值/净资产) //var pb = list.Result.Data.GetType().GetProperty("pb").GetValue(list.Result.Data); ////市销率 //var ps = list.Result.Data.GetType().GetProperty("ps").GetValue(list.Result.Data); ////市销率(TTM) //var ps_ttm = list.Result.Data.GetType().GetProperty("ps_ttm").GetValue(list.Result.Data); ////股息率 (%) //var dv_ratio = list.Result.Data.GetType().GetProperty("dv_ratio").GetValue(list.Result.Data); ////股息率(TTM)(%) //var dv_ttm = list.Result.Data.GetType().GetProperty("dv_ttm").GetValue(list.Result.Data); ////总股本 (万股) //var total_share = list.Result.Data.GetType().GetProperty("total_share").GetValue(list.Result.Data); ////流通股本 (万股) //var float_share = list.Result.Data.GetType().GetProperty("float_share").GetValue(list.Result.Data); ////自由流通股本 (万) //var free_share = list.Result.Data.GetType().GetProperty("free_share").GetValue(list.Result.Data); ////总市值 (万元) //var total_mv = list.Result.Data.GetType().GetProperty("total_mv").GetValue(list.Result.Data); ////流通市值(万元) //var circ_mv = list.Result.Data.GetType().GetProperty("circ_mv").GetValue(list.Result.Data); #endregion } } } /// /// 资金流向 /// /// public void GetMoneyFlow(string Name,int ReportId) { QueryParam queryParam = new QueryParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); queryParam.start_date = DateTime.Now.AddDays(-10).ToString("yyyyMMdd"); queryParam.end_date = DateTime.Now.ToString("yyyyMMdd"); var list = tushareService.GetMoneyFlow(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); //交易日期 var trade_date = slist[0].GetType().GetProperty("trade_date").GetValue(slist[0]); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //净流入量(手) var net_mf_vol = slist[0].GetType().GetProperty("net_mf_vol").GetValue(slist[0]); //净流入额(万元) var net_mf_amount = slist[0].GetType().GetProperty("net_mf_amount").GetValue(slist[0]); var Time = DateTime.ParseExact(trade_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); string Content = ts_code.ToString(); if (Convert.ToDouble(net_mf_vol) > 0) { Content += $"当日净流入{net_mf_vol}手,"; } else { Content += $"当日净流出{net_mf_vol}手,"; } if (Convert.ToDouble(net_mf_amount) > 0) { Content += $"净流入额{net_mf_amount}万元"; } else { Content += $"净流出额{net_mf_amount}万元"; } comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = Content }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-交易行情-资金流向", Detail = JsonHelper.ToJson(slist[0]), ContentTime = Time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } /// ///融资融券 /// /// public void GetMarginDetail(string Name,int ReportId) { QueryParam queryParam = new QueryParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); queryParam.start_date = DateTime.Now.AddDays(-10).ToString("yyyyMMdd"); queryParam.end_date = DateTime.Now.ToString("yyyyMMdd"); var list = tushareService.GetMarginDetail(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; List arr = new List(); var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { //交易日期 var trade_date = slist[0].GetType().GetProperty("trade_date").GetValue(slist[0]); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //融资余额(元) var rzye = slist[0].GetType().GetProperty("rzye").GetValue(slist[0]); //融券余额(元) var rqye = slist[0].GetType().GetProperty("rqye").GetValue(slist[0]); var Time = DateTime.ParseExact(trade_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); arr.Add(slist[0]); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = ts_code + $"当日融资余额{rzye}元,融券余额{rqye}元" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-融资融券", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = Time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-上市信息-行情走势-大宗交易 /// /// public void GetBlockTrade(string Name,int ReportId) { QueryParam queryParam = new QueryParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); queryParam.start_date = DateTime.Now.AddDays(-10).ToString("yyyyMMdd"); queryParam.end_date = DateTime.Now.ToString("yyyyMMdd"); var list = tushareService.GetBlockTrade(queryParam); var Pricelist = tushareService.GetPriceCom(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { //交易日期 var trade_date = slist[0].GetType().GetProperty("trade_date").GetValue(slist[0]); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //成交价(元) var price = slist[0].GetType().GetProperty("price").GetValue(slist[0]); //成交量(万股) var vol = slist[0].GetType().GetProperty("vol").GetValue(slist[0]); //成交金额(万元) var amount = slist[0].GetType().GetProperty("amount").GetValue(slist[0]); //买方营业部 var buyer = slist[0].GetType().GetProperty("buyer").GetValue(slist[0]); //卖方营业部 var seller = slist[0].GetType().GetProperty("seller").GetValue(slist[0]); var Time = DateTime.ParseExact(trade_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); var PriceInfo = Pricelist.FirstOrDefault(p => p.trade_date == trade_date.ToString()); if (PriceInfo != null) { if (Convert.ToDouble(PriceInfo.close) * (1 - 0.1) <= Convert.ToDouble(price) && Convert.ToDouble(price) <= Convert.ToDouble(PriceInfo.close) * (1 - 0.05)) { WarnLevel = 2; } else if (Convert.ToDouble(PriceInfo.close) * (1 - 0.1) > Convert.ToDouble(price)) { WarnLevel = 2; } else { WarnLevel = 1; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股票-大宗交易" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股票代码", Value = ts_code }); comDynamicContentlist.Add(new ComDynamicContent { Name = "成交价(元)", Value = price + (WarnLevel == 1 ? "" : WarnLevel == 2 ? ",较当日收盘价下降幅度超过5%" : ",较当日收盘价下降幅度超过10%") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "成交量(万股)", Value = vol }); comDynamicContentlist.Add(new ComDynamicContent { Name = "成交金额(万元)", Value = amount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "买方营业部", Value = buyer }); comDynamicContentlist.Add(new ComDynamicContent { Name = "卖方营业部", Value = seller }); List arr = new List(); arr.Add(slist[0]); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-大宗交易", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = Time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-上市信息-行情走势-股票回购 /// /// public void GetRepurchase(string Name,int ReportId) { QueryParam queryParam = new QueryParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); queryParam.start_date = DateTime.Now.AddDays(-10).ToString("yyyyMMdd"); queryParam.end_date = DateTime.Now.ToString("yyyyMMdd"); var list = tushareService.GetRepurchase(queryParam); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无返回数据") { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { //公告日期 var ann_date = slist[0].GetType().GetProperty("ann_date").GetValue(slist[0]); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //截止日期 var end_date = slist[0].GetType().GetProperty("end_date").GetValue(slist[0]); //进度 var proc = slist[0].GetType().GetProperty("proc").GetValue(slist[0]); //过期日期 var exp_date = slist[0].GetType().GetProperty("exp_date").GetValue(slist[0]); //回购数量 var vol = slist[0].GetType().GetProperty("vol").GetValue(slist[0]); //回购金额 var amount = slist[0].GetType().GetProperty("amount").GetValue(slist[0]); //回购最高价 var high_limit = slist[0].GetType().GetProperty("high_limit").GetValue(slist[0]); //回购最低价 var low_limit = slist[0].GetType().GetProperty("low_limit").GetValue(slist[0]); var AnnTime = ann_date.ToString() == "" ? "--" : DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); var EndTime = end_date.ToString() == "" ? "--" : DateTime.ParseExact(end_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); var ExpTime = exp_date.ToString() == "" ? "--" : DateTime.ParseExact(exp_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AnnTime }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股票回购" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股票代码", Value = ts_code }); comDynamicContentlist.Add(new ComDynamicContent { Name = "截止日期", Value = EndTime }); comDynamicContentlist.Add(new ComDynamicContent { Name = "进度", Value = proc }); comDynamicContentlist.Add(new ComDynamicContent { Name = "过期日期", Value = ExpTime }); comDynamicContentlist.Add(new ComDynamicContent { Name = "回购数量(股)", Value = vol }); comDynamicContentlist.Add(new ComDynamicContent { Name = "回购金额(元)", Value = amount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "回购最高价(元)", Value = high_limit }); comDynamicContentlist.Add(new ComDynamicContent { Name = "回购最低价(元)", Value = low_limit }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-股票回购", Detail = JsonHelper.ToJson(slist[0]), ContentTime = AnnTime, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-上市信息-行情走势-股东增减持 /// /// public void GetStkHoldertrade(string Name,int ReportId) { StkHoldertradeParam queryParam = new StkHoldertradeParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); queryParam.start_date = DateTime.Now.AddDays(-30).ToString("yyyyMMdd"); queryParam.end_date = DateTime.Now.ToString("yyyyMMdd"); //AddDays(-1) var list = tushareService.GetStkHoldertrade(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { //公告日期 var ann_date = slist[0].GetType().GetProperty("ann_date").GetValue(slist[0]); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //股东名称 var holder_name = slist[0].GetType().GetProperty("holder_name").GetValue(slist[0]); //类型 var in_de = slist[0].GetType().GetProperty("in_de").GetValue(slist[0]); //变动数量 var change_vol = slist[0].GetType().GetProperty("change_vol").GetValue(slist[0]); //占流通比例(%) var change_ratio = slist[0].GetType().GetProperty("change_ratio").GetValue(slist[0]); //变动后持股 var after_share = slist[0].GetType().GetProperty("after_share").GetValue(slist[0]); //变动后占流通比例(%) var after_ratio = slist[0].GetType().GetProperty("after_ratio").GetValue(slist[0]); var AnnTime = DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); if (in_de.ToString() == "减持") { if (Convert.ToDouble(change_ratio) >= 0.03) { WarnLevel = 2; } else { WarnLevel = 2; } } else if (in_de.ToString() == "增持") { WarnLevel = 1; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AnnTime }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "股东增减持" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股票代码", Value = ts_code }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股东名称", Value = holder_name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "类型", Value = in_de }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变动数量(股)", Value = change_vol }); comDynamicContentlist.Add(new ComDynamicContent { Name = "占流通比例(%)", Value = change_ratio }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变动后持股(股)", Value = after_share }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变动后占流通比例(%)", Value = after_ratio }); List arr = new List(); arr.Add(slist[0]); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-行情走势-股东增减持", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = AnnTime, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-上市信息-公司资料-基本信息 /// /// public void GetStockCompany(string Name,int ReportId) { StockCompanyParam queryParam = new StockCompanyParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); var list = tushareService.GetStockCompany(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); var CurrentInfo = GetEventTypeFirst(Name, "深度信息-上市信息-公司资料-基本信息"); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //交易所代码 var exchange = slist[0].GetType().GetProperty("exchange").GetValue(slist[0]); //法人代表 var chairman = slist[0].GetType().GetProperty("chairman").GetValue(slist[0]); //总经理 var manager = slist[0].GetType().GetProperty("manager").GetValue(slist[0]); //董秘 var secretary = slist[0].GetType().GetProperty("secretary").GetValue(slist[0]); //注册资本 var reg_capital = slist[0].GetType().GetProperty("reg_capital").GetValue(slist[0]); //注册日期 var setup_date = slist[0].GetType().GetProperty("setup_date").GetValue(slist[0]); //员工人数 var employees = slist[0].GetType().GetProperty("employees").GetValue(slist[0]); //所在省份 var province = slist[0].GetType().GetProperty("province").GetValue(slist[0]); //所在城市 var city = slist[0].GetType().GetProperty("city").GetValue(slist[0]); //公司主页 var website = slist[0].GetType().GetProperty("website").GetValue(slist[0]); //电子邮件 var email = slist[0].GetType().GetProperty("email").GetValue(slist[0]); //var AnnTime = DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-公司资料-基本信息", Detail = JsonHelper.ToJson(slist[0]), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { if (CurrentInfo != null) { var Flag = false; var DataInfo = JsonHelper.ToObject(CurrentInfo.Detail); //TS股票代码 var Currentts_code = ((dynamic)DataInfo).ts_code; //交易所代码 var Currentexchange = ((dynamic)DataInfo).exchange; //法人代表 var Currentchairman = ((dynamic)DataInfo).chairman; //总经理 var Currentmanager = ((dynamic)DataInfo).manager; //董秘 var Currentsecretary = ((dynamic)DataInfo).secretary; //注册资本 var Currentreg_capital = ((dynamic)DataInfo).reg_capital; //注册日期 var Currentsetup_date = ((dynamic)DataInfo).setup_date; //所在省份 var Currentprovince = ((dynamic)DataInfo).province; //所在城市 var Currentcity = ((dynamic)DataInfo).city; //公司主页 var Currentwebsite = ((dynamic)DataInfo).website; //电子邮箱 var Currentemail = ((dynamic)DataInfo).email; var Currentemployees = ((dynamic)DataInfo).employees; //股票代码 if (Currentts_code != null && Currentts_code != ts_code) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-股票代码变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentts_code }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = ts_code }); Flag = true; } //交易所代码 else if (Currentexchange != null && Currentexchange != exchange) { Flag = true; comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-交易所代码变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentexchange }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = exchange }); } //法人代表 else if (Currentchairman != null && Currentchairman != chairman) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-法人代表变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentchairman }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = chairman }); Flag = true; } //总经理 else if (Currentmanager != null && Currentmanager != manager) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-总经理变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentmanager }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = manager }); Flag = true; } //董秘 else if (Currentsecretary != null && Currentsecretary != secretary) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-董秘变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentsecretary }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = secretary }); Flag = true; } //注册资本 else if (Currentreg_capital != null && Currentreg_capital != reg_capital) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-注册资本(万元)变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentreg_capital }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = reg_capital }); Flag = true; } //注册日期 else if (Currentsetup_date != null && Currentsetup_date != setup_date) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-注册日期变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentsetup_date }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = setup_date }); Flag = true; } //所在省份 else if (Currentprovince != null && Currentprovince != province) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-所在省份变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentprovince }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = province }); Flag = true; } //所在城市 else if (Currentcity != null && Currentcity != city) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-所在城市变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentcity }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = city }); Flag = true; } //所在城市 else if (Currentemployees != null && Currentemployees != employees) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-员工人数变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentemployees }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = employees }); Flag = true; } //公司主页 else if (Currentwebsite != null && Currentwebsite != website) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-公司主页变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentwebsite }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = website }); Flag = true; } //电子邮箱 else if (Currentemail != null && Currentemail != email) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-电子邮箱变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentemail }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = email }); Flag = true; } if (Flag == true) { comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-上市信息-公司资料-董监高信息 /// /// public void GetStkManagers(string Name,int ReportId) { if (StockCode != "") { var list = tianYanCha.GetSeniorExecutive(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = tianYanCha.GetSeniorExecutive(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } var CurrentInfo = GetEventTypeFirst(Name, "深度信息-上市信息-公司资料-董监高信息"); foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; int WarnLevel = 1; //公告日期 var reportDate = item.GetType().GetProperty("reportDate").GetValue(item); //姓名 var name = item.GetType().GetProperty("name").GetValue(item); //性别 var sex = item.GetType().GetProperty("sex").GetValue(item); //职务 var position = item.GetType().GetProperty("position").GetValue(item); //年龄 var age = item.GetType().GetProperty("age").GetValue(item); //学历 var education = item.GetType().GetProperty("education").GetValue(item); //持股数 var numberOfShares = item.GetType().GetProperty("numberOfShares").GetValue(item); //本届任期 var term = item.GetType().GetProperty("term").GetValue(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = reportDate }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-基本信息-董监高信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "姓名", Value = name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "性别", Value = sex }); comDynamicContentlist.Add(new ComDynamicContent { Name = "职务", Value = position }); comDynamicContentlist.Add(new ComDynamicContent { Name = "年龄", Value = age }); comDynamicContentlist.Add(new ComDynamicContent { Name = "学历", Value = education }); comDynamicContentlist.Add(new ComDynamicContent { Name = "持股数", Value = numberOfShares }); comDynamicContentlist.Add(new ComDynamicContent { Name = "本届任期", Value = term }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-公司资料-董监高信息", Detail = JsonHelper.ToJson(item), ContentTime = reportDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (CurrentInfo == null) { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } else { if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /*QueryParam queryParam = new QueryParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); var list = tushareService.GetStkManagers(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { var CurrentInfo = GetEventTypeFirst(Name, "深度信息-上市信息-公司资料-董监高信息"); //bool BlankFlag = (CurrentInfo == null); for (int i = 0; i < slist.Count; i++) { //公告日期 var ann_date = slist[i].GetType().GetProperty("ann_date").GetValue(slist[i]); //TS股票代码 var ts_code = slist[i].GetType().GetProperty("ts_code").GetValue(slist[i]); //上任日期 var begin_date = slist[i].GetType().GetProperty("begin_date").GetValue(slist[i]); //离任日期 var end_date = slist[i].GetType().GetProperty("end_date").GetValue(slist[i]); //出生年月 var birthday = slist[i].GetType().GetProperty("birthday").GetValue(slist[i]); //学历 var edu = slist[i].GetType().GetProperty("edu").GetValue(slist[i]); //岗位类别 var lev = slist[i].GetType().GetProperty("lev").GetValue(slist[i]); //岗位 var title = slist[i].GetType().GetProperty("title").GetValue(slist[i]); //性别 var gender = slist[i].GetType().GetProperty("gender").GetValue(slist[i]); //姓名 var name = slist[i].GetType().GetProperty("name").GetValue(slist[i]); //国籍 var national = slist[i].GetType().GetProperty("national").GetValue(slist[i]); //个人简历 var resume = slist[i].GetType().GetProperty("resume").GetValue(slist[i]); var Sex = gender.ToString() == "M" ? "男" : "女"; if (IsTimeExact(ann_date.ToString())) //&& IsTimeExact(begin_date.ToString()) { var AnnTime = DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); var Begin_Time = begin_date.ToString().Length<6 ? begin_date.ToString() : DateTime.ParseExact(begin_date.ToString().Length == 6 ? begin_date + "01" : begin_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); var End_Time = end_date.ToString().Length < 6 ? end_date.ToString() : DateTime.ParseExact(end_date.ToString().Length == 6 ? end_date + "01" : end_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AnnTime }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-基本信息-董监高信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "姓名", Value = name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "性别", Value = Sex }); comDynamicContentlist.Add(new ComDynamicContent { Name = "岗位类别", Value = lev }); comDynamicContentlist.Add(new ComDynamicContent { Name = "岗位", Value = title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "学历", Value = edu }); comDynamicContentlist.Add(new ComDynamicContent { Name = "国籍", Value = national }); comDynamicContentlist.Add(new ComDynamicContent { Name = "出生年月", Value = birthday }); comDynamicContentlist.Add(new ComDynamicContent { Name = "上任日期", Value = Begin_Time }); comDynamicContentlist.Add(new ComDynamicContent { Name = "离任日期", Value = End_Time }); comDynamicContentlist.Add(new ComDynamicContent { Name = "个人简历", Value = resume }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-公司资料-董监高信息", Detail = JsonHelper.ToJson(slist), ContentTime = AnnTime, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (CurrentInfo == null)//初始化加载 { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } else { if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } }*/ } /// /// 深度信息-上市信息-股本股东-股本结构 /// /// public void GetShareStructure(string Name,int ReportId) { var list = tianYanCha.GetShareStructure(Name); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { IEnumerable slist = list.Result.Data as IEnumerable; foreach (var item in slist) { int WarnLevel = 1; //时间 var PubDate = item.GetType().GetProperty("PubDate").GetValue(item); //总股本(股) var ShareAll = item.GetType().GetProperty("ShareAll").GetValue(item); //A股总股本(股) var AshareAll = item.GetType().GetProperty("AshareAll").GetValue(item); //流通A股(股) var NoLimitShare = item.GetType().GetProperty("NoLimitShare").GetValue(item); //限售A股(股) var LimitShare = item.GetType().GetProperty("LimitShare").GetValue(item); //H股总股本(股) var HshareAll = item.GetType().GetProperty("HshareAll").GetValue(item); //流通H股(股) var HnoLimitShare = item.GetType().GetProperty("HnoLimitShare").GetValue(item); //限售H股(股) var HlimitShare = item.GetType().GetProperty("HlimitShare").GetValue(item); //变动原因 var ChangeReason = item.GetType().GetProperty("ChangeReason").GetValue(item); List comDynamicContentlist = new List(); if (PubDate != null && IsDate(PubDate) == true) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PubDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-股本股东-股本结构" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "总股本(股)", Value = ShareAll }); comDynamicContentlist.Add(new ComDynamicContent { Name = "A股总股本(股)", Value = AshareAll }); comDynamicContentlist.Add(new ComDynamicContent { Name = "流通A股(股)", Value = NoLimitShare }); comDynamicContentlist.Add(new ComDynamicContent { Name = "限售A股(股)", Value = LimitShare }); comDynamicContentlist.Add(new ComDynamicContent { Name = "H股总股本(股)", Value = HshareAll }); comDynamicContentlist.Add(new ComDynamicContent { Name = "流通H股(股)", Value = HnoLimitShare }); comDynamicContentlist.Add(new ComDynamicContent { Name = "限售H股(股)", Value = HlimitShare }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变动原因", Value = ChangeReason }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-股本股东-股本结构", Detail = JsonHelper.ToJson(item), ContentTime = PubDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-上市信息-财务报表-财务审计意见 /// /// public void GetFinaAudit(string Name,int ReportId) { FinaAuditParam queryParam = new FinaAuditParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); var list = tushareService.GetFinaAudit(queryParam); if (list.Result.Data != null) { int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); //公告日期 var ann_date = slist[0].GetType().GetProperty("ann_date").GetValue(slist[0]); //TS股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //会计师事务所 var audit_agency = slist[0].GetType().GetProperty("audit_agency").GetValue(slist[0]); //审计总费用(元) var audit_fees = slist[0].GetType().GetProperty("audit_fees").GetValue(slist[0]); //审计结果 var audit_result = slist[0].GetType().GetProperty("audit_result").GetValue(slist[0]); //签字会计师 var audit_sign = slist[0].GetType().GetProperty("audit_sign").GetValue(slist[0]); //报告期 var end_date = slist[0].GetType().GetProperty("end_date").GetValue(slist[0]); // var AnnTime = DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); // var End_Time = DateTime.ParseExact(end_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); if (audit_result.ToString() == "标准无保留意见") { WarnLevel = 1; } else { WarnLevel = 2; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AnnTime }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-财务报表-财务审计意见" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股票代码", Value = ts_code }); comDynamicContentlist.Add(new ComDynamicContent { Name = "报告期", Value = end_date }); comDynamicContentlist.Add(new ComDynamicContent { Name = "审计结果", Value = audit_result }); comDynamicContentlist.Add(new ComDynamicContent { Name = "审计总费用(元)", Value = audit_fees }); comDynamicContentlist.Add(new ComDynamicContent { Name = "会计师事务所", Value = audit_agency }); comDynamicContentlist.Add(new ComDynamicContent { Name = "签字会计师", Value = audit_sign }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-财务报表-财务审计意见", Detail = JsonHelper.ToJson(slist[0]), ContentTime = AnnTime, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } /// /// 深度信息-上市信息-财务报表-财报披露日期表 /// /// public void GetDisclosureDate(string Name,int ReportId) { DisclosureDateParam queryParam = new DisclosureDateParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); var list = tushareService.GetDisclosureDateCom(queryParam); if (list != null && list.Count > 0) { if (DateTime.Now >= DateTime.Parse(DateTime.Now.ToString("yyyy-04-30"))) { var SelInfo = list.Where(p => p.end_date == DateTime.Now.AddYears(-1).ToString("yyyy1231") || p.end_date == DateTime.Now.ToString("yyyy0331")).ToList(); if (SelInfo.Count == 2) { int Num = 0; foreach (var item in SelInfo) { var Actime = item.actual_date; if (IsTimeExact(Actime) == true) { Num++; } } if (Num == 1) { foreach (var item in SelInfo) { if (IsTimeExact(item.actual_date) == false && DateTime.Now.ToString("dddd") == "星期一") { List comDynamicContentlist = new List(); if (DateTime.ParseExact(item.end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-03-31")) { TimeSpan sp = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-04-30")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{DateTime.Now.Year}年度一季报已逾期{sp.Days}天尚未披露。" }); } else { TimeSpan sp = DateTime.Now - DateTime.Parse(DateTime.Now.AddYears(-1).ToString("yyyy-12-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{DateTime.Now.AddYears(-1).Year}年度年报已逾期{sp.Days}天尚未披露。" }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 2, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(item), ContentTime = item.actual_date, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } else if (Num == 2) { foreach (var item in SelInfo) { List comDynamicContentlist = new List(); if (DateTime.ParseExact(item.end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-03-31")) { TimeSpan sps = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-04-30")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = $"{DateTime.ParseExact(item.actual_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}" }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{item.ts_code},已于{DateTime.ParseExact(item.actual_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}披露{DateTime.ParseExact(item.end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy")}年度的一季报" }); } else { TimeSpan sps = DateTime.Now - DateTime.Parse(DateTime.Now.AddYears(-1).ToString("yyyy-12-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = $"{DateTime.ParseExact(item.actual_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}" }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{item.ts_code},已于{DateTime.ParseExact(item.actual_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}披露{DateTime.ParseExact(item.end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy")}年度的年报" }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(item), ContentTime = item.end_date, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } else { foreach (var item in SelInfo) { if (IsTimeExact(item.actual_date) == false && DateTime.Now.ToString("dddd") == "星期一") { List comDynamicContentlist = new List(); if (DateTime.ParseExact(item.end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-03-31")) { TimeSpan sp = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-04-30")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{DateTime.Now.Year}年度一季报已逾期{sp.Days}天尚未披露。" }); } else { TimeSpan sp = DateTime.Now - DateTime.Parse(DateTime.Now.AddYears(-1).ToString("yyyy-12-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{DateTime.Now.AddYears(-1).Year}年度年报已逾期{sp.Days}天尚未披露。" }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 2, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(item), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } else if (DateTime.Now >= DateTime.Parse(DateTime.Now.ToString("yyyy-08-31"))) { var SelInfo = list.Where(p => p.end_date == DateTime.Now.ToString("yyyy0630")).ToList(); if (SelInfo.Count == 1) { int Num = 0; var Actime = SelInfo[0].actual_date; if (IsTimeExact(Actime) == true) { Num = 1; } if (Num == 1) { List comDynamicContentlist = new List(); TimeSpan sps = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-08-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = $"{DateTime.ParseExact(Actime, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}" }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{SelInfo[0].ts_code},已于{DateTime.ParseExact(SelInfo[0].actual_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}披露{DateTime.ParseExact(SelInfo[0].end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy")}年度的一季报" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(SelInfo[0]), ContentTime = Actime, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { if (IsTimeExact(Actime) == false && DateTime.Now.ToString("dddd") == "星期一") { List comDynamicContentlist = new List(); TimeSpan sp = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-08-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{DateTime.Now.Year}年度中报已逾期{sp.Days}天尚未披露。" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 2, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(SelInfo), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } else if (DateTime.Now >= DateTime.Parse(DateTime.Now.ToString("yyyy-10-31"))) { var SelInfo = list.Where(p => p.end_date == DateTime.Now.ToString("yyyy0930")).ToList(); if (SelInfo.Count == 1) { int Num = 0; var Actime = SelInfo[0].actual_date; if (IsTimeExact(Actime) == true) { Num = 1; } if (Num == 1) { List comDynamicContentlist = new List(); TimeSpan sps = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-10-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = $"{DateTime.ParseExact(Actime, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}" }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{SelInfo[0].ts_code},已于{DateTime.ParseExact(SelInfo[0].actual_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd")}披露{DateTime.ParseExact(SelInfo[0].end_date, "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy")}年度的三季报" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(SelInfo[0]), ContentTime = Actime, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { if (IsTimeExact(Actime) == false && DateTime.Now.ToString("dddd") == "星期一") { List comDynamicContentlist = new List(); TimeSpan sp = DateTime.Now - DateTime.Parse(DateTime.Now.ToString("yyyy-10-31")); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{DateTime.Now.Year}年度三季报已逾期{sp.Days}天尚未披露。" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 2, EventType = "深度信息-上市信息-财务报表-财报披露日期表", Detail = JsonHelper.ToJson(SelInfo), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } } /// /// 深度信息-上市信息-公司公告-业绩预告 /// /// public void GetForecast(string Name,int ReportId) { ForecastParam queryParam = new ForecastParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { queryParam.ts_code = TSCode.ToString(); var list = tushareService.GetForecast(queryParam); if (list.Result.Data != null) { var CurrentInfo = GetEventTypeFirst(Name, "深度信息-上市信息-公司公告-业绩预告"); int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { //业绩预告类型 var type = slist[0].GetType().GetProperty("type").GetValue(slist[0]); var end_date = slist[0].GetType().GetProperty("end_date").GetValue(slist[0]); var ann_date = slist[0].GetType().GetProperty("ann_date").GetValue(slist[0]); var summary = slist[0].GetType().GetProperty("summary").GetValue(slist[0]); slist[0].GetType().GetProperty("summary").SetValue(slist[0], summary.ToString().Replace("`crawler_fund_data`", "")); if (CurrentInfo != null) { var DataInfo = JsonHelper.ToObject(CurrentInfo.Detail); var Currentend_date = ((dynamic)DataInfo).end_date; if (Currentend_date != null && Currentend_date != end_date) { if (IsDate(ann_date) == false) { LogHelper.Error("GetForecast error A!Name-ann_date:" + Name + "-" + (ann_date == null ? "Null" : ann_date.ToString())); } else { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = ann_date.ToString().IndexOf('-') > 0 ? ann_date.ToString() : DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); if (type.ToString() == "首亏" || type.ToString() == "续亏") { WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent {Name = "子标题", Value = $"{end_date}的业绩预告出现“首亏”“续亏”"}); } else { WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent {Name = "子标题", Value = $"{end_date}的业绩预告已发布"}); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-公司公告-业绩预告", Detail = JsonHelper.ToJson(slist[0]), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } else { if (IsDate(ann_date) == false) { LogHelper.Error("GetForecast errorB!Name-ann_date:"+Name+"-"+(ann_date==null?"Null": ann_date.ToString())); } else { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = ann_date.ToString().IndexOf('-')>0?ann_date.ToString() : DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); if (type.ToString() == "首亏" || type.ToString() == "续亏") { WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{end_date}的业绩预告出现“首亏”“续亏”" }); } else { WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = $"{end_date}的业绩预告已发布" }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-公司公告-业绩预告", Detail = JsonHelper.ToJson(slist[0]), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 深度信息-上市信息-重大事项-违规处理 /// /// public void GetIPOViolation(string Name,int ReportId) { if (StockCode != "") { var list = qiChaCha.GetIPOViolation(StockCode, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; int WarnLevel = 2; //公告日期 var PubDate = item.GetType().GetProperty("PublicDate").GetValue(item); //处罚对象 var Markedman = item.GetType().GetProperty("Markedman").GetValue(item); //类型 var Type = item.GetType().GetProperty("Type").GetValue(item); //处分类型 var Disposition = item.GetType().GetProperty("Disposition").GetValue(item); //处理人 var ProcessMan = item.GetType().GetProperty("ProcessMan").GetValue(item); //处罚金额(万元) var PunishmentAmount = item.GetType().GetProperty("PunishmentAmount").GetValue(item); //违规行为 var Violation = item.GetType().GetProperty("Violation").GetValue(item); //处分措施 var PunishmentMeasure = item.GetType().GetProperty("PunishmentMeasure").GetValue(item); List comDynamicContentlist = new List(); if (PubDate != null && IsDate(PubDate) == true) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PubDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-重大事项-违规处理" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚对象", Value = Markedman }); comDynamicContentlist.Add(new ComDynamicContent { Name = "类型", Value = Type }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-重大事项-违规处理", Detail = JsonHelper.ToJson(item), ContentTime = PubDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 深度信息-上市信息-公司公告-公司公告 /// /// public void GetIPOAnnouncement(string Name,int ReportId) { var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { var list = qiChaCha.GetIPOAnnouncement(TSCode.ToString(), 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { int WarnLevel = 1; //公告标题 var Title = item.GetType().GetProperty("Title").GetValue(item); var TitleStr = Title.ToString(); //公告类型 var Category = item.GetType().GetProperty("Title").GetValue(item); //日期 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); List comDynamicContentlist = new List(); if (PublishDate != null && IsDate(PublishDate) == true) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告类型", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告标题", Value = Title }); if (TitleStr.Contains("债务未能如期偿还") || TitleStr.Contains("非标准无保留审计意见") || TitleStr.Contains("延期") || TitleStr.Contains("无法偿还") || TitleStr.Contains("未能偿还") || TitleStr.Contains("违约") || TitleStr.Contains("违法") || TitleStr.Contains("清算") || TitleStr.Contains("停业") || TitleStr.Contains("撤销") || TitleStr.Contains("吊销") || TitleStr.Contains("注销") || TitleStr.Contains("解散") || TitleStr.Contains("债权人委员会") || TitleStr.Contains("债委会") || TitleStr.Contains("债权人会议")) { WarnLevel = 3; } else if (TitleStr.Contains("计提资产减值准备") || TitleStr.Contains("提供担保") || TitleStr.Contains("关联方") || TitleStr.Contains("股票质押") || TitleStr.Contains("股份质押") || TitleStr.Contains("异常波动") || TitleStr.Contains("辞职") || TitleStr.Contains("停牌") || TitleStr.Contains("抵押")) { WarnLevel = 2; } else { WarnLevel = 1; } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-公司公告-公司公告", Detail = JsonHelper.ToJson(item), ContentTime = PublishDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 对外担保 /// /// public void GetIPOGuarantee(string Name,int ReportId) { if (StockCode != "") { var list = qiChaCha.GetIPOGuarantee(StockCode, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; int WarnLevel = 2; //被担保方 var BSecuredParty = item.GetType().GetProperty("BSecuredParty").GetValue(item); //担保方 var SecuredParty = item.GetType().GetProperty("SecuredParty").GetValue(item); //担保方式 var SecuredType = item.GetType().GetProperty("SecuredType").GetValue(item); //担保金额(万元) var SecuredAmount = item.GetType().GetProperty("SecuredAmount").GetValue(item); //公告日期 var PublicDate = item.GetType().GetProperty("PublicDate").GetValue(item); //担保起始日 var GuaranteeStartDate = item.GetType().GetProperty("GuaranteeStartDate").GetValue(item); //担保结束日 var GuaranteeEndDate = item.GetType().GetProperty("GuaranteeEndDate").GetValue(item); List comDynamicContentlist = new List(); if (PublicDate != null && IsDate(PublicDate) == true) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublicDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-重大事项-对外担保" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "担保方", Value = SecuredParty }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被担保方", Value = BSecuredParty }); comDynamicContentlist.Add(new ComDynamicContent { Name = "担保方式", Value = SecuredType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "担保金额(万元)", Value = SecuredAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "担保起止日期", Value = GuaranteeStartDate + "-" + GuaranteeEndDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-重大事项-对外担保", Detail = JsonHelper.ToJson(item), ContentTime = PublicDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 判断案件主体标签是否含有关键词 /// /// /// private bool GetCaseFlag(string ProsecutionStr) { bool Result = ProsecutionStr.Contains("银行") || ProsecutionStr.Contains("农商行") || ProsecutionStr.Contains("城商行") || ProsecutionStr.Contains("城市信用合作社") || ProsecutionStr.Contains("农村信用合作社") || ProsecutionStr.Contains("农村资金互助社") || ProsecutionStr.Contains("财务有限公司") || ProsecutionStr.Contains("信托") || ProsecutionStr.Contains("金融资产") || ProsecutionStr.Contains("资产管理") || ProsecutionStr.Contains("金融租赁") || ProsecutionStr.Contains("融资租赁") || ProsecutionStr.Contains("贷款") || ProsecutionStr.Contains("货币经纪") || ProsecutionStr.Contains("证券") || ProsecutionStr.Contains("基金") || ProsecutionStr.Contains("期货") || ProsecutionStr.Contains("投资咨询") || ProsecutionStr.Contains("投资管理") || ProsecutionStr.Contains("企业年金") || ProsecutionStr.Contains("交易所") || ProsecutionStr.Contains("登记结算") || ProsecutionStr.Contains("金融控股"); return Result; } /// /// 判断案件主体标签是否含有其他公司 /// /// /// /// private bool GetCaseDiffLtdFlag(string Info, string Name) { Info = Info.Replace(Name, ""); //bool Result = ((Info.Contains("公司") || Info.Contains("委员会")) && GetCaseFlag(Info)); bool Result = GetCaseFlag(Info); return Result; } /// /// 判断案件描述标签是否含有关键词 /// /// /// private bool GetCaseExFlag(object Reason) { return (Reason.ToString().Contains("刑事") || Reason.ToString().Contains("同业拆借") || Reason.ToString().Contains("借款合同") || Reason.ToString().Contains("金融借款合同") || Reason.ToString().Contains("企业借贷") || Reason.ToString().Contains("民间借贷") || Reason.ToString().Contains("小额借款合同") || Reason.ToString().Contains("金融不良债权转让") || Reason.ToString().Contains("金融不良债权追偿") || Reason.ToString().Contains("购买资产") || Reason.ToString().Contains("借贷") || Reason.ToString().Contains("融资租赁") || Reason.ToString().Contains("金融租赁")); } /// /// 诉讼仲裁 /// /// public void GetIPOLitigArbitrate(string Name,int ReportId) { //StockCode = "000002.sz"; if (StockCode != "") { var list = qiChaCha.GetIPOLitigArbitrate(StockCode.ToLower().Replace(".sz", "").Replace(".sh", ""), 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取企业的注册资金2 var dRegistCapi = GetRegistCapi(Name); IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; int WarnLevel = 1; //案件名称 var ProjectName = item.GetType().GetProperty("ProjectName").GetValue(item); var ProjectNameStr = ProjectName.ToString(); //原告方 var Prosecution = item.GetType().GetProperty("Prosecution").GetValue(item); var ProsecutionStr = Prosecution.ToString(); //被告方 var Defendant = item.GetType().GetProperty("Defendant").GetValue(item); var DefendantStr = Defendant.ToString(); //诉讼类型 var LitigationType = item.GetType().GetProperty("LitigationType").GetValue(item); //公告日期 var PublicDate = item.GetType().GetProperty("PublicDate").GetValue(item); //案件简介 var ProjectContent = item.GetType().GetProperty("ProjectContent").GetValue(item); var ProjectContentStr = ProjectContent.ToString(); //涉案金额-万元 var Amount = item.GetType().GetProperty("Amount").GetValue(item); double dAmount = 0; double.TryParse(Amount.ToString(), out dAmount); dAmount = (dAmount == 0 ? 100000 : dAmount * 10000);//如果涉案金额为0那么就默认10万 List comDynamicContentlist = new List(); if (PublicDate != null && IsDate(PublicDate) == true) { if (dRegistCapi > 0) { int WarnLevelTmp = GetRegistCapiWarningLevel(Name, dAmount, dRegistCapi); if (WarnLevelTmp <= 0) { LogHelper.Error("告警级别配置失败!Name-Amount-RegistCapi:" + Name + "-" + dAmount + "-" + dRegistCapi); } else { WarnLevel = WarnLevelTmp; } } if (GetCaseExFlag(ProjectNameStr)) { WarnLevel = 3; } if (GetCaseFlag(ProsecutionStr) || GetCaseFlag(DefendantStr)) { if (GetCaseDiffLtdFlag(ProsecutionStr, Name) || GetCaseDiffLtdFlag(DefendantStr, Name)) { WarnLevel = 3; } else if (WarnLevel <= 2) { WarnLevel = 2; } } comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublicDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-重大事项-诉讼仲裁" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "原告方", Value = Prosecution }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被告方", Value = Defendant }); comDynamicContentlist.Add(new ComDynamicContent { Name = "诉讼类型", Value = LitigationType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案件名称", Value = ProjectName }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-重大事项-诉讼仲裁", Detail = JsonHelper.ToJson(item), ContentTime = PublicDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 深度信息-上市信息-分红融资-分红送股 /// /// public void GetDividend(string Name,int ReportId) { DividendParam dividendParam = new DividendParam(); var TSCode = GetIPODetail(Name,ReportId); if (TSCode != null) { dividendParam.ts_code = TSCode.ToString(); var list = tushareService.GetDividend(dividendParam); if (list.Result.Data != null) { //var CurrentInfo = GetEventTypeFirst(Name, "深度信息-上市信息-分红融资-分红送股"); int WarnLevel = 1; var slist = (list.Result.Data as IEnumerable).ToList(); //预案公告日 var ann_date = slist[0].GetType().GetProperty("ann_date").GetValue(slist[0]); //分红年度 var end_date = slist[0].GetType().GetProperty("end_date").GetValue(slist[0]); //股票代码 var ts_code = slist[0].GetType().GetProperty("ts_code").GetValue(slist[0]); //实施进度 var div_proc = slist[0].GetType().GetProperty("div_proc").GetValue(slist[0]); var ann_time = DateTime.ParseExact(ann_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); var end_time = DateTime.ParseExact(end_date.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = ann_time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-分红融资-分红送股" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "股票代码", Value = ts_code }); comDynamicContentlist.Add(new ComDynamicContent { Name = "分红年度", Value = end_time }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实施进度", Value = div_proc }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-分红融资-分红送股", Detail = JsonHelper.ToJson(slist[0]), ContentTime = ann_time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } /// /// 深度信息-上市信息-分红融资-增发情况 /// /// public void GetQxbIssuanceList(string Name,int ReportId) { var list = qxbService.GetQxbIssuanceList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; int WarnLevel = 1; //实际增发数量(万股) var shareissued = item.GetType().GetProperty("shareissued").GetValue(item); //实际募资总额(万元) var sumfina = item.GetType().GetProperty("sumfina").GetValue(item); //增发价格(元/股) var issueprice = item.GetType().GetProperty("issueprice").GetValue(item); //发行方式 var issuemethoddscrpt = item.GetType().GetProperty("issuemethoddscrpt").GetValue(item); //增发公告日 var noticedate = item.GetType().GetProperty("noticedate").GetValue(item); List comDynamicContentlist = new List(); if (noticedate != null && IsDate(noticedate) == true) { comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(noticedate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-分红融资-增发情况" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "增发价格(元/股)", Value = issueprice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际增发数量(万股)", Value = shareissued }); comDynamicContentlist.Add(new ComDynamicContent { Name = "实际募资总额(万元)", Value = sumfina }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发行方式", Value = issuemethoddscrpt }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-上市信息-分红融资-增发情况", Detail = JsonHelper.ToJson(item), ContentTime = noticedate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 新三板交易行情-每日指标 /// /// public void GetNeeqNqhqOnline(string Name,int ReportId) { int WarnLevel = 0; if (New3Codestr != "") { var list = neeqService.GetNeeqNqhqOnline(New3Codestr); if (list != null && list.Count > 0) { var hqjsrq = list[0].GetType().GetProperty("hqjsrq").GetValue(list[0]); var Time = DateTime.ParseExact(hqjsrq.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture).ToString("yyyy-MM-dd"); //涨跌幅% var hqzdf = 0.0; double.TryParse(list[0].hqzdf, out hqzdf); //最近成交价 var hqzjcj = 0.0; double.TryParse(list[0].hqzjcj, out hqzjcj); //简称 var hqzqjc = list[0].hqzqjc; if (Time == DateTime.Now.ToString("yyyy-MM-dd") && hqzjcj != 0) { if (Math.Abs(hqzdf) >= 8) //当日涨跌幅字段内容 >= 8 % 红色 { WarnLevel = 2; } else { WarnLevel = 1; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); if (hqzdf >= 0) { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = hqzqjc + "(" + New3Codestr + ")" + $"最近成交价为{hqzjcj}元,较上一交易日上涨{(hqzdf).ToString("0.00")}%" }); } else { comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = hqzqjc + "(" + New3Codestr + ")" + $"最近成交价为{hqzjcj}元,较上一交易日下跌{(hqzdf).ToString("0.00")}%" }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-新三板上市信息-行情走势-交易行情-每日指标", Detail = JsonHelper.ToJson(list), ContentTime = Time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else if (Time == DateTime.Now.ToString("yyyy-MM-dd") && hqzjcj == 0) { WarnLevel = 2; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "今日停盘" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-新三板上市信息-行情走势-交易行情-每日指标", Detail = JsonHelper.ToJson(list), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else if (Time == DateTime.Now.ToString("yyyy-MM-dd") && hqzdf == 0) { WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Time }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = hqzqjc + "(" + New3Codestr + ")" + "当日无成交" }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-新三板上市信息-行情走势-交易行情-每日指标", Detail = JsonHelper.ToJson(list), ContentTime = Time, Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 新三板基本信息 /// /// public void GetNeeqCompanyDetail(string Name,int ReportId) { if (New3Codestr != "") { var list = neeqService.GetNeeqCompanyDetail(New3Codestr); if (list != null) { List comDynamicContentlist = new List(); //公司简称 var shortname = list.shortname; //曾用证券简称 var namehis = list.namehis; //股票代码 var code = list.code; //法人代表 var legalrepresentative = list.legalrepresentative; //公司董秘 var secretaries = list.secretaries; //行业分类 var industry = list.industry; //挂牌日期 var listingdate = list.listingdate; //总股本 var totalstockequity = list.totalstockequity; //是否具有表决权差异安排 var cyhbjq = list.cyhbjq; //公司电话 var phone = list.phone; //公司传真 var fax = list.fax; //公司网站 var website = list.website; //主办券商 var broker = list.broker; //ISIN编码 var isin = list.isin; var CurrentInfo = GetEventTypeFirst(Name, "深度信息-新三板上市信息-公司资料-基本信息"); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-新三板上市信息-公司资料-基本信息", Detail = JsonHelper.ToJson(list), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { if (CurrentInfo != null) { var Flag = false; var DataInfo = JsonHelper.ToObject(CurrentInfo.Detail); //公司简称 var Currentshortname = ((dynamic)DataInfo).shortname; //曾用证券简称 var Currentnamehis = ((dynamic)DataInfo).namehis; //股票代码 var Currentcode = ((dynamic)DataInfo).code; //法人代表 var Currentlegalrepresentative = ((dynamic)DataInfo).legalrepresentative; //董秘 var Currentsecretaries = ((dynamic)DataInfo).secretaries; //行业 var Currentindustry = ((dynamic)DataInfo).industry; //挂牌日期 var Currentlistingdate = ((dynamic)DataInfo).listingdate; //总股本 var Currenttotalstockequity = ((dynamic)DataInfo).totalstockequity; //是否具有表决权差异安排 var Currentcyhbjq = ((dynamic)DataInfo).cyhbjq; //公司电话 var Currentphone = ((dynamic)DataInfo).phone; //传真 var Currentfax = ((dynamic)DataInfo).fax; //公司网站 var Currentwebsite = ((dynamic)DataInfo).website; //主办券商 var Currentbroker = ((dynamic)DataInfo).broker; //ISIN编码 var Currentisin = ((dynamic)DataInfo).isin; //法人代表 if (Currentlegalrepresentative != null && Currentlegalrepresentative != legalrepresentative) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-法人代表变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentlegalrepresentative }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = legalrepresentative }); Flag = true; } //公司董秘 else if (Currentsecretaries != null && Currentsecretaries != secretaries) { Flag = true; comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-公司董秘变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentsecretaries }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = secretaries }); } //股票代码 else if (Currentcode != null && Currentcode != code) { comDynamicEva.WarnLevel = 2; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-股票代码变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentcode }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = code }); Flag = true; } //公司简称 else if (Currentshortname != null && Currentshortname != shortname) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-公司简称变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentshortname }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = shortname }); Flag = true; } //行业 else if (Currentindustry != null && Currentindustry != industry) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-行业分类变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentindustry }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = industry }); Flag = true; } //挂牌日期 else if (Currentlistingdate != null && Currentlistingdate != listingdate) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-挂牌日期变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentlistingdate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = listingdate }); Flag = true; } //总股本 else if (Currenttotalstockequity != null && Currenttotalstockequity != totalstockequity) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-挂牌日期变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currenttotalstockequity }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = totalstockequity }); Flag = true; } //是否具有表决权差异安排 else if (Currentcyhbjq != null && Currentcyhbjq != cyhbjq) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-是否具有表决权差异安排变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentcyhbjq }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = cyhbjq }); Flag = true; } //公司电话 else if (Currentphone != null && Currentphone != phone) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-公司电话变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentphone }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = phone }); Flag = true; } //公司传真 else if (Currentfax != null && Currentfax != fax) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-公司传真变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentfax }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = fax }); Flag = true; } //公司主页 else if (Currentwebsite != null && Currentwebsite != website) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-公司主页变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentwebsite }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = website }); Flag = true; } //主办券商 else if (Currentbroker != null && Currentbroker != broker) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-主办券商变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentbroker }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = broker }); Flag = true; } //ISIN编码 else if (Currentisin != null && Currentisin != isin) { comDynamicEva.WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "基本信息-ISIN编码变更" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更前", Value = Currentisin }); comDynamicContentlist.Add(new ComDynamicContent { Name = "变更后", Value = isin }); Flag = true; } if (Flag == true) { comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-新三板上市信息-公司资料-董监高信息 /// /// public void GetSeniorExecutive(string Name,int ReportId) { if (New3Codestr != "") { var list = tianYanCha.GetSeniorExecutive(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = tianYanCha.GetSeniorExecutive(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } var CurrentInfo = GetEventTypeFirst(Name, "深度信息-新三板上市信息-公司资料-董监高信息"); foreach (var item in slist) { int WarnLevel = 1; //公告日期 var reportDate = item.GetType().GetProperty("reportDate").GetValue(item); //姓名 var name = item.GetType().GetProperty("name").GetValue(item); //性别 var sex = item.GetType().GetProperty("sex").GetValue(item); //职务 var position = item.GetType().GetProperty("position").GetValue(item); //年龄 var age = item.GetType().GetProperty("age").GetValue(item); //学历 var education = item.GetType().GetProperty("education").GetValue(item); //持股数 var numberOfShares = item.GetType().GetProperty("numberOfShares").GetValue(item); //本届任期 var term = item.GetType().GetProperty("term").GetValue(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = reportDate }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "新三板上市公司-基本信息-董监高信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "姓名", Value = name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "性别", Value = sex }); comDynamicContentlist.Add(new ComDynamicContent { Name = "职务", Value = position }); comDynamicContentlist.Add(new ComDynamicContent { Name = "年龄", Value = age }); comDynamicContentlist.Add(new ComDynamicContent { Name = "学历", Value = education }); comDynamicContentlist.Add(new ComDynamicContent { Name = "持股数", Value = numberOfShares }); comDynamicContentlist.Add(new ComDynamicContent { Name = "本届任期", Value = term }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-新三板上市信息-公司资料-董监高信息", Detail = JsonHelper.ToJson(item), ContentTime = reportDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (CurrentInfo == null) { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } else { if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } /// /// 深度信息-新三板上市信息-公司公告 /// public void GetNeeqDisclosureProductFile(string Name,int ReportId) { if (New3Codestr != "") { var list = neeqService.GetNeeqDisclosureProductFile(New3Codestr, null, null, "", "", 1, 10); if (list != null && list.Items != null && list.Items.Count > 0) { foreach (var item in list.Items) { int WarnLevel = 0; var disclosuretitle = item.disclosuretitle; if (disclosuretitle.Contains("债务未能如期偿还") || disclosuretitle.Contains("非标准无保留审计意见") || disclosuretitle.Contains("延期") || disclosuretitle.Contains("无法偿还") || disclosuretitle.Contains("未能偿还") || disclosuretitle.Contains("违约") || disclosuretitle.Contains("违法") || disclosuretitle.Contains("清算") || disclosuretitle.Contains("停业") || disclosuretitle.Contains("撤销") || disclosuretitle.Contains("吊销") || disclosuretitle.Contains("注销") || disclosuretitle.Contains("解散") || disclosuretitle.Contains("债权人委员会") || disclosuretitle.Contains("债委会") || disclosuretitle.Contains("债权人会议")) { WarnLevel = 3; } else if (disclosuretitle.Contains("计提资产减值准备") || disclosuretitle.Contains("提供担保") || disclosuretitle.Contains("关联方") || disclosuretitle.Contains("股票质押") || disclosuretitle.Contains("股份质押") || disclosuretitle.Contains("异常波动") || disclosuretitle.Contains("辞职") || disclosuretitle.Contains("停牌") || disclosuretitle.Contains("抵押")) { WarnLevel = 2; } else { WarnLevel = 1; } List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = item.pubdate.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告类型", Value = item.disclosuret1name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告标题", Value = item.disclosuretitle }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = 1, EventType = "深度信息-新三板上市信息-公司公告", Detail = JsonHelper.ToJson(item), ContentTime = item.pubdate.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-经营预警-行政处罚 /// /// public void GetAdminPenaltyCheckList(string Name,int ReportId) { var list = qiChaCha.GetAdminPenaltyCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; int WarnLevel = 2; //决定书文号 var DocNo = item.GetType().GetProperty("DocNo").GetValue(item); //处罚事由 var PunishReason = item.GetType().GetProperty("PunishReason").GetValue(item); //处罚结果 var PunishResult = item.GetType().GetProperty("PunishResult").GetValue(item); //处罚单位 var PunishOffice = item.GetType().GetProperty("PunishOffice").GetValue(item); //数据来源 var Source = item.GetType().GetProperty("Source").GetValue(item); //处罚日期 var PunishDate = item.GetType().GetProperty("PunishDate").GetValue(item); List comDynamicContentlist = new List(); if (PunishDate != null && IsDate(PunishDate) == true) { List arr = new List(); arr.Add(item); if (PunishResult != null) { var PunishResultStr = PunishResult.ToString(); if (PunishResultStr.Contains("清算") || PunishResultStr.Contains("停业") || PunishResultStr.Contains("撤销") || PunishResultStr.Contains("吊销") || PunishResultStr.Contains("注销")) { WarnLevel = 3; } else { WarnLevel = 2; } } comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PunishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "行政处罚" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚事由", Value = PunishReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚结果", Value = PunishResult }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚单位", Value = PunishOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "决定书文号", Value = DocNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "数据来源", Value = Source }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-行政处罚", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = PunishDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-经营预警-询价评估 /// /// public void GetInquiryAssessCheckList(string Name,int ReportId) { var list = qiChaCha.GetInquiryAssessCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { double CapMoney = 0; var RmcInfo = _lib.GetRmcLibrary(Name); if (RmcInfo != null) { var CapInfo = _cap.GetRmcCapitalAndDebtByRmcId(RmcInfo.Id, RmcInfo.DataStorage).FirstOrDefault(p => p.Name == "资产总计"); if (CapInfo != null) { CapMoney = CapInfo.Money; } } IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).TotalItems = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).ItemIndex = 0; int WarnLevel = 2; //标的物 var BiaoDi = item.GetType().GetProperty("BiaoDi").GetValue(item); //标的物所有人 var CompanyName = item.GetType().GetProperty("CompanyName").GetValue(item); //询价结果(元) var EvaluationResult = item.GetType().GetProperty("EvaluationResult").GetValue(item); //关联对象 var RelatedList = item.GetType().GetProperty("RelatedList").GetValue(item); var RelatedName = ""; if (RelatedList != null) { var srelatedList = (RelatedList as IEnumerable).ToList(); RelatedName = ((dynamic)srelatedList[0]).Name; } //案号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //法院名称 var CourtName = item.GetType().GetProperty("CourtName").GetValue(item); //发布日期 var PublicDate = item.GetType().GetProperty("PublicDate").GetValue(item); List comDynamicContentlist = new List(); if (PublicDate != null && IsDate(PublicDate) == true) { List arr = new List(); arr.Add(item); if (EvaluationResult != null && IsDouble(EvaluationResult)) { double EvaluationMoney = Convert.ToDouble(EvaluationResult); if (RmcInfo != null) { if (EvaluationMoney >= CapMoney * 0.01) { WarnLevel = 2; } else { WarnLevel = 2; } } else { if (EvaluationMoney >= RegistCapiMoney * 0.3) { WarnLevel = 2; } else { WarnLevel = 2; } } } else { WarnLevel = 2; } comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublicDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "询价评估" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "标的物", Value = BiaoDi }); comDynamicContentlist.Add(new ComDynamicContent { Name = "询价结果(元)", Value = EvaluationResult }); comDynamicContentlist.Add(new ComDynamicContent { Name = "关联对象", Value = RelatedName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "法院名称", Value = CourtName }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-询价评估", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = PublicDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 获取黑名单 /// /// public void GetSeriousViolation(string Name,int ReportId) { var list = qiChaCha.GetSeriousViolationList(Name); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { IEnumerable slist = list.Result.Data as IEnumerable; foreach (var item in slist) { //类别 var Type = item.GetType().GetProperty("Type").GetValue(item); //列入严重违法失信企业名单(黑名单)原因 var AddReason = item.GetType().GetProperty("AddReason").GetValue(item); //列入日期 var AddDate = item.GetType().GetProperty("AddDate").GetValue(item); //作出决定机关(列入) var AddOffice = item.GetType().GetProperty("AddOffice").GetValue(item); //移出严重违法失信企业名单(黑名单)原因 var RemoveReason = item.GetType().GetProperty("RemoveReason").GetValue(item); //移出日期 var RemoveDate = item.GetType().GetProperty("RemoveDate").GetValue(item); var RemoveOffice = item.GetType().GetProperty("RemoveOffice").GetValue(item); int WarnLevel = 2; if (AddDate != null && IsDate(AddDate.ToString())) { if ((RemoveReason == null || RemoveOffice.ToString() == "") && (RemoveDate == null || RemoveDate.ToString() == "") && (RemoveOffice == null || RemoveOffice.ToString() == "")) { WarnLevel = 3; } else { WarnLevel = 1; } List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AddDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "经营异常-列入严重违法失信企业名单(黑名单)" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "黑名单类型", Value = Type }); comDynamicContentlist.Add(new ComDynamicContent { Name = "列入严重违法失信企业名单(黑名单)原因", Value = AddReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(列入)", Value = AddOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "移出严重违法失信企业名单(黑名单)原因", Value = RemoveReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(移出)", Value = RemoveOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "移出日期", Value = RemoveDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-黑名单", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = AddDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } if (RemoveDate != null && IsDate(RemoveDate.ToString())) { if ((RemoveReason == null || RemoveOffice.ToString() == "") && (RemoveDate == null || RemoveDate.ToString() == "") && (RemoveOffice == null || RemoveOffice.ToString() == "")) { WarnLevel = 3; } else { WarnLevel = 1; } List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = AddDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "经营异常-移出严重违法失信企业名单(黑名单)" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "黑名单类型", Value = Type }); comDynamicContentlist.Add(new ComDynamicContent { Name = "列入严重违法失信企业名单(黑名单)原因", Value = AddReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(列入)", Value = AddOffice }); comDynamicContentlist.Add(new ComDynamicContent { Name = "列入日期", Value = AddDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "移出严重违法失信企业名单(黑名单)原因", Value = RemoveReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "作出决定机关(移出)", Value = RemoveOffice }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-黑名单", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = AddDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-经营预警-欠税公告 /// /// public void GetTaxOweNoticeCheckList(string Name,int ReportId) { var list = qiChaCha.GetTaxOweNoticeCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //欠税种类 var Title = item.GetType().GetProperty("Title").GetValue(item); //欠税余额(元) var Amount = item.GetType().GetProperty("Amount").GetValue(item); //当前新发生的欠税金额(元) var NewAmount = item.GetType().GetProperty("NewAmount").GetValue(item); //发布单位 var IssuedBy = item.GetType().GetProperty("IssuedBy").GetValue(item); //发布日期 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); int WarnLevel = 2; if (PublishDate != null && IsDate(PublishDate.ToString())) { List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublishDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "欠税公告" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "欠税税种", Value = Title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "欠税余额(元)", Value = Amount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "当期新发生的欠税金额(元)", Value = NewAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发布单位", Value = IssuedBy }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-欠税公告", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = PublishDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-经营预警-环保处罚 /// /// public void GetEnvPunishmentCheckList(string Name,int ReportId) { var list = qiChaCha.GetEnvPunishmentCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //序号 var Id = item.GetType().GetProperty("Id").GetValue(item); //决定书文号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //违法类型 var IllegalType = item.GetType().GetProperty("IllegalType").GetValue(item); //处罚单位 var PunishGov = item.GetType().GetProperty("PunishGov").GetValue(item); //处罚日期 var PunishDate = item.GetType().GetProperty("PunishDate").GetValue(item); if (Id != null) { var Detail = qiChaCha.GetEnvPunishmentCheckDetail(Id.ToString()); if (Detail != null && Detail.Result.Data != null) { //处罚事由 var PunishReason = Detail.Result.Data.GetType().GetProperty("PunishReason").GetValue(Detail.Result.Data); //处罚结果 var PunishmentResult = Detail.Result.Data.GetType().GetProperty("PunishmentResult").GetValue(Detail.Result.Data); int WarnLevel = 2; if (PunishDate != null && IsDate(PunishDate.ToString())) { if (PunishmentResult != null) { var PunishmentResultStr = PunishmentResult.ToString(); if (PunishmentResultStr.Contains("清算") || PunishmentResultStr.Contains("停业") || PunishmentResultStr.Contains("撤销") || PunishmentResultStr.Contains("吊销") || PunishmentResultStr.Contains("注销") || PunishmentResultStr.Contains("关停")) { WarnLevel = 3; } else { WarnLevel = 2; } } List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PunishDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "环保处罚" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "决定书文号", Value = CaseNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "违法类型", Value = IllegalType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚事由", Value = PunishReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚结果", Value = PunishmentResult }); comDynamicContentlist.Add(new ComDynamicContent { Name = "处罚单位", Value = PunishGov }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-环保处罚", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = PunishDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } } } /// /// 深度信息-经营预警-破产重整 /// /// public void GetBankruptcyCheckList(string Name,int ReportId) { var list = qiChaCha.GetBankruptcyCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //序号 var Id = item.GetType().GetProperty("Id").GetValue(item); //案号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //被申请人 var RespondentList = item.GetType().GetProperty("RespondentList").GetValue(item); //被申请人姓名 var RespondentName = ""; if (RespondentList != null) { var RespondentLists = (RespondentList as IEnumerable).ToList(); RespondentName = ((dynamic)RespondentLists[0]).Name; } //申请人 var CompanyName = item.GetType().GetProperty("CompanyName").GetValue(item); //公开日期 var PublicDate = item.GetType().GetProperty("PublicDate").GetValue(item); int WarnLevel = 3; if (PublicDate != null && IsDate(PublicDate.ToString())) { List arr = new List(); arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublicDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "破产重整" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "申请人", Value = CompanyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseNo }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-破产重整", Detail = JsonHelper.ToJson(arr.ToArray()), ContentTime = PublicDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-经营预警-非正常户 /// /// public void GetQxbAbnormalEnterpriseByName(string Name,int ReportId) { var list = qxbService.GetQxbAbnormalEnterpriseByName(Name); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { //var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); IEnumerable slist = list.Result.Data as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).PrimaryId = 0; //纳税人识别号 var tax_num = item.GetType().GetProperty("tax_num").GetValue(item); //认定日期 var judge_date = item.GetType().GetProperty("judge_date").GetValue(item); //欠税税种 var overdue_type = item.GetType().GetProperty("overdue_type").GetValue(item); //欠税金额 var overdue_amount = item.GetType().GetProperty("overdue_amount").GetValue(item); int WarnLevel = 3; if (judge_date != null && IsDate(judge_date.ToString())) { //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = judge_date }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "非正常户" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "欠税税种", Value = overdue_type }); comDynamicContentlist.Add(new ComDynamicContent { Name = "欠税金额(元)", Value = overdue_amount }); comDynamicContentlist.Add(new ComDynamicContent { Name = "纳税人识别号", Value = tax_num }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-非正常户", Detail = JsonHelper.ToJson(item), ContentTime = judge_date.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-经营预警-税收违法 /// /// public void GetTaxIllegalCheckList(string Name,int ReportId) { var list = qiChaCha.GetTaxIllegalCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //发布时间 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); //所属税务机关 var TaxGov = item.GetType().GetProperty("TaxGov").GetValue(item); //案件性质 var CaseNature = item.GetType().GetProperty("CaseNature").GetValue(item); int WarnLevel = 2; if (PublishDate != null && IsDate(PublishDate.ToString())) { //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublishDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "税收违法" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案件性质", Value = CaseNature }); comDynamicContentlist.Add(new ComDynamicContent { Name = "所属税务机关", Value = TaxGov }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-税收违法", Detail = JsonHelper.ToJson(item), ContentTime = PublishDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-经营预警-简易注销公告 /// /// public void GetSimpleCancelCheckInfo(string Name,int ReportId) { var list = qiChaCha.GetSimpleCancelCheckInfo(Name); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { IEnumerable slist = list.Result.Data as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).PrimaryId = 0; //公告名称 var CompanyName = item.GetType().GetProperty("CompanyName").GetValue(item); //公告起止日期 var PublicDate = item.GetType().GetProperty("PublicDate").GetValue(item); //简易注销结果 var CancellationList = item.GetType().GetProperty("CancellationList").GetValue(item); var CancellationName = ""; var PabData = ""; if (CancellationList != null) { var CancellationLists = (CancellationList as IEnumerable).ToList(); CancellationName = ((dynamic)CancellationLists[0]).ResultContent; PabData = ((dynamic)CancellationLists[0]).PublicDate; } int WarnLevel = 2; //if (CancellationName.Contains("撤销")) //{ // WarnLevel = 2; //} //else //{ // WarnLevel = 3; //} if (PabData != null && IsDate(PabData.ToString())) { //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Parse(PabData).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "简易注销" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告名称", Value = CompanyName + "简易注册公告" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "简易注销结果", Value = CancellationName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告起止日期", Value = PublicDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-简易注销", Detail = JsonHelper.ToJson(item), ContentTime = DateTime.Parse(PabData).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } /// /// 深度信息-经营预警-注销备案 /// /// public void GetOffFilingCheckList(string Name,int ReportId) { var list = qiChaCha.GetOffFilingCheckList(Name); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { //var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); //if (Items != null) //{ IEnumerable slist = list.Result.Data as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).PrimaryId = 0; //公告名称 var CompanyName = item.GetType().GetProperty("CompanyName").GetValue(item); //详情 var Detail = item.GetType().GetProperty("Detail").GetValue(item); if (Detail != null) { //清算组备案日期 var ReferenceDate = ""; //清算组成立日期 var StartDate = ""; //注销原因 var CancelReason = ""; //清算组负责人 var LiqLeader = ""; //清算组成员 var LiqMember = ""; //公告期 var AnnoDate = ""; //公告内容 var AnnoContent = ""; var CreditorAnnoInfo = Detail.GetType().GetProperty("CreditorAnnoInfo").GetValue(Detail); if (CreditorAnnoInfo != null) { var CreAnnoDate = CreditorAnnoInfo.GetType().GetProperty("AnnoDate").GetValue(CreditorAnnoInfo); if (CreAnnoDate != null) { AnnoDate = CreAnnoDate.ToString(); } var CreAnnoContent = CreditorAnnoInfo.GetType().GetProperty("AnnoContent").GetValue(CreditorAnnoInfo); if (CreAnnoContent != null) { AnnoContent = CreAnnoContent.ToString(); } } var LiqReferenceInfo = Detail.GetType().GetProperty("LiqReferenceInfo").GetValue(Detail); if (LiqReferenceInfo != null) { var LiqReferenceDate = LiqReferenceInfo.GetType().GetProperty("ReferenceDate").GetValue(LiqReferenceInfo); if (LiqReferenceDate != null) { ReferenceDate = LiqReferenceDate.ToString(); } var LiqStartDate = LiqReferenceInfo.GetType().GetProperty("StartDate").GetValue(LiqReferenceInfo); if (LiqStartDate != null) { StartDate = LiqStartDate.ToString(); } var LiqCancelReason = LiqReferenceInfo.GetType().GetProperty("CancelReason").GetValue(LiqReferenceInfo); if (LiqCancelReason != null) { CancelReason = LiqCancelReason.ToString(); } var LiqLiqLeader = LiqReferenceInfo.GetType().GetProperty("LiqLeader").GetValue(LiqReferenceInfo); if (LiqLiqLeader != null) { //清算组负责人 LiqLeader = LiqLiqLeader.ToString(); } var LiqLiqMember = LiqReferenceInfo.GetType().GetProperty("LiqMember").GetValue(LiqReferenceInfo); //清算组成员 if (LiqLiqMember != null) { LiqMember = LiqLiqMember.ToString(); } } int WarnLevel = 2; if (ReferenceDate != null && IsDate(ReferenceDate.ToString())) { //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Parse(ReferenceDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "注销备案" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "清算组成立日期", Value = StartDate }); comDynamicContentlist.Add(new ComDynamicContent { Name = "注销原因", Value = CancelReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "清算组负责人", Value = LiqLeader }); comDynamicContentlist.Add(new ComDynamicContent { Name = "清算组成员", Value = LiqMember }); comDynamicContentlist.Add(new ComDynamicContent { Name = "债权人公告内容 ", Value = AnnoContent }); comDynamicContentlist.Add(new ComDynamicContent { Name = "债权人公告期", Value = AnnoDate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-注销备案", Detail = JsonHelper.ToJson(item), ContentTime = DateTime.Parse(ReferenceDate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } //} } } /// /// 深度信息-经营预警-公示催告 /// /// public void GetPublishNoticeCheckList(string Name,int ReportId) { var list = qiChaCha.GetPublishNoticeCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //公告日期 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); //发布机构 var PublishOrg = item.GetType().GetProperty("PublishOrg").GetValue(item); //票面金额 var BillAmt = item.GetType().GetProperty("BillAmt").GetValue(item); //票据类型 var BillType = item.GetType().GetProperty("BillType").GetValue(item); //票据号 var BillNo = item.GetType().GetProperty("BillNo").GetValue(item); int WarnLevel = 2; if (PublishDate != null && IsDate(PublishDate.ToString())) { //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = PublishDate }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "公示催告" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "票据号", Value = BillNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "票据类型", Value = BillType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "票面金额", Value = BillAmt }); comDynamicContentlist.Add(new ComDynamicContent { Name = "发布机构", Value = PublishOrg }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-经营预警-公示催告", Detail = JsonHelper.ToJson(item), ContentTime = PublishDate.ToString(), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 获取企业的注册资本 /// /// /// private double GetRegistCapi(string Name) { //获取注册资本 double RegistCapi = -1; var listCompany = qiChaCha.GetFullDetail(Name); if (listCompany != null && listCompany.Result.Data != null && listCompany.Result.Data.ToString() != "接口无数据返回") { //工商信息--注册资本 var comRegistCapi = listCompany.Result.Data.GetType().GetProperty("RegistCapi") .GetValue(listCompany.Result.Data); if (comRegistCapi != null) { double dRegistCapi = 0; double dCoffient = comRegistCapi.ToString().IndexOf("万元") >= 0 ? 10000 : 1; string strRegistCapiSrc = comRegistCapi.ToString().Replace("万元", "").Replace("万", "").Replace("元", "").Replace("人民币", "") .Replace(",", ""); double.TryParse(strRegistCapiSrc, out dRegistCapi); RegistCapi = dRegistCapi * dCoffient; } } return RegistCapi; } /// /// 获取企业的注册资本vs涉案金额的预警等级(Cancel) /// /// /// private int GetRegistCapiWarningLevel(string Name, double CompareBase = 100000, double RegistCapiDefault = 0, double PercentDef = 0.05) { return -1; //如果注册资本参数大于0那么直接赋值,否则从企查查取数 //double RegistCapi = (RegistCapiDefault <= 0 ? GetRegistCapi(Name) : RegistCapiDefault); ////计算比例--将该开庭公告的涉案金额设定为100万元,然后与被监控企业的注册资本比较,大于等于被监控企业的注册资本的5%时-红色 ////将该开庭公告的涉案金额设定为100万元,然后与被监控企业的注册资本比较,小于被监控企业的注册资本的5%,大于等于3%--黄色 //if (RegistCapi == 0 || RegistCapi == -1) return -1; //double Percent = CompareBase / RegistCapi; //if (Percent >= PercentDef) //{ // return 2; //} //else //{ // return 1; //} } /// /// 判断主体(可能有多个)至少有一个不是被监控企业的实际控制人或法定代表人 /// /// /// private bool GetActualFlag(List listGroup5BG) { for (int i = 0; i < listGroup5BG.Count; i++) { if (listGroup5BG[i] != ActualNamestr && listGroup5BG[i] != OperNamestr) return true; } return false; } /// /// 判断主体(可能有多个)都是被监控企业的实际控制人或法定代表人 /// /// /// private bool GetActualFlagAll(List listGroup5BG) { for (int i = 0; i < listGroup5BG.Count; i++) { if (listGroup5BG[i] == ActualNamestr || listGroup5BG[i] == OperNamestr) continue; else { return false; } } return true; } /// /// 深度信息-司法涉诉-立案信息 /// /// public void GetCaseFilingCheckList(string Name,int ReportId) { var list = qiChaCha.GetCaseFilingCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { int WarningLevelTmp = GetRegistCapiWarningLevel(Name,ReportId); IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //案号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //立案日期 var PunishDate = item.GetType().GetProperty("PunishDate").GetValue(item); //公诉人/原告/上诉人/申请人 var ProsecutorList = item.GetType().GetProperty("ProsecutorList").GetValue(item); string ProsecutorName = ""; string LtdGroupA = "";//公诉人/原告/上诉人/申请人 List listGroup5GS = new List(); //记录小于等于5的公诉名单 if (ProsecutorList != null) { var ProsecutorLists = (ProsecutorList as IEnumerable).ToList(); foreach (var itempro in ProsecutorLists) { ProsecutorName += ((dynamic)itempro).Name + ","; string NameTmp = ((dynamic)itempro).Name; if (NameTmp.Length <= 5) listGroup5GS.Add(NameTmp); } ProsecutorName = ProsecutorName.TrimEnd(','); LtdGroupA = ProsecutorName; } //被告人/被告/被上诉人/被申请人 var DefendantList = item.GetType().GetProperty("DefendantList").GetValue(item); string DefendantName = ""; string LtdGroupB = "";//被告人/被告/被上诉人/被申请人 List listGroup5BG = new List(); //记录小于等于5的名单 if (DefendantList != null) { var DefendantLists = (DefendantList as IEnumerable).ToList(); foreach (var itemdef in DefendantLists) { DefendantName += ((dynamic)itemdef).Name + ","; string NameTmp = ((dynamic) itemdef).Name; if (NameTmp.Length <= 5 && NameTmp!=Name) listGroup5BG.Add(NameTmp); } DefendantName = DefendantName.TrimEnd(','); LtdGroupB = DefendantName; } //法院名称 var Court = item.GetType().GetProperty("Court").GetValue(item); var Id = item.GetType().GetProperty("Id").GetValue(item); var Detail = qiChaCha.GetCaseFilingDetail(Id.ToString()); if (Detail.Result.Data != null) { int WarnLevel = 1; if (PunishDate != null && IsDate(PunishDate.ToString())) { //案由 var Reason = Detail.Result.Data.GetType().GetProperty("Reason").GetValue(Detail.Result.Data); //案件类型 var CaseType = Detail.Result.Data.GetType().GetProperty("CaseType").GetValue(Detail.Result.Data); if (WarningLevelTmp > 0) { WarnLevel = WarningLevelTmp; } if (ContainKeyWords(Reason.ToString(), 3)) //包含“关键词库-3”中的任一词语 { if (ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) WarnLevel = 2; } else //不包含“关键词库-3”中的任一词语 { //被监控企业出现在此栏 if (LtdGroupB.IndexOf(Name) >= 0) { // 公诉人/原告/上诉人/申请人以下条件同时满足: //1.这一栏里的企业名称包含“关键词库 - 1” //2.这一栏的所有主体名称长度全部大于(不等于)五个汉字 //3.这一栏不包含“反诉”文字 // 被告人/被告/被上诉人/被申请人以下条件至少满足一条: //1.除被监控企业外出现此栏的其他所有主体的名字长度全部大于(不等于)五个汉字; //2.除被监控企业外出现此栏的其他某些主体的名字长度小于(等于)五个汉字,且满足该条件的主体(可能有多个)都是被监控企业的实际控制人或法定代表人 //3.被监控企业的经营范围不包含“关键词库5” if (ContainKeyWords(LtdGroupA, 1) && listGroup5GS.Count == 0 && !LtdGroupA.Contains("反诉") && (listGroup5BG.Count == 0 || (listGroup5BG.Count > 0 && GetActualFlagAll(listGroup5BG)) || !ContainKeyWords(Scopestr, 5))) { WarnLevel = 3; } // 公诉人/原告/上诉人/申请人以下条件同时满足:待优化 //1.这一栏里的企业名称包含“关键词库 - 1”,但不是以下的字段:银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理 //2.这一栏不包含“反诉” // 被告人/被告/被上诉人/被申请人以下条件同时满足: //1.除被监控企业外出现此栏的其他某些主体的名字长度小于(等于)五个汉字,且满足该条件的主体(可能有多个)至少有一个不是被监控企业的实际控制人或法定代表人 //2.被监控企业的经营范围包含“关键词库5” else if (ContainKeyWords(LtdGroupA, 1) && !ContainKeyWords(LtdGroupA, 6) && !LtdGroupA.Contains("反诉") && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 3; } //这一栏里的企业名称包含“关键词库 - 1”中的以下字段:银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理 else if (ContainKeyWords(LtdGroupA, 6) && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 2; } } //if (ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) //{ //出现此栏的其他所有主体的名字长度全部大于(不等于)四个汉字 //出现此栏的其他某一个主体的名字长度小于(等于)四个汉字,且满足该条件的主体是被监控企业的实际控制人或法定代表人 //if (listGroupFour.Count == 0 || // (listGroupFour.Count > 0 && (listGroupFour.Contains(ActualNamestr) || // listGroupFour.Contains(OperNamestr)))) //{ // WarnLevel = 3; //} ////出现此栏的其他某一个主体的名字长度小于(等于)四个汉字,且满足该条件的主体不是被监控企业的实际控制人或法定代表人 //if (listGroupFour.Count > 0 && listGroupFour.Contains(ActualNamestr)==false && // listGroupFour.Contains(OperNamestr)==false) //{ // WarnLevel = 2; //} //} } //包含“关键词库-2”或“关键词库-4”中的任一词语 if (ContainKeyWords(Reason.ToString(), 4) || ContainKeyWords(Reason.ToString(), 2)) //包含“关键词库-3”或“关键词库-2”中的任一词语 { if (((!ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) || (LtdGroupA.IndexOf(Name) >= 0 && ContainKeyWords(LtdGroupB, 1))) && WarnLevel < 2) { WarnLevel = 2; } } //if (WarningLevelTmp > 0) //{ // WarnLevel = WarningLevelTmp; //} //if (CaseType.ToString() == "刑事") //{ // WarnLevel = 3; //} //if (CaseType.ToString() == "民事" && GetCaseExFlag(Reason)) //{ // WarnLevel = 3; //} //if (GetCaseFlag(ProsecutorName) || GetCaseFlag(DefendantName)) //{ // //红色: “公诉人 / 原告 / 上诉人 / 申请人”字段、“被告人 / 被告 / 被上诉人 / 被申请人 ”出现的前述各种字段所属的各种企业全称,只要这些企业全称与“被监控企业”有不同时 // if (GetCaseDiffLtdFlag(ProsecutorName, Name) || GetCaseDiffLtdFlag(DefendantName, Name)) // { // WarnLevel = 3; // } // else if (WarnLevel <= 2) //不高于当前等级 // { // WarnLevel = 2; // } //} //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PunishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "立案信息" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公诉人/原告/上诉人/申请人", Value = ProsecutorName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被告人/被告/被上诉人/被申请人", Value = DefendantName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案件类型", Value = CaseType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案由", Value = Reason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "法院", Value = Court }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-立案信息", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(PunishDate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ReportId = ReportId }; //if (ExistComDynamicEva(comDynamicEva) == false) //{ var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); //} } } } } } } /// /// 深度信息-司法涉诉-开庭公告 /// /// public void GetCourtAnnoCheckList(string Name,int ReportId) { var list = qiChaCha.GetCourtAnnoCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { int WarningLevelTmp = GetRegistCapiWarningLevel(Name,ReportId); IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //案号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //开庭时间 var CourtTime = item.GetType().GetProperty("CourtTime").GetValue(item); //案由 var CaseReason = item.GetType().GetProperty("CaseReason").GetValue(item); //当事人 var PartyList = item.GetType().GetProperty("PartyList").GetValue(item); string PartyName = ""; string LtdGroupA = "";//原告 string LtdGroupB = "";//被告 List listGroup5GS = new List(); List listGroup5BG = new List(); if (PartyList != null) { var PartyLists = (PartyList as IEnumerable).ToList(); var PartyListsBG = new List();//被告 var PartyListsYG = new List();//原告 var PartyListsThird = new List();//第三方 var PartyListsOther = new List(); foreach (var itempar in PartyLists) { if (((dynamic)itempar).RoleType == "1")//被告 { PartyListsBG.Add(itempar); LtdGroupB += ((dynamic)itempar).Name + ","; string NameTmp = ((dynamic)itempar).Name; if (NameTmp.Length <= 5 && NameTmp!=Name) listGroup5BG.Add(NameTmp); } else if (((dynamic)itempar).RoleType == "2")//原告 { PartyListsYG.Add(itempar); LtdGroupA += ((dynamic) itempar).Name + ","; string NameTmp = ((dynamic)itempar).Name; if (NameTmp.Length <= 5 ) listGroup5GS.Add(NameTmp); } else if (((dynamic)itempar).RoleType == "3")//第三方 { PartyListsThird.Add(itempar); } else { PartyListsOther.Add(itempar); } } var PartyListsAll = PartyListsYG.Concat(PartyListsBG).Concat(PartyListsThird).Concat(PartyListsOther).ToList(); foreach (var itempar in PartyListsAll) { if (((dynamic)itempar).RoleType == "1")//被告 { PartyName += "被告-" + ((dynamic)itempar).Name + "
"; } else if (((dynamic)itempar).RoleType == "2")//原告 { PartyName += "原告-" + ((dynamic)itempar).Name + "
"; } else if (((dynamic)itempar).RoleType == "3")//第三方 { PartyName += "第三方-" + ((dynamic)itempar).Name + "
"; } else { PartyName += "其他-" + ((dynamic)itempar).Name + "
"; } } if (PartyName.IndexOf("
") >= 0) { PartyName = PartyName.Substring(0, PartyName.LastIndexOf("
")); } } var Id = item.GetType().GetProperty("Id").GetValue(item); var Detail = qiChaCha.GetCourtAnnoCheckDetail(Id.ToString()); if (Detail.Result.Data != null) { int WarnLevel = 1; if (CourtTime != null && IsDate(CourtTime.ToString()) && DateTime.Now >= Convert.ToDateTime(CourtTime)) { //法院名称 var Court = Detail.Result.Data.GetType().GetProperty("Court").GetValue(Detail.Result.Data); //公告内容 var Content = Detail.Result.Data.GetType().GetProperty("Content").GetValue(Detail.Result.Data); //if (CaseNo.ToString().Contains("浙0106民初10075号")) //{ // string mm = ""; //} if (WarningLevelTmp > 0) { WarnLevel = WarningLevelTmp; } if (ContainKeyWords(CaseReason.ToString(), 3)) //包含“关键词库-3”中的任一词语 { if (ContainKeyWords(LtdGroupA.Replace(Name, ""), 1) && LtdGroupB.IndexOf(Name) >= 0) WarnLevel = 2; } else //不包含“关键词库-3”中的任一词语 { //被监控企业出现在此栏 if (LtdGroupB.IndexOf(Name) >= 0) { if (ContainKeyWords(LtdGroupA, 1) && listGroup5GS.Count == 0 && !PartyList.ToString().Contains("反诉") && (listGroup5BG.Count == 0 || (listGroup5BG.Count > 0 && GetActualFlagAll(listGroup5BG)) || !ContainKeyWords(Scopestr, 5))) { WarnLevel = 3; } else if (ContainKeyWords(LtdGroupA.Replace(Name,""), 1) && !ContainKeyWords(LtdGroupA.Replace(Name, ""), 6) && !PartyList.ToString().Contains("反诉") && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 3; } else if (ContainKeyWords(LtdGroupA.Replace(Name, ""), 6) && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 2; } else if (ContainKeyWords(LtdGroupA, 1) && (listGroup5GS.Count > 0 || PartyList.ToString().Contains("反诉"))) { WarnLevel = 2; } } } //包含“关键词库-2”或“关键词库-4”中的任一词语 if (ContainKeyWords(CaseReason.ToString(), 4) || ContainKeyWords(CaseReason.ToString(), 2)) //包含“关键词库-3”或“关键词库-2”中的任一词语 { if (!ContainKeyWords(LtdGroupA.Replace(Name, ""), 1) && LtdGroupB.IndexOf(Name) >= 0 && WarnLevel < 2) { WarnLevel = 2; } } //if (WarningLevelTmp > 0) //{ // WarnLevel = WarningLevelTmp; //} //if (GetCaseExFlag(CaseReason)) //{ // WarnLevel = 3; //} //if (GetCaseExFlag(Content)) //{ // WarnLevel = 3; //} //if (GetCaseFlag(PartyName)) //{ // //红色: “当事人”字段出现的前述各种字段所属的各种企业全称,只要这些企业全称与“被监控企业”有不同时 // if (GetCaseDiffLtdFlag(PartyName, Name)) // { // WarnLevel = 3; // } // else if (WarnLevel <= 2) // { // WarnLevel = 2; // } //} List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(CourtTime).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "开庭公告" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "当事人", Value = PartyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案由", Value = CaseReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "法院", Value = Court }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-开庭公告", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(CourtTime).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ReportId = ReportId }; //if (ExistComDynamicEva(comDynamicEva) == false) //{ var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); //} } } } } } } /// /// 深度信息-司法涉诉-法院公告 /// /// public void GetCourtNoticeCheckList(string Name,int ReportId) { var list = qiChaCha.GetCourtNoticeCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { int WarningLevelTmp = GetRegistCapiWarningLevel(Name,ReportId); IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //公告类型 var Category = item.GetType().GetProperty("Category").GetValue(item); //公告人 var Court = item.GetType().GetProperty("Court").GetValue(item); //刊登日期 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); //案由 var CaseReason = item.GetType().GetProperty("CaseReason").GetValue(item); //公诉人/原告/上诉人/申请人 var ProsecutorList = item.GetType().GetProperty("ProsecutorList").GetValue(item); string ProsecutorName = ""; string LtdGroupA = ""; List listGroup5GS = new List(); //记录小于等于5的公诉名单 if (ProsecutorList != null) { var ProsecutorLists = (ProsecutorList as IEnumerable).ToList(); foreach (var itempro in ProsecutorLists) { ProsecutorName += ((dynamic)itempro).Name + ","; string NameTmp = ((dynamic)itempro).Name; if (NameTmp.Length <= 5) listGroup5GS.Add(NameTmp); } ProsecutorName = ProsecutorName.TrimEnd(','); LtdGroupA = ProsecutorName; } //被告人/被告/被上诉人/被申请人 var DefendantList = item.GetType().GetProperty("DefendantList").GetValue(item); string DefendantName = ""; string LtdGroupB = ""; List listGroup5BG = new List(); //记录小于等于5的名单 if (DefendantList != null) { var DefendantLists = (DefendantList as IEnumerable).ToList(); foreach (var itemdef in DefendantLists) { DefendantName += ((dynamic)itemdef).Name + ","; string NameTmp = ((dynamic) itemdef).Name; if (NameTmp.Length <= 5 &&NameTmp!=Name) listGroup5BG.Add(NameTmp); } DefendantName = DefendantName.TrimEnd(','); LtdGroupB = DefendantName; } var Id = item.GetType().GetProperty("Id").GetValue(item); var Detail = qiChaCha.GetCourtNoticeCheckDetail(Id.ToString()); if (Detail.Result.Data != null) { int WarnLevel = 1; if (PublishDate != null && IsDate(PublishDate.ToString()) && DateTime.Now >= Convert.ToDateTime(PublishDate)) { //内容 var Content = Detail.Result.Data.GetType().GetProperty("Content").GetValue(Detail.Result.Data); if (WarningLevelTmp > 0) { WarnLevel = WarningLevelTmp; } if (ContainKeyWords(CaseReason.ToString(), 3)) //包含“关键词库-3”中的任一词语 { if (ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) WarnLevel = 2; } else //不包含“关键词库-3”中的任一词语 { //被监控企业出现在此栏 if (LtdGroupB.IndexOf(Name) >= 0) { // 公诉人/原告/上诉人/申请人以下条件同时满足: //1.这一栏里的企业名称包含“关键词库 - 1” //2.这一栏的所有主体名称长度全部大于(不等于)五个汉字 //3.这一栏不包含“反诉”文字 // 被告人/被告/被上诉人/被申请人以下条件至少满足一条: //1.除被监控企业外出现此栏的其他所有主体的名字长度全部大于(不等于)五个汉字; //2.除被监控企业外出现此栏的其他某些主体的名字长度小于(等于)五个汉字,且满足该条件的主体(可能有多个)都是被监控企业的实际控制人或法定代表人 //3.被监控企业的经营范围不包含“关键词库5” if (ContainKeyWords(LtdGroupA, 1) && listGroup5GS.Count == 0 && !LtdGroupA.Contains("反诉") && (listGroup5BG.Count == 0 || (listGroup5BG.Count > 0 && GetActualFlagAll(listGroup5BG)) || !ContainKeyWords(Scopestr, 5))) { WarnLevel = 3; } // 公诉人/原告/上诉人/申请人以下条件同时满足:待优化 //1.这一栏里的企业名称包含“关键词库 - 1”,但不是以下的字段:银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理 //2.这一栏不包含“反诉” // 被告人/被告/被上诉人/被申请人以下条件同时满足: //1.除被监控企业外出现此栏的其他某些主体的名字长度小于(等于)五个汉字,且满足该条件的主体(可能有多个)至少有一个不是被监控企业的实际控制人或法定代表人 //2.被监控企业的经营范围包含“关键词库5” else if (ContainKeyWords(LtdGroupA, 1) && !ContainKeyWords(LtdGroupA, 6) && !LtdGroupA.Contains("反诉") && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 3; } //这一栏里的企业名称包含“关键词库 - 1”中的以下字段:银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理 else if (ContainKeyWords(LtdGroupA, 6) && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 2; } } //if (ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) //{ // 出现此栏的其他所有主体的名字长度全部大于(不等于)四个汉字 // 出现此栏的其他某一个主体的名字长度小于(等于)四个汉字,且满足该条件的主体是被监控企业的实际控制人或法定代表人 // if (listGroupFour.Count == 0 || // (listGroupFour.Count > 0 && (listGroupFour.Contains(ActualNamestr) || // listGroupFour.Contains(OperNamestr)))) // { // WarnLevel = 3; // } // 出现此栏的其他某一个主体的名字长度小于(等于)四个汉字,且满足该条件的主体不是被监控企业的实际控制人或法定代表人 // if (listGroupFour.Count > 0 && listGroupFour.Contains(ActualNamestr) == false && // listGroupFour.Contains(OperNamestr) == false) // { // WarnLevel = 2; // } //} } //包含“关键词库-2”或“关键词库-4”中的任一词语 if (ContainKeyWords(CaseReason.ToString(), 4) || ContainKeyWords(CaseReason.ToString(), 2)) //包含“关键词库-3”或“关键词库-2”中的任一词语 { if (((!ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) || (LtdGroupA.IndexOf(Name) >= 0 && ContainKeyWords(LtdGroupB, 1))) && WarnLevel < 2) { WarnLevel = 2; } } //if (WarningLevelTmp > 0) //{ // WarnLevel = WarningLevelTmp; //} //if (GetCaseExFlag(Content)) //{ // WarnLevel = 3; //} //if (GetCaseExFlag(CaseReason)) //{ // WarnLevel = 3; //} //if (GetCaseFlag(ProsecutorName) || GetCaseFlag(DefendantName)) //{ // //红色 “公诉人/原告/上诉人/申请人”字段、“被告人/被告/被上诉人/被申请人 ”出现的前述各种字段所属的各种企业全称,只要这些企业全称与“被监控企业”有不同时 // if (GetCaseDiffLtdFlag(ProsecutorName, Name) || GetCaseDiffLtdFlag(DefendantName, Name)) // { // WarnLevel = 3; // } // else if (WarnLevel <= 2) // { // WarnLevel = 2; // } //} //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "法院公告" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公诉人/原告/上诉人/申请人", Value = ProsecutorName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被告人/被告/被上诉人/被申请人", Value = DefendantName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案由", Value = CaseReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告类型", Value = Category }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告人", Value = Court }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-法院公告", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ReportId = ReportId }; //if (ExistComDynamicEva(comDynamicEva) == false) //{ var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); //} } } } } } } /// /// 深度信息-司法涉诉-裁判文书 /// /// public void GetJudgmentDoc(string Name,int ReportId) { var list = qiChaCha.GetJudgmentDoc(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { int WarningLevelTmp = GetRegistCapiWarningLevel(Name,ReportId); IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //裁判文书标题 var CaseName = item.GetType().GetProperty("CaseName").GetValue(item); //案由 var CaseReason = item.GetType().GetProperty("CaseReason").GetValue(item); //发布日期 var SubmitDate = item.GetType().GetProperty("SubmitDate").GetValue(item); //案号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //案件身份 var CaseRole = item.GetType().GetProperty("CaseRole").GetValue(item); var PerName = ""; var LtdGroupA = "";//原告-申请人-申请执行人 var LtdGroupB = "";//被告-被申请人-被执行人 var LtdGroupAYG = "";//原告 List listGroup5GS = new List(); List listGroup5BG=new List(); if (CaseRole != null) { JArray obj = (JArray)JsonConvert.DeserializeObject(CaseRole.ToString()); var Arr = obj.ToObject>().ToList(); if (Arr.Count > 0) { foreach (var itemArr in Arr) { PerName += itemArr.R + "-" + itemArr.P + "
"; if (itemArr.R.Contains("被告") || itemArr.R.Contains("被申请人") || itemArr.R.Contains("被执行人")) { LtdGroupB += itemArr.P + ","; string NameTmp = itemArr.P; if (NameTmp.Length <= 5 && NameTmp != Name) listGroup5BG.Add(NameTmp); if (itemArr.R.Contains("原告")) { LtdGroupA += itemArr.P + ","; if(itemArr.P!=Name) LtdGroupAYG += itemArr.P + ","; string NameTmp2 = itemArr.P; if (NameTmp2.Length <= 5) listGroup5GS.Add(NameTmp2); } } else if (itemArr.R.Contains("原告") || itemArr.R.Contains("申请人") || itemArr.R.Contains("申请执行人")) { LtdGroupA += itemArr.P + ","; string NameTmp2 = itemArr.P; if (NameTmp2.Length <= 5) listGroup5GS.Add(NameTmp2); if (itemArr.R.Contains("原告") || itemArr.P != Name) { LtdGroupAYG += itemArr.P + ","; } if (itemArr.R.Contains("被告")) { LtdGroupB += itemArr.P + ","; string NameTmp = itemArr.P; if (NameTmp.Length <= 5 && NameTmp!=Name) listGroup5BG.Add(NameTmp); } } } PerName = PerName.Substring(0, PerName.LastIndexOf("
")); } } //法院名称 var Court = item.GetType().GetProperty("Court").GetValue(item); int WarnLevel = 1; if (SubmitDate != null && IsDate(SubmitDate.ToString()) && DateTime.Now >= Convert.ToDateTime(SubmitDate)) { //if (CaseNo.ToString().Contains("1743号")) //{ // string mm = ""; //} if (WarningLevelTmp > 0) { WarnLevel = WarningLevelTmp; } if (ContainKeyWords(CaseReason.ToString(),3)) //包含“关键词库-3”中的任一词语 { if (ContainKeyWords(LtdGroupA.Replace(Name,""), 1) && LtdGroupB.IndexOf(Name) >= 0) WarnLevel = 2; } else //不包含“关键词库-3”中的任一词语 { //被监控企业出现在此栏 if (LtdGroupB.IndexOf(Name) >= 0) { if (ContainKeyWords(LtdGroupA, 1) && listGroup5GS.Count == 0 && !CaseRole.ToString().Contains("反诉") && (listGroup5BG.Count == 0 || (listGroup5BG.Count > 0 && GetActualFlagAll(listGroup5BG)) || !ContainKeyWords(Scopestr, 5))) { WarnLevel = 3; } else if (ContainKeyWords(LtdGroupAYG, 1) && !ContainKeyWords(LtdGroupAYG, 6) && !CaseRole.ToString().Contains("反诉") && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 3; } else if (ContainKeyWords(LtdGroupAYG, 6) && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 2; } else if (ContainKeyWords(LtdGroupA, 1) && (listGroup5GS.Count > 0 || CaseRole.ToString().Contains("反诉"))) { WarnLevel = 2; } } } //包含“关键词库-2”或“关键词库-4”中的任一词语 if (ContainKeyWords(CaseReason.ToString(), 4) || ContainKeyWords(CaseReason.ToString(), 2)) //包含“关键词库-3”或“关键词库-2”中的任一词语 { if (!ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0 && WarnLevel<2) { WarnLevel = 2; } } //if (WarningLevelTmp > 0) //{ // WarnLevel = WarningLevelTmp; //} //if (GetCaseExFlag(CaseName)) //{ // WarnLevel = 3; //} //if (GetCaseExFlag(CaseReason)) //{ // WarnLevel = 3; //} //if (GetCaseFlag(PerName)) //{ // //红色 “案件身份”字段出现的前述各种字段所属的各种企业全称,只要这些企业全称与“被监控企业”有不同时 // if (GetCaseDiffLtdFlag(PerName, Name)) // { // WarnLevel = 3; // } // else if (WarnLevel <= 2) // { // WarnLevel = 2; // } //} List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(SubmitDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "裁判文书" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "裁判文书标题", Value = CaseName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案由", Value = CaseReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案件身份", Value = PerName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseNo }); comDynamicContentlist.Add(new ComDynamicContent { Name = "法院", Value = Court }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-裁判文书", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(SubmitDate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ReportId = ReportId }; //if (ExistComDynamicEva(comDynamicEva) == false) //{ var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); //} } } } } } /// /// 深度信息-司法涉诉-失信被执行 /// /// public void GetShiXin(string Name,int ReportId) { var list = qiChaCha.GetShiXin(Name, true, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //案号 var Anno = item.GetType().GetProperty("Anno").GetValue(item); //执行法院 var Executeunite = item.GetType().GetProperty("Executeunite").GetValue(item); //执行依据文号 var Executeno = item.GetType().GetProperty("Executeno").GetValue(item); //履行情况 var Executestatus = item.GetType().GetProperty("Executestatus").GetValue(item); //立案日期 var Liandate = item.GetType().GetProperty("Liandate").GetValue(item); //发布日期 var Publicdate = item.GetType().GetProperty("Publicdate").GetValue(item); int WarnLevel = 3; if (Publicdate != null && IsDate(Publicdate.ToString()) && DateTime.Now >= Convert.ToDateTime(Publicdate)) { //强制为红色20220414FX //if (WarnLevel == 2) WarnLevel = 3; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(Publicdate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "失信被执行" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行法院", Value = Executeunite }); comDynamicContentlist.Add(new ComDynamicContent { Name = "履行情况", Value = Executestatus }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = Anno }); comDynamicContentlist.Add(new ComDynamicContent { Name = "执行依据文号", Value = Executeno }); comDynamicContentlist.Add(new ComDynamicContent { Name = "立案日期", Value = Liandate }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-失信被执行", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(Publicdate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-司法涉诉-限制高消费 /// /// public void GetConsumptionRestriction(string Name,int ReportId) { var list = tianYanCha.GetConsumptionRestriction(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //姓名 var Xname = item.GetType().GetProperty("Xname").GetValue(item); //立案日期 var CaseCreateTime = item.GetType().GetProperty("CaseCreateTime").GetValue(item); //案号 var CaseCode = item.GetType().GetProperty("CaseCode").GetValue(item); //企业信息 var Qyinfo = item.GetType().GetProperty("Qyinfo").GetValue(item); var FilePath = item.GetType().GetProperty("FilePath").GetValue(item); int WarnLevel = 2; if (CaseCreateTime != null && IsDate(CaseCreateTime.ToString()) && DateTime.Now >= Convert.ToDateTime(CaseCreateTime)) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(CaseCreateTime).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "限制高消费" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "人员姓名", Value = Xname }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseCode }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-限制高消费", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(CaseCreateTime).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } } } /// /// 深度信息-司法涉诉-送达公告 /// /// public void GetDeliveryNoticeCheckList(string Name,int ReportId) { var list = qiChaCha.GetDeliveryNoticeCheckList(Name, 1, 10); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { int WarningLevelTmp = GetRegistCapiWarningLevel(Name,ReportId); IEnumerable slist = Items as IEnumerable; foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).PrimaryId = 0; ((dynamic)item).TotalItems = 0; //公告名称 var Title = item.GetType().GetProperty("Title").GetValue(item); //公诉人/原告/上诉人/申请人 var ProsecutorList = item.GetType().GetProperty("ProsecutorList").GetValue(item); string ProsecutorName = ""; string LtdGroupA = ""; List listGroup5GS = new List(); //记录小于等于5的公诉名单 if (ProsecutorList != null) { var ProsecutorLists = (ProsecutorList as IEnumerable).ToList(); foreach (var itempro in ProsecutorLists) { ProsecutorName += ((dynamic)itempro).Name + ","; string NameTmp = ((dynamic)itempro).Name; if (NameTmp.Length <= 5) listGroup5GS.Add(NameTmp); } ProsecutorName = ProsecutorName.TrimEnd(','); LtdGroupA = ProsecutorName; } //被告人/被告/被上诉人/被申请人 var DefendantList = item.GetType().GetProperty("DefendantList").GetValue(item); string DefendantName = ""; string LtdGroupB = ""; List listGroup5BG = new List(); //记录小于等于5的名单 if (DefendantList != null) { var DefendantLists = (DefendantList as IEnumerable).ToList(); foreach (var itemdef in DefendantLists) { DefendantName += ((dynamic)itemdef).Name + ","; string NameTmp = ((dynamic)itemdef).Name; if (NameTmp.Length <= 5 && NameTmp!=Name) listGroup5BG.Add(NameTmp); } DefendantName = DefendantName.TrimEnd(','); LtdGroupB = DefendantName; } //案号 var CaseNo = item.GetType().GetProperty("CaseNo").GetValue(item); //案由 var CaseReason = item.GetType().GetProperty("CaseReason").GetValue(item); //发布日期 var PublishDate = item.GetType().GetProperty("PublishDate").GetValue(item); int WarnLevel = 1; if (PublishDate != null && IsDate(PublishDate.ToString()) && DateTime.Now >= Convert.ToDateTime(PublishDate)) { if (WarningLevelTmp > 0) { WarnLevel = WarningLevelTmp; } if (ContainKeyWords(CaseReason.ToString(), 3)) //包含“关键词库-3”中的任一词语 { if (ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) WarnLevel = 2; } else //不包含“关键词库-3”中的任一词语 { //被监控企业出现在此栏 if (LtdGroupB.IndexOf(Name) >= 0) { // 公诉人/原告/上诉人/申请人以下条件同时满足: //1.这一栏里的企业名称包含“关键词库 - 1” //2.这一栏的所有主体名称长度全部大于(不等于)五个汉字 //3.这一栏不包含“反诉”文字 // 被告人/被告/被上诉人/被申请人以下条件至少满足一条: //1.除被监控企业外出现此栏的其他所有主体的名字长度全部大于(不等于)五个汉字; //2.除被监控企业外出现此栏的其他某些主体的名字长度小于(等于)五个汉字,且满足该条件的主体(可能有多个)都是被监控企业的实际控制人或法定代表人 //3.被监控企业的经营范围不包含“关键词库5” if (ContainKeyWords(LtdGroupA, 1) && listGroup5GS.Count == 0 && !LtdGroupA.Contains("反诉") && (listGroup5BG.Count == 0 || (listGroup5BG.Count > 0 && GetActualFlagAll(listGroup5BG)) || !ContainKeyWords(Scopestr, 5))) { WarnLevel = 3; } // 公诉人/原告/上诉人/申请人以下条件同时满足:待优化 //1.这一栏里的企业名称包含“关键词库 - 1”,但不是以下的字段:银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理 //2.这一栏不包含“反诉” // 被告人/被告/被上诉人/被申请人以下条件同时满足: //1.除被监控企业外出现此栏的其他某些主体的名字长度小于(等于)五个汉字,且满足该条件的主体(可能有多个)至少有一个不是被监控企业的实际控制人或法定代表人 //2.被监控企业的经营范围包含“关键词库5” else if (ContainKeyWords(LtdGroupA, 1) && !ContainKeyWords(LtdGroupA, 6) && !LtdGroupA.Contains("反诉") && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 3; } //这一栏里的企业名称包含“关键词库 - 1”中的以下字段:银行、农商行、城商行、城市信用合作社、农村信用合作社、农村资金互助社、金融资产、资产管理 else if (ContainKeyWords(LtdGroupA, 6) && (listGroup5BG.Count > 0 && GetActualFlag(listGroup5BG)) && ContainKeyWords(Scopestr, 5)) { WarnLevel = 2; } } //if (ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) //{ // //出现此栏的其他所有主体的名字长度全部大于(不等于)四个汉字 // //出现此栏的其他某一个主体的名字长度小于(等于)四个汉字,且满足该条件的主体是被监控企业的实际控制人或法定代表人 // if (listGroupFour.Count == 0 || // (listGroupFour.Count > 0 && (listGroupFour.Contains(ActualNamestr) || // listGroupFour.Contains(OperNamestr)))) // { // WarnLevel = 3; // } // //出现此栏的其他某一个主体的名字长度小于(等于)四个汉字,且满足该条件的主体不是被监控企业的实际控制人或法定代表人 // if (listGroupFour.Count > 0 && listGroupFour.Contains(ActualNamestr) == false && // listGroupFour.Contains(OperNamestr) == false) // { // WarnLevel = 2; // } //} } //包含“关键词库-2”或“关键词库-4”中的任一词语 if (ContainKeyWords(CaseReason.ToString(), 4) || ContainKeyWords(CaseReason.ToString(), 2)) //包含“关键词库-3”或“关键词库-2”中的任一词语 { if (((!ContainKeyWords(LtdGroupA, 1) && LtdGroupB.IndexOf(Name) >= 0) || (LtdGroupA.IndexOf(Name) >= 0 && ContainKeyWords(LtdGroupB, 1))) && WarnLevel < 2) { WarnLevel = 2; } } //if (WarningLevelTmp > 0) //{ // WarnLevel = WarningLevelTmp; //} //if (GetCaseExFlag(CaseReason)) //{ // WarnLevel = 3; //} //if (GetCaseFlag(ProsecutorName) || GetCaseFlag(DefendantName)) //{ // //红色:“公诉人/原告/上诉人/申请人”字段、“被告人/被告/被上诉人/被申请人 ”出现的前述各种字段所属的各种企业全称,只要这些企业全称与“被监控企业”有不同时 // if (GetCaseDiffLtdFlag(ProsecutorName, Name) || GetCaseDiffLtdFlag(DefendantName, Name)) // { // WarnLevel = 3; // } // else if (WarnLevel <= 2) // { // WarnLevel = 2; // } //} //List arr = new List(); //arr.Add(item); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "送达公告" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公诉人/原告/上诉人/申请人", Value = ProsecutorName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "被告人/被告/被上诉人/被申请人", Value = DefendantName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "公告名称", Value = Title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案由", Value = CaseReason }); comDynamicContentlist.Add(new ComDynamicContent { Name = "案号", Value = CaseNo }); ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "深度信息-司法涉诉-送达公告", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(PublishDate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ReportId = ReportId }; //if (ExistComDynamicEva(comDynamicEva) == false) //{ var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); //} } } } } } /// /// 信用评级 /// /// /// public void GetCRWarning(string companyName,int ReportId, DateTime? endRatingDate = null) { var list = selfReportService.GetWarningCom(companyName, endRatingDate); if (list != null && list.Count > 0) { foreach (var item in list) { List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = Convert.ToDateTime(item.RatingDate).ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = companyName }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "信用评级" }); comDynamicContentlist.Add(new ComDynamicContent { Name = "报告名称", Value = item.Title }); comDynamicContentlist.Add(new ComDynamicContent { Name = "主体级别", Value = item.MainLevel }); comDynamicContentlist.Add(new ComDynamicContent { Name = "展望", Value = item.Expectation }); comDynamicContentlist.Add(new ComDynamicContent { Name = "债项级别", Value = item.DebtLevel }); comDynamicContentlist.Add(new ComDynamicContent { Name = "评级公司", Value = item.RatingCompany }); //int MainHighNum = item.WarningInfo.Main.HighNum; //int MainMidNum = item.WarningInfo.Main.MidNum; //int DebtHighNum = item.WarningInfo.Debt.HighNum; //int DebtMidNum = item.WarningInfo.Debt.MidNum; //string Message = $"本次信用评级信息共命中高风险提示{MainHighNum + DebtHighNum}条,中风险提示{MainMidNum + DebtMidNum}条,具体如下:"; //foreach (var itemarr in item.WarningInfo.Main.Message) //{ // Message += "\n" + itemarr; //} //foreach (var itemarr in item.WarningInfo.Debt.Message) //{ // Message += "\n" + itemarr; //} //int WarnLevel = 0; //if (MainHighNum + DebtHighNum > 0) //{ // WarnLevel = 3; //} //else if (MainMidNum + DebtMidNum > 0) //{ // WarnLevel = 2; //} //else //{ // WarnLevel = 1; //} //if (MainHighNum + DebtHighNum > 0 || MainMidNum + DebtMidNum > 0) //{ // comDynamicContentlist.Add(new ComDynamicContent { Name = "预警说明", Value = Message }); //} int WarnLevel = 1; if (item.Expectation != null && (item.Expectation.Contains("负面") || item.Expectation.Contains("观察名单"))) { WarnLevel = 2; } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = companyName, WarnLevel = WarnLevel, EventType = "信用评级", Detail = JsonHelper.ToJson(item), ContentTime = Convert.ToDateTime(item.RatingDate).ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } } #endregion #region 中登网方法(5项) /// ///判断 文字一致性 /// /// /// /// public double Sim(string txt1, string txt2) { //判断A:数据为空就跳出 if (txt1 == null || txt2 == null) return -2; //数据预处理 string strFilterWords = "详情请见附件,详情见附件,请见附件,详见附件,见附件,附件,租赁资产清单,租赁资产,租赁物附件,租赁物清单,租赁物,附件,租赁财产,设备,附属设施,附属,设施,融资租赁合同,金融租赁合同,租赁合同,合同,出租人,承租人,名下,位于,地址,位置,一批,具体,组件,包括,不限于,软件,服务"; string[] strListWords = strFilterWords.Split(new char[] { ',' }); for (int i = 0; i < strListWords.Length; i++) { txt1 = txt1.Replace(strListWords[i], ""); txt2 = txt2.Replace(strListWords[i], ""); } //判断B:字节长度小于等于10就跳出 if ((txt1 != null && txt1.Length <= 10) || (txt2 != null && txt2.Length <= 10)) return -1; List sl1 = Segment(txt1); List sl2 = Segment(txt2); //去重 List sl = sl1.Union(sl2).ToList(); //获取重复次数 List arrA = new List(); List arrB = new List(); foreach (var str in sl) { arrA.Add(sl1.Where(x => x == str).Count()); arrB.Add(sl2.Where(x => x == str).Count()); } //计算商 double num = 0; //被除数 double numA = 0; double numB = 0; for (int i = 0; i < sl.Count; i++) { num += arrA[i] * arrB[i]; numA += Math.Pow(arrA[i], 2); numB += Math.Pow(arrB[i], 2); } double cos = num / (Math.Sqrt(numA) * Math.Sqrt(numB)); return cos; } public List Segment(string str) { List sl = new List(); try { string s = string.Empty; System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer(); // 将提交的字符串数据转换成字节数组 byte[] postData = System.Text.Encoding.ASCII.GetBytes("data=" + System.Web.HttpUtility.UrlEncode(str) + "&respond=json&charset=utf8&ignore=yes&duality=no&traditional=no&multi=0"); // 设置提交的相关参数 System.Net.HttpWebRequest request = System.Net.WebRequest.Create("http://www.ftphp.com/scws/api.php") as System.Net.HttpWebRequest; request.Method = "POST"; request.KeepAlive = false; request.ContentType = "application/x-www-form-urlencoded"; request.CookieContainer = cookieContainer; request.ContentLength = postData.Length; // 提交请求数据 System.IO.Stream outputStream = request.GetRequestStream(); outputStream.Write(postData, 0, postData.Length); outputStream.Close(); // 接收返回的页面 System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse; System.IO.Stream responseStream = response.GetResponseStream(); System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8")); string val = reader.ReadToEnd(); Newtonsoft.Json.Linq.JObject results = Newtonsoft.Json.Linq.JObject.Parse(val); foreach (var item in results["words"].Children()) { Newtonsoft.Json.Linq.JObject word = Newtonsoft.Json.Linq.JObject.Parse(item.ToString()); var sss = word["word"].ToString(); //判断是否为标点符 bool offom = false; foreach (char t in sss) { if (t >= 0x4e00 && t <= 0x9fbb) { offom = true; } else { offom = false; } } if (offom) { sl.Add(sss); } } } catch { } return sl; } /// /// 返回与另一个时间段重合的天数 /// /// /// /// public double GetOverLapDays(DateTime startTime1, DateTime endTime1, DateTime startTime2, DateTime endTime2) { double overlapDay = 0; //情况一 // |-----------startTime1-----endTime1-----------| // |--------startTime2-----endTime2-------| if (startTime1 <= startTime2 && endTime1 >= endTime2) { System.TimeSpan diff1 = endTime2 - startTime1; System.TimeSpan diff2 = endTime1 - startTime2; System.TimeSpan diff3 = endTime1 - startTime1; overlapDay = diff1.TotalDays + diff2.TotalDays - diff3.TotalDays; } //情况二 // |--------------startTime2-----endTime2----------------| // |-----------startTime1-----endTime1-----------| else if (startTime1 >= startTime2 && endTime1 <= endTime2) { System.TimeSpan diff1 = endTime1 - startTime2; System.TimeSpan diff2 = endTime2 - startTime1; System.TimeSpan diff3 = endTime2 - startTime2; overlapDay = diff1.TotalDays + diff2.TotalDays - diff3.TotalDays; } //情况三 // |--------------startTime2-----endTime2----------------| // |-----------startTime1-----endTime1----------------------| else if (startTime1 >= startTime2) { System.TimeSpan diff1 = endTime2 - startTime1; overlapDay = diff1.TotalDays; } //情况四 // |--------------startTime1-----endTime1-------------------| // |---------startTime2-----endTime2-------------------------| else if (startTime1 <= startTime2) { System.TimeSpan diff1 = endTime1 - startTime2; overlapDay = diff1.TotalDays; } return overlapDay; } /// /// 获取租赁期限的起止日期 /// /// /// private string[] GetDateTime(MkFinanceLease item) { var time1 = ""; var time2 = ""; var Index = item.TermOfLease.IndexOf("~"); if (Index > 0) { time1 = item.TermOfLease.Substring(0, Index).Replace("~", ""); time2 = item.TermOfLease.Substring(Index).Replace("~", ""); } else { time1 = item.RegistrationDate; time2 = item.DateOfRegistration; } return new string[] { time1, time2 }; } /// /// 融资租赁 /// /// public void GetFinanceLease(string Name, int ReportId) { try { //MkFinanceLeaseBLL mkFinanceLeaseBLL = new MkFinanceLeaseBLL(); if (Name.Trim() == "个人") return; MkFinanceLeaseDAL mkFinanceLeaseDal = new MkFinanceLeaseDAL(); Name = FileUtil.ToSBC(Name);//都转换为中文括号查询 string OriginalNames = GetOriginalNames(Name); var finlist = mkFinanceLeaseDal.GetFinanceLease(FileUtil.ToSBC(Name), FileUtil.ToSBC(OriginalNames)); LogHelper.Info(Name + " count: " + finlist.Count); foreach (var item in finlist) { //“出租人名称”和“填表人”相等时,才参加分析;如果不相等,这些租赁登记的记录不参加分析 if (item.Preparer != item.NameOflessor) continue; //承租人名称小于等于5个字的,不参与分析。比如下面的“个人” if (item.NameOfTenant == null || (item.NameOfTenant != null && item.NameOfTenant.Length <= 5)) continue; //如果登记时间大于等于租赁期限的结束日期,则不做任何预警 if (item.TermOfLease != "" && item.TermOfLease.Contains("~")) { var Index = item.TermOfLease.IndexOf("~") > 0 ? item.TermOfLease.IndexOf("~") : 0; var timeEnd = item.TermOfLease.Substring(Index).Replace("~", ""); if (IsDate(timeEnd) && item.RegistrationTime >= DateTime.Parse(timeEnd)) continue; } //增加对中联重科的特殊过滤20220501FX if ((FileUtil.ToSBC(item.NameOflessor) == "中联重科融资租赁(北京)有限公司" ) && item.NameOfTenant.Contains("租赁") && item.RegistrationTime < DateTime.Parse("2021-10-31 00:00:00")) continue; var NameOfTenants =FileUtil.ToSBC(item.NameOfTenant.Trim()).Split(new char[] { ';' }); int MaxWarn = 0; int MidWarn = 0; List Idslist = new List(); //存储Id Idslist.Add(item.Id.ToString()); List Nameslist = new List(); //存储Names Nameslist.Add("本次登记"); List Message = new List(); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = item.RegistrationTime.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "租赁融资-" + item.RegistrationType }); comDynamicContentlist.Add(new ComDynamicContent { Name = "承租人", Value = item.NameOfTenant }); comDynamicContentlist.Add(new ComDynamicContent { Name = "出租人", Value = item.NameOflessor }); comDynamicContentlist.Add(new ComDynamicContent { Name = "租赁财产价值(元)", Value = item.ValueOfLeasedPro }); comDynamicContentlist.Add(new ComDynamicContent { Name = "租赁期限", Value = item.TermOfLease }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记期限", Value = item.RegistrationDeadline }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记证明编号", Value = item.RegCerNumber }); var SelAllList = mkFinanceLeaseDal.GetMkFinanceLeaseByRegNumCer(item.ReleRegCerNumber) .OrderByDescending(p => p.RegistrationTime).ToList(); TimeSpan timeSpan = item.RegistrationTime - SelAllList[0].RegistrationTime; string Infos = $"本次登记时间({item.RegistrationDate})比关联初始登记时间({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,"; //1 if (item.RegistrationType == "展期登记") { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add("本次登记属于展期"); } //2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.TermOfLease != "" && SelAllList[0].TermOfLease != "" && item.TermOfLease.Contains("~") && SelAllList[0].TermOfLease.Contains("~")) { var Time1 = "1900-01-01"; var Time2 = "1900-01-01"; if (item.TermOfLease != "" && item.TermOfLease.Contains("~")) { var Index = item.TermOfLease.IndexOf("~") > 0 ? item.TermOfLease.IndexOf("~") : 0; //var time1 = item.TermOfLease.Substring(0, Index); //string result1 = time1.Replace("~", ""); //Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; var time2 = item.TermOfLease.Substring(Index); string result2 = time2.Replace("~", ""); Time1 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (SelAllList[0].TermOfLease != "" && SelAllList[0].TermOfLease.Contains("~")) { var Index = SelAllList[0].TermOfLease.IndexOf("~") > 0 ? SelAllList[0].TermOfLease.IndexOf("~") : 0; //var time1 = item.TermOfLease.Substring(0, Index); //string result1 = time1.Replace("~", ""); //Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; var time2 = SelAllList[0].TermOfLease.Substring(Index); string result2 = time2.Replace("~", ""); Time2 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (DateTime.Parse(Time1) > DateTime.Parse(Time2) && Time1 != "1900-01-01" && Time2 != "1900-01-01") { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且变更后的租赁期限结束日期晚于最近一次登记,由{Time2}延长至{Time1},推断可能存在实质展期"); } } //3 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfTenant != "" && SelAllList[0].NameOfTenant != "" && item.NameOfTenant != SelAllList[0].NameOfTenant) { var CurrentNameInfo = IsFormerName(item.NameOfTenant.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfTenant.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且承租人与最近一次登记相比发生变化,由{SelAllList[0].NameOfTenant}变为{item.NameOfTenant},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo.Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且承租人与最近一次登记相比发生变化,由{SelAllList[0].NameOfTenant}变为{item.NameOfTenant},推断可能存在实质展期"); } } else { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且承租人与最近一次登记相比发生变化,由{SelAllList[0].NameOfTenant}变为{item.NameOfTenant},推断可能存在实质展期"); } } } //4 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.ValueOfLeasedPro != "" && SelAllList[0].ValueOfLeasedPro != "" && item.ValueOfLeasedPro != "0" && SelAllList[0].ValueOfLeasedPro != "0") { if (double.Parse(item.ValueOfLeasedPro) > double.Parse(SelAllList[0].ValueOfLeasedPro)) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且租赁财产价值与最近一次登记相比增加,由{SelAllList[0].ValueOfLeasedPro}元增加至{item.ValueOfLeasedPro}元,推断可能存在实质展期"); } else if (double.Parse(item.ValueOfLeasedPro) < double.Parse(SelAllList[0].ValueOfLeasedPro)) { if (NameOfTenants.Contains(Name.Trim())) { MidWarn++; Message.Add( Infos + $"且租赁财产价值与最近一次登记相比减少,由{SelAllList[0].ValueOfLeasedPro}元减少至{item.ValueOfLeasedPro}元,推断可能存在实质展期"); } } } //5 //else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && // item.UniqueIdentCodeOfPro != "" && SelAllList[0].UniqueIdentCodeOfPro != "" && // item.UniqueIdentCodeOfPro != SelAllList[0].UniqueIdentCodeOfPro) //{ // MidWarn++; // Message.Add( // Infos + // $"且租赁财产唯一标识码与最近一次登记相比发生变化,由{SelAllList[0].UniqueIdentCodeOfPro}变为{item.UniqueIdentCodeOfPro},推断可能存在实质展期"); //} //6 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.DesOfLeasedProperty != SelAllList[0].DesOfLeasedProperty) { if (NameOfTenants.Contains(Name.Trim())) { MidWarn++; Message.Add(Infos + $"且租赁财产描述内容与最近一次登记相比发生变化,由“{SelAllList[0].DesOfLeasedProperty}”变为“{item.DesOfLeasedProperty}”,推断可能存在实质展期"); } } //7 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.LeaseContractNumber != SelAllList[0].LeaseContractNumber) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且租赁合同号码与最近一次登记相比发生变化,由{ SelAllList[0].LeaseContractNumber}变为{item.LeaseContractNumber},推断可能存在实质展期"); } //8 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOflessor != "" && SelAllList[0].NameOflessor != "" && item.NameOflessor != SelAllList[0].NameOflessor) { var CurrentNameInfo = IsFormerName(item.NameOflessor.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOflessor.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且出租人与最近一次登记相比发生变化,由{SelAllList[0].NameOflessor}变为{item.NameOflessor},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo.Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且出租人与最近一次登记相比发生变化,由{SelAllList[0].NameOflessor}变为{item.NameOflessor},推断可能存在实质展期"); } } else { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且出租人与最近一次登记相比发生变化,由{SelAllList[0].NameOflessor}变为{item.NameOflessor},推断可能存在实质展期"); } } } //9 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && DateTime.Parse(item.DateOfRegistrationTime) > DateTime.Parse(SelAllList[0].DateOfRegistrationTime)) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且登记到期日比最近一次登记晚,由{DateTime.Parse(SelAllList[0].DateOfRegistrationTime).ToString("yyyy-MM-dd")}延长至{DateTime.Parse(item.DateOfRegistrationTime).ToString("yyyy-MM-dd")},推断可能存在实质展期"); } //10 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.RegistrationDeadline != "" && SelAllList[0].RegistrationDeadline != "") { var Num1 = Regex.Replace(item.RegistrationDeadline, @"[^0-9]+", ""); var Num2 = Regex.Replace(SelAllList[0].RegistrationDeadline, @"[^0-9]+", ""); if (int.Parse(Num1 == "" ? "0" : Num1) > int.Parse(Num2 == "" ? "0" : Num2)) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add(Infos + $"且登记期限比最近一次登记更长,由{SelAllList[0].RegistrationDeadline}延长至{item.RegistrationDeadline},推断可能存在实质展期"); } } //11-12-14-18 else if (item.RegistrationType == "初始登记") { //11.(取消)先查看该条登记是否存在“租赁财产唯一标识码”,如果该字段为空,继续执行下面的步骤。如果存在,直接跳过下面步骤去执行序号为11 - 3的规则。 //12-1-2 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { TimeSpan times1 = item.RegistrationTime - Logoutitem.RegistrationTime; //有记录注销登记时间比登记到期日早一年及以上; TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0) { if (NameOfTenants.Contains(Name.Trim())) MaxWarn++; else MidWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出租人和承租人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0) { if (NameOfTenants.Contains(Name.Trim())) { MidWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出租人和承租人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } } } } //14 if (item.RegistrationTime != null && item.TermOfLease != "" && item.TermOfLease.Contains("~")) { //if (item.RegCerNumber == "13877354001659975261") //{ // string mm = ""; //} //获取黄色红色告警的Id var alarmlist = GetEventTypeYellowRed(Name, "租赁融资", ReportId); List alarmIds = new List(); for (int i = 0; i < alarmlist.Count; i++) { if (alarmlist[i].ExtRZIds == null || alarmlist[i].ExtRZIds == "") continue; string[] Ids = alarmlist[i].ExtRZIds.Split(new char[] { ',' }); if (Ids != null && Ids.Length > 0) { alarmIds.Add(Ids[0]); } } var Index = item.TermOfLease.IndexOf("~") > 0 ? item.TermOfLease.IndexOf("~") : 0; var time1 = item.TermOfLease.Substring(0, Index); var Time1 = IsDate(time1.Replace("~", "")) == true ? time1.Replace("~", "") : "1900-01-01"; TimeSpan RegEndTime = item.RegistrationTime - DateTime.Parse(Time1); if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 30 && RegEndTime.TotalDays < 180) { //A.如果在本笔登记的登记时间之后,又出现了1笔新的租赁公司正常的初始登记 bool bAFlag = true; var infoFilterA = finlist.Where(p => p.NameOfTenant == Name && p.RegistrationTime > item.RegistrationTime && p.RegistrationType == "初始登记" && p.Preparer != item.Preparer).ToList(); bool bAFlagCacu = infoFilterA.Count>0; for (int m = 0; m < infoFilterA.Count; m++) { if (alarmIds.Contains(infoFilterA[m].Id.ToString())) { bAFlag = false; break; } } //B.同时在本笔登记的登记时间之后没有不正常的登记(默认都正常): bool bBFlag = true; var infoFilterB = finlist.Where(p => p.NameOfTenant == Name && p.RegistrationTime > item.RegistrationTime).ToList(); bool bBFlagCacu = infoFilterB.Count > 0; for (int m = 0; m < infoFilterB.Count; m++) { if (alarmIds.Contains(infoFilterB[m].Id.ToString())) { bBFlag = false; break; } } if (bAFlag && bBFlag && bAFlagCacu && bBFlagCacu) { LogHelper.Warn("融资租赁14条规则跳过A!AFlag-BFlag-Id-:" + bAFlag + "--" + bBFlag + "--" + item.Id.ToString() + "--" + item.NameOfTenant); } else { if (NameOfTenants.Contains(Name.Trim())) { MidWarn++; Message.Add( $"本次初始登记的登记日期({item.RegistrationDate})比租赁期限的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } else if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 180) { //A.如果在本笔登记的登记时间之后,又出现了1笔新的租赁公司正常的初始登记 bool bAFlag = true; var infoFilterA = finlist.Where(p => p.NameOfTenant == Name && p.RegistrationTime > item.RegistrationTime && p.RegistrationType == "初始登记" && p.Preparer != item.Preparer).ToList(); bool bAFlagCacu = infoFilterA.Count > 0; for (int m = 0; m < infoFilterA.Count; m++) { if (alarmIds.Contains(infoFilterA[m].Id.ToString())) { bAFlag = false; break; } } //B.同时在本笔登记的登记时间之后没有不正常的登记(默认都正常): bool bBFlag = true; var infoFilterB = finlist.Where(p => p.NameOfTenant == Name && p.RegistrationTime > item.RegistrationTime).ToList(); bool bBFlagCacu = infoFilterB.Count > 0; for (int m = 0; m < infoFilterB.Count; m++) { if (alarmIds.Contains(infoFilterB[m].Id.ToString())) { bBFlag = false; break; } } if (bAFlag && bBFlag && bAFlagCacu && bBFlagCacu) { LogHelper.Warn("融资租赁14条规则跳过B!AFlag-BFlag-Id:" + bAFlag + "--" + bBFlag + "--" + item.Id.ToString() + "--" + item.NameOfTenant); } else { if (NameOfTenants.Contains(Name.Trim())) MaxWarn++; else MidWarn++; Message.Add( $"本次初始登记的登记日期({item.RegistrationDate})比租赁期限的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } //18 //判断曾用名todo var historyReg = finlist.Where(p => p.RegistrationTime < item.RegistrationTime && p.NameOfTenant == item.NameOfTenant && p.NameOflessor == item.NameOflessor && p.LeaseContractNumber == item.LeaseContractNumber && item.LeaseContractNumber!="").ToList(); for (int i = 0; i < historyReg.Count; i++) { TimeSpan times = item.RegistrationTime - historyReg[i].RegistrationTime; if (times.TotalDays >= 365) { if (NameOfTenants.Contains(Name.Trim())) { MaxWarn++; } else { MidWarn++; } Message.Add($"本笔租赁登记中的承租人({item.NameOfTenant})、出租人({item.NameOflessor})、租赁合同号码({item.LeaseContractNumber})与历史租赁登记(登记证明编号为:{historyReg[i].RegCerNumber})相同。本笔租赁登记日期({item.RegistrationTime.ToString("yyyy-MM-dd")})比历史租赁登记日期({historyReg[i].RegistrationTime.ToString("yyyy-MM-dd")})晚{(int)times.TotalDays}天,本笔租赁登记可能属于历史已有登记的展期登记,或者该承租人存在着租赁物重复融资等行为。"); } else if (times.TotalDays >= 210 && times.TotalDays < 365) { if (NameOfTenants.Contains(Name.Trim())) { MidWarn++; Message.Add( $"本笔租赁登记中的承租人({item.NameOfTenant})、出租人({item.NameOflessor})、租赁合同号码({item.LeaseContractNumber})与历史租赁登记(登记证明编号为:{historyReg[i].RegCerNumber})相同。本笔租赁登记日期({item.RegistrationTime.ToString("yyyy-MM-dd")})比历史租赁登记日期({historyReg[i].RegistrationTime.ToString("yyyy-MM-dd")})晚{(int)times.TotalDays}天,本笔租赁登记可能属于历史已有登记的展期登记,或者该承租人存在着租赁物重复融资等行为。"); } } } } //13-15 else if (item.RegistrationType == "注销登记") { //13 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { TimeSpan times1 = Logoutitem.RegistrationTime - DateTime.Parse(item.RegistrationDate); TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfTenant == Logoutitem.NameOfTenant && item.NameOflessor == Logoutitem.NameOflessor) { //if (NameOfTenants.Contains(Name.Trim())) // MaxWarn++; //else // MidWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出租人和承租人与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfTenant == Logoutitem.NameOfTenant && item.NameOflessor == Logoutitem.NameOflessor) { if (NameOfTenants.Contains(Name.Trim())) { //MidWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出租人和承租人与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } } } } //15 if (timeSpan.TotalDays >= 90 && item.RegistrationTime != null && SelAllList[0].DateOfRegistration != "") { TimeSpan RegEndTime = DateTime.Parse(SelAllList[0].DateOfRegistration) - item.RegistrationTime; if (RegEndTime.TotalDays >= 30) { if (NameOfTenants.Contains(Name.Trim())) { //MidWarn++; Message.Add( $"本次注销登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,且注销登记日期({item.RegistrationDate})比关联的最近一次登记的登记到期日({DateTime.Parse(SelAllList[0].DateOfRegistration).ToString("yyyy-MM-dd")})早{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } } //16 else if (item.RegistrationType == "异议登记") { if (NameOfTenants.Contains(Name.Trim())) { MidWarn++; Message.Add("本次登记属于异议登记"); } } //17 else { } int WarnLevel = 0; if (MaxWarn > 0) { WarnLevel = 3; } else if (MidWarn > 0) { WarnLevel = 2; } else { WarnLevel = 1; } string Mes = ""; Mes += $"本笔租赁融资共命中{MaxWarn + MidWarn}项风险点:"; if (Message.Count > 0) { for (int i = 0; i < Message.Count; i++) { Mes += "\n" + (i + 1) + "." + Message[i]; } } if (WarnLevel > 1) //绿色的取消风险说明 { comDynamicContentlist.Add(new ComDynamicContent { Name = "风险说明", Value = Mes }); } ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "租赁融资", Detail = JsonHelper.ToJson(item), ContentTime = item.RegistrationTime.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ExtRZIds = string.Join(",", Idslist), ExtRZNames = string.Join(",", Nameslist), ExtInfos = "", ReportId = ReportId }; //ComDynamicEvaDAL comDynamicEvaDal = new ComDynamicEvaDAL(); //if (comDynamicEvaDal.ExistComDynamicEva(comDynamicEva) == false) //{ // comDynamicEvaDal.AddComDynamicEva(comDynamicEva); //} var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } catch (Exception e) { LogHelper.Error("GetFinanceLease Error!Nmae--ReportId--Exception:" + Name + "--" + ReportId + "--" + e.ToString()); } } /// /// 应收账款质押 /// /// public void GetMkReceivablesPledge(string Name,int ReportId) { try { //MkReceivablesPledgeBLL mkReceivablesPledgeBLL = new MkReceivablesPledgeBLL(); if (Name.Trim() == "个人") return; MkReceivablesPledgeDAL mkReceivablesPledgeDal = new MkReceivablesPledgeDAL(); string OriginalNames = GetOriginalNames(Name); var finlist = mkReceivablesPledgeDal.GetMkReceivablesPledge(Name.Replace("(", "(").Replace(")", ")"), OriginalNames.Replace("(", "(").Replace(")", ")")); foreach (var item in finlist) { int MaxWarn = 0; int MidWarn = 0; List Idslist = new List(); //存储Id Idslist.Add(item.Id.ToString()); List Nameslist = new List(); //存储Names Nameslist.Add("本次登记"); List Message = new List(); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent {Name = "事件发生日期", Value = item.RegistrationTime.ToString("yyyy-MM-dd")}); //comDynamicContentlist.Add(new ComDynamicContent // {Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd")}); comDynamicContentlist.Add(new ComDynamicContent {Name = "企业名称", Value = Name}); comDynamicContentlist.Add(new ComDynamicContent {Name = "子标题", Value = "应收账款质押-" + item.RegistrationType}); comDynamicContentlist.Add(new ComDynamicContent {Name = "出质人", Value = item.NameOfPledgor}); comDynamicContentlist.Add(new ComDynamicContent {Name = "质权人", Value = item.NameOfPledgee}); comDynamicContentlist.Add(new ComDynamicContent {Name = "主合同金额(元)", Value = item.PriContractAmount}); comDynamicContentlist.Add( new ComDynamicContent {Name = "质押财产价值(元)", Value = item.ValueOfPledgedPro}); comDynamicContentlist.Add(new ComDynamicContent {Name = "登记期限", Value = item.RegistrationDeadline}); comDynamicContentlist.Add(new ComDynamicContent {Name = "债务履行期限", Value = item.TimeLimitForDebtPer}); comDynamicContentlist.Add(new ComDynamicContent {Name = "登记证明编号", Value = item.RegCerNumber}); var SelAllList = mkReceivablesPledgeDal.GetMkReceivablesPledgeByRegNumCer(item.ReleRegCerNumber) .OrderByDescending(p => p.RegistrationTime).ToList(); TimeSpan timeSpan = item.RegistrationTime - SelAllList[0].RegistrationTime; string Infos = $"本次登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,"; //1 if (item.RegistrationType == "展期登记") { MaxWarn++; Message.Add("本次登记属于展期"); } //2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && !string.IsNullOrEmpty(item.TimeLimitForDebtPer) && !string.IsNullOrEmpty(SelAllList[0].TimeLimitForDebtPer ) && item.TimeLimitForDebtPer.Contains("~") && SelAllList[0].TimeLimitForDebtPer.Contains("~")) { var Time1 = "1900-01-01"; var Time2 = "1900-01-01"; if (item.TimeLimitForDebtPer != "" && item.TimeLimitForDebtPer.Contains("~")) { var Index = item.TimeLimitForDebtPer.IndexOf("~") > 0 ? item.TimeLimitForDebtPer.IndexOf("~") : 0; //var time1 = item.TermOfLease.Substring(0, Index); //string result1 = time1.Replace("~", ""); //Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; var time2 = item.TimeLimitForDebtPer.Substring(Index); string result2 = time2.Replace("~", ""); Time1 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (SelAllList[0].TimeLimitForDebtPer != "" && SelAllList[0].TimeLimitForDebtPer.Contains("~")) { var Index = SelAllList[0].TimeLimitForDebtPer.IndexOf("~") > 0 ? SelAllList[0].TimeLimitForDebtPer.IndexOf("~") : 0; //var time1 = item.TermOfLease.Substring(0, Index); //string result1 = time1.Replace("~", ""); //Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; var time2 = SelAllList[0].TimeLimitForDebtPer.Substring(Index); string result2 = time2.Replace("~", ""); Time2 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (DateTime.Parse(Time1) > DateTime.Parse(Time2) && Time1 != "1900-01-01" && Time2 != "1900-01-01") { MaxWarn++; Message.Add(Infos + $"且变更后的债务履行期限结束日期晚于最近一次登记,由{Time2}延长至{Time1},推断可能存在实质展期"); } } //3 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfPledgor != "" && SelAllList[0].NameOfPledgor != "" && item.NameOfPledgor != SelAllList[0].NameOfPledgor) { var CurrentNameInfo = IsFormerName(item.NameOfPledgor.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfPledgor.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add( Infos + $"且出质人与最近一次登记相比发生变化,由{SelAllList[0].NameOfPledgor}变为{item.NameOfPledgor},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo .Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add( Infos + $"且出质人与最近一次登记相比发生变化,由{SelAllList[0].NameOfPledgor}变为{item.NameOfPledgor},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add( Infos + $"且出质人与最近一次登记相比发生变化,由{SelAllList[0].NameOfPledgor}变为{item.NameOfPledgor},推断可能存在实质展期"); } } } //4-1 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.PriContractAmount != "" && SelAllList[0].PriContractAmount != "" && item.PriContractAmount != "0" && SelAllList[0].PriContractAmount != "0") { if (double.Parse(item.PriContractAmount) > double.Parse(SelAllList[0].PriContractAmount)) { MaxWarn++; Message.Add( Infos + $"且主合同金额与最近一次登记相比增加,由{SelAllList[0].PriContractAmount}元增加至{item.PriContractAmount}元,推断可能存在实质展期"); } else if (double.Parse(item.PriContractAmount) < double.Parse(SelAllList[0].PriContractAmount)) { MidWarn++; Message.Add( Infos + $"且主合同金额与最近一次登记相比减少,由{SelAllList[0].PriContractAmount}元减少至{item.PriContractAmount}元,推断可能存在实质展期"); } } //4-2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.ValueOfPledgedPro != "" && SelAllList[0].ValueOfPledgedPro != "" && item.ValueOfPledgedPro != "0" && SelAllList[0].ValueOfPledgedPro != "0") { if (double.Parse(item.ValueOfPledgedPro) > double.Parse(SelAllList[0].ValueOfPledgedPro)) { MaxWarn++; Message.Add( Infos + $"且质押财产价值与最近一次登记相比增加,由{SelAllList[0].ValueOfPledgedPro}元增加至{item.ValueOfPledgedPro}元,推断可能存在实质展期"); } else if (double.Parse(item.ValueOfPledgedPro) < double.Parse(SelAllList[0].ValueOfPledgedPro)) { MidWarn++; Message.Add( Infos + $"且质押财产价值与最近一次登记相比减少,由{SelAllList[0].ValueOfPledgedPro}元减少至{item.ValueOfPledgedPro}元,推断可能存在实质展期"); } } //5 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.MasterContractNumber != "" && SelAllList[0].MasterContractNumber != "" && item.MasterContractNumber != SelAllList[0].MasterContractNumber) { MidWarn++; Message.Add( Infos + $"且主合同号码与最近一次登记相比发生变化,由{SelAllList[0].MasterContractNumber}变为{item.MasterContractNumber},推断可能存在实质展期"); } //6 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.DesOfPledgedProperty != SelAllList[0].DesOfPledgedProperty) { MidWarn++; Message.Add( Infos + $"且质押财产描述内容与最近一次登记相比发生变化,由\"{SelAllList[0].DesOfPledgedProperty}\"变为\"{item.DesOfPledgedProperty}\",推断可能存在实质展期"); } //7 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.PledgeContractNumber != SelAllList[0].PledgeContractNumber) { MaxWarn++; Message.Add( Infos + $"且质押合同号码与最近一次登记相比发生变化,由{SelAllList[0].PledgeContractNumber}变为{item.PledgeContractNumber},推断可能存在实质展期"); } //8 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfPledgee != "" && SelAllList[0].NameOfPledgee != "" && item.NameOfPledgee != SelAllList[0].NameOfPledgee) { var CurrentNameInfo = IsFormerName(item.NameOfPledgee.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfPledgee.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add( Infos + $"且质权人与最近一次登记相比发生变化,由{SelAllList[0].NameOfPledgee}变为{item.NameOfPledgee},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo .Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add( Infos + $"且质权人与最近一次登记相比发生变化,由{SelAllList[0].NameOfPledgee}变为{item.NameOfPledgee},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add( Infos + $"且质权人与最近一次登记相比发生变化,由{SelAllList[0].NameOfPledgee}变为{item.NameOfPledgee},推断可能存在实质展期"); } } } //9 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && DateTime.Parse(item.DateOfRegistrationTime) > DateTime.Parse(SelAllList[0].DateOfRegistrationTime)) { MaxWarn++; Message.Add( Infos + $"且登记到期日比最近一次登记晚,由{SelAllList[0].DateOfRegistrationTime}延长至{item.DateOfRegistrationTime},推断可能存在实质展期"); } //10 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.RegistrationDeadline != "" && SelAllList[0].RegistrationDeadline != "") { var Num1 = Regex.Replace(item.RegistrationDeadline, @"[^0-9]+", ""); var Num2 = Regex.Replace(SelAllList[0].RegistrationDeadline, @"[^0-9]+", ""); if (int.Parse(Num1 == "" ? "0" : Num1) > int.Parse(Num2 == "" ? "0" : Num2)) { MaxWarn++; Message.Add( Infos + $"且登记期限比最近一次登记更长,由{SelAllList[0].RegistrationDeadline}延长至{item.RegistrationDeadline},推断可能存在实质展期"); } } //12-14 else if (item.RegistrationType == "初始登记") { //12-1-2 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { if (IsDate(Logoutitem.DateOfRegistration) == false) continue; TimeSpan times1 = item.RegistrationTime - Logoutitem.RegistrationTime; TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0) { MaxWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0) { MidWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } } } //14 if (item.RegistrationTime != null && item.TimeLimitForDebtPer != null && item.TimeLimitForDebtPer != "" && item.TimeLimitForDebtPer.Contains("~")) { var Time1 = "1900-01-01"; var Index = item.TimeLimitForDebtPer.IndexOf("~") > 0 ? item.TimeLimitForDebtPer.IndexOf("~") : 0; var time1 = item.TimeLimitForDebtPer.Substring(0, Index); string result1 = time1.Replace("~", ""); Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; TimeSpan RegEndTime = item.RegistrationTime - DateTime.Parse(Time1); if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 30 && RegEndTime.TotalDays < 180) { MidWarn++; Message.Add( $"本次初始登记的登记日期({item.RegistrationDate})比债务履行期限的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } else if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 180) { MaxWarn++; Message.Add( $"本次初始登记的登记日期({item.RegistrationDate})比债务履行期限的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } //13-15 else if (item.RegistrationType == "注销登记") { //13 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { if (IsDate(Logoutitem.DateOfRegistration) == false) continue; TimeSpan times1 = Logoutitem.RegistrationTime - DateTime.Parse(item.DateOfRegistration); TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfPledgee == Logoutitem.NameOfPledgee && item.NameOfPledgor == Logoutitem.NameOfPledgor) { //MaxWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfPledgee == Logoutitem.NameOfPledgee && item.NameOfPledgor == Logoutitem.NameOfPledgor) { //MidWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } } } //15 if (timeSpan.TotalDays >= 90 && item.RegistrationTime != null && SelAllList[0].DateOfRegistration != null) { TimeSpan RegEndTime = DateTime.Parse(SelAllList[0].DateOfRegistration) - item.RegistrationTime; if (RegEndTime.TotalDays >= 30) { //MidWarn++; Message.Add( $"本次注销登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,且注销登记日期({item.RegistrationDate})比关联的最近一次登记的登记到期日({DateTime.Parse(SelAllList[0].DateOfRegistration).ToString("yyyy-MM-dd")})早{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } //16 else if (item.RegistrationType == "异议登记") { MidWarn++; Message.Add("本次登记属于异议登记"); } //17 else { } int WarnLevel = 0; if (MaxWarn > 0) { WarnLevel = 3; } else if (MidWarn > 0) { WarnLevel = 2; } else { WarnLevel = 1; } string msg = ""; msg += $"本笔应收账款质押共命中{MaxWarn + MidWarn}项风险点:"; if (Message.Count > 0) { for (int i = 0; i < Message.Count; i++) { msg += "\n" + (i + 1) + "." + Message[i]; } } if (WarnLevel > 1) //绿色的取消风险说明 { comDynamicContentlist.Add(new ComDynamicContent {Name = "风险说明", Value = msg}); } WarnLevel = 1;//强制为绿色 ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "应收账款质押", Detail = JsonHelper.ToJson(item), ContentTime = item.RegistrationTime.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ExtRZIds = string.Join(",", Idslist), ExtRZNames = string.Join(",", Nameslist), ReportId = ReportId, CreateTime = DateTime.Now }; //if (ExistComDynamicEva(comDynamicEva) == false) //{ var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); //} } } catch (Exception e) { LogHelper.Error("GetMkReceivablesPledge Error!Nmae--ReportId--Exception:" + Name + "--" + ReportId + "--" + e.ToString()); } } /// /// 应收账款转让(保理) /// /// public void GetMkAccReceivableAssigned(string Name,int ReportId) { try { //MkAccReceivableAssignedBLL mkAccReceivableAssignedBLL = new MkAccReceivableAssignedBLL(); if (Name.Trim() == "个人") return; MkAccReceivableAssignedDAL mkAccReceivableAssignedDal = new MkAccReceivableAssignedDAL(); string OriginalNames = GetOriginalNames(Name); var finlist = mkAccReceivableAssignedDal.GetMkAccReceivableAssigned(Name.Replace("(", "(").Replace(")", ")"), OriginalNames.Replace("(", "(").Replace(")", ")")); foreach (var item in finlist) { int MaxWarn = 0; int MidWarn = 0; List Idslist = new List(); //存储Id Idslist.Add(item.Id.ToString()); List Nameslist = new List(); //存储Names Nameslist.Add("本次登记"); List Message = new List(); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent {Name = "事件发生日期", Value = item.RegistrationTime.ToString("yyyy-MM-dd")}); //comDynamicContentlist.Add(new ComDynamicContent // {Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd")}); comDynamicContentlist.Add(new ComDynamicContent {Name = "企业名称", Value = Name}); comDynamicContentlist.Add(new ComDynamicContent {Name = "子标题", Value = "应收账款转让(保理)-" + item.RegistrationType}); comDynamicContentlist.Add(new ComDynamicContent {Name = "出让人", Value = item.NameOfTransferor}); comDynamicContentlist.Add(new ComDynamicContent {Name = "受让人", Value = item.NameOfAssignee}); comDynamicContentlist.Add(new ComDynamicContent {Name = "融资金额(元)", Value = item.FinancingAmount}); comDynamicContentlist.Add(new ComDynamicContent {Name = "转让财产价值(元)", Value = item.TransferValueOfpro}); comDynamicContentlist.Add(new ComDynamicContent {Name = "登记期限", Value = item.RegistrationDeadline}); comDynamicContentlist.Add(new ComDynamicContent {Name = "登记证明编号", Value = item.RegCerNumber}); var SelAllList = mkAccReceivableAssignedDal .GetMkAccReceivableAssignedByRegNumCer(item.ReleRegCerNumber) .OrderByDescending(p => p.RegistrationTime).ToList(); TimeSpan timeSpan = item.RegistrationTime - SelAllList[0].RegistrationTime; string Infos = $"本次登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,"; //1 if (item.RegistrationType == "展期登记") { MaxWarn++; Message.Add("本次登记属于展期"); } //2-No //3 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfTransferor != "" && SelAllList[0].NameOfTransferor != "" && item.NameOfTransferor != SelAllList[0].NameOfTransferor) { var CurrentNameInfo = IsFormerName(item.NameOfTransferor.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfTransferor.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add( Infos + $"且出让人与最近一次登记相比发生变化,由{SelAllList[0].NameOfTransferor}变为{item.NameOfTransferor},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo .Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add( Infos + $"且出让人与最近一次登记相比发生变化,由{SelAllList[0].NameOfTransferor}变为{item.NameOfTransferor},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add( Infos + $"且出让人与最近一次登记相比发生变化,由{SelAllList[0].NameOfTransferor}变为{item.NameOfTransferor},推断可能存在实质展期"); } } } //4-1 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.FinancingAmount != "" && SelAllList[0].FinancingAmount != "" && item.FinancingAmount != "0" && SelAllList[0].FinancingAmount != "0") { if (double.Parse(item.FinancingAmount) > double.Parse(SelAllList[0].FinancingAmount)) { MaxWarn++; Message.Add( Infos + $"且融资金额与最近一次登记相比增加,由{SelAllList[0].FinancingAmount}元增加至{item.FinancingAmount}元,推断可能存在实质展期"); } else if (double.Parse(item.FinancingAmount) < double.Parse(SelAllList[0].FinancingAmount)) { MidWarn++; Message.Add( Infos + $"且融资金额与最近一次登记相比减少,由{SelAllList[0].FinancingAmount}元减少至{item.FinancingAmount}元,推断可能存在实质展期"); } } //4-2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.TransferValueOfpro != "" && SelAllList[0].TransferValueOfpro != "" && item.TransferValueOfpro != "0" && SelAllList[0].TransferValueOfpro != "0") { if (double.Parse(item.TransferValueOfpro) > double.Parse(SelAllList[0].TransferValueOfpro)) { MaxWarn++; Message.Add( Infos + $"且转让财产价值与最近一次登记相比增加,由{SelAllList[0].TransferValueOfpro}元增加至{item.TransferValueOfpro}元,推断可能存在实质展期"); } else if (double.Parse(item.TransferValueOfpro) < double.Parse(SelAllList[0].TransferValueOfpro)) { MidWarn++; Message.Add( Infos + $"且转让财产价值与最近一次登记相比减少,由{SelAllList[0].TransferValueOfpro}元减少至{item.TransferValueOfpro}元,推断可能存在实质展期"); } } //5-No //6 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.DesOfTransferredPro != SelAllList[0].DesOfTransferredPro) { MidWarn++; Message.Add( Infos + $"且转让财产描述内容与最近一次登记相比发生变化,由\"{SelAllList[0].DesOfTransferredPro}\"变为\"{item.DesOfTransferredPro}\",推断可能存在实质展期"); } //7 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.FinancingContractNum != SelAllList[0].FinancingContractNum) { MaxWarn++; Message.Add( Infos + $"且融资合同号码与最近一次登记相比发生变化,由{SelAllList[0].FinancingContractNum}变为{item.FinancingContractNum},推断可能存在实质展期"); } //8 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfAssignee != "" && SelAllList[0].NameOfAssignee != "" && item.NameOfAssignee != SelAllList[0].NameOfAssignee) { var CurrentNameInfo = IsFormerName(item.NameOfAssignee.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfAssignee.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add( Infos + $"且受让人与最近一次登记相比发生变化,由{SelAllList[0].NameOfAssignee}变为{item.NameOfAssignee},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo .Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add( Infos + $"且受让人与最近一次登记相比发生变化,由{SelAllList[0].NameOfAssignee}变为{item.NameOfAssignee},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add( Infos + $"且受让人与最近一次登记相比发生变化,由{SelAllList[0].NameOfAssignee}变为{item.NameOfAssignee},推断可能存在实质展期"); } } } //9 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.DateOfRegistrationTime != "" && SelAllList[0].DateOfRegistrationTime != "" && DateTime.Parse(item.DateOfRegistrationTime) > DateTime.Parse(SelAllList[0].DateOfRegistrationTime)) { MaxWarn++; Message.Add( Infos + $"且登记到期日比最近一次登记晚,由{SelAllList[0].DateOfRegistrationTime}延长至{item.DateOfRegistrationTime},推断可能存在实质展期"); } //10 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.RegistrationDeadline != "" && SelAllList[0].RegistrationDeadline != "") { var Num1 = Regex.Replace(item.RegistrationDeadline, @"[^0-9]+", ""); var Num2 = Regex.Replace(SelAllList[0].RegistrationDeadline, @"[^0-9]+", ""); if (int.Parse(Num1 == "" ? "0" : Num1) > int.Parse(Num2 == "" ? "0" : Num2)) { MaxWarn++; Message.Add( Infos + $"且登记期限比最近一次登记更长,由{SelAllList[0].RegistrationDeadline}延长至{item.RegistrationDeadline},推断可能存在实质展期"); } } //12-1-2 else if (item.RegistrationType == "初始登记") { var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { if (IsDate(Logoutitem.DateOfRegistration) == false) continue; TimeSpan times1 = item.RegistrationTime - Logoutitem.RegistrationTime; TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0) { MaxWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出让人和受让人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0) { MidWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出让人和受让人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } } } } //13-15 else if (item.RegistrationType == "注销登记") { //13 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { if (item.DateOfRegistration != null && IsDate(item.DateOfRegistration)) { TimeSpan times1 = Logoutitem.RegistrationTime - DateTime.Parse(item.DateOfRegistration); TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfAssignee == Logoutitem.NameOfAssignee && item.NameOfTransferor == Logoutitem.NameOfTransferor) { //MaxWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出让人和受让人与本次注销登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfAssignee == Logoutitem.NameOfAssignee && item.NameOfTransferor == Logoutitem.NameOfTransferor) { //MidWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出让人和受让人与本次注销登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } } } } //15 else if (timeSpan.TotalDays >= 90 && item.RegistrationTime != null && SelAllList[0].DateOfRegistration != "") { TimeSpan RegEndTime = DateTime.Parse(SelAllList[0].DateOfRegistration) - item.RegistrationTime; if (RegEndTime.TotalDays >= 30) { //MidWarn++; Message.Add( $"本次注销登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,且注销登记日期({item.RegistrationDate})比关联的最近一次登记的登记到期日({DateTime.Parse(SelAllList[0].DateOfRegistration).ToString("yyyy-MM-dd")})早{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); //Message.Add("本次注销登记比关联初始登记时间晚三个月及以上,且注销登记时间比关联的最近一次登记的登记到期日早一个月及以上,推断可能存在实质展期"); } } } //14-No //16 else if (item.RegistrationType == "异议登记") { MidWarn++; Message.Add("本次登记属于异议登记"); } //17 else { } int WarnLevel = 0; if (MaxWarn > 0) { WarnLevel = 3; } else if (MidWarn > 0) { WarnLevel = 2; } else { WarnLevel = 1; } string msg = ""; msg += $"本笔应收账款转让(保理)共命中{MaxWarn + MidWarn}项风险点:"; if (Message.Count > 0) { for (int i = 0; i < Message.Count; i++) { msg += "\n" + (i + 1) + "." + Message[i]; } } if (WarnLevel > 1) //绿色的取消风险说明 { comDynamicContentlist.Add(new ComDynamicContent {Name = "风险说明", Value = msg}); } WarnLevel = 1;//强制为绿色 ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "应收账款转让(保理)", Detail = JsonHelper.ToJson(item), ContentTime = item.RegistrationTime.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ExtRZIds = string.Join(",", Idslist), ExtRZNames = string.Join(",", Nameslist), ReportId = ReportId, CreateTime = DateTime.Now }; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } catch (Exception e) { LogHelper.Error("GetMkAccReceivableAssigned Error!Nmae--ReportId--Exception:" + Name + "--" + ReportId + "--" + e.ToString()); } } /// /// 动产抵质押 /// /// public void GetMkProductionEquipment(string Name,int ReportId) { try { //MkProductionEquipmentBLL mkProductionEquipmentBLL = new MkProductionEquipmentBLL(); if (Name.Trim() == "个人") return; MkProductionEquipmentDAL mkProductionEquipmentDal = new MkProductionEquipmentDAL(); string OriginalNames = GetOriginalNames(Name); var finlist = mkProductionEquipmentDal.GetMkProductionEquipment(Name.Replace("(", "(").Replace(")", ")"), OriginalNames.Replace("(", "(").Replace(")", ")")); foreach (var item in finlist) { int MaxWarn = 0; int MidWarn = 0; List Idslist = new List(); //存储Id Idslist.Add(item.Id.ToString()); List Nameslist = new List(); //存储Names Nameslist.Add("本次登记"); List Message = new List(); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent {Name = "事件发生日期", Value = item.RegistrationTime.ToString("yyyy-MM-dd")}); //comDynamicContentlist.Add(new ComDynamicContent // {Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd")}); comDynamicContentlist.Add(new ComDynamicContent {Name = "企业名称", Value = Name}); comDynamicContentlist.Add(new ComDynamicContent {Name = "子标题", Value = "动产抵质押-" + item.RegistrationType}); comDynamicContentlist.Add(new ComDynamicContent {Name = "担保人", Value = item.NameOfMortgagor}); comDynamicContentlist.Add(new ComDynamicContent {Name = "担保权人", Value = item.NameOfMortgagee}); comDynamicContentlist.Add(new ComDynamicContent {Name = "主合同金额(元)", Value = item.PriContractAmount}); comDynamicContentlist.Add(new ComDynamicContent {Name = "担保财产价值(元)", Value = item.MortgagedPropertyVal}); comDynamicContentlist.Add(new ComDynamicContent {Name = "登记期限", Value = item.RegistrationDeadline}); comDynamicContentlist.Add(new ComDynamicContent {Name = "债务履行期限", Value = item.TimeLimitForDebtPer}); comDynamicContentlist.Add(new ComDynamicContent {Name = "登记证明编号", Value = item.RegCerNumber}); var SelAllList = mkProductionEquipmentDal.GetMkProductionEquipmentByRegNumCer(item.ReleRegCerNumber) .OrderByDescending(p => p.RegistrationTime).ToList(); if (SelAllList != null && SelAllList.Count > 0) { TimeSpan timeSpan = item.RegistrationTime - SelAllList[0].RegistrationTime; string Infos = $"本次登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,"; //1 if (item.RegistrationType == "展期登记") { MaxWarn++; Message.Add("本次登记属于展期"); } //2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.TimeLimitForDebtPer != "" && SelAllList[0].TimeLimitForDebtPer != "" && item.TimeLimitForDebtPer.Contains("~") && SelAllList[0].TimeLimitForDebtPer.Contains("~")) { var Time1 = "1900-01-01"; var Time2 = "1900-01-01"; if (item.TimeLimitForDebtPer != "" && item.TimeLimitForDebtPer.Contains("~")) { var Index = item.TimeLimitForDebtPer.IndexOf("~") > 0 ? item.TimeLimitForDebtPer.IndexOf("~") : 0; var time2 = item.TimeLimitForDebtPer.Substring(Index); string result2 = time2.Replace("~", ""); Time1 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (SelAllList[0].TimeLimitForDebtPer != "" && SelAllList[0].TimeLimitForDebtPer.Contains("~")) { var Index = SelAllList[0].TimeLimitForDebtPer.IndexOf("~") > 0 ? SelAllList[0].TimeLimitForDebtPer.IndexOf("~") : 0; //var time1 = item.TermOfLease.Substring(0, Index); //string result1 = time1.Replace("~", ""); //Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; var time2 = SelAllList[0].TimeLimitForDebtPer.Substring(Index); string result2 = time2.Replace("~", ""); Time2 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (DateTime.Parse(Time1) > DateTime.Parse(Time2)) { MaxWarn++; Message.Add(Infos + $"且变更后的债务履行期限结束日期晚于最近一次登记,由{Time2}延长至{Time1},推断可能存在实质展期"); } } //3 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfMortgagor != "" && SelAllList[0].NameOfMortgagor != "" && item.NameOfMortgagor != SelAllList[0].NameOfMortgagor) { var CurrentNameInfo = IsFormerName(item.NameOfMortgagor.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfMortgagor.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add( Infos + $"且出质人与最近一次登记相比发生变化,由{SelAllList[0].NameOfMortgagor}变为{item.NameOfMortgagor},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo .Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add( Infos + $"且出质人与最近一次登记相比发生变化,由{SelAllList[0].NameOfMortgagor}变为{item.NameOfMortgagor},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add( Infos + $"且出质人与最近一次登记相比发生变化,由{SelAllList[0].NameOfMortgagor}变为{item.NameOfMortgagor},推断可能存在实质展期"); } } } //4-1 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.PriContractAmount != "" && SelAllList[0].PriContractAmount != "" && item.PriContractAmount != "0" && SelAllList[0].PriContractAmount != "0") { if (double.Parse(item.PriContractAmount) > double.Parse(SelAllList[0].PriContractAmount)) { MaxWarn++; Message.Add( Infos + $"且主合同金额与最近一次登记相比增加,由{SelAllList[0].PriContractAmount}元增加至{item.PriContractAmount}元,推断可能存在实质展期"); } else if (double.Parse(item.PriContractAmount) < double.Parse(SelAllList[0].PriContractAmount)) { MidWarn++; Message.Add( Infos + $"且主合同金额与最近一次登记相比减少,由{SelAllList[0].PriContractAmount}元减少至{item.PriContractAmount}元,推断可能存在实质展期"); } } //4-2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.MortgagedPropertyVal != "" && SelAllList[0].MortgagedPropertyVal != "" && item.MortgagedPropertyVal != "0" && SelAllList[0].MortgagedPropertyVal != "0") { if (double.Parse(item.MortgagedPropertyVal) > double.Parse(SelAllList[0].MortgagedPropertyVal)) { MaxWarn++; Message.Add( Infos + $"且质押财产价值与最近一次登记相比增加,由{SelAllList[0].MortgagedPropertyVal}元增加至{item.MortgagedPropertyVal}元,推断可能存在实质展期"); } else if (double.Parse(item.MortgagedPropertyVal) < double.Parse(SelAllList[0].MortgagedPropertyVal)) { MidWarn++; Message.Add( Infos + $"且质押财产价值与最近一次登记相比减少,由{SelAllList[0].MortgagedPropertyVal}元减少至{item.MortgagedPropertyVal}元,推断可能存在实质展期"); } } //5 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.MasterContractNumber != "" && SelAllList[0].MasterContractNumber != "" && item.MasterContractNumber != SelAllList[0].MasterContractNumber) { MidWarn++; Message.Add( Infos + $"且主合同号码与最近一次登记相比发生变化,由{SelAllList[0].MasterContractNumber}变为{item.MasterContractNumber},推断可能存在实质展期"); } //6 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.DesMortgagedProperty != SelAllList[0].DesMortgagedProperty) { MidWarn++; Message.Add( Infos + $"且质押财产描述内容与最近一次登记相比发生变化,由{SelAllList[0].DesMortgagedProperty}变为{item.DesMortgagedProperty},推断可能存在实质展期"); } //7 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.MortgageConNumber != SelAllList[0].MortgageConNumber) { MaxWarn++; Message.Add( Infos + $"且质押合同号码与最近一次登记相比发生变化,由{SelAllList[0].MortgageConNumber}变为{item.MortgageConNumber},推断可能存在实质展期"); } //8 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfMortgagee != "" && SelAllList[0].NameOfMortgagee != "" && item.NameOfMortgagee != SelAllList[0].NameOfMortgagee) { var CurrentNameInfo = IsFormerName(item.NameOfMortgagee.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfMortgagee.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add( Infos + $"且质权人与最近一次登记相比发生变化,由{SelAllList[0].NameOfMortgagee}变为{item.NameOfMortgagee},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo .Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add( Infos + $"且质权人与最近一次登记相比发生变化,由{SelAllList[0].NameOfMortgagee}变为{item.NameOfMortgagee},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add( Infos + $"且质权人与最近一次登记相比发生变化,由{SelAllList[0].NameOfMortgagee}变为{item.NameOfMortgagee},推断可能存在实质展期"); } } } //9 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && DateTime.Parse(item.DateOfRegistrationTime) > DateTime.Parse(SelAllList[0].DateOfRegistrationTime)) { MaxWarn++; Message.Add( Infos + $"且登记到期日比最近一次登记晚,由{DateTime.Parse(SelAllList[0].DateOfRegistrationTime).ToString("yyyy-MM-dd")}延长至{DateTime.Parse(item.DateOfRegistrationTime).ToString("yyyy-MM-dd")},推断可能存在实质展期"); } //10 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.RegistrationDeadline != "" && SelAllList[0].RegistrationDeadline != "") { var Num1 = Regex.Replace(item.RegistrationDeadline, @"[^0-9]+", ""); var Num2 = Regex.Replace(SelAllList[0].RegistrationDeadline, @"[^0-9]+", ""); if (int.Parse(Num1 == "" ? "0" : Num1) > int.Parse(Num2 == "" ? "0" : Num2)) { MaxWarn++; Message.Add( Infos + $"且登记期限比最近一次登记更长,由{DateTime.Parse(SelAllList[0].RegistrationDeadline).ToString("yyyy-MM-dd")}延长至{DateTime.Parse(item.RegistrationDeadline).ToString("yyyy-MM-dd")},推断可能存在实质展期"); } } //11-12-14 else if (item.RegistrationType == "初始登记") { //11-1-2 if (item.DesMortgagedProperty != null && item.DesMortgagedProperty != "") { //List mkFinancelist = new List(); //foreach (var itemfin in finlist) //{ // double ConcordanceRate = 0; // //if (item.DesMortgagedProperty != null && itemfin.DesMortgagedProperty != null) // //{ // var infoA = item.DesMortgagedProperty; // var infoB = itemfin.DesMortgagedProperty; // ConcordanceRate = Sim(infoA, infoB); // TimeSpan times = item.RegistrationTime - itemfin.RegistrationTime; // TimeSpan DateOfRegistrationTime = // SelAllList[0].RegistrationTime - DateTime.Parse( // IsDate(itemfin.DateOfRegistration) == true // ? itemfin.DateOfRegistration // : "1900-01-01"); // TimeSpan TermOfLeaseTime = // SelAllList[0].RegistrationTime - DateTime.Parse( // IsDate(itemfin.TimeLimitForDebtPer) == true // ? itemfin.TimeLimitForDebtPer // : "1900-01-01"); // if (ConcordanceRate > 0.9 && times.TotalDays >= 90) // { // if (DateOfRegistrationTime.TotalDays >= 360 || TermOfLeaseTime.TotalDays >= 360) // { // MaxWarn++; // Idslist.Add(itemfin.Id.ToString()); // Nameslist.Add("第" + (MaxWarn + MidWarn) + "个风险点登记"); // string Note = DateOfRegistrationTime.TotalDays >= 360 // ? $"登记到期日比本次登记晚{DateOfRegistrationTime.TotalDays.ToString("f0")}天" // : $"债务履行期限结束日期比本次登记晚{TermOfLeaseTime.TotalDays.ToString("f0")}天"; // Message.Add( // $"有一笔登记日期比本次登记早{times.TotalDays.ToString("f0")}天的历史登记(登记证明编号为:{itemfin.RegCerNumber};登记日期:{itemfin.RegistrationDate}),租赁财产描述与本次登记重复率为{(ConcordanceRate * 100).ToString("f2")}%。该登记的{Note}。推断本次登记可能实际属于历史已有登记展期。"); // //Message.Add("存在比本次登记时间早三个月及以上且质押财产描述存在高度一致性的其他类型登记,但是这类登记的登记到期日或债务履行期限结束日期比本次登记晚一年及以上,推断本次登记可能实际属于历史已有登记展期"); // } // else if ((DateOfRegistrationTime.TotalDays >= 180 && // DateOfRegistrationTime.TotalDays < 360) || // (TermOfLeaseTime.TotalDays >= 180 && TermOfLeaseTime.TotalDays < 360)) // { // MidWarn++; // Idslist.Add(itemfin.Id.ToString()); // Nameslist.Add("第" + (MaxWarn + MidWarn) + "个风险点登记"); // string Note = DateOfRegistrationTime.TotalDays >= 360 // ? $"登记到期日比本次登记晚{DateOfRegistrationTime.TotalDays.ToString("f0")}天" // : $"债务履行期限结束日期比本次登记晚{TermOfLeaseTime.TotalDays.ToString("f0")}天"; // Message.Add( // $"有一笔登记日期比本次登记早{times.TotalDays.ToString("f0")}天的历史登记(登记证明编号为:{itemfin.RegCerNumber};登记日期:{itemfin.RegistrationDate}),租赁财产描述与本次登记重复率为{(ConcordanceRate * 100).ToString("f2")}%。该登记的{Note}。推断本次登记可能实际属于历史已有登记展期。"); // } // } //} } //12-1-2 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { TimeSpan times1 = item.RegistrationTime - Logoutitem.RegistrationTime; TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 & times1.Days > 0) { MaxWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); //Message.Add("存在这样一类注销登记,其出质人和质权人与本次初始登记完全一致,但注销登记时间比其登记到期日早一年及以上,且本次初始登记在注销登记发生后的一个月之内,即历史登记先注销后又重新登记,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 & times1.Days > 0) { MidWarn++; Message.Add( $"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); //Message.Add("存在这样一类注销登记,其出质人和质权人与本次初始登记完全一致,但注销登记时间比其登记到期日早半年至一年之间,且本次初始登记在注销登记发生后的一个月之内,即历史登记先注销后又重新登记,推断可能存在实质展期"); } } } //14 if (item.RegistrationTime != null && item.TimeLimitForDebtPer != "" && item.TimeLimitForDebtPer.Contains("~")) { var Time1 = "1900-01-01"; var Index = item.TimeLimitForDebtPer.IndexOf("~") > 0 ? item.TimeLimitForDebtPer.IndexOf("~") : 0; var time1 = item.TimeLimitForDebtPer.Substring(0, Index); string result1 = time1.Replace("~", ""); Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; TimeSpan RegEndTime = item.RegistrationTime - DateTime.Parse(Time1); if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 90 && RegEndTime.TotalDays < 180) { MidWarn++; Message.Add( $"本次初始登记的登记日期({item.RegistrationDate})比债务履行期限的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } else if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 180) { MaxWarn++; Message.Add( $"本次初始登记的登记日期({item.RegistrationDate})比债务履行期限的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } //13-15 else if (item.RegistrationType == "注销登记") { //13 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { TimeSpan times1 = Logoutitem.RegistrationTime - DateTime.Parse(item.DateOfRegistration); TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfMortgagee == Logoutitem.NameOfMortgagee && item.NameOfMortgagor == Logoutitem.NameOfMortgagor) { //MaxWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); //Message.Add("存在这样一类初始登记,其出质人和质权人与本次注销登记完全一致,且初始登记时间与本次注销登记时间间隔不超过一个月,本次注销登记时间比其登记到期日早一年及以上,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfMortgagee == Logoutitem.NameOfMortgagee && item.NameOfMortgagor == Logoutitem.NameOfMortgagor) { //MidWarn++; Message.Add( $"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其出质人和质权人与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); //Message.Add("存在这样一类初始登记,其出质人和质权人与本次注销登记完全一致,且初始登记时间与本次注销登记时间间隔不超过一个月,本次注销登记时间比其登记到期日早半年至一年之间,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } } } //15 else if (timeSpan.TotalDays >= 90 && item.RegistrationTime != null && SelAllList[0].DateOfRegistration != "") { TimeSpan RegEndTime = DateTime.Parse(SelAllList[0].DateOfRegistration) - item.RegistrationTime; if (RegEndTime.TotalDays >= 30) { //MidWarn++; Message.Add( $"本次注销登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,且注销登记日期({item.RegistrationDate})比关联的最近一次登记的登记到期日({DateTime.Parse(SelAllList[0].DateOfRegistration).ToString("yyyy-MM-dd")})早{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); //Message.Add("本次注销登记比关联初始登记时间晚三个月及以上,且注销登记时间比关联的最近一次登记的登记到期日早一个月及以上,推断可能存在实质展期"); } } } //16 else if (item.RegistrationType == "异议登记") { MidWarn++; Message.Add("本次登记属于异议登记"); } int WarnLevel = 0; if (MaxWarn > 0) { WarnLevel = 3; } else if (MidWarn > 0) { WarnLevel = 2; } else { WarnLevel = 1; } string msg = ""; msg += $"本笔动产抵质押共命中{MaxWarn + MidWarn}项风险点:"; if (Message.Count > 0) { for (int i = 0; i < Message.Count; i++) { msg += "\n" + (i + 1) + "." + Message[i]; } } if (WarnLevel > 1) //绿色的取消风险说明 { comDynamicContentlist.Add(new ComDynamicContent {Name = "风险说明", Value = msg}); } WarnLevel = 1;//强制为绿色 ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "动产抵质押", Detail = JsonHelper.ToJson(item), ContentTime = item.RegistrationTime.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ExtRZIds = string.Join(",", Idslist), ExtRZNames = string.Join(",", Nameslist), ReportId = ReportId, CreateTime = DateTime.Now }; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } catch (Exception e) { LogHelper.Error("GetMkProductionEquipment Error!Nmae--ReportId--Exception:" + Name + "--" + ReportId + "--" + e.ToString()); } } /// /// 其他动产权利登记 /// /// public void GetMkCAPRev(string Name, int ReportId) { //MkTitleRetentionBLL mkTitleRetentionBLL = new MkTitleRetentionBLL(); if (Name.Trim() == "个人") return; MkTitleRetentionDAL mkTitleRetentionDal=new MkTitleRetentionDAL(); string OriginalNames = GetOriginalNames(Name); var finlist = mkTitleRetentionDal.GetCAPRev(Name, OriginalNames); foreach (var item in finlist) { int MaxWarn = 0; int MidWarn = 0; List Idslist = new List();//存储Id Idslist.Add(item.Id.ToString()); List Nameslist = new List();//存储Names Nameslist.Add("本次登记"); List Message = new List(); List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = item.RegistrationTime.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "企业名称", Value = Name }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "其他动产权利登记-" + GetFinancingTypeName(item.TypeId) + "-" + item.RegistrationType }); comDynamicContentlist.Add(new ComDynamicContent { Name = GetTypeName(item.TypeId, true), Value = item.NameOfBuyer }); comDynamicContentlist.Add(new ComDynamicContent { Name = GetTypeName(item.TypeId, false), Value = item.NameOfSeller }); comDynamicContentlist.Add(new ComDynamicContent { Name = GetAmountName(item.TypeId) + "合同金额(元)", Value = item.ContractAmount }); comDynamicContentlist.Add(new ComDynamicContent { Name = item.TypeId == 3 ? "信托存续期间" : "债务履行期限", Value = item.TimeLimitDebtPer }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记期限", Value = item.RegistrationDeadline }); comDynamicContentlist.Add(new ComDynamicContent { Name = "登记证明编号", Value = item.RegCerNumber }); var SelAllList = mkTitleRetentionDal.GetCAPRevByRegNumCer(item.ReleRegCerNumber).OrderByDescending(p => p.RegistrationTime).ToList(); TimeSpan timeSpan = item.RegistrationTime - SelAllList[0].RegistrationTime; string Infos = $"本次登记日期({ item.RegistrationDate})比关联初始登记日期({ SelAllList[0].RegistrationDate})晚{ timeSpan.TotalDays.ToString("f0")}天,"; //1 if (item.RegistrationType == "展期登记") { MaxWarn++; Message.Add("本次登记属于展期"); } //2 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.TimeLimitDebtPer != "" && SelAllList[0].TimeLimitDebtPer != "" && item.TimeLimitDebtPer.Contains("~") && SelAllList[0].TimeLimitDebtPer.Contains("~")) { var Time1 = "1900-01-01"; var Time2 = "1900-01-01"; if (item.TimeLimitDebtPer != "" && item.TimeLimitDebtPer.Contains("~")) { var Index = item.TimeLimitDebtPer.IndexOf("~") > 0 ? item.TimeLimitDebtPer.IndexOf("~") : 0; var time2 = item.TimeLimitDebtPer.Substring(Index); string result2 = time2.Replace("~", ""); Time1 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (SelAllList[0].TimeLimitDebtPer != "" && SelAllList[0].TimeLimitDebtPer.Contains("~")) { var Index = SelAllList[0].TimeLimitDebtPer.IndexOf("~") > 0 ? SelAllList[0].TimeLimitDebtPer.IndexOf("~") : 0; var time2 = SelAllList[0].TimeLimitDebtPer.Substring(Index); string result2 = time2.Replace("~", ""); Time2 = IsDate(result2) == true ? result2 : "1900-01-01"; } if (DateTime.Parse(Time1) > DateTime.Parse(Time2)) { MaxWarn++; string str = item.TypeId == 3 ? "信托存续期间" : "债务履行期限"; Message.Add(Infos + $"且变更后的{str}结束日期晚于最近一次登记,由{DateTime.Parse(Time2).ToString("yyyy-MM-dd")}延长至{DateTime.Parse(Time1).ToString("yyyy-MM-dd")},推断可能存在实质展期"); } } //3 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfBuyer != "" && SelAllList[0].NameOfBuyer != "" && item.NameOfBuyer != SelAllList[0].NameOfBuyer) { var CurrentNameInfo = IsFormerName(item.NameOfBuyer.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfBuyer.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add(Infos + $"且{GetTypeName(item.TypeId, true)}与最近一次登记相比发生变化,由{SelAllList[0].NameOfBuyer}变为{item.NameOfBuyer},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo.Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add(Infos + $"且{GetTypeName(item.TypeId, true)}与最近一次登记相比发生变化,由{SelAllList[0].NameOfBuyer}变为{item.NameOfBuyer},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add(Infos + $"且{GetTypeName(item.TypeId, true)}与最近一次登记相比发生变化,由{SelAllList[0].NameOfBuyer}变为{item.NameOfBuyer},推断可能存在实质展期"); } } } //4 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.ContractAmount != "" && SelAllList[0].ContractAmount != "" && item.ContractAmount != "0" && SelAllList[0].ContractAmount != "0") { if (double.Parse(item.ContractAmount) > double.Parse(SelAllList[0].ContractAmount)) { MaxWarn++; Message.Add(Infos + $"且{GetAmountName(item.TypeId)}合同金额与最近一次登记相比增加,由{SelAllList[0].ContractAmount}元增加至{item.ContractAmount}元,推断可能存在实质展期"); } else if (double.Parse(item.ContractAmount) < double.Parse(SelAllList[0].ContractAmount)) { MidWarn++; Message.Add(Infos + $"且{GetAmountName(item.TypeId)}合同金额与最近一次登记相比减少,由{SelAllList[0].ContractAmount}元减少至{item.ContractAmount}元,推断可能存在实质展期"); } } //5 //6 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.DesTranProperty != SelAllList[0].DesTranProperty) { MidWarn++; Message.Add(Infos + $"且{GetDesName(item.TypeId)}财产描述内容与最近一次登记相比发生变化,由“{SelAllList[0].DesTranProperty}”变为“{item.DesTranProperty}”,推断可能存在实质展期"); } //7 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.TranContractNumber != SelAllList[0].TranContractNumber) { MaxWarn++; Message.Add(Infos + $"且{GetAmountName(item.TypeId)}合同号码与最近一次登记相比发生变化,由{SelAllList[0].TranContractNumber}变为{item.TranContractNumber},推断可能存在实质展期"); } //8 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.NameOfSeller != "" && SelAllList[0].NameOfSeller != "" && item.NameOfSeller != SelAllList[0].NameOfSeller) { var CurrentNameInfo = IsFormerName(item.NameOfSeller.Split(';')); var PriorPeriodInfo = IsFormerName(SelAllList[0].NameOfSeller.Split(';')); if (CurrentNameInfo.Count != PriorPeriodInfo.Count) { MaxWarn++; Message.Add(Infos + $"且{GetTypeName(item.TypeId, false)}与最近一次登记相比发生变化,由{SelAllList[0].NameOfSeller}变为{item.NameOfSeller},推断可能存在实质展期"); } else { bool Flag = true; bool ChildrenFlag = true; foreach (var itemNum in CurrentNameInfo) { var CurrentInfo = PriorPeriodInfo.Where(p => p.Name == itemNum.Name).ToList(); if (CurrentInfo.Count == 0 || CurrentInfo.Count > 1) { if (itemNum.OriginalName != null && itemNum.OriginalName.Count > 0) { foreach (var itemOriginalName in itemNum.OriginalName) { var CurrentOriginalName = PriorPeriodInfo.Where(p => p.Name == itemOriginalName).ToList(); if (CurrentOriginalName.Count == 0 || CurrentOriginalName.Count > 1) { ChildrenFlag = false; break; } } } //else //{ // Flag = false; // break; //} } //else //{ // Flag = false; // break; //} } if (!Flag) { if (!ChildrenFlag) { MaxWarn++; Message.Add(Infos + $"且{GetTypeName(item.TypeId, false)}与最近一次登记相比发生变化,由{SelAllList[0].NameOfSeller}变为{item.NameOfSeller},推断可能存在实质展期"); } } else { MaxWarn++; Message.Add(Infos + $"且{GetTypeName(item.TypeId, false)}与最近一次登记相比发生变化,由{SelAllList[0].NameOfSeller}变为{item.NameOfSeller},推断可能存在实质展期"); } } } //9 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && DateTime.Parse(item.DateOfRegistrationTime) > DateTime.Parse(SelAllList[0].DateOfRegistrationTime)) { MaxWarn++; Message.Add(Infos + $"且登记到期日比最近一次登记晚,由{DateTime.Parse(SelAllList[0].DateOfRegistrationTime).ToString("yyyy-MM-dd")}延长至{DateTime.Parse(item.DateOfRegistrationTime).ToString("yyyy-MM-dd")},推断可能存在实质展期"); } //10 else if (item.RegistrationType == "变更登记" && timeSpan.TotalDays >= 90 && item.RegistrationDeadline != "" && SelAllList[0].RegistrationDeadline != "") { var Num1 = Regex.Replace(item.RegistrationDeadline, @"[^0-9]+", ""); var Num2 = Regex.Replace(SelAllList[0].RegistrationDeadline, @"[^0-9]+", ""); if (int.Parse(Num1 == "" ? "0" : Num1) > int.Parse(Num2 == "" ? "0" : Num2)) { MaxWarn++; Message.Add(Infos + $"且登记期限比最近一次登记更长,由{SelAllList[0].RegistrationDeadline}延长至{item.RegistrationDeadline},推断可能存在实质展期"); } } //11-12-14 else if (item.RegistrationType == "初始登记") { //11-1-2 if (item.DesTranProperty != "") { List mkFinancelist = new List(); foreach (var itemfin in finlist) { var infoA = item.DesTranProperty; var infoB = itemfin.DesTranProperty; var ConcordanceRate = Sim(infoA, infoB); TimeSpan times = item.RegistrationTime - itemfin.RegistrationTime; TimeSpan DateOfRegistrationTime = SelAllList[0].RegistrationTime - DateTime.Parse(IsDate(itemfin.DateOfRegistration) == true ? itemfin.DateOfRegistration : "1900-01-01"); TimeSpan TermOfLeaseTime = SelAllList[0].RegistrationTime - DateTime.Parse(IsDate(itemfin.TimeLimitDebtPer) == true ? itemfin.TimeLimitDebtPer : "1900-01-01"); if (ConcordanceRate > 0.9 && times.TotalDays >= 90) { string Type = item.TypeId == 3 ? "信托存续期间" : "债务履行期限"; if (DateOfRegistrationTime.TotalDays >= 360 || TermOfLeaseTime.TotalDays >= 360) { MaxWarn++; Idslist.Add(itemfin.Id.ToString()); Nameslist.Add("第" + (MaxWarn + MidWarn) + "个风险点登记"); string Note = DateOfRegistrationTime.TotalDays >= 360 ? $"登记到期日比本次登记晚{DateOfRegistrationTime.TotalDays.ToString("f0")}天" : $"{Type}结束日期比本次登记晚{TermOfLeaseTime.TotalDays.ToString("f0")}天"; Message.Add($"有一笔登记日期比本次登记早{times.TotalDays.ToString("f0")}天的历史登记(登记证明编号为:{itemfin.RegCerNumber};登记日期:{itemfin.RegistrationDate}),{GetDesName(item.TypeId)}财产描述与本次登记重复率为{(ConcordanceRate * 100).ToString("f2")}%。该登记的{Note}。推断本次登记可能实际属于历史已有登记展期。"); } else if ((DateOfRegistrationTime.TotalDays >= 180 && DateOfRegistrationTime.TotalDays < 360) || (TermOfLeaseTime.TotalDays >= 180 && TermOfLeaseTime.TotalDays < 360)) { MidWarn++; Idslist.Add(itemfin.Id.ToString()); Nameslist.Add("第" + (MaxWarn + MidWarn) + "个风险点登记"); string Note = DateOfRegistrationTime.TotalDays >= 360 ? $"登记到期日比本次登记晚{DateOfRegistrationTime.TotalDays.ToString("f0")}天" : $"{Type}结束日期比本次登记晚{TermOfLeaseTime.TotalDays.ToString("f0")}天"; Message.Add($"有一笔登记日期比本次登记早{times.TotalDays.ToString("f0")}天的历史登记(登记证明编号为:{itemfin.RegCerNumber};登记日期:{itemfin.RegistrationDate}),{GetDesName(item.TypeId)}财产描述与本次登记重复率为{(ConcordanceRate * 100).ToString("f2")}%。该登记的{Note}。推断本次登记可能实际属于历史已有登记展期。"); } //mkFinancelist.Add(itemfin); } } } //12 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { TimeSpan times1 = item.RegistrationTime - Logoutitem.RegistrationTime; TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0) { MaxWarn++; Message.Add($"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其{GetTypeName(item.TypeId, true)}和{GetTypeName(item.TypeId, false)}与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); //Message.Add($"存在这样一类注销登记,其{GetTypeName(item.TypeId, true)}/{GetTypeName(item.TypeId, false)}与本次初始登记完全一致,但注销登记时间比其登记到期日早一年及以上,且本次初始登记在注销登记发生后的一个月之内,即历史登记先注销后又重新登记,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0) { MidWarn++; Message.Add($"存在一笔注销登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其{GetTypeName(item.TypeId, true)}和{GetTypeName(item.TypeId, false)}与本次初始登记完全一致,但注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,且本次初始登记日期({item.RegistrationDate})在注销登记日期({Logoutitem.RegistrationDate})发生后的{times1.Days}天,即历史登记先注销后又重新登记,推断可能存在实质展期"); } } } //14 if (item.RegistrationTime != null && item.TimeLimitDebtPer != "" && item.TimeLimitDebtPer.Contains("~")) { var Time1 = "1900-01-01"; var Index = item.TimeLimitDebtPer.IndexOf("~") > 0 ? item.TimeLimitDebtPer.IndexOf("~") : 0; var time1 = item.TimeLimitDebtPer.Substring(0, Index); string result1 = time1.Replace("~", ""); Time1 = IsDate(result1) == true ? result1 : "1900-01-01"; TimeSpan RegEndTime = item.RegistrationTime - DateTime.Parse(Time1); string str = item.TypeId == 3 ? "信托存续期间" : "债务履行期限"; if (Time1 != "1900-01-01" && RegEndTime.TotalDays >= 90 && RegEndTime.TotalDays < 180) { MidWarn++; Message.Add($"本次初始登记的登记日期({item.RegistrationDate})比{str}的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } else if (Time1 != "1900-01-01" && RegEndTime.TotalDays <= 180) { MaxWarn++; Message.Add($"本次初始登记的登记日期({item.RegistrationDate})比{str}的开始日期({DateTime.Parse(Time1).ToString("yyyy-MM-dd")})晚{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } //13-15 else if (item.RegistrationType == "注销登记") { //13 var LogoutList = finlist.Where(p => p.RegistrationType == "注销登记").ToList(); if (LogoutList != null && LogoutList.Count > 0) { foreach (var Logoutitem in LogoutList) { TimeSpan times1 = Logoutitem.RegistrationTime - DateTime.Parse(item.DateOfRegistration); TimeSpan times2 = DateTime.Parse(Logoutitem.DateOfRegistration) - Logoutitem.RegistrationTime; if (times2.Days >= 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfBuyer == Logoutitem.NameOfBuyer && item.NameOfSeller == Logoutitem.NameOfSeller) { //MaxWarn++; Message.Add($"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其{GetTypeName(item.TypeId, true)}和{GetTypeName(item.TypeId, false)}与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } else if (times2.Days >= 180 && times2.Days < 360 && times1.Days <= 30 && times1.Days > 0 && item.NameOfBuyer == Logoutitem.NameOfBuyer && item.NameOfSeller == Logoutitem.NameOfSeller) { //MidWarn++; Message.Add($"存在一笔初始登记(登记证明编号为:{Logoutitem.RegCerNumber};登记日期:{Logoutitem.RegistrationDate}),其{GetTypeName(item.TypeId, true)}和{GetTypeName(item.TypeId, false)}与本次初始登记完全一致,且初始登记日期({item.RegistrationDate})与本次注销登记日期({Logoutitem.RegistrationDate})间隔{times1.Days}天,本次注销登记日期({Logoutitem.RegistrationDate})比其登记到期日({Logoutitem.DateOfRegistration})早{times2.Days}天,即重新登记后,再对历史登记进行注销,推断可能存在实质展期"); } } } //15 if (timeSpan.TotalDays >= 90 && item.RegistrationTime != null && SelAllList[0].DateOfRegistration != "") { TimeSpan RegEndTime = DateTime.Parse(SelAllList[0].DateOfRegistration) - item.RegistrationTime; if (RegEndTime.TotalDays >= 30) { //MidWarn++; Message.Add($"本次注销登记日期({item.RegistrationDate})比关联初始登记日期({SelAllList[0].RegistrationDate})晚{timeSpan.TotalDays.ToString("f0")}天,且注销登记日期({item.RegistrationDate})比关联的最近一次登记的登记到期日({DateTime.Parse(SelAllList[0].DateOfRegistration).ToString("yyyy-MM-dd")})早{RegEndTime.TotalDays.ToString("f0")}天,推断可能存在实质展期"); } } } //16 else if (item.RegistrationType == "异议登记") { MidWarn++; Message.Add("本次登记属于异议登记"); } //17 else { } int WarnLevel = 0; if (MaxWarn > 0) { WarnLevel = 3; } else if (MidWarn > 0) { WarnLevel = 2; } else { WarnLevel = 1; } string Mes = ""; Mes += $"本笔其他动产权利登记共命中{MaxWarn + MidWarn}项风险点:"; if (Message.Count > 0) { for (int i = 0; i < Message.Count; i++) { Mes += "\n" + (i + 1) + "." + Message[i]; } } if (WarnLevel > 1) //绿色的取消风险说明 { comDynamicContentlist.Add(new ComDynamicContent { Name = "风险说明", Value = Mes }); } WarnLevel = 1;//强制为绿色 ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = "其他动产权利登记", Detail = JsonHelper.ToJson(item), ContentTime = item.RegistrationTime.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist), ExtRZIds = string.Join(",", Idslist), ExtRZNames = string.Join(",", Nameslist), ReportId = ReportId, CreateTime = DateTime.Now }; if (ExistComDynamicEva(comDynamicEva) == false) { var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } /// /// 获取企业曾用名--中登网租赁逻辑 /// /// /// private string GetOriginalNames(string Name) { string OriginalNames = ""; if (!string.IsNullOrWhiteSpace(Name) && Name.IndexOf("公司") > 0) { //var basicInfo = qiChaCha.GetBasicDetail(Name,ReportId); //if (basicInfo.Data != null) //{ // var data = (QccBasicDetail)basicInfo.Data; // var usedName = data.OriginalName; // if (usedName != null && usedName.Any()) // { // var usedNames = usedName.Select(a => a.Name).ToList(); // for (int i = 0; i < usedNames.Count; i++) // { // OriginalNames += " or " + usedNames[i]; // } // } //} } return OriginalNames; } /// /// 判断企业曾用名--中登网租赁逻辑 /// /// /// public List IsFormerName(string[] NameArr) { QiChaChaService qiChaChaService = new QiChaChaService(); List names = new List(); foreach (var itemss in NameArr) { ComOriginalName comOriginal = new ComOriginalName(); comOriginal.Name = itemss; //var Cominfo = qiChaChaService.GetBasicDetail(itemss); List namelist = new List(); //if (Cominfo.Data != null) //{ // var OriginalName = Cominfo.Data.GetType().GetProperty("OriginalName").GetValue(Cominfo.Data); // IEnumerable slist = OriginalName as IEnumerable; // if (slist != null) // { // foreach (var item in slist) // { // var Name = item.GetType().GetProperty("Name").GetValue(item); // namelist.Add(Name != null ? Name.ToString() : ""); // } // } //} comOriginal.OriginalName = namelist; names.Add(comOriginal); } foreach (var item in names) { foreach (var itemor in item.OriginalName) { names = names.Where(p => p.Name != itemor).ToList(); } } return names; } /// /// 获取融资类型名称 /// /// /// public string GetFinancingTypeName(int TypeId) { if (TypeId == 1) { return "所有权保留"; } else if (TypeId == 2) { return "留置权"; } else { return "动产信托"; } } /// /// 获取融资类型名称 /// /// /// public string GetTypeName(int TypeId, bool NameFlag) { if (NameFlag) { if (TypeId == 1) { return "买受人"; } else if (TypeId == 2) { return "债务人"; } else { return "委托人"; } } else { if (TypeId == 1) { return "出卖人"; } else if (TypeId == 2) { return "留置权人"; } else { return "受托人"; } } } public string GetAmountName(int TypeId) { if (TypeId == 1) { return "交易"; } else if (TypeId == 2) { return "主"; } else { return "信托"; } } public string GetDesName(int TypeId) { if (TypeId == 1) { return "交易"; } else if (TypeId == 2) { return "留置"; } else { return "信托"; } } #endregion #region 前后对比增强方法(14项) public void StoreKeyInfo(List comDynamicContentlist, string Name, int WarnLevel, string EventType, IEnumerable slist) { ComDynamicEva comDynamicEva = new ComDynamicEva() { CompanyName = Name, WarnLevel = WarnLevel, EventType = EventType, Detail = JsonHelper.ToJson(slist), ContentTime = DateTime.Now.ToString("yyyy-MM-dd"), Content = JsonHelper.ToJson(comDynamicContentlist) }; if (ExistComDynamicEva(comDynamicEva) == false) { var CurrentInfo = GetEventTypeFirst(Name, EventType); if (CurrentInfo != null) { if (comDynamicEva.Detail != CurrentInfo.Detail) { List ResultDiff = new List();// if (EventType == "深度信息-基本信息-对外投资") { ResultDiff = GetInvestmentChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-基本信息-控制企业") { ResultDiff = GetHoldingCompanyChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-基本信息-总公司") { ResultDiff = GetECIParentInfoChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-基本信息-分支机构") { ResultDiff = GetECIBranchListChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-网站信息") { ResultDiff = GetCompanyWebSiteChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-微信公众号") { ResultDiff = GetPublicWeChatChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-微博") { ResultDiff = GetMicroblogChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-企业业务") { ResultDiff = GetCompanyCompanyProductsChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-客户") { ResultDiff = GetCustomerListChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-供应商") { ResultDiff = GetSupplierListChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-经营信息-电信许可") { ResultDiff = GetTelecomLicenseListChange(comDynamicEva.Detail, CurrentInfo.Detail, Name); } else if (EventType == "深度信息-上市信息-股本股东-十大股东") { ResultDiff = GetTopTenPartnerListChange(CurrentInfo.Detail, comDynamicEva.Detail, Name); } else if (EventType == "深度信息-上市信息-股本股东-十大流通股东") { ResultDiff = GetTopTenCirPartnerListChange(CurrentInfo.Detail, comDynamicEva.Detail, Name); } else if (EventType == "深度信息-新三板上市信息-股本股东-十大股东") { ResultDiff = GetNeeqTopTenHoldersChange(CurrentInfo.Detail, comDynamicEva.Detail, Name); } comDynamicEva.ExtInfos = JsonHelper.ToJson(ResultDiff); List listChangeType = new List(); int iWarnlevel = WarnLevel; for (int i = 0; i < ResultDiff.Count; i++) { var TypeTmp = ResultDiff[i].GetType().GetProperty("Type").GetValue(ResultDiff[i]); if (TypeTmp != null && !listChangeType.Contains(TypeTmp.ToString())) { listChangeType.Add(TypeTmp.ToString()); if (EventType.Contains("股本股东-十大股东") || EventType.Contains("股本股东-十大流动股东")) { if (TypeTmp.ToString().IndexOf("第一大股东") >= 0 && iWarnlevel < 3) { iWarnlevel = 2; } else if (TypeTmp.ToString().IndexOf("第二至第十大股东") >= 0 && iWarnlevel < 2) { iWarnlevel = 2; } } } } if (listChangeType.Count > 0) { string Tips = "发生" + string.Join(",", listChangeType.ToArray()) + "等事项"; comDynamicContentlist.Add(new ComDynamicContent { Name = "内容", Value = Tips }); comDynamicEva.Content = JsonHelper.ToJson(comDynamicContentlist); comDynamicEva.WarnLevel = iWarnlevel; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } else { comDynamicEva.BlankFlag = true; var id = alarmDb.Insertable(comDynamicEva).ExecuteReturnIdentity(); } } } private string GetFundedRatio(string FundedRatio, string RegistCapi, string ShouldCapi) { if (string.IsNullOrWhiteSpace(FundedRatio)) { string Result = "--"; double dRegistCapi = 0; string strRegistCapiSrc = RegistCapi.ToString().Replace("万元", "").Replace("人民币", "").Replace(",", ""); double.TryParse(strRegistCapiSrc, out dRegistCapi); double dShouldCapi = 0; string strShouldCapiSrc = ShouldCapi.ToString().Replace("万元", "").Replace("人民币", "").Replace(",", ""); double.TryParse(strShouldCapiSrc, out dShouldCapi); if (dRegistCapi != 0) Result = (dShouldCapi * 100 / dRegistCapi).ToString("F4") + "%"; return Result; } else { return FundedRatio; } } private List GetUnchageLtdList(string name, List del) { List unchange = new List(); //var basicInfo = qiChaCha.GetBasicDetail(Name,ReportId); //if (basicInfo.Data != null) //{ // var data = (QccBasicDetail) basicInfo.Data; // // 实际是更名,而非新增/删除的企业 // unchange = data.OriginalName.Select(a => a.Name).Intersect(del).ToList(); //} return unchange; } public List GetInvestmentChange(string strInv1, string strInv2, string strSrcName) { //var strInv1 = "[{\"Name\":\"深圳北岸商业保理有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-12-31\",\"Status\":\"存续\"},{\"Name\":\"滴滴商业服务有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-07-29\",\"Status\":\"存续\"},{\"Name\":\"滴滴出行(北京)网络平台技术有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"6000万元人民币\",\"StartDate\":\"2018-04-24\",\"Status\":\"存续\"},{\"Name\":\"北京博通畅达科技有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"6000万元人民币\",\"StartDate\":\"2015-06-09\",\"Status\":\"存续\"},{\"Name\":\"北京桔财动力科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2019-04-12\",\"Status\":\"存续\"},{\"Name\":\"滴滴云计算有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-18\",\"Status\":\"存续\"},{\"Name\":\"滴滴智慧交通科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-01-16\",\"Status\":\"存续\"},{\"Name\":\"上海桔道网络科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2016-01-25\",\"Status\":\"存续\"},{\"Name\":\"上海奇漾信息技术有限公司\",\"RegistCapi\":\"2000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"2000万元人民币\",\"StartDate\":\"2013-10-21\",\"Status\":\"存续\"},{\"Name\":\"北京滴滴信息安全科技有限公司\",\"RegistCapi\":\"1000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2020-12-03\",\"Status\":\"存续\"},{\"Name\":\"北京粒粒橙传媒有限公司\",\"RegistCapi\":\"1000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2019-11-12\",\"Status\":\"存续\"}]"; //var strInv2 = "[{\"Name\":\"深圳北岸商业保理有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-12-31\",\"Status\":\"存续\"},{\"Name\":\"滴滴商业服务有限公司\",\"RegistCapi\":\"20000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-07-29\",\"Status\":\"存续\"},{\"Name\":\"滴滴出行(北京)网络平台技术有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-24\",\"Status\":\"存续\"},{\"Name\":\"北京博通畅达科技有限公司\",\"RegistCapi\":\"7000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"4000万元人民币\",\"StartDate\":\"2015-06-09\",\"Status\":\"存续\"},{\"Name\":\"北京桔财动力科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2019-04-12\",\"Status\":\"存续\"},{\"Name\":\"滴滴云计算有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-18\",\"Status\":\"在业\"},{\"Name\":\"滴滴智慧交通科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-01-16\",\"Status\":\"存续\"},{\"Name\":\"上海桔道网络科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2016-01-25\",\"Status\":\"在业\"},{\"Name\":\"上海奇漾信息技术有限公司\",\"RegistCapi\":\"2000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2013-10-21\",\"Status\":\"存续\"},{\"Name\":\"合肥京东方光电科技有限公司\",\"RegistCapi\":\"900000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"900000万元人民币\",\"StartDate\":\"2008-10-16\",\"Status\":\"存续\"},{\"Name\":\"京东方健康投资管理有限公司\",\"RegistCapi\":\"730000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"730000万元人民币\",\"StartDate\":\"2010-03-31\",\"Status\":\"存续\"}]"; var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.Name).ToList();//现在 var inv2Name = inv2.Select(a => a.Name).ToList();//原来 var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 //var changeNameObjs = new List(); var realAdd = add.ToJson().ToList(); var realDel = del.ToJson().ToList(); var zczb = new List(); var tzse = new List(); var tzbl = new List(); var zt = new List(); // 有添加和删除,才需要对比曾用名 if (add.Any() && del.Any()) { foreach (var name in add) { var unchange = GetUnchageLtdList(name, del); if (unchange.Any()) { //changeNameObjs.Add(new //{ Type = "被投资企业名称变更", Desc = $"“{string.Join("\\", unchange)}”企业名称变更为“{name}”" }); var m1 = inv1.Find(a => a.Name == name || unchange.Contains(a.Name)); var m2 = inv2.Find(a => a.Name == name || unchange.Contains(a.Name)); if (m1.RegistCapi != m2.RegistCapi) zczb.Add($"{name},原注册资本为{m2.RegistCapi},现注册资本为{m1.RegistCapi}"); if (m1.ShouldCapi != m2.ShouldCapi) tzse.Add($"{name},原投资数额为{m2.ShouldCapi},现投资数额为{m1.ShouldCapi}"); string FRPre = GetFundedRatio(m2.FundedRatio, m2.RegistCapi, m2.ShouldCapi); string FRNow = GetFundedRatio(m1.FundedRatio, m1.RegistCapi, m1.ShouldCapi); if (FRPre != FRNow) tzbl.Add($"{name},原投资比例为{FRPre},现投资比例{FRNow}"); if (m1.Status != m2.Status) zt.Add($"{name},原企业状态为{m2.Status},现企业状态为{m1.Status}"); // 从真删/增列表删除 realAdd.Remove(name); realDel = realDel.Except(unchange).ToList(); } } } var res = new List(); if (realAdd.Any()) res.Add(new { Type = "被投资企业新增", Desc = $"{string.Join(";", realAdd)}" }); if (realDel.Any()) res.Add(new { Type = "被投资企业减少", Desc = $"{string.Join(";", realDel)}" }); foreach (var name in exist) { var m1 = inv1.Find(a => a.Name == name); var m2 = inv2.Find(a => a.Name == name); if (m1.RegistCapi != m2.RegistCapi) zczb.Add($"{name},原注册资本为{m2.RegistCapi},现注册资本为{m1.RegistCapi}"); if (m1.ShouldCapi != m2.ShouldCapi) tzse.Add($"{name},原投资数额为{m2.ShouldCapi},现投资数额为{m1.ShouldCapi}"); string FRPre = GetFundedRatio(m2.FundedRatio, m2.RegistCapi, m2.ShouldCapi); string FRNow = GetFundedRatio(m1.FundedRatio, m1.RegistCapi, m1.ShouldCapi); if (FRPre != FRNow) tzbl.Add($"{name},原投资比例为{FRPre},现投资比例{FRNow}"); if (m1.Status != m2.Status) zt.Add($"{name},原企业状态为{m2.Status},现企业状态为{m1.Status}"); } if (zczb.Any()) res.Add(new { Type = "被投资企业注册资本变更", Desc = $"{string.Join(";", zczb)}" }); if (tzse.Any()) res.Add(new { Type = "被投资企业投资数额变更", Desc = $"{string.Join(";", tzse)}" }); if (tzbl.Any()) res.Add(new { Type = "被投资企业投资比例变更", Desc = $"{string.Join(";", tzbl)}" }); if (zt.Any()) res.Add(new { Type = "被投资企业状态变更", Desc = $"{string.Join(";", zt)}" }); //if (changeNameObjs.Any()) // res.AddRange(changeNameObjs); //var res = new List(); //if (add.Any()) // res.Add(new { Type = "被投资企业新增", Desc = $"{string.Join(";", add)}" }); //if (del.Any()) // res.Add(new { Type = "被投资企业减少", Desc = $"{string.Join(";", del)}" }); //var zczb = new List(); //var tzse = new List(); //var tzbl = new List(); //var zt = new List(); //foreach (var name in exist) //{ // var m1 = inv1.Find(a => a.Name == name); // var m2 = inv2.Find(a => a.Name == name); // if (m1.RegistCapi != m2.RegistCapi) // zczb.Add($"{name},原注册资本为{m1.RegistCapi},现注册资本为{m2.RegistCapi}"); // if (m1.ShouldCapi != m2.ShouldCapi) // tzse.Add($"{name},原投资数额为{m1.ShouldCapi},现投资数额为{m2.ShouldCapi}"); // if (m1.FundedRatio != m2.FundedRatio) // tzbl.Add($"{name},原投资比例为{m1.FundedRatio},现投资比例{m2.FundedRatio}"); // if (m1.Status != m2.Status) // zt.Add($"{name},原企业状态为{m1.Status},现企业状态为{m2.Status}"); //} //if (zczb.Any()) // res.Add(new { Type = "被投资企业注册资本变更", Desc = $"{string.Join(";", zczb)}" }); //if (tzse.Any()) // res.Add(new { Type = "被投资企业投资数额变更", Desc = $"{string.Join(";", tzse)}" }); //if (tzbl.Any()) // res.Add(new { Type = "被投资企业投资比例变更", Desc = $"{string.Join(";", tzbl)}" }); //if (zt.Any()) // res.Add(new { Type = "被投资企业状态变更", Desc = $"{string.Join(";", zt)}" }); return res; } //1.对外投资 public void GetInvestmentCheckList(string Name,int ReportId) { var list = qiChaCha.GetInvestmentCheckList(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //获取第一次调用接口的slist IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetInvestmentCheckList(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } //绿色 foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "对外投资变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-基本信息-对外投资", slist); } } } public List GetHoldingCompanyChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.Name).ToList(); var inv2Name = inv2.Select(a => a.Name).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var realAdd = add.ToJson().ToList(); var realDel = del.ToJson().ToList(); var zczb = new List(); var tzse = new List(); // 有添加和删除,才需要对比曾用名 if (add.Any() && del.Any()) { foreach (var name in add) { var unchange = GetUnchageLtdList(name, del); if (unchange.Any()) { //changeNameObjs.Add(new //{ Type = "被投资企业名称变更", Desc = $"“{string.Join("\\", unchange)}”企业名称变更为“{name}”" }); var m1 = inv1.Find(a => a.Name == name || unchange.Contains(a.Name)); var m2 = inv2.Find(a => a.Name == name || unchange.Contains(a.Name)); if (m1.PercentTotal != m2.PercentTotal) zczb.Add($"{name},原投资比例为{m2.PercentTotal},现投资比例为{m1.PercentTotal}"); if (JsonHelper.ToJson(m1.Paths) != JsonHelper.ToJson(m2.Paths)) { HoldingCompanyCompare holdingCompanyCompare = new HoldingCompanyCompare(); holdingCompanyCompare.Name = name; holdingCompanyCompare.PrePaths = m2.Paths; holdingCompanyCompare.NowPaths = m1.Paths; tzse.Add(JsonHelper.ToJson(holdingCompanyCompare)); } // 从真删/增列表删除 realAdd.Remove(name); realDel = realDel.Except(unchange).ToList(); } } } var res = new List(); if (realAdd.Any()) res.Add(new { Type = "控制企业新增", Desc = $"{string.Join(";", realAdd)}" }); if (realDel.Any()) res.Add(new { Type = "控制企业减少", Desc = $"{string.Join(";", realDel)}" }); foreach (var name in exist) { var m1 = inv1.Find(a => a.Name == name); var m2 = inv2.Find(a => a.Name == name); if (m1.PercentTotal != m2.PercentTotal) zczb.Add($"{name},原投资比例为{m2.PercentTotal},现投资比例为{m1.PercentTotal}"); if (JsonHelper.ToJson(m1.Paths) != JsonHelper.ToJson(m2.Paths)) { HoldingCompanyCompare holdingCompanyCompare = new HoldingCompanyCompare(); holdingCompanyCompare.Name = name; holdingCompanyCompare.PrePaths = m2.Paths; holdingCompanyCompare.NowPaths = m1.Paths; tzse.Add(JsonHelper.ToJson(holdingCompanyCompare)); } } if (zczb.Any()) res.Add(new { Type = "控制企业投资比例变更", Desc = $"{string.Join(";", zczb)}" }); if (tzse.Any()) res.Add(new { Type = "控制企业投资链变更", Desc = $"{string.Join(";", tzse)}" }); //var res = new List(); //if (add.Any()) // res.Add(new { Type = "控制企业新增", Desc = $"{string.Join(";", add)}" }); //if (del.Any()) // res.Add(new { Type = "控制企业减少", Desc = $"{string.Join(";", del)}" }); //var zczb = new List(); //var tzse = new List(); //var zt = new List(); //foreach (var name in exist) //{ // var m1 = inv1.Find(a => a.Name == name); // var m2 = inv2.Find(a => a.Name == name); // if (m1.PercentTotal != m2.PercentTotal) // zczb.Add($"控制企业{name},原投资比例为{m1.PercentTotal},现投资比例为{m2.PercentTotal}"); // if (JsonHelper.ToJson(m1.Paths) != JsonHelper.ToJson(m2.Paths)) // { // HoldingCompanyCompare holdingCompanyCompare=new HoldingCompanyCompare(); // holdingCompanyCompare.Name = name; // holdingCompanyCompare.PrePaths = m1.Paths; // holdingCompanyCompare.NowPaths = m2.Paths; // tzse.Add(JsonHelper.ToJson(holdingCompanyCompare)); // } // //tzse.Add($"控制企业{name},原投资链为:'{JsonHelper.ToJson(m1.Paths)}',现投资链为:'{JsonHelper.ToJson(m2.Paths)}'"); //} //if (zczb.Any()) // res.Add(new { Type = "控制企业投资比例变更", Desc = $"{string.Join(";", zczb)}" }); //if (tzse.Any()) // res.Add(new { Type = "控制企业投资链变更", Desc = $"{string.Join(";", tzse)}" }); return res; } //2.控制企业 public void GetHoldingCompany(string Name,int ReportId) { var list = qiChaCha.GetHoldingCompany(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { var slist = (Items as IEnumerable).ToList(); //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetHoldingCompany(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } if (slist != null && slist.Count > 0) { foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); //((dynamic)item).ItemIndex = 0; //((dynamic)item).TotalItems = 0; } //绿色 int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "控制企业变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-基本信息-控制企业", slist); } } } } public List GetECIParentInfoChange(string strInv1, string strInv2, string strSrcName) { //var strInv1 = "[{\"Name\":\"深圳北岸商业保理有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-12-31\",\"Status\":\"存续\"},{\"Name\":\"滴滴商业服务有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-07-29\",\"Status\":\"存续\"},{\"Name\":\"滴滴出行(北京)网络平台技术有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"6000万元人民币\",\"StartDate\":\"2018-04-24\",\"Status\":\"存续\"},{\"Name\":\"北京博通畅达科技有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"6000万元人民币\",\"StartDate\":\"2015-06-09\",\"Status\":\"存续\"},{\"Name\":\"北京桔财动力科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2019-04-12\",\"Status\":\"存续\"},{\"Name\":\"滴滴云计算有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-18\",\"Status\":\"存续\"},{\"Name\":\"滴滴智慧交通科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-01-16\",\"Status\":\"存续\"},{\"Name\":\"上海桔道网络科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2016-01-25\",\"Status\":\"存续\"},{\"Name\":\"上海奇漾信息技术有限公司\",\"RegistCapi\":\"2000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"2000万元人民币\",\"StartDate\":\"2013-10-21\",\"Status\":\"存续\"},{\"Name\":\"北京滴滴信息安全科技有限公司\",\"RegistCapi\":\"1000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2020-12-03\",\"Status\":\"存续\"},{\"Name\":\"北京粒粒橙传媒有限公司\",\"RegistCapi\":\"1000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2019-11-12\",\"Status\":\"存续\"}]"; //var strInv2 = "[{\"Name\":\"深圳北岸商业保理有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-12-31\",\"Status\":\"存续\"},{\"Name\":\"滴滴商业服务有限公司\",\"RegistCapi\":\"20000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-07-29\",\"Status\":\"存续\"},{\"Name\":\"滴滴出行(北京)网络平台技术有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-24\",\"Status\":\"存续\"},{\"Name\":\"北京博通畅达科技有限公司\",\"RegistCapi\":\"7000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"4000万元人民币\",\"StartDate\":\"2015-06-09\",\"Status\":\"存续\"},{\"Name\":\"北京桔财动力科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2019-04-12\",\"Status\":\"存续\"},{\"Name\":\"滴滴云计算有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-18\",\"Status\":\"在业\"},{\"Name\":\"滴滴智慧交通科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-01-16\",\"Status\":\"存续\"},{\"Name\":\"上海桔道网络科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2016-01-25\",\"Status\":\"在业\"},{\"Name\":\"上海奇漾信息技术有限公司\",\"RegistCapi\":\"2000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2013-10-21\",\"Status\":\"存续\"},{\"Name\":\"合肥京东方光电科技有限公司\",\"RegistCapi\":\"900000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"900000万元人民币\",\"StartDate\":\"2008-10-16\",\"Status\":\"存续\"},{\"Name\":\"京东方健康投资管理有限公司\",\"RegistCapi\":\"730000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"730000万元人民币\",\"StartDate\":\"2010-03-31\",\"Status\":\"存续\"}]"; var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.Name).ToList(); var inv2Name = inv2.Select(a => a.Name).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var realAdd = add.ToJson().ToList(); var realDel = del.ToJson().ToList(); var zczb = new List(); var zt = new List(); // 有添加和删除,才需要对比曾用名 if (add.Any() && del.Any()) { foreach (var name in add) { var unchange = GetUnchageLtdList(name, del); if (unchange.Any()) { //changeNameObjs.Add(new //{ Type = "被投资企业名称变更", Desc = $"“{string.Join("\\", unchange)}”企业名称变更为“{name}”" }); var m1 = inv1.Find(a => a.Name == name || unchange.Contains(a.Name)); var m2 = inv2.Find(a => a.Name == name || unchange.Contains(a.Name)); if (m1.RegistCapi != m2.RegistCapi) zczb.Add($"总公司{name},原注册资本为{m2.RegistCapi},现注册资本为{m1.RegistCapi}"); if (m1.Status != m2.Status) zt.Add($"总公司{name},原企业状态为{m2.Status},现企业状态为{m1.Status}"); // 从真删/增列表删除 realAdd.Remove(name); realDel = realDel.Except(unchange).ToList(); } } } var res = new List(); if (realAdd.Any()) res.Add(new { Type = "总公司新增", Desc = $"{string.Join(";", realAdd)}" }); if (realDel.Any()) res.Add(new { Type = "总公司减少", Desc = $"{string.Join(";", realDel)}" }); foreach (var name in exist) { var m1 = inv1.Find(a => a.Name == name); var m2 = inv2.Find(a => a.Name == name); if (m1.RegistCapi != m2.RegistCapi) zczb.Add($"{name},原注册资本为{m2.RegistCapi},现注册资本为{m1.RegistCapi}"); if (m1.Status != m2.Status) zt.Add($"{name},原企业状态为{m2.Status},现企业状态为{m1.Status}"); } if (zczb.Any()) res.Add(new { Type = "总公司注册资本变更", Desc = $"{string.Join(";", zczb)}" }); if (zt.Any()) res.Add(new { Type = "总公司状态变更", Desc = $"{string.Join(";", zt)}" }); //var res = new List(); //if (add.Any()) // res.Add(new { Type = "总公司新增", Desc = $"{string.Join(";", add)}" }); //if (del.Any()) // res.Add(new { Type = "总公司减少", Desc = $"{string.Join(";", del)}" }); //var zczb = new List(); //var zt = new List(); //foreach (var name in exist) //{ // var m1 = inv1.Find(a => a.Name == name); // var m2 = inv2.Find(a => a.Name == name); // if (m1.RegistCapi != m2.RegistCapi) // zczb.Add($"总公司{name},原注册资本为{m1.RegistCapi},现注册资本为{m2.RegistCapi}"); // if (m1.Status != m2.Status) // zt.Add($"总公司{name},原企业状态为{m1.Status},现企业状态为{m2.Status}"); //} //if (zczb.Any()) // res.Add(new { Type = "总公司注册资本变更", Desc = $"{string.Join(";", zczb)}" }); //if (zt.Any()) // res.Add(new { Type = "总公司状态变更", Desc = $"{string.Join(";", zt)}" }); return res; } //3.总公司 public void GetECIParentInfo(string Name,int ReportId) { var list = qiChaCha.GetECIParentInfo(Name); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { //黄色 var slist = (list.Result.Data as IEnumerable).ToList(); foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); } int WarnLevel = 2; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "总公司变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-基本信息-总公司", slist); } } public List GetECIBranchListChange(string strInv1, string strInv2, string strSrcName) { //var strInv1 = "[{\"Name\":\"深圳北岸商业保理有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-12-31\",\"Status\":\"存续\"},{\"Name\":\"滴滴商业服务有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-07-29\",\"Status\":\"存续\"},{\"Name\":\"滴滴出行(北京)网络平台技术有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"6000万元人民币\",\"StartDate\":\"2018-04-24\",\"Status\":\"存续\"},{\"Name\":\"北京博通畅达科技有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"6000万元人民币\",\"StartDate\":\"2015-06-09\",\"Status\":\"存续\"},{\"Name\":\"北京桔财动力科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2019-04-12\",\"Status\":\"存续\"},{\"Name\":\"滴滴云计算有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-18\",\"Status\":\"存续\"},{\"Name\":\"滴滴智慧交通科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-01-16\",\"Status\":\"存续\"},{\"Name\":\"上海桔道网络科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2016-01-25\",\"Status\":\"存续\"},{\"Name\":\"上海奇漾信息技术有限公司\",\"RegistCapi\":\"2000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"2000万元人民币\",\"StartDate\":\"2013-10-21\",\"Status\":\"存续\"},{\"Name\":\"北京滴滴信息安全科技有限公司\",\"RegistCapi\":\"1000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2020-12-03\",\"Status\":\"存续\"},{\"Name\":\"北京粒粒橙传媒有限公司\",\"RegistCapi\":\"1000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2019-11-12\",\"Status\":\"存续\"}]"; //var strInv2 = "[{\"Name\":\"深圳北岸商业保理有限公司\",\"RegistCapi\":\"10000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-12-31\",\"Status\":\"存续\"},{\"Name\":\"滴滴商业服务有限公司\",\"RegistCapi\":\"20000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"10000万元人民币\",\"StartDate\":\"2015-07-29\",\"Status\":\"存续\"},{\"Name\":\"滴滴出行(北京)网络平台技术有限公司\",\"RegistCapi\":\"6000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-24\",\"Status\":\"存续\"},{\"Name\":\"北京博通畅达科技有限公司\",\"RegistCapi\":\"7000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"4000万元人民币\",\"StartDate\":\"2015-06-09\",\"Status\":\"存续\"},{\"Name\":\"北京桔财动力科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2019-04-12\",\"Status\":\"存续\"},{\"Name\":\"滴滴云计算有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-04-18\",\"Status\":\"在业\"},{\"Name\":\"滴滴智慧交通科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2018-01-16\",\"Status\":\"存续\"},{\"Name\":\"上海桔道网络科技有限公司\",\"RegistCapi\":\"5000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"5000万元人民币\",\"StartDate\":\"2016-01-25\",\"Status\":\"在业\"},{\"Name\":\"上海奇漾信息技术有限公司\",\"RegistCapi\":\"2000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"1000万元人民币\",\"StartDate\":\"2013-10-21\",\"Status\":\"存续\"},{\"Name\":\"合肥京东方光电科技有限公司\",\"RegistCapi\":\"900000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"900000万元人民币\",\"StartDate\":\"2008-10-16\",\"Status\":\"存续\"},{\"Name\":\"京东方健康投资管理有限公司\",\"RegistCapi\":\"730000万元人民币\",\"FundedRatio\":\"100%\",\"ShouldCapi\":\"730000万元人民币\",\"StartDate\":\"2010-03-31\",\"Status\":\"存续\"}]"; var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.Name).ToList(); var inv2Name = inv2.Select(a => a.Name).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var realAdd = add.ToJson().ToList(); var realDel = del.ToJson().ToList(); var zt = new List(); // 有添加和删除,才需要对比曾用名 if (add.Any() && del.Any()) { foreach (var name in add) { var unchange = GetUnchageLtdList(name, del); if (unchange.Any()) { //changeNameObjs.Add(new //{ Type = "被投资企业名称变更", Desc = $"“{string.Join("\\", unchange)}”企业名称变更为“{name}”" }); var m1 = inv1.Find(a => a.Name == name || unchange.Contains(a.Name)); var m2 = inv2.Find(a => a.Name == name || unchange.Contains(a.Name)); if (m1.Status != m2.Status) zt.Add($"{name},原状态为{m2.Status},现状态为{m1.Status}"); // 从真删/增列表删除 realAdd.Remove(name); realDel = realDel.Except(unchange).ToList(); } } } var res = new List(); if (realAdd.Any()) res.Add(new { Type = "分支机构新增", Desc = $"{string.Join(";", realAdd)}" }); if (realDel.Any()) res.Add(new { Type = "分支机构减少", Desc = $"{string.Join(";", realDel)}" }); foreach (var name in exist) { var m1 = inv1.Find(a => a.Name == name); var m2 = inv2.Find(a => a.Name == name); if (m1.Status != m2.Status) zt.Add($"{name},原状态为{m2.Status},现状态为{m1.Status}"); } if (zt.Any()) res.Add(new { Type = "分支机构状态变更", Desc = $"{string.Join(";", zt)}" }); //var res = new List(); //if (add.Any()) // res.Add(new { Type = "分支机构新增", Desc = $"{string.Join(";", add)}" }); //if (del.Any()) // res.Add(new { Type = "分支机构减少", Desc = $"{string.Join(";", del)}" }); //var zt = new List(); //foreach (var name in exist) //{ // var m1 = inv1.Find(a => a.Name == name); // var m2 = inv2.Find(a => a.Name == name); // if (m1.Status != m2.Status) // zt.Add($"分支机构{name},原状态为{m1.Status},现状态为{m2.Status}"); //} //if (zt.Any()) // res.Add(new { Type = "分支机构状态变更", Desc = $"{string.Join(";", zt)}" }); return res; } //4.分支机构 public void GetECIBranchList(string Name,int ReportId) { var list = qiChaCha.GetECIBranchList(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { //绿色 IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetECIBranchList(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "分支机构变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-基本信息-分支机构", slist); } } } public List GetCompanyWebSiteChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.HomeSite).ToList(); var inv2Name = inv2.Select(a => a.HomeSite).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 //var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var addzt = new List(); var delzt = new List(); foreach (var homesite in add) { var m1 = inv1.Find(a => a.HomeSite == homesite); addzt.Add($"{strSrcName}新增网站\"{m1.Title}\",网址是{m1.HomeSite}"); } foreach (var homesite in del) { var m2 = inv2.Find(a => a.HomeSite == homesite); delzt.Add($"{strSrcName}减少网站\"{m2.Title}\",网址是{m2.HomeSite}"); } var res = new List(); if (addzt.Any()) res.Add(new { Type = "网站新增", Desc = $"{string.Join("||", addzt)}" }); if (delzt.Any()) res.Add(new { Type = "网站减少", Desc = $"{string.Join("||", delzt)}" }); return res; } /// /// 7.网站信息 /// /// public void GetCompanyWebSite(string Name,int ReportId) { var list = qiChaCha.GetCompanyWebSite(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetCompanyWebSite(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "网站信息变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-网站信息", slist); } } } public List GetPublicWeChatChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.PublicNum).ToList(); var inv2Name = inv2.Select(a => a.PublicNum).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 //var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var addzt = new List(); var delzt = new List(); foreach (var publicNum in add) { var m1 = inv1.Find(a => a.PublicNum == publicNum); addzt.Add($"{strSrcName}新增微信公众号\"{m1.Title}\",微信号是{m1.PublicNum}"); } foreach (var publicNum in del) { var m2 = inv2.Find(a => a.PublicNum == publicNum); delzt.Add($"{strSrcName}减少微信公众号\"{m2.Title}\",微信号是{m2.PublicNum}"); } var res = new List(); if (addzt.Any()) res.Add(new { Type = "微信公众号新增", Desc = $"{string.Join(";", addzt)}" }); if (delzt.Any()) res.Add(new { Type = "微信公众号减少", Desc = $"{string.Join(";", delzt)}" }); return res; } /// /// 8.微信公众号 /// /// public void GetPublicWeChat(string Name,int ReportId) { var list = tianYanCha.GetPublicWeChat(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = tianYanCha.GetPublicWeChat(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "微信公众号变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-微信公众号", slist); } } } public List GetMicroblogChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.Name).ToList(); var inv2Name = inv2.Select(a => a.Name).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 //var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var res = new List(); if (add.Any()) res.Add(new { Type = "微博新增", Desc = $"{string.Join(";", add)}" }); if (del.Any()) res.Add(new { Type = "微博减少", Desc = $"{string.Join(";", del)}" }); return res; } /// /// 9.微博 /// /// public void GetMicroblog(string Name,int ReportId) { var list = qiChaCha.GetMicroblog(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetMicroblog(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "微博变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-微博", slist); } } } public List GetCompanyCompanyProductsChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.Name).ToList(); var inv2Name = inv2.Select(a => a.Name).ToList(); var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 //var exist = inv1Name.Intersect(inv2Name).ToList(); //一直有 var res = new List(); if (add.Any()) res.Add(new { Type = "企业业务新增", Desc = $"{string.Join(";", add)}" }); if (del.Any()) res.Add(new { Type = "企业业务减少", Desc = $"{string.Join(";", del)}" }); return res; } /// /// 10.企业业务 /// /// public void GetCompanyCompanyProducts(string Name,int ReportId) { var list = qiChaCha.GetCompanyCompanyProducts(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetCompanyCompanyProducts(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "企业业务变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-企业业务", slist); } } } public List GetCustomerListChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); //比较“客户名称+报告期/公开时间”组合字段,如果新客户名单和原名单比,有新的“客户+报告期/公开时间”出现, var inv1Name = new List(); for (int i = 0; i < inv1.Count; i++) { inv1Name.Add(inv1[i].Name + "|" + inv1[i].Year + "|" + inv1[i].KeyNo); } var inv2Name = new List(); for (int i = 0; i < inv2.Count; i++) { inv2Name.Add(inv2[i].Name + "|" + inv2[i].Year + "|" + inv2[i].KeyNo); } var add = inv1Name.Except(inv2Name).ToList(); //新增 //将新增的条目生成 var zt = new List(); foreach (var name in add) { var info = name.Split(new char[] { '|' }); string time = info[1] == "" ? "--" : info[1]; zt.Add($"{strSrcName},披露客户{info[0]},报告期/公开时间是{time}"); } var res = new List(); if (zt.Any()) res.Add(new { Type = "客户披露", Desc = $"{string.Join(";", zt)}" }); return res; } /// /// 11.客户 /// /// public void GetCustomerList(string Name,int ReportId) { var list = qiChaCha.GetCustomerList(Name, 1, 20, ""); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetCustomerList(Name, i + 1, 20, ""); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "客户变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-客户", slist); } } } public List GetSupplierListChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); //比较“供应商 + 报告期 / 公开时间”组合字段,如果新供应商名单和原名单比,有新的“供应商 + 报告期 / 公开时间”出现, var inv1Name = new List(); for (int i = 0; i < inv1.Count; i++) { inv1Name.Add(inv1[i].Name + "|" + inv1[i].Year + "|" + inv1[i].KeyNo); } var inv2Name = new List(); for (int i = 0; i < inv2.Count; i++) { inv2Name.Add(inv2[i].Name + "|" + inv2[i].Year + "|" + inv2[i].KeyNo); } var add = inv1Name.Except(inv2Name).ToList(); //新增 //将新增的条目生成 var zt = new List(); foreach (var name in add) { var info = name.Split(new char[] { '|' }); zt.Add($"{strSrcName},披露供应商{info[0]},报告期/公开时间{info[1]}"); } var res = new List(); if (zt.Any()) res.Add(new { Type = "供应商披露", Desc = $"{string.Join(";", zt)}" }); return res; } /// /// 12.供应商 /// /// public void GetSupplierList(string Name,int ReportId) { var list = qiChaCha.GetSupplierList(Name, 1, 20, ""); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetSupplierList(Name, i + 1, 20, ""); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "供应商变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-供应商", slist); } } } public List GetTelecomLicenseListChange(string strInv1, string strInv2, string strSrcName) { var inv1 = strInv1.ToList(); var inv2 = strInv2.ToList(); var inv1Name = inv1.Select(a => a.LicenseNo).ToList(); //最新记录 var inv2Name = inv2.Select(a => a.LicenseNo).ToList(); //上次记录 var add = inv1Name.Except(inv2Name).ToList(); //新增 var del = inv2Name.Except(inv1Name).ToList(); //删除 var res = new List(); if (add.Any()) res.Add(new { Type = "电信许可新增", Desc = $"{string.Join(";", add)}" }); if (del.Any()) res.Add(new { Type = "电信许可减少", Desc = $"{string.Join(";", del)}" }); return res; } /// /// 13.电信许可 /// /// public void GetTelecomLicenseList(string Name,int ReportId) { var list = qiChaCha.GetTelecomLicenseList(Name, 1, 20); if (list.Result.Data != null && list.Result.Data.ToString() != "接口无数据返回") { var TotalPages = list.Result.Data.GetType().GetProperty("TotalPages").GetValue(list.Result.Data); int iTotalPages = 0; Int32.TryParse(TotalPages.ToString(), out iTotalPages); var Items = list.Result.Data.GetType().GetProperty("Items").GetValue(list.Result.Data); if (Items != null) { IEnumerable slist = Items as IEnumerable; //遍历获取全集并补充slist for (int i = 1; i < iTotalPages; i++) { var listTmp = qiChaCha.GetTelecomLicenseList(Name, i + 1, 20); var ItemsTmp = listTmp.Result.Data.GetType().GetProperty("Items").GetValue(listTmp.Result.Data); if (ItemsTmp != null) { IEnumerable slistTmp = ItemsTmp as IEnumerable; slist = slist.Concat(slistTmp).ToList(); } } foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); ((dynamic)item).ItemIndex = 0; ((dynamic)item).TotalItems = 0; } int WarnLevel = 1; List comDynamicContentlist = new List(); comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent { Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "电信许可变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-经营信息-电信许可", slist); } } } /// /// 14.1 A股十大股东 变更 /// /// /// public List GetTopTenPartnerListChange(string strInv1, string strInv2, string strSrcName) { var res = new List(); //var str1 = "[{\"sharehdcode\":\"20873436-6993-48d0-8391-b10a5d6cf07b\",\"sharehdratio\":\"27.610000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"3209810791\",\"sharehdname\":\"深圳市地铁集团有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":181,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"417d61e4-be1d-11e6-8a4c-00163f00240b\",\"sharehdratio\":\"16.350000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"0.401922\",\"changeamount\":\"7610244\",\"sharehdnum\":\"1901072272\",\"sharehdname\":\"HKSCC NOMINEES LIMITED\",\"sharetype\":\"流通H股\",\"PrimaryId\":182,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"08a32aee-be17-11e6-b97b-00163e014a2c\",\"sharehdratio\":\"5.270000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"-4.235671\",\"changeamount\":\"-27101335\",\"sharehdnum\":\"612734365\",\"sharehdname\":\"香港中央结算有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":183,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"babd7ce9-dd13-4b8a-90e7-bd86872916c2\",\"sharehdratio\":\"3.770000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"438703992\",\"sharehdnum\":\"438703992\",\"sharehdname\":\"深圳盈嘉众实业合伙企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":184,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"a716e73f-b6bd-47b1-9b69-02ff8483f635\",\"sharehdratio\":\"1.630000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"189566000\",\"sharehdname\":\"中央汇金资产管理有限责任公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":185,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"1.260000\",\"sharehdtype\":\"基金资产管理计划\",\"sharehdtypecode\":\"008\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"146255820\",\"sharehdname\":\"招商财富-招商银行-德赢1号专项资产管理计划\",\"sharetype\":\"流通A股\",\"PrimaryId\":186,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"ff4b7241-8cce-4317-abc6-5ae133e5b0c8\",\"sharehdratio\":\"1.140000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"132669394\",\"sharehdname\":\"中国证券金融股份有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":187,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"934323ce-57ba-4f53-aa49-311547561d51\",\"sharehdratio\":\"1.050000\",\"sharehdtype\":\"财务公司\",\"sharehdtypecode\":\"004\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"122230826\",\"sharehdnum\":\"122230826\",\"sharehdname\":\"深圳盈安财务顾问企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":188,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.610000\",\"sharehdtype\":\"保险产品\",\"sharehdtypecode\":\"002\",\"changeamountratio\":\"-10.862972\",\"changeamount\":\"-8633333\",\"sharehdnum\":\"70841537\",\"sharehdname\":\"中国人寿保险股份有限公司-分红-个人分红-005L-FH002深\",\"sharetype\":\"流通A股\",\"PrimaryId\":189,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.590000\",\"sharehdtype\":\"证券投资基金\",\"sharehdtypecode\":\"018\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"68154474\",\"sharehdname\":\"兴业银行股份有限公司-兴全趋势投资混合型证券投资基金\",\"sharetype\":\"流通A股\",\"PrimaryId\":190,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"}]"; //var str2 = "[{\"sharehdcode\":\"417d61e4-be1d-11e6-8a4c-00163f00240b\",\"sharehdratio\":\"16.350000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"0.401922\",\"changeamount\":\"7610244\",\"sharehdnum\":\"1901072272\",\"sharehdname\":\"HKSCC NOMINEES LIMITED\",\"sharetype\":\"流通H股\",\"PrimaryId\":182,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"08a32aee-be17-11e6-b97b-00163e014a2c\",\"sharehdratio\":\"5.070000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"-4.035671\",\"changeamount\":\"-20101335\",\"sharehdnum\":\"602734365\",\"sharehdname\":\"香港恒通有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":183,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"babd7ce9-dd13-4b8a-90e7-bd86872916c2\",\"sharehdratio\":\"3.770000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"438703992\",\"sharehdnum\":\"438703992\",\"sharehdname\":\"深圳盈嘉众实业合伙企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":184,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"a716e73f-b6bd-47b1-9b69-02ff8483f635\",\"sharehdratio\":\"1.630000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"189566000\",\"sharehdname\":\"中央汇金资产管理有限责任公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":185,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"1.260000\",\"sharehdtype\":\"基金资产管理计划\",\"sharehdtypecode\":\"008\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"146255820\",\"sharehdname\":\"招商财富-招商银行-德赢1号专项资产管理计划\",\"sharetype\":\"流通A股\",\"PrimaryId\":186,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"1.060000\",\"sharehdtype\":\"基金资产管理计划\",\"sharehdtypecode\":\"008\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"116255820\",\"sharehdname\":\"招商财富-4444专项资产管理计划\",\"sharetype\":\"流通A股\",\"PrimaryId\":186,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"ff4b7241-8cce-4317-abc6-5ae133e5b0c8\",\"sharehdratio\":\"1.140000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"132669394\",\"sharehdname\":\"中国证券金融股份有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":187,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"934323ce-57ba-4f53-aa49-311547561d51\",\"sharehdratio\":\"1.050000\",\"sharehdtype\":\"财务公司\",\"sharehdtypecode\":\"004\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"122230826\",\"sharehdnum\":\"122230826\",\"sharehdname\":\"深圳宝石顾问企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":188,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.810000\",\"sharehdtype\":\"保险产品\",\"sharehdtypecode\":\"002\",\"changeamountratio\":\"-12.862972\",\"changeamount\":\"-8933333\",\"sharehdnum\":\"70841537\",\"sharehdname\":\"中国人寿保险股份有限公司-分红-个人分红-005L-FH002深\",\"sharetype\":\"流通A股\",\"PrimaryId\":189,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.590000\",\"sharehdtype\":\"证券投资基金\",\"sharehdtypecode\":\"018\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"68154474\",\"sharehdname\":\"兴业银行股份有限公司-兴全趋势投资混合型证券投资基金\",\"sharetype\":\"流通A股\",\"PrimaryId\":190,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"}]"; var objOld = strInv1.ToList().OrderByDescending(a => { int.TryParse(a.sharehdnum, out int val); return val; }).ToList(); var objNew = strInv2.ToList().OrderByDescending(a => { int.TryParse(a.sharehdnum, out int val); return val; }).ToList(); // 1.第一大股东新增/退出 if (objOld.First().sharehdname != objNew.First().sharehdname) { res.Add(new { Type = "第一大股东新增", Desc = $"{strSrcName}新增第一大股东{objNew.First().sharehdname}" }); res.Add(new { Type = "第一大股东退出", Desc = $"{strSrcName}退出第一大股东{objOld.First().sharehdname}" }); } // 2.第二至第十大股东新增/退出 var add2_10 = objNew.Skip(1).Select(a => a.sharehdname).Except(objOld.Skip(1).Select(b => b.sharehdname)).ToList(); var del2_10 = objOld.Skip(1).Select(a => a.sharehdname).Except(objNew.Skip(1).Select(b => b.sharehdname)).ToList(); if (add2_10.Any()) res.Add(new { Type = "第二至第十大股东新增", Desc = $"{strSrcName}第二至第十大股东发生新增,为{string.Join(",", add2_10)}" }); if (del2_10.Any()) res.Add(new { Type = "第二至第十大股东退出", Desc = $"{strSrcName}第二至第十大股东发生退出,为{string.Join(",", del2_10)}" }); // 3.股东持股数量变更 / 股东持股比例变更 var unchange = objNew.Skip(1).Select(a => a.sharehdname) .Intersect(objOld.Skip(1).Select(b => b.sharehdname)).ToList(); var resNum = new List(); var resPct = new List(); foreach (var sname in unchange) { var itemOld = objOld.Find(a => a.sharehdname == sname); var itemNew = objNew.Find(a => a.sharehdname == sname); if (itemOld.sharehdnum != itemNew.sharehdnum) resNum.Add($"{strSrcName}股东{sname}的股东持股数量发生变更,原股东持股数量为{itemOld.sharehdnum},现股东持股数量为{itemNew.sharehdnum}。"); if (itemOld.sharehdratio != itemNew.sharehdratio) resPct.Add($"{strSrcName}股东{sname}的股东持股比例发生变更,原股东持股比例为{itemOld.sharehdratio},现股东持股比例为{itemNew.sharehdratio}。"); } if (resNum.Any()) res.Add(new { Type = "股东持股数量变更", Desc = $"{string.Join(";", resNum)}" }); if (resPct.Any()) res.Add(new { Type = "股东持股比例变更", Desc = $"{string.Join(";", resPct)}" }); return res; } /// /// 14.1 深度信息-上市信息-股本股东-十大股东 /// /// public void GetTopTenPartnerList(string Name,int ReportId) { var list = qxbService.GetTopTenPartnerList(Name, "2021-03-31"); if (list.Result.Data != null) { List comDynamicContentlist = new List(); var slist = (list.Result.Data as IEnumerable).ToList(); if (slist != null && slist.Count > 0) { foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); } int WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-十大股东变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-上市信息-股本股东-十大股东", slist); } } } /// /// 14.2 A股十大流通股东 变更 /// /// /// public List GetTopTenCirPartnerListChange(string strInv1, string strInv2, string strSrcName) { var res = new List(); //var str1 = "[{\"sharehdcode\":\"20873436-6993-48d0-8391-b10a5d6cf07b\",\"sharehdratio\":\"27.610000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"3209810791\",\"sharehdname\":\"深圳市地铁集团有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":181,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"417d61e4-be1d-11e6-8a4c-00163f00240b\",\"sharehdratio\":\"16.350000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"0.401922\",\"changeamount\":\"7610244\",\"sharehdnum\":\"1901072272\",\"sharehdname\":\"HKSCC NOMINEES LIMITED\",\"sharetype\":\"流通H股\",\"PrimaryId\":182,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"08a32aee-be17-11e6-b97b-00163e014a2c\",\"sharehdratio\":\"5.270000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"-4.235671\",\"changeamount\":\"-27101335\",\"sharehdnum\":\"612734365\",\"sharehdname\":\"香港中央结算有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":183,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"babd7ce9-dd13-4b8a-90e7-bd86872916c2\",\"sharehdratio\":\"3.770000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"438703992\",\"sharehdnum\":\"438703992\",\"sharehdname\":\"深圳盈嘉众实业合伙企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":184,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"a716e73f-b6bd-47b1-9b69-02ff8483f635\",\"sharehdratio\":\"1.630000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"189566000\",\"sharehdname\":\"中央汇金资产管理有限责任公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":185,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"1.260000\",\"sharehdtype\":\"基金资产管理计划\",\"sharehdtypecode\":\"008\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"146255820\",\"sharehdname\":\"招商财富-招商银行-德赢1号专项资产管理计划\",\"sharetype\":\"流通A股\",\"PrimaryId\":186,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"ff4b7241-8cce-4317-abc6-5ae133e5b0c8\",\"sharehdratio\":\"1.140000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"132669394\",\"sharehdname\":\"中国证券金融股份有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":187,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"934323ce-57ba-4f53-aa49-311547561d51\",\"sharehdratio\":\"1.050000\",\"sharehdtype\":\"财务公司\",\"sharehdtypecode\":\"004\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"122230826\",\"sharehdnum\":\"122230826\",\"sharehdname\":\"深圳盈安财务顾问企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":188,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.610000\",\"sharehdtype\":\"保险产品\",\"sharehdtypecode\":\"002\",\"changeamountratio\":\"-10.862972\",\"changeamount\":\"-8633333\",\"sharehdnum\":\"70841537\",\"sharehdname\":\"中国人寿保险股份有限公司-分红-个人分红-005L-FH002深\",\"sharetype\":\"流通A股\",\"PrimaryId\":189,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.590000\",\"sharehdtype\":\"证券投资基金\",\"sharehdtypecode\":\"018\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"68154474\",\"sharehdname\":\"兴业银行股份有限公司-兴全趋势投资混合型证券投资基金\",\"sharetype\":\"流通A股\",\"PrimaryId\":190,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"}]"; //var str2 = "[{\"sharehdcode\":\"417d61e4-be1d-11e6-8a4c-00163f00240b\",\"sharehdratio\":\"16.350000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"0.401922\",\"changeamount\":\"7610244\",\"sharehdnum\":\"1901072272\",\"sharehdname\":\"HKSCC NOMINEES LIMITED\",\"sharetype\":\"流通H股\",\"PrimaryId\":182,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"08a32aee-be17-11e6-b97b-00163e014a2c\",\"sharehdratio\":\"5.070000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"-4.035671\",\"changeamount\":\"-20101335\",\"sharehdnum\":\"602734365\",\"sharehdname\":\"香港恒通有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":183,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"babd7ce9-dd13-4b8a-90e7-bd86872916c2\",\"sharehdratio\":\"3.770000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"438703992\",\"sharehdnum\":\"438703992\",\"sharehdname\":\"深圳盈嘉众实业合伙企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":184,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"a716e73f-b6bd-47b1-9b69-02ff8483f635\",\"sharehdratio\":\"1.630000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"189566000\",\"sharehdname\":\"中央汇金资产管理有限责任公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":185,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"1.260000\",\"sharehdtype\":\"基金资产管理计划\",\"sharehdtypecode\":\"008\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"146255820\",\"sharehdname\":\"招商财富-招商银行-德赢1号专项资产管理计划\",\"sharetype\":\"流通A股\",\"PrimaryId\":186,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"1.060000\",\"sharehdtype\":\"基金资产管理计划\",\"sharehdtypecode\":\"008\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"116255820\",\"sharehdname\":\"招商财富-4444专项资产管理计划\",\"sharetype\":\"流通A股\",\"PrimaryId\":186,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"ff4b7241-8cce-4317-abc6-5ae133e5b0c8\",\"sharehdratio\":\"1.140000\",\"sharehdtype\":\"其它\",\"sharehdtypecode\":\"019\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"132669394\",\"sharehdname\":\"中国证券金融股份有限公司\",\"sharetype\":\"流通A股\",\"PrimaryId\":187,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"934323ce-57ba-4f53-aa49-311547561d51\",\"sharehdratio\":\"1.050000\",\"sharehdtype\":\"财务公司\",\"sharehdtypecode\":\"004\",\"changeamountratio\":\"100.000000\",\"changeamount\":\"122230826\",\"sharehdnum\":\"122230826\",\"sharehdname\":\"深圳宝石顾问企业(有限合伙)\",\"sharetype\":\"流通A股\",\"PrimaryId\":188,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.810000\",\"sharehdtype\":\"保险产品\",\"sharehdtypecode\":\"002\",\"changeamountratio\":\"-12.862972\",\"changeamount\":\"-8933333\",\"sharehdnum\":\"70841537\",\"sharehdname\":\"中国人寿保险股份有限公司-分红-个人分红-005L-FH002深\",\"sharetype\":\"流通A股\",\"PrimaryId\":189,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"},{\"sharehdcode\":\"\",\"sharehdratio\":\"0.590000\",\"sharehdtype\":\"证券投资基金\",\"sharehdtypecode\":\"018\",\"changeamountratio\":\"\",\"changeamount\":\"-\",\"sharehdnum\":\"68154474\",\"sharehdname\":\"兴业银行股份有限公司-兴全趋势投资混合型证券投资基金\",\"sharetype\":\"流通A股\",\"PrimaryId\":190,\"CompanyName\":\"万科企业股份有限公司\",\"RegNo\":null,\"CreateTime\":\"2021-11-16 15:16:26\"}]"; var objOld = strInv1.ToList().OrderByDescending(a => { int.TryParse(a.sharehdnum, out int val); return val; }).ToList(); var objNew = strInv2.ToList().OrderByDescending(a => { int.TryParse(a.sharehdnum, out int val); return val; }).ToList(); // 1.第一大股东新增/退出 if (objOld.First().sharehdname != objNew.First().sharehdname) { res.Add(new { Type = "第一大股东新增", Desc = $"{strSrcName}新增第一大股东{objNew.First().sharehdname}" }); res.Add(new { Type = "第一大股东退出", Desc = $"{strSrcName}退出第一大股东{objOld.First().sharehdname}" }); } // 2.第二至第十大股东新增/退出 var add2_10 = objNew.Skip(1).Select(a => a.sharehdname).Except(objOld.Skip(1).Select(b => b.sharehdname)).ToList(); var del2_10 = objOld.Skip(1).Select(a => a.sharehdname).Except(objNew.Skip(1).Select(b => b.sharehdname)).ToList(); if (add2_10.Any()) res.Add(new { Type = "第二至第十大流通股东新增", Desc = $"{strSrcName}第二至第十大流通股东发生新增,为{string.Join(",", add2_10)}" }); if (del2_10.Any()) res.Add(new { Type = "第二至第十大流通股东退出", Desc = $"{strSrcName}第二至第十大流通股东发生退出,为{string.Join(",", del2_10)}" }); // 3.股东持股数量变更 / 股东持股比例变更 var unchange = objNew.Skip(1).Select(a => a.sharehdname) .Intersect(objOld.Skip(1).Select(b => b.sharehdname)).ToList(); var resNum = new List(); var resPct = new List(); foreach (var sname in unchange) { var itemOld = objOld.Find(a => a.sharehdname == sname); var itemNew = objNew.Find(a => a.sharehdname == sname); if (itemOld.sharehdnum != itemNew.sharehdnum) resNum.Add($"{strSrcName}股东{sname}的股东持股数量发生变更,原股东持股数量为{itemOld.sharehdnum},现股东持股数量为{itemNew.sharehdnum}。"); if (itemOld.sharehdratio != itemNew.sharehdratio) resPct.Add($"{strSrcName}股东{sname}的股东持股比例发生变更,原股东持股比例为{itemOld.sharehdratio},现股东持股比例为{itemNew.sharehdratio}。"); } if (resNum.Any()) res.Add(new { Type = "股东持股数量变更", Desc = $"{string.Join(";", resNum)}" }); if (resPct.Any()) res.Add(new { Type = "股东持股比例变更", Desc = $"{string.Join(";", resPct)}" }); return res; } /// /// 14.2 深度信息-上市信息-股本股东-十大流通股东 /// /// public void GetTopTenCirPartnerList(string Name,int ReportId) { var list = qxbService.GetTopTenCirPartnerList(Name, "2021-03-31"); if (list.Result.Data != null) { List comDynamicContentlist = new List(); var slist = (list.Result.Data as IEnumerable).ToList(); foreach (var item in slist) { ((dynamic)item).CreateTime = DateTime.Parse("1900-01-01"); } int WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "上市公司-十大流通股东变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-上市信息-股本股东-十大流通股东", slist); } } /// /// 14.3 新三板十大股东 变更 /// /// /// /// /// public List GetNeeqTopTenHoldersChange(string strInv1, string strInv2, string strSrcName) { var res = new List(); var objOld = strInv1.ToList().OrderByDescending(a => { int.TryParse(a.quantity, out int val); return val; }).ToList(); var objNew = strInv2.ToList().OrderByDescending(a => { int.TryParse(a.quantity, out int val); return val; }).ToList(); // 1.第一大股东新增/退出 if (objOld.First().name != objNew.First().name) { res.Add(new { Type = "第一大股东新增", Desc = $"{strSrcName}新增第一大股东{objNew.First().name}" }); res.Add(new { Type = "第一大股东退出", Desc = $"{strSrcName}退出第一大股东{objOld.First().name}" }); } // 2.第二至第十大股东新增/退出 var add2_10 = objNew.Skip(1).Select(a => a.name).Except(objOld.Skip(1).Select(b => b.name)).ToList(); var del2_10 = objOld.Skip(1).Select(a => a.name).Except(objNew.Skip(1).Select(b => b.name)).ToList(); if (add2_10.Any()) res.Add(new { Type = "第二至第十大股东新增", Desc = $"{strSrcName}第二至第十大股东发生新增,为{string.Join(",", add2_10)}" }); if (del2_10.Any()) res.Add(new { Type = "第二至第十大股东退出", Desc = $"{strSrcName}第二至第十大股东发生退出,为{string.Join(",", del2_10)}" }); // 3.股东持股数量变更 / 股东持股比例变更 var unchange = objNew.Skip(1).Select(a => a.name) .Intersect(objOld.Skip(1).Select(b => b.name)).ToList(); var resNum = new List(); var resPct = new List(); foreach (var sname in unchange) { var itemOld = objOld.Find(a => a.name == sname); var itemNew = objNew.Find(a => a.name == sname); if (itemOld.quantity != itemNew.quantity) resNum.Add($"{strSrcName}股东{sname}的股东持股数量发生变更,原股东持股数量为{itemOld.quantity},现股东持股数量为{itemNew.quantity}。"); if (itemOld.ratio != itemNew.ratio) resPct.Add($"{strSrcName}股东{sname}的股东持股比例发生变更,原股东持股比例为{double.Parse(itemOld.ratio) * 100}%,现股东持股比例为{double.Parse(itemNew.ratio) * 100}%。"); } if (resNum.Any()) res.Add(new { Type = "股东持股数量变更", Desc = $"{string.Join(";", resNum)}" }); if (resPct.Any()) res.Add(new { Type = "股东持股比例变更", Desc = $"{string.Join(";", resPct)}" }); return res; } /// ///14.3 深度信息-新三板上市信息-股本股东-十大股东 /// /// public void GetNeeqTopTenHolders(string Name,int ReportId) { if (New3Codestr != "") { var list = neeqService.GetNeeqTopTenHolders(New3Codestr); if (list != null && list.Count > 0) { List comDynamicContentlist = new List(); var slist = (list as IEnumerable).ToList(); foreach (var item in slist) { ((dynamic)item).updatetime = DateTime.Parse("1900-01-01"); ((dynamic)item).id = 0; } int WarnLevel = 1; comDynamicContentlist.Add(new ComDynamicContent { Name = "事件发生日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); //comDynamicContentlist.Add(new ComDynamicContent //{ Name = "事件公开日期", Value = DateTime.Now.ToString("yyyy-MM-dd") }); comDynamicContentlist.Add(new ComDynamicContent { Name = "子标题", Value = "新三板上市公司-十大股东变动" }); StoreKeyInfo(comDynamicContentlist, Name, WarnLevel, "深度信息-新三板上市信息-股本股东-十大股东", slist); } } } #endregion } }