diff --git a/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java b/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java
index 8e0e0de..0c64494 100644
--- a/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java
+++ b/src/main/java/com/sztzjy/digital_credit/controller/StuRateController.java
@@ -93,6 +93,14 @@ private StuRateService rateService;
 
     }
 
+    @ApiOperation("企业征信:重新实训")
+    @PostMapping("enterpriseRetraining")
+    @AnonymousAccess
+    public ResultEntity enterpriseRetraining(String userId){
+
+        return rateService.enterpriseRetraining(userId);
+
+    }
 
 
 }
diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasure.java b/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasure.java
index 69a1d68..aecf942 100644
--- a/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasure.java
+++ b/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasure.java
@@ -4,6 +4,7 @@ import java.util.Date;
 
 import io.swagger.annotations.ApiModelProperty;
 /**
+ * 企业增信措施
  *
  * @author whb
  * stu_credit_enhance_measure
@@ -28,6 +29,9 @@ public class StuCreditEnhanceMeasure {
     @ApiModelProperty("错误分数")
     private Integer errorNumber;
 
+    @ApiModelProperty("归属模块")
+    private String module;
+
     @ApiModelProperty("增信方案")
     private String enchancePlan;
 
@@ -87,6 +91,14 @@ public class StuCreditEnhanceMeasure {
         this.errorNumber = errorNumber;
     }
 
+    public String getModule() {
+        return module;
+    }
+
+    public void setModule(String module) {
+        this.module = module == null ? null : module.trim();
+    }
+
     public String getEnchancePlan() {
         return enchancePlan;
     }
diff --git a/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasureExample.java b/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasureExample.java
index b0817a0..90fcd80 100644
--- a/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasureExample.java
+++ b/src/main/java/com/sztzjy/digital_credit/entity/StuCreditEnhanceMeasureExample.java
@@ -544,6 +544,76 @@ public class StuCreditEnhanceMeasureExample {
             addCriterion("error_number not between", value1, value2, "errorNumber");
             return (Criteria) this;
         }
+
+        public Criteria andModuleIsNull() {
+            addCriterion("module is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleIsNotNull() {
+            addCriterion("module is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleEqualTo(String value) {
+            addCriterion("module =", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleNotEqualTo(String value) {
+            addCriterion("module <>", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleGreaterThan(String value) {
+            addCriterion("module >", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleGreaterThanOrEqualTo(String value) {
+            addCriterion("module >=", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleLessThan(String value) {
+            addCriterion("module <", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleLessThanOrEqualTo(String value) {
+            addCriterion("module <=", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleLike(String value) {
+            addCriterion("module like", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleNotLike(String value) {
+            addCriterion("module not like", value, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleIn(List<String> values) {
+            addCriterion("module in", values, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleNotIn(List<String> values) {
+            addCriterion("module not in", values, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleBetween(String value1, String value2) {
+            addCriterion("module between", value1, value2, "module");
+            return (Criteria) this;
+        }
+
+        public Criteria andModuleNotBetween(String value1, String value2) {
+            addCriterion("module not between", value1, value2, "module");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {
diff --git a/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java b/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java
index 37337a1..cfa177e 100644
--- a/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java
+++ b/src/main/java/com/sztzjy/digital_credit/service/StuRateService.java
@@ -65,4 +65,12 @@ public interface StuRateService {
     */
 
     ResultEntity enhanceMeasureByAutoRating(StuCreditEnhanceMeasure enhanceMeasure);
+
+    /**
+        * 企业征信:重新实训
+        * @param userId
+        * @return
+    */
+
+    ResultEntity enterpriseRetraining(String userId);
 }
