Jelajahi Sumber

feat(crmHighTechZoneEnterprises): 添加 D 级企业原因接口和相关功能

- 新增 D 级企业原因接口 ratedLevelDReason
- 实现 D 级企业原因查询功能- 添加 RatedLevelDReasonVo 类用于返回查询结果
- 更新 mapper 和 XML 文件以支持新功能
林仔 10 bulan lalu
induk
melakukan
90e58dd150

+ 5 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHighTechZoneEnterprisesController.java

@@ -176,5 +176,10 @@ public class CrmHighTechZoneEnterprisesController extends BaseController {
     public void getUploadTemplate(HttpServletResponse response) throws IOException {
         DowntemplateUtil.downloadTemplate(response,"怀化高新区企业名单模板");
     }
+    @GetMapping("/ratedLevelDReason")
+    @ApiOperation(value = "D级企业原因")
+    public AjaxResult ratedLevelDReason(@ApiParam(value = "企业信用代码",required = false) @RequestParam(value = "unifiedSocialCreditCode") String unifiedSocialCreditCode) {
+        return AjaxResult.success(service.ratedLevelDReason(unifiedSocialCreditCode));
+    }
 }
 

+ 1 - 0
zksy-framework/src/main/java/com/zksy/framework/config/ResourcesConfig.java

