Pārlūkot izejas kodu

性能验证-报告归档树

ZhuJiaHao 5 mēneši atpakaļ
vecāks
revīzija
6accb55cc5

+ 15 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/api/IExperimentalService.java

@@ -1,6 +1,7 @@
 package com.lc.ibps.components.pv.api;
 
 import java.util.List;
+import java.util.Map;
 
 import org.hibernate.validator.constraints.NotBlank;
 import org.hibernate.validator.constraints.NotEmpty;
@@ -79,4 +80,18 @@ public interface IExperimentalService {
 	@RequestMapping(value = "/save", method = { RequestMethod.POST })
 	public APIResult<String> save(
  			@RequestBody(required = true) @Valid ExperimentalPo experimentalPo);
+
+
+	/**
+	 * 性能验证 归档结构树
+	 * @param level
+	 * @param name
+	 * @return
+	 */
+	@RequestMapping(value = "/getArchiveTree", method = { RequestMethod.GET })
+	public APIResult<List<Map<String,String>>> getArchiveTree(@RequestParam(required = false) int level,
+															   @RequestParam(required = false) String name1,
+															   @RequestParam(required = false) String name2,
+															   @RequestParam(required = false) String name3,
+															   @RequestParam(required = false) String name4);
 }

+ 5 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/persistence/dao/ExperimentalQueryDao.java

@@ -3,6 +3,8 @@ package com.lc.ibps.components.pv.persistence.dao;
 import com.lc.ibps.base.framework.persistence.dao.IQueryDao;
 import com.lc.ibps.components.pv.persistence.entity.ExperimentalPo;
 
+import java.util.List;
+
 /**
  * 性能验证实验信息 查询Dao接口
  *
@@ -13,4 +15,7 @@ import com.lc.ibps.components.pv.persistence.entity.ExperimentalPo;
  *</pre>
  */
 public interface ExperimentalQueryDao extends IQueryDao<String, ExperimentalPo> {
+
+    public List<ExperimentalPo> queryByKey(String key);
+
 }

+ 9 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/persistence/dao/impl/ExperimentalQueryDaoImpl.java

@@ -7,6 +7,9 @@ import com.lc.ibps.base.db.ddd.dao.MyBatisQueryDaoImpl;
 import com.lc.ibps.components.pv.persistence.dao.ExperimentalQueryDao;
 import com.lc.ibps.components.pv.persistence.entity.ExperimentalPo;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  *性能验证实验信息 查询Dao的实现类
  *
@@ -24,4 +27,10 @@ public class ExperimentalQueryDaoImpl extends MyBatisQueryDaoImpl<String, Experi
     public String getNamespace() {
         return ExperimentalPo.class.getName();
     }
+
+
+    @Override
+    public List<ExperimentalPo> queryByKey(String key) {
+        return this.query(key);
+    }
 }

+ 56 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/provider/ExperimentalProvider.java

@@ -1,10 +1,15 @@
 package com.lc.ibps.components.pv.provider;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
+import com.lc.ibps.base.db.model.DefaultQueryFilter;
+import com.lc.ibps.form.dao.ExperimentalDao;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -44,6 +49,9 @@ public class ExperimentalProvider extends GenericProvider implements IExperiment
 	@Resource
 	private ExperimentalRepository experimentalRepository;
 
+	@Autowired
+	private ExperimentalDao experimentalDao;
+
 	@ApiOperation(value = "性能验证实验信息列表(分页条件查询)数据", notes = "性能验证实验信息列表(分页条件查询)数据")
 	@Override
 	public APIResult<APIPageList<ExperimentalPo>> query(
@@ -120,5 +128,52 @@ public class ExperimentalProvider extends GenericProvider implements IExperiment
 		}
 		return result;
 	}
-	
+
+
+	@Override
+	public APIResult<List<Map<String,String>>> getArchiveTree(@RequestParam(required = false) int level,
+															   @RequestParam(required = false) String name1,
+															   @RequestParam(required = false) String name2,
+															   @RequestParam(required = false) String name3,
+															   @RequestParam(required = false) String name4) {
+
+		APIResult apiResult = new APIResult();
+		List<String> resultList = new ArrayList<>();
+		List<Map<Object,String>> result = new ArrayList<>();
+		switch (level) {
+			case 1:
+				resultList = experimentalDao.treeForLevel1();
+				break;
+			case 2:
+				resultList = experimentalDao.treeForLevel2(name1);
+				break;
+			case 3:
+				resultList = experimentalDao.treeForLevel3(name1,name2);
+				break;
+			case 4:
+				resultList = experimentalDao.treeForLevel4(name1,name2,name3);
+				break;
+			case 5:
+				result = experimentalDao.treeForLevel5(name1,name2,name3,name4);
+				break;
+			default:
+				//apiResult.setState(200);
+				apiResult.setMessage("没有符合条件的数据");
+				apiResult.setData(null);
+				break;
+		}
+
+		if(level != 5){
+			for(String name:resultList){
+				Map<Object,String> map = new HashMap<>();
+				map.put("name",name);
+				result.add(map);
+			}
+		}
+
+		apiResult.setMessage("查询成功");
+		apiResult.setData(result);
+
+		return apiResult;
+	}
 }