diff --git a/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java b/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java
index 4250a3c..15562b6 100644
--- a/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java
+++ b/src/main/java/com/sztzjy/digital_credit/service/impl/StuRateServiceImpl.java
@@ -5,9 +5,7 @@ package com.sztzjy.digital_credit.service.impl;/**
 
 import cn.hutool.core.util.IdUtil;
 import com.sztzjy.digital_credit.entity.*;
-import com.sztzjy.digital_credit.mapper.StuCreditEnhanceMeasureMapper;
-import com.sztzjy.digital_credit.mapper.StuRatingModelMapper;
-import com.sztzjy.digital_credit.mapper.StuRatingResultMapper;
+import com.sztzjy.digital_credit.mapper.*;
 import com.sztzjy.digital_credit.service.StuRateService;
 import com.sztzjy.digital_credit.util.ResultEntity;
 import org.springframework.beans.BeanUtils;
@@ -31,6 +29,40 @@ public class StuRateServiceImpl implements StuRateService {
     @Autowired
     private StuCreditEnhanceMeasureMapper creditEnhanceMeasureMapper;
 
+    @Autowired
+    private StuBaseInfoMapper baseInfoMapper;
+
+    @Autowired
+    private StuCreditRecordsMapper creditRecordsMapper;
+
+
+    @Autowired
+    private StuDuPontAnalysisMapper duPontAnalysisMapper;
+
+    @Autowired
+    private StuGrowthAbilityMapper  growthAbilityMapper;
+
+    @Autowired
+    private StuOperatingCapacityMapper  operatingCapacityMapper;
+
+    @Autowired
+    private StuOperationAssetAnalysisModuleMapper  operationAssetAnalysisModuleMapper;
+
+    @Autowired
+    private StuProfitAbilityMapper  profitAbilityMapper;
+
+    @Autowired
+    private StuRatingResultMapper  ratingResultMapper;
+
+    @Autowired
+    private StuScoreModuleMapper  scoreModuleMapper;
+
+    @Autowired
+    private StuSolvencyMapper  solvencyMapper;
+
+
+
+
     @Override
     public ResultEntity getRateInfo(String userId) {
 
@@ -342,6 +374,83 @@ public class StuRateServiceImpl implements StuRateService {
         return new ResultEntity<>(HttpStatus.OK,"保存成功!",scoreByAuto);
     }
 
+    /**
+        * 企业征信:重新实训
+        * @param userId
+        * @return
+    */
+
+    @Override
+    public ResultEntity enterpriseRetraining(String userId) {
+
+
+        StuBaseInfoExample stuBaseInfoExample = new StuBaseInfoExample();
+        stuBaseInfoExample.createCriteria().andUserIdEqualTo(userId);
+        baseInfoMapper.deleteByExample(stuBaseInfoExample);
+
+
+        StuCreditEnhanceMeasureExample stuCreditEnhanceMeasureExample = new StuCreditEnhanceMeasureExample();
+        stuCreditEnhanceMeasureExample.createCriteria().andUserIdEqualTo(userId);
+        creditEnhanceMeasureMapper.deleteByExample(stuCreditEnhanceMeasureExample);
+
+
+        StuCreditRecordsExample stuCreditRecordsExample = new StuCreditRecordsExample();
+        stuCreditRecordsExample.createCriteria().andUserIdEqualTo(userId);
+        creditRecordsMapper.deleteByExample(stuCreditRecordsExample);
+
+
+        StuDuPontAnalysisExample stuDuPontAnalysisExample = new StuDuPontAnalysisExample();
+        stuDuPontAnalysisExample.createCriteria().andUserIdEqualTo(userId);
+        duPontAnalysisMapper.deleteByExample(stuDuPontAnalysisExample);
+
+
+
+        StuGrowthAbilityExample stuGrowthAbilityExample = new StuGrowthAbilityExample();
+        stuGrowthAbilityExample.createCriteria().andUserIdEqualTo(userId);
+        growthAbilityMapper.deleteByExample(stuGrowthAbilityExample);
+
+
+        StuOperatingCapacityExample stuOperatingCapacityExample = new StuOperatingCapacityExample();
+        stuOperatingCapacityExample.createCriteria().andUserIdEqualTo(userId);
+        operatingCapacityMapper.deleteByExample(stuOperatingCapacityExample);
+
+
+        StuOperationAssetAnalysisModuleExample stuOperationAssetAnalysisModuleExample = new StuOperationAssetAnalysisModuleExample();
+        stuOperationAssetAnalysisModuleExample.createCriteria().andUserIdEqualTo(userId);
+        operationAssetAnalysisModuleMapper.deleteByExample(stuOperationAssetAnalysisModuleExample);
+
+
+        StuProfitAbilityExample stuProfitAbilityExample = new StuProfitAbilityExample();
+        stuProfitAbilityExample.createCriteria().andUserIdEqualTo(userId);
+        profitAbilityMapper.deleteByExample(stuProfitAbilityExample);
+
+        StuRatingModelExample ratingModelExample = new StuRatingModelExample();
+        ratingModelExample.createCriteria().andUserIdEqualTo(userId);
+        ratingModelMapper.deleteByExample(ratingModelExample);
+
+
+        StuRatingResultExample stuRatingResultExample = new StuRatingResultExample();
+        stuRatingResultExample.createCriteria().andUserIdEqualTo(userId);
+        ratingResultMapper.deleteByExample(stuRatingResultExample);
+
+
+//        StuScoreModuleExample stuOperationAssetAnalysisModuleExample = new StuScoreModuleExample();
+//        stuOperationAssetAnalysisModuleExample.createCriteria().andUserIdEqualTo(userId);
+//        operationAssetAnalysisModuleMapper.deleteByExample(stuOperationAssetAnalysisModuleExample);
+//
+//
+//        StuDuPontAnalysisExample stuDuPontAnalysisExample = new StuDuPontAnalysisExample();
+//        stuDuPontAnalysisExample.createCriteria().andUserIdEqualTo(userId);
+//        duPontAnalysisMapper.deleteByExample(stuDuPontAnalysisExample);
+
+
+
+
+
+
+        return null;
+    }
+
     //增信措施自动评分
     private int enchancePlanAutoScore(int length) {
 
diff --git a/src/main/resources/mappers/StuCreditEnhanceMeasureMapper.xml b/src/main/resources/mappers/StuCreditEnhanceMeasureMapper.xml
index fcd15d0..64a2cb5 100644
--- a/src/main/resources/mappers/StuCreditEnhanceMeasureMapper.xml
+++ b/src/main/resources/mappers/StuCreditEnhanceMeasureMapper.xml
@@ -9,6 +9,7 @@
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="error_number" jdbcType="INTEGER" property="errorNumber" />
+    <result column="module" jdbcType="VARCHAR" property="module" />
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.sztzjy.digital_credit.entity.StuCreditEnhanceMeasure">
     <result column="enchance_plan" jdbcType="LONGVARCHAR" property="enchancePlan" />
@@ -72,7 +73,7 @@
     </where>
   </sql>
   <sql id="Base_Column_List">
-    id, tch_score, sys_score, user_id, create_time, update_time, error_number
+    id, tch_score, sys_score, user_id, create_time, update_time, error_number, module
   </sql>
   <sql id="Blob_Column_List">
     enchance_plan
@@ -128,10 +129,12 @@
   <insert id="insert" parameterType="com.sztzjy.digital_credit.entity.StuCreditEnhanceMeasure">
     insert into stu_credit_enhance_measure (id, tch_score, sys_score, 
       user_id, create_time, update_time, 
-      error_number, enchance_plan)
+      error_number, module, enchance_plan
+      )
     values (#{id,jdbcType=VARCHAR}, #{tchScore,jdbcType=INTEGER}, #{sysScore,jdbcType=INTEGER}, 
       #{userId,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, 
-      #{errorNumber,jdbcType=INTEGER}, #{enchancePlan,jdbcType=LONGVARCHAR})
+      #{errorNumber,jdbcType=INTEGER}, #{module,jdbcType=VARCHAR}, #{enchancePlan,jdbcType=LONGVARCHAR}
+      )
   </insert>
   <insert id="insertSelective" parameterType="com.sztzjy.digital_credit.entity.StuCreditEnhanceMeasure">
     insert into stu_credit_enhance_measure
