package fxy;

option java_package = "com.yaoyicloud.message";
option java_outer_classname = "FxyProtos";

message ServiceProviderInfo {
  optional string name = 1; // ${服务商信息:服务商名称}
  optional string type = 2; // "基金会"
  optional string reportDate = 3; // ${服务商信息:报告日期}
}

message CheckItemDetail {
  optional string name = 1;      //
  optional string desc = 2;      //
  optional string fact = 3;     //
  optional string result = 4;      //
 // optional int64 score = 5;      //
  optional string reviewResult = 6; // 复核结果
 // optional int32 reviewScore = 7; // 复核评分
  optional string category = 8;
  optional int32 rank = 9;  // 展示排序
  optional string formula = 10; // 计算公式（如"公益支出/上年基金余额"）
  optional string avg = 11; // 服务商数据（平均值/收入）
  optional string reviewScore = 12; // 复核评分
  optional string score = 13;

}

message CheckItemScore {
  optional string category = 1;
  optional string itemName = 2;
  optional string score = 3;
}

message CheckSummary {
  // optional int32 score = 1; // ${基本信息评分及建议:基本信息总分}
  optional string riskSummary = 2; // ${基本信息评分及建议:风险综述}
  optional string suggestion = 3 ; // ${基本信息评分及建议:建议}
  optional string score = 4; // ${基本信息评分及建议:基本信息总分}
}

message AuditResult {
  optional string opinion = 1; // ${审核结果:审核意见}
  optional string serviceProviderName = 2; // ${审核结果:服务商名称}
  optional string auditDate = 3; // ${审核结果:审核日期}
  optional string reportVersion = 4; // ${审核结果:报告版本}
  optional string tenantName = 5; // ${服务商信息:租户名称}
  optional CheckSummary overallSummary = 6;
  repeated CheckItemScore checkItemScores = 7;
  //通用数据
  optional string type = 8; //服务商类型
}

message SuperiorAuthority {// 直属机关
  optional string sname = 1;
  optional string nature = 2;
}

message CompanyBasicInfoExt {
  optional string industry = 1; // 所属行业
  optional string paidInCapital = 2; // 实缴资本（单位：人民币万元）
  optional string enterpriseScale = 3; // 企业规模（如：小型）
  optional string insuredEmployees = 4; // 参保人数
  optional string businessStatus = 5; // 经营状态（如：存续）
  optional string registrationAuthority = 6; // 登记机关
  optional string taxpayerQualification = 7; // 纳税人资质（如：增值税一般纳税人）
  optional string enterpriseType = 8; // 企业类型（如：有限责任公司）
  optional string updateSource = 9; //数据来源
}

message AssociationBasicInfoExt {
  optional string corporateMembers = 1; // 单位会员数量（如：超x家）
  optional string individualMembers = 2; // 个人会员数量
  optional string membershipFeeStandard = 3; // 会费收取标准（多行文本）
  optional string mainActivityRegion = 4; // 主要活动覆盖地域（示例：长三角地区）
  optional string sponsorshipRatio = 5; // 上一年度xxx公司赞助和捐赠额占总社会赞助和捐赠比例（单位：%，示例：1%）
}

message FoundationBasicInfoExt {
  optional string foundationCategory = 1;          // 基金会类别（公募/非公募）
  optional string lastYearSponsorshipDonationRatio = 2; // 上一年度XXX赞助和捐赠额占比（%）
  optional string initialFund = 3;             // 原始基金（单位：元）
  optional string lastYearDonationIncome = 4;  // 最近一年捐赠收入（单位：元）
  optional string secretaryGeneral = 5;            // 秘书长
  optional string chairman = 6;                    // 理事长
  optional int32 numberOfDirectors = 7;          // 理事人数
}

message Attachment {
  optional string fileName = 1;
  optional string fileUri = 2;
}