+ 4 - 0
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/repository/ExperimentalRepository.java

@@ -4,6 +4,8 @@ import com.lc.ibps.base.framework.repository.IRepository;
 import com.lc.ibps.components.pv.domain.Experimental;
 import com.lc.ibps.components.pv.persistence.entity.ExperimentalPo;
 
+import java.util.List;
+
 /**
  * 性能验证实验信息 仓库接口
  *
@@ -20,4 +22,6 @@ public interface ExperimentalRepository extends IRepository<String, Experimental
 	 * void
 	 */
 	public ExperimentalPo loadCascade(String id);
+
+	public List<ExperimentalPo> queryByKey(String key);
 }

+ 7 - 1
ibps-provider-root/modules/provider-business/src/main/java/com/lc/ibps/components/pv/repository/impl/ExperimentalRepositoryImpl.java

@@ -1,5 +1,6 @@
 package com.lc.ibps.components.pv.repository.impl;
 
+import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -85,5 +86,10 @@ public class ExperimentalRepositoryImpl extends AbstractRepository<String, Exper
 		}
 		return experimentalPo;
 	}
-	
+
+
+	@Override
+	public List<ExperimentalPo> queryByKey(String key) {
+		return experimentalQueryDao.queryByKey(key);
+	}
 }

+ 28 - 0
ibps-provider-root/modules/provider-form/src/main/java/com/lc/ibps/form/dao/ExperimentalDao.java

@@ -0,0 +1,28 @@
+package com.lc.ibps.form.dao;
+
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface ExperimentalDao {
+
+    List<String> treeForLevel1();
+
+    List<String> treeForLevel2(@Param("name1")String name1);
+
+    List<String> treeForLevel3(@Param("name1")String name1,
+                               @Param("name2")String name2);
+
+    List<String> treeForLevel4(@Param("name1")String name1,
+                               @Param("name2")String name2,
+                               @Param("name3")String name3);
+
+    List<Map<Object,String>> treeForLevel5(@Param("name1")String name1,
+                              @Param("name2")String name2,
+                              @Param("name3")String name3,
+                              @Param("name4")String name4);
+}

+ 67 - 0
ibps-provider-root/modules/provider-form/src/main/resources/com/lc/ibps/form/mapping/ExperimentalDao.map.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.lc.ibps.form.dao.ExperimentalDao">
+    <select id="treeForLevel1"  resultType="string">
+        select DISTINCT left(jie_shu_shi_jian_,4) as ID_ from t_xnyzsyxx
+    </select>
+
+
+    <select id="treeForLevel2" parameterType="string" resultType="string">
+        select
+        NAME_
+        from IBPS_PARTY_ENTITY
+        where id_ in(
+            select
+            DISTINCT bian_zhi_bu_men_
+            from t_xnyzsyxx where left(jie_shu_shi_jian_,4) = #{name1}
+        )
+    </select>
+
+
+    <select id="treeForLevel3" parameterType="string" resultType="string">
+        select
+        DISTINCT shi_yan_xiang_mu_
+        from t_xnyzsyxx
+        where bian_zhi_bu_men_ in (
+            select
+            id_
+            from IBPS_PARTY_ENTITY
+            where name_ = #{name2}
+        )
+        and left(jie_shu_shi_jian_,4) = #{name1}
+    </select>
+
+
+    <select id="treeForLevel4" parameterType="string" resultType="string">
+        select
+        DISTINCT shi_yan_yi_qi_
+        from t_xnyzsyxx
+        where bian_zhi_bu_men_ in (
+            select
+            id_
+            from IBPS_PARTY_ENTITY
+            where name_ = #{name2}
+        )
+        and left(jie_shu_shi_jian_,4) = #{name1}
+        and shi_yan_xiang_mu_ = #{name3}
+    </select>
+
+
+    <select id="treeForLevel5" parameterType="string" resultType="map">
+        select
+        concat(fang_an_lei_xing_,'_',left(liu_cheng_shen_pi,10)) as name,
+        id_ as id
+        from t_xnyzsyxx
+        where bian_zhi_bu_men_ in (
+            select
+            id_
+            from IBPS_PARTY_ENTITY
+            where name_ = #{name2}
+        )
+        and left(jie_shu_shi_jian_,4) = #{name1}
+        and shi_yan_xiang_mu_ = #{name3}
+        and shi_yan_yi_qi_ = #{name4}
+        and liu_cheng_shen_pi is not null
+        and liu_cheng_shen_pi != ''
+    </select>
+</mapper>