@@ -157,6 +160,9 @@
       <if test="errorNumber != null">
         error_number,
       </if>
+      <if test="module != null">
+        module,
+      </if>
       <if test="enchancePlan != null">
         enchance_plan,
       </if>
@@ -183,6 +189,9 @@
       <if test="errorNumber != null">
         #{errorNumber,jdbcType=INTEGER},
       </if>
+      <if test="module != null">
+        #{module,jdbcType=VARCHAR},
+      </if>
       <if test="enchancePlan != null">
         #{enchancePlan,jdbcType=LONGVARCHAR},
       </if>
@@ -218,6 +227,9 @@
       <if test="record.errorNumber != null">
         error_number = #{record.errorNumber,jdbcType=INTEGER},
       </if>
+      <if test="record.module != null">
+        module = #{record.module,jdbcType=VARCHAR},
+      </if>
       <if test="record.enchancePlan != null">
         enchance_plan = #{record.enchancePlan,jdbcType=LONGVARCHAR},
       </if>
@@ -235,6 +247,7 @@
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       update_time = #{record.updateTime,jdbcType=TIMESTAMP},
       error_number = #{record.errorNumber,jdbcType=INTEGER},
+      module = #{record.module,jdbcType=VARCHAR},
       enchance_plan = #{record.enchancePlan,jdbcType=LONGVARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -248,7 +261,8 @@
       user_id = #{record.userId,jdbcType=VARCHAR},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       update_time = #{record.updateTime,jdbcType=TIMESTAMP},
-      error_number = #{record.errorNumber,jdbcType=INTEGER}
+      error_number = #{record.errorNumber,jdbcType=INTEGER},
+      module = #{record.module,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -274,6 +288,9 @@
       <if test="errorNumber != null">
         error_number = #{errorNumber,jdbcType=INTEGER},
       </if>
+      <if test="module != null">
+        module = #{module,jdbcType=VARCHAR},
+      </if>
       <if test="enchancePlan != null">
         enchance_plan = #{enchancePlan,jdbcType=LONGVARCHAR},
       </if>
@@ -288,6 +305,7 @@
       create_time = #{createTime,jdbcType=TIMESTAMP},
       update_time = #{updateTime,jdbcType=TIMESTAMP},
       error_number = #{errorNumber,jdbcType=INTEGER},
+      module = #{module,jdbcType=VARCHAR},
       enchance_plan = #{enchancePlan,jdbcType=LONGVARCHAR}
     where id = #{id,jdbcType=VARCHAR}
   </update>
@@ -298,7 +316,8 @@
       user_id = #{userId,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       update_time = #{updateTime,jdbcType=TIMESTAMP},
-      error_number = #{errorNumber,jdbcType=INTEGER}
+      error_number = #{errorNumber,jdbcType=INTEGER},
+      module = #{module,jdbcType=VARCHAR}
     where id = #{id,jdbcType=VARCHAR}
   </update>
 </mapper>
\ No newline at end of file