/* 通用基础信息 */
message BasicInfo {
  optional string entName = 1;
  optional string establishmentDate = 2; // 成立登记日期（格式：yyyy-MM-dd）
  optional string registrationValidity = 3; // 登记有效期（格式：yyyy-MM-dd）
  optional string officialWebsite = 4; // 官方网站链接
  optional string registeredCapital = 5; // 注册资金（单位：万元）
  optional string netAsset = 6;                // 净资产（单位：元）
  optional string businessScope = 7; // 业务范围描述
  optional string missionStatement = 8; // 机构宗旨
  optional string legalRepresentative = 9; // 法定代表人
  optional string officeAddress = 10; // 实际办公地址
  optional string location = 11;          // 基金会所在地
  optional string contactNumber = 12; // 联系电话
  optional int32 fullTimeStaffCount = 13;         // 全职员工数量
  optional string evaluationLevel = 14; // 评估等级（如：3A）
  optional bool useExternalService = 15; // 是否通常需要外包合作项目（true/false）
  optional string projectServiceVendors = 16; // 项目服务执行方名单（如：无/合作方名称列表）
  repeated SuperiorAuthority superiorAuthority = 17; // 业务主管单位情况

  optional string basicInfoCheckResult = 18;
  repeated Attachment relatedEntityImages = 19;            // 支机构或专业委员会情况
  optional string relatedEntitiesResult = 20; // 利益冲突风险提示 根据客户在申报链接中填写的答案 填写是，提示1，填写不是，则提示0

  optional string certReceived = 21;    // ${经营情况:《*登记证书》:相关资料是否收到}
  optional string renzcode = 22;               // ${认证代码}
  optional string validate = 23;               // ${有效期}
  optional string companyCode = 24; // ${统一社会信用代码}
  optional string companyRenzcode = 25;               // ${认证代码}
  optional string companyValidate = 26;               // ${有效期}
  optional string bankLicense = 27;             //银行开户许可证
  optional string bankRenzcode = 28;               // ${认证代码}
  optional string bankValidate = 29;               // ${有效期}
  optional string annualInspectionResult = 30;    // ${经营情况:年检结果}

  repeated CheckItemDetail basicInfoChecks = 31; // 审查内容
  optional CheckSummary basicInfoSummary = 32;          // 基本信息评分及建议（2.5）

  optional CompanyBasicInfoExt platformExt = 33;
  optional AssociationBasicInfoExt associationExt = 34;
  optional FoundationBasicInfoExt foundationExt = 35;

  //新报告新数据
  map<string, string> sameaddress = 36; // 相同地址企业

  map<string, string> samecontactNumberDatas = 37; // 相同电话企业

  map<string, string> sameExecutivesNames = 38; //同名高管


}

message FinancialData {
  optional int32 year = 1; // 年份（如2022、2023、2024）
  optional string donationIncome = 2; // 捐赠收入（单位：元）
  optional string publicExpense = 3; // 公益事业支出（单位：元）
  optional string totalAssets = 4; // 总资产（单位：元） 资产合计
  optional string netAssets = 5; // 净资产（单位：元）
  optional string totalIncome = 6; // 总收入（单位：元） 收入合计
  optional string investmentIncome = 7; // 投资收益（单位：元）
  optional string governmentGrants = 8; // 政府补助收入（单位：元）
  optional string serviceIncome = 9; // 服务收入（单位：元）
  optional string totalExpense = 10; // 总支出（单位：元）
  optional string salaryExpense = 11; // 工资福利支出（单位：元）
  optional string adminExpense = 12; // 行政办公支出（单位：元）
  optional string activityCost = 13; // 业务活动成本（单位：元）
  optional string managementExpense = 14; // 管理费用（单位：元）
  optional string fundraisingExpense = 15; // 筹资费用（单位：元）
  optional string lastYearFundBalance = 16; // 上年基金余额（单位：元）

  optional string flowAssets = 17; // 流动资产
  optional string flowLiabilities = 18; // 流动负债
  optional string flowCapital = 19; // 营运资本
  optional string fixedAsset = 20; // 固定资产
  optional string inventory = 21; // 存货
  optional string receivables = 22; // 应收账款
  optional string liabTotal = 23; // 总负债
  optional string las3yTotAmtLiaEquMap = 24; // 所有者权益
  optional string operatingIncome = 25; // 营业收入
  optional string mainBusInc = 26; // 主营业务收入
  optional string mainBusProfit = 27; // 营业利润
  optional string netProfit = 28; // 净利润
  optional string las3yTotProfMap = 29; // 利润总额
  optional string interestExpense = 30; // 利息支出
  //捐赠项目成本
  optional string donationProjectCost = 31;
  //净资产合计
  optional string totalNetAssets = 32;
  //费用合计
  optional string totalCost = 33;
  optional string incomeTaxExpense = 34; // 利息支出
}

message FinancialIndicator {
  optional string category = 1; // 分类（如"运营能力"、"发展能力"）
  optional string indicatorName = 2; // 指标名称（如"公益支出比例"）财务指标
  optional string formula = 3; // 计算公式（如"公益支出/上年基金余额"）
  repeated string values = 4;  //按年取值
}

message FinancialInfo {
  repeated FinancialData financialDataSeq = 1; // 重要财务数据（4.1）
  repeated string years = 4;   //按年取值
  optional string remark = 5; // 备注
  repeated FinancialIndicator indicators = 9; // 财务指标（4.2）
  repeated CheckItemDetail financialCheckDetails = 10;  //财务信息评分及建议
  optional CheckSummary financialSummary = 11; // 财务信息评分及建议（4.3）
  repeated Attachment financialFiles = 12; // 没有财务解析时的临时方案
  // 平台报告新加字段
  optional string operatingRevenue = 13; // 最近一年营业收入
  optional string neProfit = 14; // 最近一年净利润
  //新版报告展示位置变动
  optional string certReceived = 15;    // ${经营情况:《*登记证书》:相关资料是否收到}
  optional string renzcode = 16;               // ${认证代码}
  optional string validate = 17;               // ${有效期}
  optional string annualInspectionResult = 18;    // ${经营情况:年检结果}
  optional string bankLicense = 19;             //银行开户许可证
  repeated CheckItemDetail businessRiskChecks = 20; //经营风险提示
  optional string financialInfo = 21; // 财务信息 是否授权
  optional string financialDataSeqFlagSource = 22; // 财务信息  重要财务数据来源
  optional string financialInfoCheckResult = 23;  //经营风险提示

}

