ZhangYanJie 5 сар өмнө
parent
commit
0c50d2507d

+ 1 - 1
src/main/java/com/sundata/internalevaluation/calc/calcUnit/IndexCalcUnit.java

@@ -79,7 +79,7 @@ public class IndexCalcUnit extends CalcUnit {
         // TODO 获取源头节点
         List<IndexSourceModel> indexList = indexConfigService.getIndexSourceList(new IndexConfigModel());
         indexList.stream().map(sourceModel -> new IndexSourceCalcUnit
-                (sourceModel.getIndexNo(),sourceModel.getIndexName(),CalcType.INDEX,Map.of(),sourceModel));
+                (sourceModel.getOtherIndexNo(),"",CalcType.INDEX,Map.of(),sourceModel));
         return new ArrayList<>();
 //        return ConfigImages.indexCalcUnitListMap.get(this);
     }

+ 8 - 8
src/main/java/com/sundata/internalevaluation/configuration/controller/IndexConfigAction.java

@@ -94,14 +94,14 @@ public class IndexConfigAction extends BaseAction {
     public IndexConfigModel selectDetailData(HttpServletRequest request, HttpServletResponse response,
                                                @RequestBody IndexConfigModel model) {
 
-        System.out.println("****** 计算开始 *******");
-        IndexConfigModel configModel = new IndexConfigModel();
-        configModel.setIndexNo("001");
-        configModel.setIndexName("测试");
-        CalcTaskResult calc = CalcUtil.calc("INDEX"+System.currentTimeMillis(),
-                new IndexCalcUnit(configModel.getIndexNo(),configModel.getIndexName(), Map.of(),configModel,indexConfigService),Map.of());
-
-        System.out.println("结果:"+calc);
+//        System.out.println("****** 计算开始 *******");
+//        IndexConfigModel configModel = new IndexConfigModel();
+//        configModel.setIndexNo("001");
+//        configModel.setIndexName("测试");
+//        CalcTaskResult calc = CalcUtil.calc("INDEX"+System.currentTimeMillis(),
+//                new IndexCalcUnit(configModel.getIndexNo(),configModel.getIndexName(), Map.of(),configModel,indexConfigService),Map.of());
+//
+//        System.out.println("结果:"+calc);
 
         return indexConfigService.selectDetailData(model);
     }

+ 4 - 0
src/main/java/com/sundata/internalevaluation/configuration/mapper/IndexConfigMapper.java

@@ -26,4 +26,8 @@ public interface IndexConfigMapper {
      * 根据规则编号查询所有指标
      */
     List<IndexConfigModel> selectIndexListByRuleNo(@Param("ruleNo") String ruleNo);
+
+    void createIndexSource(@Param("indexSource") List<IndexSourceModel> indexSource);
+
+    void deleteIndexSource(String indexNo);
 }

+ 5 - 5
src/main/java/com/sundata/internalevaluation/configuration/model/IndexConfigModel.java

@@ -17,7 +17,7 @@ public class IndexConfigModel {
     // 数据集
     private List<String> dataSets;
     // 指标数据来源
-    private List<IndexSourceModel> indexSourceModel;
+    private List<IndexSourceModel> indexDataSource;
 
     public String getIndexNo() {
         return indexNo;
@@ -67,11 +67,11 @@ public class IndexConfigModel {
         this.dataSets = dataSets;
     }
 
-    public List<IndexSourceModel> getIndexSourceModel() {
-        return indexSourceModel;
+    public List<IndexSourceModel> getIndexDataSource() {
+        return indexDataSource;
     }
 
-    public void setIndexSourceModel(List<IndexSourceModel> indexSourceModel) {
-        this.indexSourceModel = indexSourceModel;
+    public void setIndexDataSource(List<IndexSourceModel> indexDataSource) {
+        this.indexDataSource = indexDataSource;
     }
 }

+ 11 - 21
src/main/java/com/sundata/internalevaluation/configuration/model/IndexSourceModel.java

@@ -2,24 +2,22 @@ package com.sundata.internalevaluation.configuration.model;
 
 public class IndexSourceModel {
     // 指标数据来源编号
-    private String indesSourceNo;
+    private String indexSourceNo;
     // 数据集编号
     private String dataSetNo;
-    // 数据集名称
-    private String dataSetName;
     // 指标编号
     private String indexNo;
-    // 指标名称
-    private String indexName;
+    // 其他指标编号
+    private String otherIndexNo;
     // 数据来源类型
     private String dataSourceType;
 
-    public String getIndesSourceNo() {
-        return indesSourceNo;
+    public String getIndexSourceNo() {
+        return indexSourceNo;
     }
 
-    public void setIndesSourceNo(String indesSourceNo) {
-        this.indesSourceNo = indesSourceNo;
+    public void setIndexSourceNo(String indexSourceNo) {
+        this.indexSourceNo = indexSourceNo;
     }
 
     public String getDataSetNo() {
@@ -30,14 +28,6 @@ public class IndexSourceModel {
         this.dataSetNo = dataSetNo;
     }
 
-    public String getDataSetName() {
-        return dataSetName;
-    }
-
-    public void setDataSetName(String dataSetName) {
-        this.dataSetName = dataSetName;
-    }
-
     public String getIndexNo() {
         return indexNo;
     }
@@ -46,12 +36,12 @@ public class IndexSourceModel {
         this.indexNo = indexNo;
     }
 
-    public String getIndexName() {
-        return indexName;
+    public String getOtherIndexNo() {
+        return otherIndexNo;
     }
 
-    public void setIndexName(String indexName) {
-        this.indexName = indexName;
+    public void setOtherIndexNo(String otherIndexNo) {
+        this.otherIndexNo = otherIndexNo;
     }
 
     public String getDataSourceType() {

+ 58 - 30
src/main/java/com/sundata/internalevaluation/configuration/mybatis/IndexConfigMapper.xml

@@ -8,9 +8,7 @@
         SELECT
         INDEXNO                   AS    indexNo,
         INDEXNAME                 AS    indexName,
-        INDEXLOGIC                AS    indexLogic,
-        DATASOURCE                AS    dataSource,
-        DATASET                   AS    dataSet
+        INDEXLOGIC                AS    indexLogic
         FROM SYS_INDEX
         <where>
             <if test="indexNo != null and indexNo !=''">
@@ -22,47 +20,69 @@
         </where>
     </select>
 
-    <!-- 数据集配置页面初始化 -->
-    <select id="getIndexSourceList" resultType="com.sundata.internalevaluation.configuration.model.IndexSourceModel">
+    <!-- 指标数据来源配置页面初始化 -->
+    <select id="getIndexSourceList" resultType="com.sundata.internalevaluation.configuration.model.IndexSourceModel" parameterType="com.sundata.internalevaluation.configuration.model.IndexConfigModel">
         SELECT
-        INDEXSOURCENO              AS    indesSourceNo,
+        INDEXSOURCENO              AS    indexSourceNo,
         DATASETNO                  AS    dataSetNo,
-        DATASETNAME                AS    dataSetName,
         INDEXNO                    AS    indexNo,
-        INDEXNAME                  AS    indexName,
+        OTHERINDEXNO               AS    otherIndexNo,
         DATASOURCETYPE             AS    dataSourceType
-        FROM SYS_INDEX
+        FROM SYS_INDEX_SOURCE
         <where>
+<!--            <if test="indexNo != null and indexNo !=''">-->
+<!--                INDEXNO like concat(concat('%',#{indexNo}),'%')-->
+<!--            </if>-->
+<!--            <if test="indexName != null and indexName !=''">-->
+<!--                and INDEXNAME like concat(concat('%', #{indexName}),'%')-->
+<!--            </if>-->
             <if test="indexNo != null and indexNo !=''">
-                INDEXNO like concat(concat('%',#{indexNo}),'%')
-            </if>
-            <if test="indexName != null and indexName !=''">
-                and INDEXNAME like concat(concat('%', #{indexName}),'%')
+                and INDEXNO = #{indexNo}
             </if>
         </where>
     </select>
 
-    <!-- 数据集配置页面新增 -->
+    <!-- 指标配置页面新增 -->
     <insert id="createData" parameterType="com.sundata.internalevaluation.configuration.model.IndexConfigModel">
         INSERT INTO SYS_INDEX
         (
         INDEXNO,
         INDEXNAME,
-        INDEXLOGIC,
-        DATASOURCE,
-        DATASET
+        INDEXLOGIC
         )
         VALUES
         (
         #{indexNo},
         #{indexName},
-        #{indexLogic},
-        #{dataSource},
-        #{dataSet}
+        #{indexLogic}
         )
     </insert>
 
-    <!-- 数据集配置页面删除 -->
+    <!-- 指标数据来源页面新增 -->
+    <insert id="createIndexSource" parameterType="java.util.List">
+        INSERT ALL
+        <foreach collection="indexSource" item="model">
+              INTO SYS_INDEX_SOURCE
+            (
+            INDEXSOURCENO,
+            INDEXNO,
+            OTHERINDEXNO,
+            DATASETNO,
+            DATASOURCETYPE
+            )
+            VALUES
+            (
+            #{model.indexSourceNo},
+            #{model.indexNo},
+            #{model.otherIndexNo},
+            #{model.dataSetNo},
+            #{model.dataSourceType}
+            )
+        </foreach>
+        SELECT 1 FROM DUAL
+    </insert>
+
+    <!-- 指标配置页面删除 -->
     <delete id="deleteRows">
         DELETE FROM SYS_INDEX
         <where>
@@ -72,25 +92,34 @@
         </where>
     </delete>
 
+    <!-- 数据源配置页面删除 -->
+    <delete id="deleteIndexSource">
+        DELETE FROM SYS_INDEX_SOURCE
+        <where>
+            <if test="indexNo != null and indexNo !=''">
+                INDEXNO = #{indexNo}
+            </if>
+        </where>
+    </delete>
+
     <!-- 数据集配置页面修改 -->
     <update id="updateExistData" parameterType="com.sundata.internalevaluation.configuration.model.IndexConfigModel">
         UPDATE SYS_INDEX
         <trim suffixOverrides=",">
             <set>
-                <if test="indexNo != null and indexNo !=''">
-                    INDEXNO = #{indexNo},
-                </if>
                 <if test="indexName != null and indexName !=''">
                     INDEXNAME = #{indexName},
                 </if>
                 <if test="indexLogic != null and indexLogic !=''">
                     INDEXLOGIC = #{indexLogic},
                 </if>
-                <if test="dataSource != null and dataSource !=''">
-                    DATASOURCE = #{dataSource},
-                </if>
             </set>
         </trim>
+        <where>
+            <if test="indexNo != null and indexNo !=''">
+                INDEXNO = #{indexNo}
+            </if>
+        </where>
     </update>
 
     <!-- 数据集配置页面初始化 -->
@@ -98,9 +127,7 @@
         SELECT
         INDEXNO                   AS    indexNo,
         INDEXNAME                 AS    indexName,
-        INDEXLOGIC                AS    indexLogic,
-        DATASOURCE                AS    dataSource,
-        DATASET                   AS    dataSet
+        INDEXLOGIC                AS    indexLogic
         FROM SYS_INDEX
         <where>
             <if test="indexNo != null and indexNo !=''">
@@ -115,6 +142,7 @@
         select  DATASETNO as id, DATASETNAME as text from SYS_DATASET_CONFIG
     </select>
 
+
     <select id="selectAllIndexToDict" resultType="com.sundata.admin.nounmanage.model.DictContent">
         select  INDEXNO as id, INDEXNAME as text from SYS_INDEX
     </select>

+ 28 - 6
src/main/java/com/sundata/internalevaluation/configuration/service/IndexConfigService.java

@@ -8,6 +8,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Random;
+import java.util.UUID;
 
 @Service
 public class IndexConfigService {
@@ -36,9 +38,17 @@ public class IndexConfigService {
      * @throws:
      */
     public void createData(IndexConfigModel model) {
-        String dataSet = JsonUtil.toJSONString(model.getDataSets());
-        model.setDataSet(dataSet);
+//        String dataSet = JsonUtil.toJSONString(model.getDataSets());
+////        model.setDataSet(dataSet);
         indexConfigMapper.createData(model);
+        if (null != model.getIndexDataSource() && model.getIndexDataSource().size() >0) {
+            indexConfigMapper.deleteIndexSource(model.getIndexNo());
+            for ( IndexSourceModel m : model.getIndexDataSource()) {
+                m.setIndexNo(model.getIndexNo());
+                m.setIndexSourceNo(UUID.randomUUID().toString());
+            }
+            indexConfigMapper.createIndexSource(model.getIndexDataSource());
+        }
     }
 
     /**
@@ -63,6 +73,14 @@ public class IndexConfigService {
      */
     public void updateExistData(IndexConfigModel model) {
         indexConfigMapper.updateExistData(model);
+        if (null != model.getIndexDataSource() && model.getIndexDataSource().size() >0) {
+            indexConfigMapper.deleteIndexSource(model.getIndexNo());
+            for ( IndexSourceModel m : model.getIndexDataSource()) {
+                m.setIndexNo(model.getIndexNo());
+                m.setIndexSourceNo(UUID.randomUUID().toString());
+            }
+            indexConfigMapper.createIndexSource(model.getIndexDataSource());
+        }
     }
 
     /**
@@ -74,10 +92,14 @@ public class IndexConfigService {
      * @throws:
      */
     public IndexConfigModel selectDetailData(IndexConfigModel model) {
-        IndexConfigModel selectDataSet = indexConfigMapper.selectDetailData(model);
-        List<String> dataset = JsonUtil.jsonToList(selectDataSet.getDataSet());
-        selectDataSet.setDataSets(dataset);
-        return selectDataSet;
+        IndexConfigModel selectDataSource = indexConfigMapper.selectDetailData(model);
+
+        List<IndexSourceModel> sourceList = indexConfigMapper.getIndexSourceList(selectDataSource);
+        selectDataSource.setIndexDataSource(sourceList);
+
+//        List<String> dataset = JsonUtil.jsonToList(selectDataSet.getDataSet());
+//        selectDataSet.setDataSets(dataset);
+        return selectDataSource;
     }
 
     public List<IndexSourceModel> getIndexSourceList(IndexConfigModel indexConfigModel) {