@@ -85,6 +85,7 @@ public class ResourcesConfig implements WebMvcConfigurer {
                 "/owSelfReporting/downloadTemplateWord",
                 "/owSelfReporting/checkInformationByUnicode",
                 "/crmHighTechZoneEnterprises/getCreditScoreMostDetailsByUniCode",
+                "/crmHighTechZoneEnterprises/ratedLevelDReason",
                 //post
                 "/crmComplain/save",
                 "/owSelfReporting/save",

+ 30 - 0
zksy-system/src/main/java/com/zksy/system/basicData/domain/vo/RatedLevelDReasonVo.java

@@ -0,0 +1,30 @@
+package com.zksy.system.basicData.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project credit-rating
+ * @description D级企业原因
+ * @date 2025/7/28 14:01:19
+ */
+@Data
+public class RatedLevelDReasonVo {
+    @ApiModelProperty(value = "统一社会信用代码")
+    private String unifiedSocialCreditCode;
+    @ApiModelProperty(value = "企业名称")
+    private String enterpriseName;
+    @ApiModelProperty(value = "类型")
+    private String type;
+    @ApiModelProperty(value = "文号")
+    private String documentNumber;
+    @ApiModelProperty(value = "列入时间")
+    private String includeTime;
+    @ApiModelProperty(value = "公告机关")
+    private String announcementAuthority;
+    @ApiModelProperty(value = "列入原因")
+    private String reason;
+
+}

+ 3 - 0
zksy-system/src/main/java/com/zksy/system/basicData/mapper/CrmHighTechZoneEnterprisesMapper.java

@@ -2,6 +2,7 @@ package com.zksy.system.basicData.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zksy.system.basicData.domain.CrmHighTechZoneEnterprises;
+import com.zksy.system.basicData.domain.vo.RatedLevelDReasonVo;
 import com.zksy.system.basicData.model.respone.*;
 import com.zksy.system.domain.bo.FinancialBo;
 import org.apache.ibatis.annotations.Param;
@@ -87,6 +88,8 @@ public interface CrmHighTechZoneEnterprisesMapper extends BaseMapper<CrmHighTech
      */
     List<CrmHighTechZoneEnterprises> ratedLevelD(String unifiedSocialCreditCode);
 
+    List<RatedLevelDReasonVo> ratedLevelDReason(String unifiedSocialCreditCode);
+
     List<FinancialBo> getCrmFinancialReportList(@Param("unifiedSocialCreditCode")String unifiedSocialCreditCode,@Param("enterpriseName")String enterpriseName);
 
     /**

+ 3 - 0
zksy-system/src/main/java/com/zksy/system/basicData/service/CrmHighTechZoneEnterprisesService.java

@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zksy.common.core.domain.AjaxResult;
 import com.zksy.common.utils.page.Page;
 import com.zksy.system.basicData.domain.CrmHighTechZoneEnterprises;
+import com.zksy.system.basicData.domain.vo.RatedLevelDReasonVo;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 /**
  * 高新区企业(119家)Service接口
@@ -72,4 +74,5 @@ public interface CrmHighTechZoneEnterprisesService extends IService<CrmHighTechZ
     AjaxResult getDeductionPoints();
 
     AjaxResult creditScoreMostDetailsByUniCode(String unifiedSocialCreditCode);
+    List<RatedLevelDReasonVo> ratedLevelDReason(String unifiedSocialCreditCode);
 }

+ 6 - 0
zksy-system/src/main/java/com/zksy/system/basicData/service/impl/CrmHighTechZoneEnterprisesServiceImpl.java

@@ -15,6 +15,7 @@ import com.zksy.system.basicData.domain.CrmDomesticMarketEntityIndustryInfo;
 import com.zksy.system.basicData.domain.CrmHighTechZoneEnterprises;
 import com.zksy.system.basicData.domain.RmEnterprisePerformanceStandard;
 import com.zksy.system.basicData.domain.RmIndustryScale;
+import com.zksy.system.basicData.domain.vo.RatedLevelDReasonVo;
 import com.zksy.system.basicData.mapper.CrmDomesticMarketEntityIndustryInfoMapper;
 import com.zksy.system.basicData.mapper.CrmHighTechZoneEnterprisesMapper;
 import com.zksy.system.basicData.mapper.RmEnterprisePerformanceStandardMapper;
@@ -645,6 +646,11 @@ public class CrmHighTechZoneEnterprisesServiceImpl extends ServiceImpl<CrmHighTe
         return AjaxResult.success(resMap);
     }
 
+    @Override
+    public List<RatedLevelDReasonVo> ratedLevelDReason(String unifiedSocialCreditCode) {
+        return mapper.ratedLevelDReason(unifiedSocialCreditCode);
+    }
+
     private static void setResMap(Object o, LinkedHashMap<String, Double> resMap) {
         Class<?> clazz = o.getClass();
         for (Field field : clazz.getDeclaredFields()) {

+ 19 - 0
zksy-system/src/main/resources/mapper/basicData/CrmHighTechZoneEnterprisesMapper.xml

@@ -1040,6 +1040,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             AND e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
         </if>
     </select>
+    <select id="ratedLevelDReason" resultType="com.zksy.system.basicData.domain.vo.RatedLevelDReasonVo">
+        SELECT DISTINCT e.unified_social_credit_code,e.enterprise_name,subquery.type,subquery.documentNumber,subquery.includeTime,subquery.announcementAuthority,subquery.reason
+        FROM crm_high_tech_zone_enterprises e
+        JOIN(
+        SELECT unified_social_credit_code ,'司法涉诉-失信被执行人' as type,basis_document_number as documentNumber,filing_time as includeTime,enforcement_court as announcementAuthority,legal_obligation as reason FROM crm_dishonest_executor /*where EXTRACT(YEAR FROM filing_time) >= EXTRACT(YEAR FROM CURDATE()) - 1*/
+        UNION ALL
+        SELECT unified_social_credit_code ,'严重违法失信' as type,document_number as documentNumber,listing_decision_date as includeTime,registration_authority as announcementAuthority,reason_for_listing as reason FROM crm_seriously_illegal_and_dishonest_list /*where EXTRACT(YEAR FROM listing_decision_date) >= EXTRACT(YEAR FROM CURDATE()) - 1*/
+        UNION ALL
+        SELECT cba.unified_social_credit_code ,'破产' as type, cba.document_number as documentNumber ,announcement_date as includeTime,announcement_authority as announcementAuthority,'无' as reason  FROM crm_business_license_information cbli
+        LEFT JOIN crm_bankruptcy_announcement cba on cba.unified_social_credit_code = cbli.unified_social_credit_code and cbli.status not in ('已成立','续存')
+        UNION ALL
+        SELECT unified_social_credit_code ,'停业' as type,'无' as documentNumber,suspension_date as includeTime,handling_authority as announcementAuthority,'无' as reason FROM crm_suspended_business_info
+        UNION ALL
+        SELECT unified_social_credit_code ,'清算' as type, case_number as documentNumber,liquidation_date as includeTime,handling_authority as announcementAuthority,'无' as reason FROM crm_liquidation_info
+        ) as subquery ON e.unified_social_credit_code = subquery.unified_social_credit_code
+        <if test="unifiedSocialCreditCode !=null and unifiedSocialCreditCode != ''">
+            AND e.unified_social_credit_code like concat('%', #{unifiedSocialCreditCode}, '%')
+        </if>
+    </select>
     <select id="getDeductionPoints" resultType="java.lang.String">
         <![CDATA[
         -- 行政处罚