message QuestionnaireItem {
  optional int32 id = 1;
  optional string question = 2;
  optional string answer = 3;
}

message AntiBribery {
  repeated QuestionnaireItem questionnaireItems = 1; // 反贿赂反腐败诚信保证问卷
  optional CheckSummary antiBriberySummary = 2; // 反贿赂反腐败诚信保证评分及建议
  repeated CheckItemDetail otherRiskChecks = 4; // 审查内容
}

message ProjectInfo {
  repeated Attachment files = 1;            //项目情况
  optional CheckSummary projectInfoSummary = 2;
}

/* 包含所有可能的附件 */
message AttachmentSection {
  optional string selfDeclLink = 1;
  repeated string fillDeclLinks = 2;

  repeated Attachment businessLicenseImages = 3; // 营业执照图片路径

  repeated Attachment bankCertificateImages = 4; // 银行开户证明图片路径

  repeated Attachment isoCertificationImages = 5; // ISO认证证书图片路径

  repeated Attachment otherCertifications = 6; // 其他资质文件路径

  repeated Attachment securityLevelCertifications = 7; // 信息安全等级保护证明路径

  repeated Attachment organizationalStructureImages = 8; // 组织架构图路径

  repeated Attachment financialInfoLinks = 9; // 财务信息在线链接

  repeated Attachment taxDeclarationImages = 10; // 增值税申报表路径

  repeated Attachment taxPaymentCertificateImages = 11; // 完税凭证图片路径

  repeated Attachment socialSecurityDetailsLinks = 12; // 社保缴纳证明路径

  repeated Attachment nsxydjwj = 13; // 纳税信用等级相关支持性文件

  repeated Attachment interestConflicts = 14; // 利益冲突

  repeated Attachment disanfangcangzhaos = 15; // 第三方参照

  repeated Attachment overallGuaranteeStatements = 16; // 总体保证声明

  repeated Attachment legalRegistrationCertImages = 17; //社会团体法人登记证书图片路径（多张）

  repeated Attachment annualInspectionResultImage = 18; //最新年检结果页图片路径

  repeated Attachment assessmentLevelCertImage = 19; //评估等级证书图片路径（1A-5A）

  repeated Attachment fullCharterImage = 20; //完整章程副本

  repeated Attachment topDonorsListImage = 21; //前十大捐赠方名单图片路径

  repeated Attachment topExpenditureListImage = 22; //前十大支出方名单图片路径

  repeated Attachment managementFilingFormImage = 23; //管理层备案表图片路径（如有）

  repeated Attachment jigoupinggu = 24; //机构评估等级证书

  repeated Attachment nianjianjieguo = 25; //年检结果通知单

  repeated Attachment principalInfoImage = 26; //机构负责人信息图片路径

  repeated Attachment projectInfoImage = 27; //项目信息

  repeated Attachment otherInfoImage = 28; //其他分支机构

  repeated Attachment branchInfoImage = 30; //地方分会情况图片路径

  repeated Attachment relatedEntitySituation = 33; //关联实体情况

  repeated Attachment organizationalStructureScan = 34; //组织结构-扫描件并加盖公章

  repeated Attachment financialStatementsForLastThreeYears = 35; // 财务信息在线链接
}

message RiskModule{
  repeated CheckItemDetail judicialRiskChecks = 1; // 司法风险
  map<string, string>  dishonestPersons = 2; //失信被执行人情况
  map<string, string>  severeViolations = 3; //列入失信黑名单情况
  optional CheckSummary summary = 4; // 风险评分及建议
  repeated CheckItemDetail otherRiskChecks = 5; // 其他风险
  map<string, string> questionnaireItems = 6;   //反贿赂反腐败诚信保证问卷
  repeated Attachment relatedEntityImages = 7;  // 利益冲突情况
  optional string qualification = 9; //纳税人类型
  optional string grade = 10; //纳税信用评级
  // optional string year = 11; //年份
  optional string updateSource = 12; //数据来源
  repeated CheckItemDetail taxInfoChecks = 13; // 税务风险
  map<string, string>  taxPenalties = 14; //税务处罚情况
  repeated Attachment files = 15;  // 项目信息
  repeated Attachment questionnairs = 16;  // 反贿赂反腐败诚信保证问卷图片
  optional string riskModuleCheckResult = 17; //风险提示

}