Browse Source

Merge remote-tracking branch 'origin/develop' into develop

lijie 3 years ago
parent
commit
79694622e3

+ 26 - 3
src/main/java/com/persagy/proxy/adm/controller/ComponentBuildingController.java

@@ -7,12 +7,15 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.dto.RequestData;
@@ -44,6 +47,9 @@ import cn.hutool.core.util.StrUtil;
 @RestController
 public class ComponentBuildingController {
 
+	@Value("${middleware.group.code}")
+	private String defaultCode;
+	
 	@Autowired
 	private RelationObjectContext relationObjectContext;
 	
@@ -56,18 +62,35 @@ public class ComponentBuildingController {
 	@RequestMapping("/building/query")
 	public AdmResponse queryBuilding(@RequestBody AdmQueryCriteria queryCriteria, HttpServletRequest request) {
 		String groupCode = request.getHeader(AdmCommonConstant.GROUP_CODE_HEADER);
+		groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
 		String projectId = request.getHeader(AdmCommonConstant.PROJECT_ID_HEADER);
 		
 		// 查询出所有的建筑对象
+		String orders = queryCriteria.getOrders();
 		RequestData requestData = new RequestData();
+		
+		List<OrderItem> orderItems = null;
+		if (StringUtils.isNotBlank(orders)) {
+			orderItems = new ArrayList<OrderItem>();
+			
+			String[] split = orders.split(",");
+			for (String column : split) {
+				if (StringUtils.isNotBlank(column)) {
+					orderItems.add(column.endsWith("asc") ? OrderItem.asc(column.split(" ")[0]) : OrderItem.desc(column.split(" ")[0]));
+				}
+			}
+		}
+		if (CollectionUtil.isNotEmpty(orderItems)) {
+			requestData.setOrders(orderItems);
+		}
 		requestData.setGraphCode(GraphCodeEnum.ArchSubset.name());
 		requestData.setRelCode(RelCodeEnum.Bd2Fl.name());
-		requestData.setPage(1L);
-		requestData.setSize(1000L);
+		requestData.setPage(queryCriteria.getPageNumber() == null ? 1L : queryCriteria.getPageNumber());
+		requestData.setSize(queryCriteria.getPageSize() == null ? 500L : queryCriteria.getPageSize());
 		
 		List<ObjectDigital> masterObjs = this.relationObjectContext.queryPageObjectInfo(requestData, groupCode, projectId, AdmRelationType.ARCHSUBSET_BD2FL);
 		this.handleMasterObjs(masterObjs, groupCode, projectId);
-		return AdmResponse.success();
+		return AdmResponse.success(masterObjs);
 	}
 
 	/**

+ 7 - 2
src/main/java/com/persagy/proxy/adm/controller/RelationReportController.java

@@ -19,6 +19,7 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.util.ResourceUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -30,7 +31,6 @@ import com.alibaba.excel.ExcelWriter;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.google.common.collect.Lists;
-import com.persagy.dmp.define.client.DigitalGraphDefineFacade;
 import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.model.AdmRelationObject;
 import com.persagy.proxy.adm.request.AdmQueryCriteria;
@@ -56,6 +56,9 @@ public class RelationReportController {
 
 	public static final String EXPORT_SHEET_NAME = "关系维护";
 	
+	@Value("${middleware.group.code}")
+	private String defaultCode;
+	
 	@Autowired
 	private RelationObjectContext relationObjectContext;
 	
@@ -269,6 +272,7 @@ public class RelationReportController {
 		ExcelWriter excelWriter = null;
 		try {
 			String groupCode = request.getHeader(AdmCommonConstant.GROUP_CODE_HEADER);
+			groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
 			code = StrUtil.isBlank(code) ? "对象ID" : code;
 			
 			response.setContentType("application/vnd.ms-excel");
@@ -276,7 +280,8 @@ public class RelationReportController {
 			response.setCharacterEncoding(encode);
 			response.setHeader("Content-disposition", "attachment;filename=relation-template.xlsx");
 			
-			List<AdmRelationObject> relationObjects = this.relationReportService.reportRelationObject(groupCode, projectId, relType, code, zoneType);
+			log.info("下载报表: groupCode[{}], projectId[{}], relType[{}], code[{}]", groupCode, projectId, relType, code);
+			List<AdmRelationObject> relationObjects = this.relationObjectContext.findRelationObject(groupCode, projectId, relType);
 			
 			File templateFile = this.getTemplateFile("relation-template.xlsx");
 			EasyExcel.write(response.getOutputStream()).withTemplate(templateFile).sheet(EXPORT_SHEET_NAME).needHead(false).doWrite(relationObjects);

+ 1 - 1
src/main/java/com/persagy/proxy/adm/controller/RelationSpInBdOrFlController.java

@@ -101,7 +101,7 @@ public class RelationSpInBdOrFlController {
      * @param    requestParam    对象
      * @return                       删除的结果信息
      */
-    @PostMapping("/bd-del-1")
+    @PostMapping("/bd-update")
     public AdmResponse delete(@RequestParam String projectId,
                               @RequestBody JSONObject requestParam) throws Exception {
         JSONArray content = requestParam.getJSONArray("content");

+ 1 - 2
src/main/java/com/persagy/proxy/adm/service/IRelationReportService.java

@@ -8,7 +8,6 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.define.entity.GraphDefine;
 import com.persagy.dmp.define.entity.RelationDefine;
 import com.persagy.dmp.digital.entity.ObjectRelation;
-import com.persagy.proxy.adm.model.AdmRelationObject;
 
 /**
  * 报表/模板下载
@@ -152,6 +151,6 @@ public interface IRelationReportService {
 	 * @param zoneType
 	 * @return 可以被直接导出的数据集
 	 */
-	List<AdmRelationObject> reportRelationObject(String groupCode, String projectId, String relType, String code, String zoneType);
+	//List<AdmRelationObject> reportRelationObject(String groupCode, String projectId, String relType, String code, String zoneType);
 
 }

+ 1 - 17
src/main/java/com/persagy/proxy/adm/service/impl/RelationReportService.java

@@ -4,8 +4,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.persagy.dmp.simple.client.DigitalObjectSimpleFacade;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -24,17 +22,15 @@ import com.persagy.dmp.digital.client.DigitalObjectFacade;
 import com.persagy.dmp.digital.client.DigitalRelationFacade;
 import com.persagy.dmp.digital.client.DigitalRelationProjectCalFacade;
 import com.persagy.dmp.digital.entity.ObjectRelation;
+import com.persagy.dmp.simple.client.DigitalObjectSimpleFacade;
 import com.persagy.proxy.adm.constant.AdmCommonConstant;
 import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
 import com.persagy.proxy.adm.constant.ObjTypeMapping;
-import com.persagy.proxy.adm.model.AdmRelationObject;
 import com.persagy.proxy.adm.service.IRelationReportService;
-import com.persagy.proxy.adm.strategy.RelationObjectContext;
 import com.persagy.proxy.adm.strategy.relationdata.RelationObjectStrategy;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
-import lombok.extern.slf4j.Slf4j;
 import net.minidev.json.JSONObject;
 
 /**
@@ -45,16 +41,12 @@ import net.minidev.json.JSONObject;
  * @author zhangqiankun
  * @date 2021年8月31日 下午4:43:15
  */
-@Slf4j
 @Service
 public class RelationReportService implements IRelationReportService {
 
 	@Value("${middleware.group.code}")
 	private String defaultCode;
 
-	@Autowired
-	private RelationObjectContext relationObjectContext;
-
 	@Override
 	public List<Map<String, Object>> queryObjectCountByObjInfos(String groupCode, Set<String> classCodes, Set<String> objTypes, List<String> groups) {
 		groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
@@ -267,12 +259,4 @@ public class RelationReportService implements IRelationReportService {
 		return CollectionUtil.isEmpty(objectRelations) ? Lists.newArrayList() : objectRelations;
 	}
 	
-	
-	@Override
-	public List<AdmRelationObject> reportRelationObject(String groupCode, String projectId, String relType, String code, String zoneType) {
-		groupCode = StrUtil.isBlank(groupCode) ? defaultCode : groupCode;
-		log.info("下载报表: groupCode[{}], projectId[{}], relType[{}], code[{}]", groupCode, projectId, relType, code);
-		return this.relationObjectContext.findRelationObject(groupCode, projectId, relType);
-	}
-
 }

+ 4 - 6
src/main/java/com/persagy/proxy/adm/strategy/RelationObjectContext.java

@@ -34,8 +34,6 @@ public class RelationObjectContext {
 	private Map<String, RelationObjectStrategy> relationObjectStrategyMap;
 	
 	/**
-	 * 自动注入 byName
-	 * 
 	 * @param relationObjectStrategyMap
 	 */
 	@Resource
@@ -135,16 +133,16 @@ public class RelationObjectContext {
 	 * @param requestData 请求参数
 	 * @param groupCode 集团编码
 	 * @param projectId 项目ID
-	 * @param relType 
+	 * @param relType  graphCode_relCode;
 	 */
 	public List<ObjectDigital> queryPageObjectInfo(RequestData requestData, String groupCode, String projectId, String relType) {
 		List<ObjectDigital> masterObjs = new ArrayList<ObjectDigital>();
-		AdmRelationTypeEnum relationTypeEnum = AdmCommonConstant.RELATION_TYPE_MAP.get(relType);
+		/*AdmRelationTypeEnum relationTypeEnum = AdmCommonConstant.RELATION_TYPE_MAP.get(relType);
 		if (relationTypeEnum == null) {
 			return masterObjs;
 		}
-		String className = relationTypeEnum.getGraphCode() + AdmCommonConstant.UNDERLINE + relationTypeEnum.getRelCode();
-		RelationObjectStrategy strategy = this.relationObjectStrategyMap.get(className);
+		String className = relationTypeEnum.getGraphCode() + AdmCommonConstant.UNDERLINE + relationTypeEnum.getRelCode();*/
+		RelationObjectStrategy strategy = this.relationObjectStrategyMap.get(relType);
 		if (strategy == null) {
 			return masterObjs;
 		}

+ 1 - 1
src/main/java/com/persagy/proxy/adm/utils/AdmEntityTransferUtil.java

@@ -131,7 +131,7 @@ public class AdmEntityTransferUtil {
             }
         } else {
             // 返回全部时,去掉不需要属性
-            List<String> removeList = CollUtil.newArrayList("creator", "groupCode", "valid", "createApp", "virtualCodes", "updateApp", "grouping", "modifier");
+            List<String> removeList = CollUtil.newArrayList("creator","valid", "createApp", "virtualCodes", "updateApp", "grouping", "modifier");
             for(String removeField:removeList) {
                 dmpData.remove(removeField);
             }