CrmHighTechZoneEnterprisesMapper.xml 65 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.zksy.system.basicData.mapper.CrmHighTechZoneEnterprisesMapper">
  6. <resultMap type="CrmHighTechZoneEnterprises" id="CrmHighTechZoneEnterprisesResult">
  7. <result property="id" column="id" />
  8. <result property="enterpriseName" column="enterprise_name" />
  9. <result property="unifiedSocialCreditCode" column="unified_social_credit_code" />
  10. <result property="enterpriseLeader" column="enterprise_leader" />
  11. <result property="contactPhone" column="contact_phone" />
  12. <result property="longitude" column="longitude" />
  13. <result property="latitude" column="latitude" />
  14. </resultMap>
  15. <select id="getAllTableNames" resultType="java.util.LinkedHashMap">
  16. SELECT table_name AS tableName, table_comment AS tableComment
  17. FROM information_schema.tables
  18. WHERE table_schema = 'credit_rating_management'
  19. <if test="tableNames != null and tableNames.size() > 0">
  20. AND table_name IN
  21. <foreach item="tableName" index="index" collection="tableNames" open="(" separator="," close=")">
  22. #{tableName}
  23. </foreach>
  24. </if>
  25. </select>
  26. <select id="getTableComment" resultType="java.lang.String">
  27. select table_comment
  28. FROM information_schema.tables
  29. WHERE table_schema = 'credit_rating_management' and table_name = #{tableName}
  30. </select>
  31. <select id="getColumnNames" resultType="string">
  32. select column_name
  33. from information_schema.columns
  34. where table_name = #{tableName} and table_schema = 'credit_rating_management'
  35. order by ordinal_position;
  36. </select>
  37. <select id="getColumnComment" resultType="java.lang.String">
  38. select COLUMN_COMMENT
  39. from information_schema.columns
  40. where table_name = #{tableName} and table_schema = 'credit_rating_management' and COLUMN_NAME = #{columnName}
  41. </select>
  42. <select id="getTableData" resultType="java.util.List">
  43. select *
  44. from ${tableName}
  45. where unified_social_credit_code LIKE CONCAT('%', #{unifiedSocialCreditCode}, '%');
  46. </select>
  47. <select id="getTableDataMap" resultType="java.util.LinkedHashMap">
  48. select *
  49. from ${tableName}
  50. where unified_social_credit_code LIKE CONCAT('%', #{unifiedSocialCreditCode}, '%');
  51. </select>
  52. <select id="referenceCreditRating" resultType="com.zksy.system.basicData.model.respone.CreditRatingEntityDto">
  53. SELECT
  54. e.unified_social_credit_code AS unifiedSocialCreditCode,
  55. e.enterprise_name AS enterpriseName,
  56. COALESCE(
  57. CASE
  58. WHEN cnpcei.evaluation_grade LIKE '%优%' THEN 2
  59. WHEN cnpcei.evaluation_grade LIKE '%良%' THEN 1.6
  60. WHEN cnpcei.evaluation_grade LIKE '%中%' THEN 1.2
  61. WHEN cnpcei.evaluation_grade LIKE '%差%' THEN 0
  62. ELSE 2
  63. END, 2
  64. ) AS nationalPublicCreditScore,
  65. -- 添加税收评级得分
  66. COALESCE(
  67. CASE WHEN etc.tax_credit_rating = 'A' THEN 1
  68. WHEN etc.tax_credit_rating = 'B' THEN 0.8
  69. WHEN etc.tax_credit_rating ='M' THEN 0.6
  70. WHEN etc.tax_credit_rating ='C' THEN 0.4
  71. WHEN etc.tax_credit_rating = 'D' THEN 0
  72. END, 0
  73. ) AS taxRatingScore,
  74. -- 添加银行信用评级得分
  75. COALESCE(
  76. CASE WHEN bcr.bank_credit_rating = 'A' THEN 1
  77. WHEN bcr.bank_credit_rating = 'B' THEN 0.8
  78. WHEN bcr.bank_credit_rating = 'C' THEN 0.6
  79. WHEN bcr.bank_credit_rating = 'D' THEN 0
  80. END, 1 -- 默认值,无记录的企业
  81. ) AS bankCreditRatingScore,
  82. -- 市场监管信用评级得分
  83. COALESCE(
  84. CASE WHEN mcr.credit_rating = 'A' THEN 1
  85. WHEN mcr.credit_rating = 'B' THEN 0.8
  86. WHEN mcr.credit_rating = 'C' THEN 0.6
  87. WHEN mcr.credit_rating = 'D' THEN 0
  88. END, 1 -- 默认值,无记录的企业
  89. ) AS marketSupervisionRatingScore,
  90. COALESCE(
  91. CASE
  92. WHEN mcr.credit_rating = '环保诚信单位' THEN 1
  93. WHEN mcr.credit_rating = '环保合格单位' THEN 0.8
  94. END, 0.6
  95. ) AS environmentalCreditRatingScore,
  96. COALESCE(
  97. CASE
  98. WHEN cnpcei.evaluation_grade = 'AAA' THEN 2
  99. WHEN cnpcei.evaluation_grade = 'AA' THEN 1.6
  100. WHEN cnpcei.evaluation_grade = 'A' THEN 1.2
  101. ELSE 2
  102. END, 2
  103. ) AS otherFieldsCreditAppraisalScore,
  104. COALESCE(ecr.rating_score * 0.01, 0) AS licensedCreditAgencyScore, -- rating_score值的1%作为得分,无记录则默认0
  105. -- 评级机构信用评级得分
  106. COALESCE(
  107. CASE
  108. WHEN rai.credit_rating = 'AAA' THEN 1
  109. WHEN rai.credit_rating = 'AA' THEN 0.9
  110. WHEN rai.credit_rating = 'A' THEN 0.8
  111. ELSE 0.8
  112. END, 0.8
  113. ) AS ratingAgencyCreditRating,
  114. -- 计算总得分
  115. (
  116. COALESCE(
  117. CASE
  118. WHEN cnpcei.evaluation_grade = 'AAA' THEN 2
  119. WHEN cnpcei.evaluation_grade = 'AA' THEN 1.6
  120. WHEN cnpcei.evaluation_grade = 'A' THEN 1.2
  121. ELSE 2
  122. END, 2
  123. )
  124. + COALESCE(
  125. CASE WHEN etc.tax_credit_rating = 'A' THEN 1
  126. WHEN etc.tax_credit_rating = 'B' THEN 0.8
  127. WHEN etc.tax_credit_rating ='M' THEN 0.6
  128. WHEN etc.tax_credit_rating ='C' THEN 0.4
  129. WHEN etc.tax_credit_rating = 'D' THEN 0
  130. END, 0
  131. )+ COALESCE(
  132. CASE WHEN bcr.bank_credit_rating = 'A' THEN 1
  133. WHEN bcr.bank_credit_rating = 'B' THEN 0.8
  134. WHEN bcr.bank_credit_rating = 'C' THEN 0.6
  135. WHEN bcr.bank_credit_rating = 'D' THEN 0
  136. END, 1
  137. )+ COALESCE(
  138. CASE WHEN mcr.credit_rating = 'A' THEN 1
  139. WHEN mcr.credit_rating = 'B' THEN 0.8
  140. WHEN mcr.credit_rating = 'C' THEN 0.6
  141. WHEN mcr.credit_rating = 'D' THEN 0
  142. END, 1 -- 默认值,无记录的企业
  143. )+COALESCE(
  144. CASE
  145. WHEN mcr.credit_rating = '环保诚信单位' THEN 1
  146. WHEN mcr.credit_rating = '环保合格单位' THEN 0.8
  147. END, 0.6
  148. )
  149. +COALESCE(
  150. CASE
  151. WHEN cnpcei.evaluation_grade = 'AAA' THEN 2
  152. WHEN cnpcei.evaluation_grade = 'AA' THEN 1.6
  153. WHEN cnpcei.evaluation_grade = 'A' THEN 1.2
  154. ELSE 2
  155. END, 2
  156. )
  157. + COALESCE(ecr.rating_score * 0.01, 0)
  158. + COALESCE(
  159. CASE
  160. WHEN rai.credit_rating = 'AAA' THEN 1
  161. WHEN rai.credit_rating = 'AA' THEN 0.9
  162. WHEN rai.credit_rating = 'A' THEN 0.8
  163. ELSE 0.8
  164. END, 0.8
  165. )
  166. ) AS total
  167. FROM
  168. crm_high_tech_zone_enterprises AS e
  169. LEFT JOIN
  170. crm_national_public_credit_evaluation_information cnpcei ON e.unified_social_credit_code = cnpcei.unified_social_credit_code
  171. LEFT JOIN
  172. crm_business_license_information AS bl ON e.unified_social_credit_code = bl.unified_social_credit_code
  173. LEFT JOIN
  174. crm_enterprise_tax_classification_info AS etc ON e.unified_social_credit_code = etc.unified_social_credit_code -- 新增JOIN税收分类信息表
  175. LEFT JOIN
  176. crm_bank_credit_rating AS bcr ON e.unified_social_credit_code = bcr.unified_social_credit_code -- 新增JOIN银行信用评级表
  177. LEFT JOIN
  178. crm_market_regulatory_credit_rating AS mcr ON e.unified_social_credit_code = mcr.unified_social_credit_code -- 新增JOIN市场监管信用评级表
  179. LEFT JOIN
  180. crm_market_regulatory_credit_rating cmrcr ON e.unified_social_credit_code = cmrcr.unified_social_credit_code
  181. LEFT JOIN
  182. crm_enterprise_credit_rating AS ecr ON e.unified_social_credit_code = ecr.unified_social_credit_code -- 新增JOIN企业信用评分表
  183. LEFT JOIN
  184. crm_rating_agency_info AS rai ON e.unified_social_credit_code = rai.unified_social_credit_code -- 新增JOIN评级机构信息表
  185. <where>
  186. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  187. and e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  188. </if>
  189. <if test="enterpriseName !=null and enterpriseName != ''">
  190. and e.enterprise_name like concat('%', #{enterpriseName}, '%')
  191. </if>
  192. </where>
  193. GROUP BY
  194. e.unified_social_credit_code -- 根据企业代码分组
  195. ORDER BY
  196. total DESC
  197. </select>
  198. <select id="regulatoryPenalty" resultType="com.zksy.system.basicData.model.respone.RegulatoryPenaltyDto">
  199. SELECT
  200. e.unified_social_credit_code AS unifiedSocialCreditCode,
  201. e.enterprise_name AS enterpriseName,-- 计算扣分
  202. CASE
  203. WHEN COUNT(cba.unified_social_credit_code) > 2 THEN -5
  204. ELSE -LEAST(COUNT(cba.unified_social_credit_code), 2) * 2
  205. END AS marketRegulatoryOperationExceptionDeduction,
  206. -LEAST(COUNT(cef.unified_social_credit_code), 2) * 1 AS marketRegulatoryEquityFreezeDeduction,
  207. -LEAST(COUNT(cpp.unified_social_credit_code), 2) * 1 AS marketRegulatoryPriceActionDeduction,
  208. -LEAST(COUNT(cii.unified_social_credit_code), 2) * 1 AS marketRegulatoryIntellectualPropertyInfringementDeduction,
  209. -LEAST(COUNT(cpr.unified_social_credit_code), 2) * 1 AS marketRegulatoryProductRecallDeduction,
  210. -LEAST(COUNT(cmpm.unified_social_credit_code), 2) * 1 AS marketRegulatoryMovablePropertyMortgageDeduction,
  211. -LEAST(COUNT(cepi.unified_social_credit_code), 2) * 1 AS marketRegulatoryEquityPledgeDeduction,
  212. -LEAST(COUNT(cmr.unified_social_credit_code), 2) * 1 AS marketRegulatoryOtherPenaltiesDeduction,
  213. -LEAST(COUNT(cta.unified_social_credit_code), 2) * 1 AS taxPenaltyTaxArrearsAnnouncementDeduction,
  214. -LEAST(COUNT(ctu.unified_social_credit_code), 2) * 1 AS taxPenaltyTaxUrgentNoticeDeduction,
  215. -LEAST(COUNT(cca.unified_social_credit_code), 2) * 1 AS taxPenaltyOrderForRemovalDeduction,
  216. -LEAST(COUNT(cop.unified_social_credit_code), 1) * 1 AS taxPenaltyOtherPenaltiesDeduction,
  217. CASE
  218. WHEN COUNT(ckp.unified_social_credit_code) > 2 THEN -5
  219. ELSE -LEAST(COUNT(ckp.unified_social_credit_code), 2) * 2
  220. END AS environmentalProtectionKeyPollutionDeduction,
  221. -LEAST(COUNT(cesv.unified_social_credit_code), 2) * 1 AS environmentalProtectionIllegalSupervisionDeduction,
  222. -LEAST(COUNT(ceop.unified_social_credit_code), 2) * 1 AS environmentalProtectionOtherPenaltiesDeduction,
  223. -LEAST(COUNT(eop.unified_social_credit_code), 2) * 1 AS emergencySafetySupervisionAdministrativePenaltyDeduction,
  224. -LEAST(COUNT(clsp.unified_social_credit_code), 2) * 1 AS listedCompanySupervisionAccountabilityDeduction,
  225. -LEAST(COUNT(canf.unified_social_credit_code), 2) * 1 AS debtReminderFinancialDebtDeduction,
  226. -LEAST(COUNT(ccop.unified_social_credit_code), 2) * 1 AS housingConstructionPenaltyBulletinPenaltyDeduction,
  227. -LEAST(COUNT(clrp.unified_social_credit_code), 2) * 1 AS landResourcesAdministrativePenaltiesDeduction,
  228. -LEAST(COUNT(lsp.unified_social_credit_code), 2) * 1 AS laborSecurityIllegalLaborSupervisionPenaltyDeduction,
  229. CASE
  230. WHEN (COUNT(DISTINCT ccp.unified_social_credit_code) + COUNT(DISTINCT ccmd.unified_social_credit_code)) >= 2 THEN
  231. -2
  232. WHEN (COUNT(DISTINCT ccp.unified_social_credit_code) + COUNT(DISTINCT ccmd.unified_social_credit_code)) = 1 THEN -1
  233. ELSE 0
  234. END AS civilAffairsManagementPenaltyDeduction,
  235. -LEAST(COUNT(cmpp.unified_social_credit_code), 2) * 1 AS industryAndInformationTelecomPenaltiesDeduction,
  236. -LEAST(COUNT(cafwp.unified_social_credit_code), 2) * 1 AS agricultureFisheriesWaterPenaltiesDeduction,
  237. -LEAST(COUNT(cfspp.unified_social_credit_code), 2) * 1 AS financialSupervisionPBOCPenaltyDeduction,
  238. -LEAST(COUNT(cfsfp.unified_social_credit_code), 2) * 1 AS financialSupervisionFinancePenaltyDeduction,
  239. -LEAST(COUNT(fsfp.unified_social_credit_code), 2) * 1 AS financialSupervisionFinancialBureauPenaltyDeduction,
  240. -LEAST(COUNT(cfslp.unified_social_credit_code), 2) * 1 AS financialSupervisionLocalFinancePenaltyDeduction,
  241. -LEAST(COUNT(chsp.unified_social_credit_code), 2) * 1 AS healthAndWellnessAdministrativePenaltiesDeduction,
  242. -LEAST(COUNT(ceep.unified_social_credit_code), 2) * 1 AS energyElectricityElectricalSectorPenaltyDeduction,
  243. -LEAST(COUNT(cp.unified_social_credit_code), 2) * 1 AS commercePenaltiesAdministrativePenaltyDeduction,
  244. -LEAST(COUNT(csecp.unified_social_credit_code), 2) * 1 AS educationCultureTourismPenaltiesDeduction,
  245. -LEAST(COUNT(cbcp.unified_social_credit_code), 2) * 1 AS radioTelevisionInformationPenaltiesDeduction,
  246. -LEAST(COUNT(cuap.unified_social_credit_code), 2) * 1 AS urbanManagementPenaltiesDeduction,
  247. -LEAST(COUNT(ciodp.unified_social_credit_code), 2) * 1 AS industryOrganizationSelfDisciplinePenaltyDeduction,
  248. -LEAST(COUNT(cusp.unified_social_credit_code), 2) * 1 AS badSupplierListGovernmentProcurementPenaltyDeduction,
  249. -LEAST(COUNT(usp.unified_social_credit_code), 2) * 1 AS badSupplierListMilitaryProcurementPenaltyDeduction,
  250. -LEAST(COUNT(cbsep.unified_social_credit_code), 2) * 1 AS badSupplierListCorporateProcurementPenaltyDeduction,
  251. -LEAST(COUNT(copa.unified_social_credit_code), 2) * 1 AS administrativePenaltiesOtherPenaltiesDeduction,-- 合并扣分并限制最大扣分不超过10分
  252. - LEAST( COUNT( cap.unified_social_credit_code ), 10 ) * 2 AS administrativePenalty,
  253. GREATEST(
  254. 0,20 - (
  255. GREATEST(
  256. 0,
  257. CASE
  258. WHEN COUNT(cba.unified_social_credit_code) > 2 THEN 5
  259. ELSE LEAST(COUNT(cba.unified_social_credit_code), 2) * 2
  260. END +
  261. LEAST( COUNT( cef.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cpp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cii.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cpr.unified_social_credit_code ), 2 ) * 1 +
  262. LEAST(COUNT(cmpm.unified_social_credit_code), 2) * 1 + LEAST( COUNT( cepi.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cmr.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cta.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( ctu.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cca.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cop.unified_social_credit_code ), 1 ) * 1 +
  263. CASE
  264. WHEN COUNT( ckp.unified_social_credit_code ) > 2 THEN
  265. 5 ELSE LEAST( COUNT( ckp.unified_social_credit_code ), 2 ) * 2
  266. END + LEAST( COUNT( cesv.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( ceop.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( eop.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( clsp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( canf.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( ccop.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( clrp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( lsp.unified_social_credit_code ), 2 ) * 1 + GREATEST(
  267. 0,
  268. CASE
  269. WHEN (COUNT(DISTINCT ccp.unified_social_credit_code) + COUNT(DISTINCT ccmd.unified_social_credit_code)) >= 2 THEN
  270. 2
  271. WHEN (COUNT(DISTINCT ccp.unified_social_credit_code) + COUNT(DISTINCT ccmd.unified_social_credit_code)) = 1 THEN 1
  272. ELSE 0
  273. END
  274. ) + LEAST( COUNT( cmpp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cafwp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cfspp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cfsfp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( fsfp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cfslp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( chsp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( ceep.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( csecp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cbcp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cuap.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( ciodp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cusp.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( usp.unified_social_credit_code ), 2 ) * 1 + LEAST(COUNT(cbsep.unified_social_credit_code), 2) * 1 + LEAST( COUNT( copa.unified_social_credit_code ), 2 ) * 1 + LEAST( COUNT( cap.unified_social_credit_code ), 10) * 2
  275. )
  276. )) AS total
  277. FROM
  278. crm_high_tech_zone_enterprises AS e
  279. LEFT JOIN crm_business_abnormality AS cba ON e.unified_social_credit_code = cba.unified_social_credit_code
  280. LEFT JOIN crm_equity_freeze AS cef ON e.unified_social_credit_code = cef.unified_social_credit_code
  281. LEFT JOIN crm_price_penalty AS cpp ON e.unified_social_credit_code = cpp.unified_social_credit_code
  282. LEFT JOIN crm_ip_infringement AS cii ON e.unified_social_credit_code = cii.unified_social_credit_code
  283. LEFT JOIN crm_product_recall AS cpr ON e.unified_social_credit_code = cpr.unified_social_credit_code
  284. LEFT JOIN crm_movable_property_mortgage AS cmpm ON e.unified_social_credit_code = cmpm.unified_social_credit_code
  285. LEFT JOIN crm_equity_pledge_information AS cepi ON e.unified_social_credit_code = cepi.unified_social_credit_code
  286. LEFT JOIN crm_market_regulation AS cmr ON e.unified_social_credit_code = cmr.unified_social_credit_code
  287. LEFT JOIN crm_tax_arrears AS cta ON e.unified_social_credit_code = cta.unified_social_credit_code
  288. LEFT JOIN crm_tax_urge AS ctu ON e.unified_social_credit_code = ctu.unified_social_credit_code
  289. LEFT JOIN crm_corrective_action AS cca ON e.unified_social_credit_code = cca.unified_social_credit_code
  290. LEFT JOIN crm_other_punishments AS cop ON e.unified_social_credit_code = cop.unified_social_credit_code
  291. LEFT JOIN crm_key_polluters AS ckp ON e.unified_social_credit_code = ckp.unified_social_credit_code
  292. LEFT JOIN crm_env_supervision_violation_supervision AS cesv ON e.unified_social_credit_code = cesv.unified_social_credit_code
  293. LEFT JOIN crm_environmental_other_penalties AS ceop ON e.unified_social_credit_code = ceop.unified_social_credit_code
  294. LEFT JOIN crm_emergency_other_penalty AS eop ON e.unified_social_credit_code = eop.unified_social_credit_code
  295. LEFT JOIN crm_listing_supervision_penalty AS clsp ON e.unified_social_credit_code = clsp.unified_social_credit_code
  296. LEFT JOIN crm_arrears_notification_financial AS canf ON e.unified_social_credit_code = canf.unified_social_credit_code
  297. LEFT JOIN crm_construction_other_penalties AS ccop ON e.unified_social_credit_code = ccop.unified_social_credit_code
  298. LEFT JOIN crm_land_resources_penalty AS clrp ON e.unified_social_credit_code = clrp.unified_social_credit_code
  299. LEFT JOIN crm_labor_supervision_punishment AS lsp ON e.unified_social_credit_code = lsp.unified_social_credit_code
  300. LEFT JOIN crm_civil_penalties AS ccp ON e.unified_social_credit_code = ccp.unified_social_credit_code
  301. LEFT JOIN crm_civil_management_dishonesty AS ccmd ON e.unified_social_credit_code = ccmd.unified_social_credit_code
  302. LEFT JOIN crm_miit_post_penalty AS cmpp ON e.unified_social_credit_code = cmpp.unified_social_credit_code
  303. LEFT JOIN crm_agri_fishery_water_penalty AS cafwp ON e.unified_social_credit_code = cafwp.unified_social_credit_code
  304. LEFT JOIN crm_finance_supervision_pbc_penalty AS cfspp ON e.unified_social_credit_code = cfspp.unified_social_credit_code
  305. LEFT JOIN crm_finance_supervision_fiscal_penalty AS cfsfp ON e.unified_social_credit_code = cfsfp.unified_social_credit_code
  306. LEFT JOIN crm_finance_supervision_financial_penalty AS fsfp ON e.unified_social_credit_code = fsfp.unified_social_credit_code
  307. LEFT JOIN crm_finance_supervision_local_penalty AS cfslp ON e.unified_social_credit_code = cfslp.unified_social_credit_code
  308. LEFT JOIN crm_health_sanitation_penalty AS chsp ON e.unified_social_credit_code = chsp.unified_social_credit_code
  309. LEFT JOIN crm_energy_electricity_penalty AS ceep ON e.unified_social_credit_code = ceep.unified_social_credit_code
  310. LEFT JOIN crm_commerce_penalty AS cp ON e.unified_social_credit_code = cp.unified_social_credit_code
  311. LEFT JOIN crm_sci_edu_culture_penalty AS csecp ON e.unified_social_credit_code = csecp.unified_social_credit_code
  312. LEFT JOIN crm_broadcast_communication_penalty AS cbcp ON e.unified_social_credit_code = cbcp.unified_social_credit_code
  313. LEFT JOIN crm_urban_administration_penalty AS cuap ON e.unified_social_credit_code = cuap.unified_social_credit_code
  314. LEFT JOIN crm_industry_organization_discipline_penalty AS ciodp ON e.unified_social_credit_code = ciodp.unified_social_credit_code
  315. LEFT JOIN crm_unsatisfactory_supplier_penalty AS cusp ON e.unified_social_credit_code = cusp.unified_social_credit_code
  316. LEFT JOIN crm_unqualified_suppliers_punishment AS usp ON e.unified_social_credit_code = usp.unified_social_credit_code
  317. LEFT JOIN crm_bad_supplier_enterprise_penalty AS cbsep ON e.unified_social_credit_code = cbsep.unified_social_credit_code
  318. LEFT JOIN crm_other_penalty_administrative AS copa ON e.unified_social_credit_code = copa.unified_social_credit_code
  319. LEFT JOIN crm_administrative_penalty AS cap ON e.unified_social_credit_code = cap.unified_social_credit_code and EXTRACT(YEAR FROM penalty_decision_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  320. <where>
  321. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  322. and e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  323. </if>
  324. <if test="enterpriseName !=null and enterpriseName != ''">
  325. and e.enterprise_name like concat('%', #{enterpriseName}, '%')
  326. </if>
  327. </where>
  328. GROUP BY
  329. e.unified_social_credit_code -- 根据企业代码分组
  330. ORDER BY
  331. total DESC;
  332. </select>
  333. <select id="creditScoreDeductions"
  334. resultType="com.zksy.system.basicData.model.respone.CreditScoreDeductionsDto">
  335. SELECT
  336. e.unified_social_credit_code AS unifiedSocialCreditCode,
  337. e.enterprise_name AS enterpriseName,
  338. - LEAST( COUNT( caci.unified_social_credit_code ), 2 ) * 5 AS adminForcibleExecutionDeduction,
  339. - LEAST( COUNT( cas.unified_social_credit_code ), 2 ) * 5 AS adminSanctionDeduction,
  340. - LEAST( COUNT( crmas.unified_social_credit_code ), 5 ) * 1 AS adminSupervisionDeduction,
  341. - LEAST( COUNT( cci.unified_social_credit_code ), 2 ) * 1 AS complaDoubleReportDeduction,
  342. - LEAST( COUNT( cucci.unified_social_credit_code ), 3 ) * 1 AS creditPromiseUnfulfilledDeduction,
  343. - LEAST( COUNT( ccni.unified_social_credit_code ), 3 ) * 1 AS contractUnfulfilledDeduction,
  344. CASE
  345. WHEN COUNT( csiai.unified_social_credit_code ) > 2 THEN
  346. - 5 ELSE - LEAST( COUNT( csiai.unified_social_credit_code ), 2 ) * 2
  347. END AS socialSecurityArrearsDeduction,
  348. (
  349. SELECT
  350. - LEAST(
  351. 5,
  352. COALESCE(
  353. (SELECT SUM(CASE WHEN is_currently_in_arrears = '是' THEN 1 ELSE 0 END) FROM crm_quarterly_water_usage WHERE unified_social_credit_code = e.unified_social_credit_code),
  354. 0
  355. ) +
  356. COALESCE(
  357. (SELECT SUM(CASE WHEN arrear_exists = '是' THEN 1 ELSE 0 END) FROM crm_quarterly_electricity_bill WHERE unified_social_credit_code = e.unified_social_credit_code),
  358. 0
  359. ) +
  360. COALESCE(
  361. (SELECT SUM(CASE WHEN is_overdue = '是' THEN 1 ELSE 0 END) FROM crm_gas_fee_information WHERE unified_social_credit_code = e.unified_social_credit_code),
  362. 0
  363. )
  364. )
  365. )
  366. AS utilityArrearsDeduction,
  367. - LEAST( COUNT( cfm.unified_social_credit_code ), 2 ) * 1 AS falseDeclarationMaterialsProvided,
  368. 10 - (
  369. GREATEST(
  370. 0,
  371. LEAST( COUNT( caci.unified_social_credit_code ), 2 ) * 5 +
  372. LEAST( COUNT( cas.unified_social_credit_code ), 2 ) * 5 +
  373. LEAST( COUNT( crmas.unified_social_credit_code ), 5 ) * 1 +
  374. LEAST( COUNT( cci.unified_social_credit_code ), 2 ) * 1
  375. )
  376. )+10 - (GREATEST(0,
  377. LEAST( COUNT( cucci.unified_social_credit_code ), 3 ) * 1 +
  378. LEAST( COUNT( ccni.unified_social_credit_code ), 3 ) * 1 +
  379. CASE
  380. WHEN COUNT( csiai.unified_social_credit_code ) > 2 THEN
  381. 5 ELSE LEAST( COUNT( csiai.unified_social_credit_code ), 2 ) * 2
  382. END+
  383. (
  384. SELECT
  385. LEAST(
  386. 5,
  387. COALESCE(
  388. (SELECT SUM(CASE WHEN is_currently_in_arrears = '是' THEN 1 ELSE 0 END) FROM crm_quarterly_water_usage WHERE unified_social_credit_code = e.unified_social_credit_code),
  389. 0
  390. ) +
  391. COALESCE(
  392. (SELECT SUM(CASE WHEN arrear_exists = '是' THEN 1 ELSE 0 END) FROM crm_quarterly_electricity_bill WHERE unified_social_credit_code = e.unified_social_credit_code),
  393. 0
  394. ) +
  395. COALESCE(
  396. (SELECT SUM(CASE WHEN is_overdue = '是' THEN 1 ELSE 0 END) FROM crm_gas_fee_information WHERE unified_social_credit_code = e.unified_social_credit_code),
  397. 0
  398. )+LEAST( COUNT( cfm.unified_social_credit_code ), 2 ) * 1
  399. )
  400. ))) AS total
  401. FROM
  402. crm_high_tech_zone_enterprises AS e
  403. LEFT JOIN crm_administrative_compulsion_information AS caci ON e.unified_social_credit_code = caci.unified_social_credit_code and EXTRACT(YEAR FROM date_of_administrative_compulsion_decision) >= EXTRACT(YEAR FROM CURDATE()) - 1
  404. LEFT JOIN crm_administrative_sanction AS cas ON e.unified_social_credit_code = cas.unified_social_credit_code and EXTRACT(YEAR FROM sanction_decision_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  405. LEFT JOIN crm_administrative_supervision AS crmas ON e.unified_social_credit_code = crmas.unified_social_credit_code and EXTRACT(YEAR FROM inspection_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  406. LEFT JOIN crm_complaint_information AS cci ON e.unified_social_credit_code = cci.unified_social_credit_code and EXTRACT(YEAR FROM complaint_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  407. LEFT JOIN crm_unfulfilled_credit_commitment_information AS cucci ON e.unified_social_credit_code = cucci.unified_social_credit_code and EXTRACT(YEAR FROM unfulfilled_credit_item_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  408. LEFT JOIN crm_contract_nonperformance_info AS ccni ON e.unified_social_credit_code = ccni.unified_social_credit_code and EXTRACT(YEAR FROM scheduled_performance_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  409. LEFT JOIN crm_social_insurance_arrears_info AS csiai ON e.unified_social_credit_code = csiai.unified_social_credit_code
  410. AND csiai.is_currently_in_arrears = '是'
  411. LEFT JOIN crm_fraudulent_materials AS cfm ON e.unified_social_credit_code = cfm.unified_social_credit_code and EXTRACT(YEAR FROM submission_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  412. <where>
  413. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  414. and e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  415. </if>
  416. <if test="enterpriseName !=null and enterpriseName != ''">
  417. and e.enterprise_name like concat('%', #{enterpriseName}, '%')
  418. </if>
  419. </where>
  420. GROUP BY
  421. e.unified_social_credit_code -- 根据企业代码分组
  422. ORDER BY
  423. total DESC;
  424. </select>
  425. <select id="enterpriseScore" resultType="com.zksy.system.basicData.model.respone.EnterpriseScoreDto">
  426. SELECT
  427. e.unified_social_credit_code AS unifiedSocialCreditCode,
  428. e.enterprise_name AS enterpriseName,
  429. CASE
  430. WHEN DATEDIFF( NOW(), bl.establishment_date ) >= 3650 THEN
  431. 1
  432. WHEN DATEDIFF( NOW(), bl.establishment_date ) >= 1095
  433. AND DATEDIFF( NOW(), bl.establishment_date ) &lt; 3650 THEN
  434. 0.8 ELSE 0.6
  435. END AS operationalYearsScore,-- 产值得分
  436. COALESCE (
  437. CASE
  438. WHEN SUM( ovi.first_quarter_amount + ovi.second_quarter_amount + ovi.third_quarter_amount + ovi.fourth_quarter_amount ) > 100000 THEN
  439. 4
  440. WHEN SUM( ovi.first_quarter_amount + ovi.second_quarter_amount + ovi.third_quarter_amount + ovi.fourth_quarter_amount ) BETWEEN 20000
  441. AND 100000 THEN
  442. 3.5 ELSE 3
  443. END,
  444. 3
  445. ) AS revenueScore,-- 计算组织建设得分
  446. CASE
  447. WHEN ( pp.id IS NOT NULL AND u.id IS NOT NULL )
  448. OR ( pp.id IS NOT NULL AND cm.id IS NOT NULL )
  449. OR ( u.id IS NOT NULL AND cm.id IS NOT NULL ) THEN
  450. 1 -- 含有任意两项
  451. WHEN pp.id IS NOT NULL
  452. OR u.id IS NOT NULL
  453. OR cm.id IS NOT NULL THEN
  454. 0.5 -- 含有其中任意一项
  455. ELSE 0.5 -- 三项均无
  456. END AS organizationalStructureScore,-- 上市得分
  457. COALESCE (
  458. CASE
  459. WHEN ls.listing_board IN ('主板', '中小板', '创业板', '科创板', '%境外%') THEN 1
  460. WHEN ls.listing_board IN ('京交所', '新三板') THEN 0.8
  461. WHEN ls.listing_board = '上市后备' THEN 0.6
  462. ELSE NULL
  463. END,
  464. 0 -- 非上市企业默认得分
  465. ) AS listingScore,-- 业务资质证书信息得分
  466. COALESCE (
  467. CASE
  468. WHEN ql.qualification_level LIKE '%高%'
  469. OR ql.qualification_level LIKE '%甲%' THEN
  470. 2
  471. WHEN ql.qualification_level LIKE '%中%'
  472. OR ql.qualification_level LIKE '%乙%' THEN
  473. 1.6
  474. WHEN ql.qualification_level LIKE '%低%'
  475. OR ql.qualification_level LIKE '%丙%' THEN
  476. 1.2 ELSE NULL
  477. END,
  478. 1.6
  479. ) AS qualificationCertificateScore,-- 计算体系认证得分
  480. COALESCE (
  481. (
  482. SELECT
  483. CASE
  484. WHEN
  485. COUNT( DISTINCT sc.certification_type ) >= 2 THEN
  486. 1 ELSE SUM( CASE WHEN sc.certification_type IN ( '质量管理', '环境管理' ) THEN 0.5 ELSE 0 END )
  487. END
  488. FROM
  489. crm_system_certification_info sc
  490. WHERE
  491. sc.unified_social_credit_code = e.unified_social_credit_code
  492. AND sc.certification_type IN ( '质量管理', '环境管理' )),
  493. 1
  494. ) AS systemCertificationScore,
  495. CASE
  496. WHEN cte.end_date > NOW() THEN
  497. 3 -- 若记录存在且在有效期内
  498. ELSE 0 -- 否则
  499. END AS highTechEnterpriseScore,
  500. COALESCE (
  501. (
  502. SELECT
  503. MAX( score )
  504. FROM
  505. (
  506. SELECT
  507. CASE
  508. WHEN
  509. ned.giant_code = e.unified_social_credit_code THEN
  510. 1 ELSE 0
  511. END AS score
  512. FROM
  513. crm_new_enterprise_recognition_details ned
  514. WHERE
  515. ned.giant_code = e.unified_social_credit_code UNION ALL
  516. SELECT
  517. CASE
  518. WHEN
  519. ned.unified_social_credit_code = e.unified_social_credit_code THEN
  520. 1 ELSE 0
  521. END
  522. FROM
  523. crm_new_enterprise_recognition_details ned
  524. WHERE
  525. ned.unified_social_credit_code = e.unified_social_credit_code
  526. ) AS scores
  527. ),
  528. 0
  529. ) AS specializedNewScore,
  530. CASE
  531. WHEN te.unified_social_credit_code IS NOT NULL THEN
  532. 1 ELSE 0
  533. END AS scienceAndTechnologySME,
  534. (
  535. COALESCE (
  536. (
  537. SELECT
  538. 1
  539. FROM
  540. crm_enterprise_technology_rnd_summary AS trs
  541. WHERE
  542. trs.unified_social_credit_code = e.unified_social_credit_code
  543. AND (
  544. ( tr.lab_construction IS NOT NULL AND TRIM( lab_construction ) &lt;&gt; '' )
  545. OR ( tr.government_funding_support IS NOT NULL AND TRIM( government_funding_support ) &lt;&gt; '' )
  546. OR ( tr.participation_in_standards IS NOT NULL AND TRIM( participation_in_standards ) &lt;&gt; '' )
  547. OR ( tr.talent_certification IS NOT NULL AND TRIM( talent_certification ) &lt;&gt; '' )
  548. OR (trs.other_related_activities IS NOT NULL AND TRIM(trs.other_related_activities) &lt;&gt; '')
  549. )
  550. LIMIT 1
  551. ),
  552. 1
  553. )
  554. ) AS enterpriseTechnologyRnDScore,
  555. COALESCE (
  556. (
  557. SELECT
  558. LEAST(
  559. 3,
  560. ( SELECT COUNT(*) FROM crm_enterprise_trademark_information WHERE unified_social_credit_code = e.unified_social_credit_code ) * 0.1 + ( SELECT COUNT(*) FROM crm_patent_information WHERE unified_social_credit_code = e.unified_social_credit_code ) * 0.1 + ( SELECT COUNT(*) FROM crm_software_copyright_information WHERE unified_social_credit_code = e.unified_social_credit_code ) * 0.1
  561. )
  562. ),
  563. 0
  564. ) AS intellectualPropertyScore,
  565. COALESCE ( ( SELECT 1 FROM crm_credit_redlist_info cri WHERE cri.unified_social_credit_code = e.unified_social_credit_code LIMIT 1 ), 0.5 ) AS creditRedListBonus,
  566. COALESCE (
  567. (
  568. SELECT
  569. LEAST(
  570. 1,
  571. SUM( CASE WHEN ( bhi.well_known_brand IS NOT NULL AND TRIM( well_known_brand ) &lt;&gt; '' ) THEN 0.5 ELSE 0 END ) +
  572. CASE
  573. WHEN ( bhi.famous_trademark IS NOT NULL AND TRIM( famous_trademark ) &lt;&gt; '' ) THEN
  574. 0.5 ELSE 0
  575. END
  576. )
  577. FROM
  578. crm_brand_honor_info bhi
  579. WHERE
  580. bhi.unified_social_credit_code = e.unified_social_credit_code
  581. ),
  582. 1
  583. ) AS brandHonorScore,
  584. COALESCE (
  585. (
  586. SELECT
  587. LEAST(
  588. 2,
  589. SUM(
  590. CASE
  591. WHEN gh.honor_type LIKE '%国家%' THEN
  592. 1
  593. WHEN gh.honor_type LIKE '%省市%' THEN
  594. 0.8
  595. WHEN gh.honor_type LIKE '%区县%' THEN
  596. 0.6 ELSE 0
  597. END
  598. )
  599. )
  600. FROM
  601. crm_government_awarded_honors gh
  602. WHERE
  603. gh.unified_social_credit_code = e.unified_social_credit_code
  604. AND gh.publish_year >= DATE_SUB( CURDATE(), INTERVAL 3 YEAR )
  605. ),
  606. 2
  607. ) AS governmentHonorBonus,
  608. COALESCE (
  609. (
  610. SELECT
  611. LEAST( 1, SUM( 0.5 ) )
  612. FROM
  613. crm_association_honor_information ah
  614. WHERE
  615. ah.unified_social_credit_code = e.unified_social_credit_code
  616. AND ah.release_year >= DATE_SUB( NOW(), INTERVAL 3 YEAR )
  617. ),
  618. 1
  619. ) AS associationHonorBonus,-- 纳税额得分
  620. COALESCE (
  621. CASE
  622. WHEN SUM( epi.first_quarter_amount + epi.second_quarter_amount + epi.third_quarter_amount + epi.fourth_quarter_amount ) > 10000000 THEN
  623. 4
  624. WHEN SUM( epi.first_quarter_amount + epi.second_quarter_amount + epi.third_quarter_amount + epi.fourth_quarter_amount ) BETWEEN 1000000
  625. AND 10000000 THEN
  626. 3 ELSE 2
  627. END,
  628. 2
  629. ) AS taxPaymentScore,
  630. COALESCE (
  631. (
  632. SELECT
  633. CASE
  634. WHEN
  635. esi.remarks NOT LIKE '%未参保%'
  636. AND esi.remarks NOT LIKE '%无人员参保%' THEN
  637. 1 ELSE 0.5
  638. END
  639. FROM
  640. crm_enterprise_social_security_info esi
  641. WHERE
  642. esi.unified_social_credit_code = e.unified_social_credit_code
  643. ),
  644. 0
  645. ) AS socialSecurityScore,
  646. COALESCE ( ( SELECT LEAST( 1, SUM( 0.5 )) FROM crm_charity_info ci WHERE ci.unified_social_credit_code = e.unified_social_credit_code ), 0 ) AS charityActivityScore,
  647. (
  648. CASE
  649. WHEN DATEDIFF( NOW(), bl.establishment_date ) >= 3650 THEN
  650. 1
  651. WHEN DATEDIFF( NOW(), bl.establishment_date ) >= 1095
  652. AND DATEDIFF( NOW(), bl.establishment_date ) &lt; 3650 THEN
  653. 0.8 ELSE 0.6
  654. END + -- 产值得分
  655. COALESCE (
  656. CASE
  657. WHEN SUM( ovi.first_quarter_amount + ovi.second_quarter_amount + ovi.third_quarter_amount + ovi.fourth_quarter_amount ) > 100000 THEN
  658. 4
  659. WHEN SUM( ovi.first_quarter_amount + ovi.second_quarter_amount + ovi.third_quarter_amount + ovi.fourth_quarter_amount ) BETWEEN 20000
  660. AND 100000 THEN
  661. 3.5 ELSE 3
  662. END,
  663. 3
  664. ) +
  665. CASE
  666. WHEN ( pp.id IS NOT NULL AND u.id IS NOT NULL )
  667. OR ( pp.id IS NOT NULL AND cm.id IS NOT NULL )
  668. OR ( u.id IS NOT NULL AND cm.id IS NOT NULL ) THEN
  669. 1 -- 含有任意两项
  670. WHEN pp.id IS NOT NULL
  671. OR u.id IS NOT NULL
  672. OR cm.id IS NOT NULL THEN
  673. 0.5 ELSE 0.5
  674. END + COALESCE (
  675. CASE
  676. WHEN ls.listing_board IN ('主板', '中小板', '创业板', '科创板', '%境外%') THEN 1
  677. WHEN ls.listing_board IN ('京交所', '新三板') THEN 0.8
  678. WHEN ls.listing_board = '上市后备' THEN 0.6
  679. ELSE NULL
  680. END,
  681. 0 -- 非上市企业默认得分
  682. ) + COALESCE (
  683. CASE
  684. WHEN ql.qualification_level LIKE '%高%'
  685. OR ql.qualification_level LIKE '%甲%' THEN
  686. 2
  687. WHEN ql.qualification_level LIKE '%中%'
  688. OR ql.qualification_level LIKE '%乙%' THEN
  689. 1.6
  690. WHEN ql.qualification_level LIKE '%低%'
  691. OR ql.qualification_level LIKE '%丙%' THEN
  692. 1.2 ELSE NULL
  693. END,
  694. 1.6
  695. )+ COALESCE (
  696. (
  697. SELECT
  698. CASE
  699. WHEN
  700. COUNT( DISTINCT sc.certification_type ) >= 2 THEN
  701. 1 ELSE SUM( CASE WHEN sc.certification_type IN ( '质量管理', '环境管理' ) THEN 0.5 ELSE 0 END )
  702. END
  703. FROM
  704. crm_system_certification_info sc
  705. WHERE
  706. sc.unified_social_credit_code = e.unified_social_credit_code
  707. AND sc.certification_type IN ( '质量管理', '环境管理' )),
  708. 1
  709. )+
  710. CASE
  711. WHEN cte.end_date > NOW() THEN
  712. 3 -- 若记录存在且在有效期内
  713. ELSE 0 -- 否则
  714. END + COALESCE (
  715. (
  716. SELECT
  717. MAX( score )
  718. FROM
  719. (
  720. SELECT
  721. CASE
  722. WHEN
  723. ned.giant_code = e.unified_social_credit_code THEN
  724. 1 ELSE 0
  725. END AS score
  726. FROM
  727. crm_new_enterprise_recognition_details ned
  728. WHERE
  729. ned.giant_code = e.unified_social_credit_code UNION ALL
  730. SELECT
  731. CASE
  732. WHEN
  733. ned.unified_social_credit_code = e.unified_social_credit_code THEN
  734. 1 ELSE 0
  735. END
  736. FROM
  737. crm_new_enterprise_recognition_details ned
  738. WHERE
  739. ned.unified_social_credit_code = e.unified_social_credit_code
  740. ) AS scores
  741. ),
  742. 0
  743. )+CASE
  744. WHEN te.unified_social_credit_code IS NOT NULL THEN
  745. 1 ELSE 0 END+ COALESCE (
  746. (
  747. SELECT
  748. 1
  749. FROM
  750. crm_enterprise_technology_rnd_summary AS trs
  751. WHERE
  752. trs.unified_social_credit_code = e.unified_social_credit_code
  753. AND (
  754. ( tr.lab_construction IS NOT NULL AND TRIM( lab_construction ) &lt;&gt; '' )
  755. OR ( tr.government_funding_support IS NOT NULL AND TRIM( government_funding_support ) &lt;&gt; '' )
  756. OR ( tr.participation_in_standards IS NOT NULL AND TRIM( participation_in_standards ) &lt;&gt; '' )
  757. OR ( tr.talent_certification IS NOT NULL AND TRIM( talent_certification ) &lt;&gt; '' )
  758. OR (trs.other_related_activities IS NOT NULL AND TRIM(trs.other_related_activities) &lt;&gt; '')
  759. )
  760. LIMIT 1
  761. ),
  762. 1
  763. ) + COALESCE (
  764. (
  765. SELECT
  766. LEAST(
  767. 3,
  768. ( SELECT COUNT(*) FROM crm_enterprise_trademark_information WHERE unified_social_credit_code = e.unified_social_credit_code ) * 0.1 + ( SELECT COUNT(*) FROM crm_patent_information WHERE unified_social_credit_code = e.unified_social_credit_code ) * 0.1 + ( SELECT COUNT(*) FROM crm_software_copyright_information WHERE unified_social_credit_code = e.unified_social_credit_code ) * 0.1
  769. )
  770. ),
  771. 0
  772. ) + COALESCE ( ( SELECT 1 FROM crm_credit_redlist_info cri WHERE cri.unified_social_credit_code = e.unified_social_credit_code LIMIT 1 ), 0.5 )+ COALESCE (
  773. (
  774. SELECT
  775. LEAST(
  776. 1,
  777. SUM( CASE WHEN ( bhi.well_known_brand IS NOT NULL AND TRIM( well_known_brand ) &lt;&gt; '' ) THEN 0.5 ELSE 0 END ) +
  778. CASE
  779. WHEN ( bhi.famous_trademark IS NOT NULL AND TRIM( famous_trademark ) &lt;&gt; '' ) THEN
  780. 0.5 ELSE 0
  781. END
  782. )
  783. FROM
  784. crm_brand_honor_info bhi
  785. WHERE
  786. bhi.unified_social_credit_code = e.unified_social_credit_code
  787. ),
  788. 1
  789. ) + COALESCE (
  790. (
  791. SELECT
  792. LEAST(
  793. 2,
  794. SUM(
  795. CASE
  796. WHEN gh.honor_type LIKE '%国家%' THEN
  797. 1
  798. WHEN gh.honor_type LIKE '%省市%' THEN
  799. 0.8
  800. WHEN gh.honor_type LIKE '%区县%' THEN
  801. 0.6 ELSE 0
  802. END
  803. )
  804. )
  805. FROM
  806. crm_government_awarded_honors gh
  807. WHERE
  808. gh.unified_social_credit_code = e.unified_social_credit_code
  809. AND gh.publish_year >= DATE_SUB( CURDATE(), INTERVAL 3 YEAR )
  810. ),
  811. 2
  812. ) + COALESCE (
  813. (
  814. SELECT
  815. LEAST( 1, SUM( 0.5 ) )
  816. FROM
  817. crm_association_honor_information ah
  818. WHERE
  819. ah.unified_social_credit_code = e.unified_social_credit_code
  820. AND ah.release_year >= DATE_SUB( NOW(), INTERVAL 3 YEAR )
  821. ),
  822. 1
  823. )+ COALESCE (
  824. CASE
  825. WHEN SUM( epi.first_quarter_amount + epi.second_quarter_amount + epi.third_quarter_amount + epi.fourth_quarter_amount ) > 10000000 THEN
  826. 4
  827. WHEN SUM( epi.first_quarter_amount + epi.second_quarter_amount + epi.third_quarter_amount + epi.fourth_quarter_amount ) BETWEEN 1000000
  828. AND 10000000 THEN
  829. 3 ELSE 2
  830. END,
  831. 2
  832. ) + COALESCE (
  833. (
  834. SELECT
  835. CASE
  836. WHEN
  837. esi.remarks NOT LIKE '%未参保%'
  838. AND esi.remarks NOT LIKE '%无人员参保%' THEN
  839. 1 ELSE 0.5
  840. END
  841. FROM
  842. crm_enterprise_social_security_info esi
  843. WHERE
  844. esi.unified_social_credit_code = e.unified_social_credit_code
  845. ),
  846. 0
  847. ) + COALESCE ( ( SELECT LEAST( 1, SUM( 0.5 )) FROM crm_charity_info ci WHERE ci.unified_social_credit_code = e.unified_social_credit_code ), 0 )
  848. ) AS total
  849. FROM
  850. crm_high_tech_zone_enterprises AS e
  851. LEFT JOIN crm_business_license_information AS bl ON e.unified_social_credit_code = bl.unified_social_credit_code
  852. LEFT JOIN crm_output_value AS ovi ON e.unified_social_credit_code = ovi.unified_social_credit_code
  853. AND ovi.annual_amount = EXTRACT(YEAR FROM CURDATE()) - 1
  854. LEFT JOIN crm_party_branch_information AS pp ON e.unified_social_credit_code = pp.unified_social_credit_code
  855. LEFT JOIN crm_union_information AS u ON e.unified_social_credit_code = u.unified_social_credit_code
  856. LEFT JOIN crm_credit_management AS cm ON e.unified_social_credit_code = cm.unified_social_credit_code
  857. LEFT JOIN crm_qualification_certificate_info AS ql ON e.unified_social_credit_code = ql.unified_social_credit_code
  858. LEFT JOIN crm_listed_company AS ls ON e.unified_social_credit_code = ls.unified_social_credit_code
  859. LEFT JOIN crm_business_license_information AS bli ON e.unified_social_credit_code = bli.unified_social_credit_code
  860. LEFT JOIN crm_certified_technology_enterprise AS cte ON e.unified_social_credit_code = cte.unified_social_credit_code
  861. AND cte.end_date IS NOT NULL -- 确保只考虑那些有end_date记录的
  862. LEFT JOIN crm_technology_enterprises AS te ON e.unified_social_credit_code = te.unified_social_credit_code
  863. LEFT JOIN crm_enterprise_technology_rnd_summary AS tr ON e.unified_social_credit_code = tr.unified_social_credit_code
  864. LEFT JOIN crm_business_license_information AS cbl ON e.unified_social_credit_code = cbl.unified_social_credit_code
  865. LEFT JOIN crm_enterprise_tax_payment_info AS epi ON e.unified_social_credit_code = epi.unified_social_credit_code
  866. AND epi.annual_amount = EXTRACT(YEAR FROM CURDATE()) - 1
  867. <where>
  868. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  869. and e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  870. </if>
  871. <if test="enterpriseName !=null and enterpriseName != ''">
  872. and e.enterprise_name like concat('%', #{enterpriseName}, '%')
  873. </if>
  874. </where>
  875. GROUP BY
  876. e.unified_social_credit_code -- 根据企业代码分组
  877. ORDER BY
  878. total DESC;
  879. </select>
  880. <select id="getCrmFinancialReportList" resultType="com.zksy.system.domain.bo.FinancialBo">
  881. SELECT
  882. unified_social_credit_code,
  883. enterprise_name,
  884. SUM(CASE WHEN project = '应收账款余额(万元)' THEN beginning_balance ELSE 0 END) AS beginning_accounts_receivable,
  885. SUM(CASE WHEN project = '应收账款余额(万元)' THEN ending_balance ELSE 0 END) AS ending_accounts_receivable,
  886. SUM(CASE WHEN project = '存货余额(万元)' THEN beginning_balance ELSE 0 END) AS beginning_inventory,
  887. SUM(CASE WHEN project = '存货余额(万元)' THEN ending_balance ELSE 0 END) AS ending_inventory,
  888. SUM(CASE WHEN project = '流动资产(万元)' THEN beginning_balance ELSE 0 END) AS beginning_current_assets,
  889. SUM(CASE WHEN project = '流动资产(万元)' THEN ending_balance ELSE 0 END) AS ending_current_assets,
  890. SUM(CASE WHEN project = '资产总额(万元)' THEN beginning_balance ELSE 0 END) AS beginning_total_assets,
  891. SUM(CASE WHEN project = '资产总额(万元)' THEN ending_balance ELSE 0 END) AS ending_total_assets,
  892. SUM(CASE WHEN project = '流动负债(万元)' THEN beginning_balance ELSE 0 END) AS beginning_current_liabilities,
  893. SUM(CASE WHEN project = '流动负债(万元)' THEN ending_balance ELSE 0 END) AS ending_current_liabilities,
  894. SUM(CASE WHEN project = '负债总额(万元)' THEN beginning_balance ELSE 0 END) AS beginning_total_liabilities,
  895. SUM(CASE WHEN project = '负债总额(万元)' THEN ending_balance ELSE 0 END) AS ending_total_liabilities,
  896. SUM(CASE WHEN project = '净资产(万元)' THEN beginning_balance ELSE 0 END) AS beginning_equity,
  897. SUM(CASE WHEN project = '净资产(万元)' THEN ending_balance ELSE 0 END) AS ending_equity,
  898. SUM(CASE WHEN project = '营业总收入(万元)' THEN beginning_balance ELSE 0 END) AS beginning_operating_revenue,
  899. SUM(CASE WHEN project = '营业总收入(万元)' THEN ending_balance ELSE 0 END) AS ending_operating_revenue,
  900. SUM(CASE WHEN project = '营业成本(万元)' THEN beginning_balance ELSE 0 END) AS beginning_operating_cost,
  901. SUM(CASE WHEN project = '营业成本(万元)' THEN ending_balance ELSE 0 END) AS ending_operating_cost,
  902. SUM(CASE WHEN project = '研发(R&amp;D)经费(万元)' THEN beginning_balance ELSE 0 END) AS beginning_r_and_d_expense,
  903. SUM(CASE WHEN project = '研发(R&amp;D)经费(万元)' THEN ending_balance ELSE 0 END) AS ending_r_and_d_expense,
  904. SUM(CASE WHEN project = '营业利润(万元)' THEN beginning_balance ELSE 0 END) AS beginning_operating_profit,
  905. SUM(CASE WHEN project = '营业利润(万元)' THEN ending_balance ELSE 0 END) AS ending_operating_profit,
  906. SUM(CASE WHEN project = '利润总额(万元)' THEN beginning_balance ELSE 0 END) AS beginning_total_profit,
  907. SUM(CASE WHEN project = '利润总额(万元)' THEN ending_balance ELSE 0 END) AS ending_total_profit,
  908. SUM(CASE WHEN project = '净利润(万元)' THEN beginning_balance ELSE 0 END) AS beginning_net_profit,
  909. SUM(CASE WHEN project = '净利润(万元)' THEN ending_balance ELSE 0 END) AS ending_net_profit,
  910. SUM(CASE WHEN project = '经营活动产生的现金流量净额(万元)' THEN beginning_balance ELSE 0 END) AS beginning_cash_flow_from_operations,
  911. SUM(CASE WHEN project = '经营活动产生的现金流量净额(万元)' THEN ending_balance ELSE 0 END) AS ending_cash_flow_from_operations,
  912. practitioners
  913. FROM
  914. crm_financial_report
  915. <where>
  916. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  917. and unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  918. </if>
  919. <if test="enterpriseName !=null and enterpriseName != ''">
  920. and enterprise_name like concat('%', #{enterpriseName}, '%')
  921. </if>
  922. </where>
  923. GROUP BY
  924. unified_social_credit_code,
  925. enterprise_name,
  926. practitioners
  927. </select>
  928. <select id="legalDeduction" resultType="com.zksy.system.basicData.model.respone.LegalDeductionDto">
  929. SELECT
  930. e.unified_social_credit_code AS unifiedSocialCreditCode,
  931. e.enterprise_name AS enterpriseName,-- 计算诉讼扣分
  932. - LEAST( COUNT( cli.unified_social_credit_code ), 2 ) * 5 AS 检察案件刑事诉讼扣分,-- 存在诉讼记录每条扣5分,最多扣10分
  933. CASE
  934. WHEN COUNT( cde.unified_social_credit_code ) > 3 THEN
  935. -10 ELSE - LEAST( COUNT( cde.unified_social_credit_code ), 3 ) * 3
  936. END AS 司法涉诉被执行人扣分,
  937. - LEAST( COUNT( ja.unified_social_credit_code ), 5 ) * 1 AS 拍卖公告司法拍卖扣分,-- 合并扣分并限制最大扣分不超过10分
  938. - LEAST( COUNT( cppsa.unified_social_credit_code ), 2 ) * 1 AS 公安公告行政处罚扣分,
  939. - LEAST( COUNT( cla.unified_social_credit_code ), 2 ) * 1 AS arbitrationInfoLaborArbitrationDeduction, -- 劳动仲裁使用裁决表
  940. 10 - (
  941. GREATEST(
  942. 0,
  943. LEAST(COUNT(cli.unified_social_credit_code), 2) * 5 +
  944. CASE WHEN COUNT(cde.unified_social_credit_code) > 3 THEN 10 ELSE LEAST(COUNT(cde.unified_social_credit_code), 3) * 3 END +
  945. LEAST(COUNT(ja.unified_social_credit_code), 5) * 1 +
  946. LEAST(COUNT(cppsa.unified_social_credit_code), 2) * 1 +
  947. LEAST(COUNT(cla.unified_social_credit_code), 2) * 1
  948. )
  949. ) AS total
  950. FROM
  951. crm_high_tech_zone_enterprises AS e
  952. LEFT JOIN crm_criminal_litigation_information AS cli ON e.unified_social_credit_code = cli.unified_social_credit_code and release_date >= DATE_SUB( CURDATE(), INTERVAL 1 YEAR ) -- 新增JOIN诉讼信息表
  953. LEFT JOIN crm_subject_to_execution AS cde ON e.unified_social_credit_code = cde.unified_social_credit_code and filing_time >= DATE_SUB( CURDATE(), INTERVAL 1 YEAR )
  954. LEFT JOIN crm_judicial_auction AS ja ON e.unified_social_credit_code = ja.unified_social_credit_code and auction_time >= DATE_SUB( CURDATE(), INTERVAL 1 YEAR ) -- 新增JOIN司法拍卖表
  955. LEFT JOIN crm_punish_public_security_announcement AS cppsa ON e.unified_social_credit_code = cppsa.unified_social_credit_code and punishment_date >= DATE_SUB( CURDATE(), INTERVAL 1 YEAR )
  956. LEFT JOIN crm_administrative_sanction_info AS cla ON e.unified_social_credit_code = cla.unified_social_credit_code and EXTRACT(YEAR FROM date_of_sanction) >= EXTRACT(YEAR FROM CURDATE()) - 1
  957. <where>
  958. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  959. and e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  960. </if>
  961. <if test="enterpriseName !=null and enterpriseName != ''">
  962. and e.enterprise_name like concat('%', #{enterpriseName}, '%')
  963. </if>
  964. </where>
  965. GROUP BY
  966. e.unified_social_credit_code -- 根据企业代码分组
  967. ORDER BY
  968. total DESC;
  969. </select>
  970. <select id="ratedLevelC" resultType="com.zksy.system.basicData.domain.CrmHighTechZoneEnterprises">
  971. SELECT DISTINCT e.*
  972. FROM crm_high_tech_zone_enterprises e
  973. WHERE e.unified_social_credit_code IN (
  974. SELECT unified_social_credit_code FROM crm_emergency_other_penalty WHERE (penalty_reason LIKE '%非正常户%' OR penalty_reason LIKE '%未办理税务登记%')
  975. UNION
  976. SELECT unified_social_credit_code FROM crm_business_abnormality WHERE (listing_reason LIKE '%瞒报%' OR listing_reason LIKE '%谎报%' OR listing_reason LIKE '%漏报%'OR listing_reason LIKE '%挂牌督办%')
  977. UNION
  978. SELECT unified_social_credit_code FROM crm_market_regulation WHERE (punishment_reason LIKE '%暂扣许可证%'
  979. OR punishment_reason LIKE '%吊销许可证%'
  980. OR punishment_reason LIKE '%降低资质等级%'
  981. OR punishment_reason LIKE '%责令停产停业%'
  982. OR punishment_reason LIKE '%责令关闭%'
  983. OR punishment_reason LIKE '%限制开展生产经营活动%')
  984. UNION
  985. SELECT unified_social_credit_code FROM crm_criminal_litigation_information WHERE (judgment_content LIKE '%生产销售伪劣产品%' OR judgment_content LIKE '%非法吸收公众存款%' OR judgment_content LIKE '%集资诈骗%' OR judgment_content LIKE '%非法经营%')
  986. )
  987. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  988. AND e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  989. </if>
  990. </select>
  991. <select id="ratedLevelD" resultType="com.zksy.system.basicData.domain.CrmHighTechZoneEnterprises">
  992. SELECT DISTINCT e.*
  993. FROM crm_high_tech_zone_enterprises e
  994. WHERE e.unified_social_credit_code IN (
  995. SELECT unified_social_credit_code FROM crm_dishonest_executor /*where EXTRACT(YEAR FROM filing_time) >= EXTRACT(YEAR FROM CURDATE()) - 1*/
  996. UNION
  997. SELECT unified_social_credit_code FROM crm_seriously_illegal_and_dishonest_list /*where EXTRACT(YEAR FROM listing_decision_date) >= EXTRACT(YEAR FROM CURDATE()) - 1*/
  998. UNION
  999. SELECT cba.unified_social_credit_code FROM crm_business_license_information cbli
  1000. LEFT JOIN crm_bankruptcy_announcement cba on cba.unified_social_credit_code = cbli.unified_social_credit_code and cbli.status not in ('已成立','续存')
  1001. UNION
  1002. SELECT unified_social_credit_code FROM crm_suspended_business_info
  1003. UNION
  1004. SELECT unified_social_credit_code FROM crm_liquidation_info
  1005. )
  1006. <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
  1007. AND e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
  1008. </if>
  1009. </select>
  1010. <select id="getDeductionPoints" resultType="java.lang.String">
  1011. <![CDATA[
  1012. -- 行政处罚
  1013. SELECT unified_social_credit_code FROM crm_business_abnormality AS cba WHERE EXTRACT(YEAR FROM listing_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1014. UNION ALL SELECT unified_social_credit_code FROM crm_equity_freeze AS cef WHERE EXTRACT(YEAR FROM publicity_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1015. UNION ALL SELECT unified_social_credit_code FROM crm_price_penalty AS cpp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1016. UNION ALL SELECT unified_social_credit_code FROM crm_ip_infringement AS cii WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1017. UNION ALL SELECT unified_social_credit_code FROM crm_product_recall AS cpr WHERE EXTRACT(YEAR FROM date_published) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1018. UNION ALL SELECT unified_social_credit_code FROM crm_movable_property_mortgage AS chm WHERE EXTRACT(YEAR FROM mortgage_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1019. UNION ALL SELECT unified_social_credit_code FROM crm_equity_pledge_information AS cepi WHERE EXTRACT(YEAR FROM pledge_registration_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1020. UNION ALL SELECT unified_social_credit_code FROM crm_market_regulation AS cmr WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1021. UNION ALL SELECT unified_social_credit_code FROM crm_tax_arrears AS cta WHERE EXTRACT(YEAR FROM date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1022. UNION ALL SELECT unified_social_credit_code FROM crm_tax_urge AS ctu WHERE EXTRACT(YEAR FROM urge_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1023. UNION ALL SELECT unified_social_credit_code FROM crm_corrective_action AS cca WHERE EXTRACT(YEAR FROM penalty_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1024. UNION ALL SELECT unified_social_credit_code FROM crm_other_punishments AS cop WHERE EXTRACT(YEAR FROM punishment_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1025. UNION ALL SELECT unified_social_credit_code FROM crm_key_polluters AS ckp WHERE EXTRACT(YEAR FROM disclosure_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1026. UNION ALL SELECT unified_social_credit_code FROM crm_env_supervision_violation_supervision AS cesv WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1027. UNION ALL SELECT unified_social_credit_code FROM crm_environmental_other_penalties AS ceop WHERE EXTRACT(YEAR FROM penalty_datetime) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1028. UNION ALL SELECT unified_social_credit_code FROM crm_emergency_other_penalty AS eop WHERE EXTRACT(YEAR FROM penalty_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1029. UNION ALL SELECT unified_social_credit_code FROM crm_listing_supervision_penalty AS clsp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1030. UNION ALL SELECT unified_social_credit_code FROM crm_arrears_notification_financial AS canf WHERE EXTRACT(YEAR FROM arrears_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1031. UNION ALL SELECT unified_social_credit_code FROM crm_construction_other_penalties AS ccop WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1032. UNION ALL SELECT unified_social_credit_code FROM crm_land_resources_penalty AS clrp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1033. UNION ALL SELECT unified_social_credit_code FROM crm_labor_supervision_punishment AS lsp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1034. UNION ALL SELECT unified_social_credit_code FROM crm_civil_penalties AS ccp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1035. UNION ALL SELECT unified_social_credit_code FROM crm_civil_management_dishonesty AS ccmd WHERE EXTRACT(YEAR FROM punishment_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1036. UNION ALL SELECT unified_social_credit_code FROM crm_miit_post_penalty AS cmpp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1037. UNION ALL SELECT unified_social_credit_code FROM crm_agri_fishery_water_penalty AS cafwp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1038. UNION ALL SELECT unified_social_credit_code FROM crm_finance_supervision_pbc_penalty AS cfspp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1039. UNION ALL SELECT unified_social_credit_code FROM crm_finance_supervision_fiscal_penalty AS cfsfp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1040. UNION ALL SELECT unified_social_credit_code FROM crm_finance_supervision_financial_penalty AS fsfp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1041. UNION ALL SELECT unified_social_credit_code FROM crm_finance_supervision_local_penalty AS cfslp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1042. UNION ALL SELECT unified_social_credit_code FROM crm_health_sanitation_penalty AS chsp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1043. UNION ALL SELECT unified_social_credit_code FROM crm_energy_electricity_penalty AS ceep WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1044. UNION ALL SELECT unified_social_credit_code FROM crm_commerce_penalty AS cp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1045. UNION ALL SELECT unified_social_credit_code FROM crm_sci_edu_culture_penalty AS csecp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1046. UNION ALL SELECT unified_social_credit_code FROM crm_broadcast_communication_penalty AS cbcp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1047. UNION ALL SELECT unified_social_credit_code FROM crm_urban_administration_penalty AS cuap WHERE EXTRACT(YEAR FROM punishment_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1048. UNION ALL SELECT unified_social_credit_code FROM crm_industry_organization_discipline_penalty AS ciodp WHERE EXTRACT(YEAR FROM punishment_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1049. UNION ALL SELECT unified_social_credit_code FROM crm_unsatisfactory_supplier_penalty AS cusp WHERE EXTRACT(YEAR FROM punishment_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1050. UNION ALL SELECT unified_social_credit_code FROM crm_unqualified_suppliers_punishment AS usp WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1051. UNION ALL SELECT unified_social_credit_code FROM crm_bad_supplier_enterprise_penalty AS cbsep WHERE EXTRACT(YEAR FROM punishment_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1052. UNION ALL SELECT unified_social_credit_code FROM crm_other_penalty_administrative AS copa WHERE EXTRACT(YEAR FROM penalty_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1053. UNION ALL SELECT unified_social_credit_code FROM crm_administrative_penalty AS cap WHERE EXTRACT(YEAR FROM penalty_decision_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1054. -- 司法裁判
  1055. UNION ALL SELECT unified_social_credit_code FROM crm_criminal_litigation_information AS cli WHERE EXTRACT(YEAR FROM release_date) >= EXTRACT(YEAR FROM CURDATE()) - 1 -- 新增JOIN诉讼信息表
  1056. UNION ALL SELECT unified_social_credit_code FROM crm_subject_to_execution AS cde WHERE EXTRACT(YEAR FROM filing_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1057. UNION ALL SELECT unified_social_credit_code FROM crm_judicial_auction AS ja WHERE EXTRACT(YEAR FROM auction_time) >= EXTRACT(YEAR FROM CURDATE()) - 1 -- 新增JOIN司法拍卖表
  1058. UNION ALL SELECT unified_social_credit_code FROM crm_punish_public_security_announcement AS cppsa WHERE EXTRACT(YEAR FROM punishment_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1059. UNION ALL SELECT unified_social_credit_code FROM crm_administrative_sanction_info AS cla WHERE EXTRACT(YEAR FROM date_of_sanction) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1060. -- 行政监管、践诺履约
  1061. UNION ALL SELECT unified_social_credit_code FROM crm_administrative_compulsion_information AS caci WHERE EXTRACT(YEAR FROM date_of_administrative_compulsion_decision) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1062. UNION ALL SELECT unified_social_credit_code FROM crm_administrative_sanction AS cas WHERE EXTRACT(YEAR FROM sanction_decision_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1063. UNION ALL SELECT unified_social_credit_code FROM crm_administrative_supervision AS crmas WHERE EXTRACT(YEAR FROM inspection_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1064. UNION ALL SELECT unified_social_credit_code FROM crm_complaint_information AS cci WHERE EXTRACT(YEAR FROM complaint_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1065. UNION ALL SELECT unified_social_credit_code FROM crm_unfulfilled_credit_commitment_information AS cucci WHERE EXTRACT(YEAR FROM unfulfilled_credit_item_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1066. UNION ALL SELECT unified_social_credit_code FROM crm_contract_nonperformance_info AS ccni WHERE EXTRACT(YEAR FROM scheduled_performance_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1067. UNION ALL SELECT unified_social_credit_code FROM crm_social_insurance_arrears_info AS csiai WHERE csiai.is_currently_in_arrears = '是'
  1068. UNION ALL SELECT unified_social_credit_code FROM crm_fraudulent_materials AS cfm WHERE EXTRACT(YEAR FROM submission_date) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1069. UNION ALL SELECT unified_social_credit_code FROM crm_quarterly_water_usage WHERE is_currently_in_arrears = '是' and EXTRACT(YEAR FROM annual) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1070. UNION ALL SELECT unified_social_credit_code FROM crm_quarterly_electricity_bill WHERE arrear_exists = '是' and EXTRACT(YEAR FROM `year`) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1071. UNION ALL SELECT unified_social_credit_code FROM crm_gas_fee_information WHERE is_overdue = '是'
  1072. -- 直接评D的处罚
  1073. UNION ALL SELECT unified_social_credit_code FROM crm_dishonest_executor -- where EXTRACT(YEAR FROM filing_time) >= EXTRACT(YEAR FROM CURDATE()) - 1
  1074. UNION ALL SELECT unified_social_credit_code FROM crm_seriously_illegal_and_dishonest_list where unified_social_credit_code IS NOT NULL AND unified_social_credit_code <> ''
  1075. UNION ALL SELECT unified_social_credit_code FROM crm_bankruptcy_announcement WHERE unified_social_credit_code IN
  1076. (SELECT cba.unified_social_credit_code FROM crm_business_license_information cbli
  1077. LEFT JOIN crm_bankruptcy_announcement cba on cba.unified_social_credit_code = cbli.unified_social_credit_code and cbli.status not in ('已成立','续存'))
  1078. UNION ALL
  1079. SELECT unified_social_credit_code FROM crm_suspended_business_info
  1080. UNION ALL
  1081. SELECT unified_social_credit_code FROM crm_liquidation_info
  1082. ]]>
  1083. </select>
  1084. </mapper>