|
@@ -6,22 +6,26 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
import com.google.common.collect.Sets;
|
|
|
+import com.persagy.dmp.basic.dto.RequestData;
|
|
|
import com.persagy.dmp.basic.model.QueryCriteria;
|
|
|
import com.persagy.dmp.basic.utils.JsonNodeUtils;
|
|
|
import com.persagy.dmp.common.context.AppContext;
|
|
|
import com.persagy.dmp.common.exception.BusinessException;
|
|
|
import com.persagy.dmp.common.helper.SpringHelper;
|
|
|
import com.persagy.dmp.common.model.entity.BaseEntity;
|
|
|
+import com.persagy.dmp.common.model.response.CommonResult;
|
|
|
import com.persagy.dmp.define.client.DigitalDefineFacade;
|
|
|
import com.persagy.dmp.define.entity.ObjectInfoDefine;
|
|
|
import com.persagy.dmp.define.entity.ObjectTypeDefine;
|
|
|
import com.persagy.dmp.digital.client.DigitalObjectFacade;
|
|
|
import com.persagy.dmp.digital.entity.ObjectDigital;
|
|
|
+import com.persagy.dmp.simple.client.DigitalObjectSimpleFacade;
|
|
|
import com.persagy.proxy.adm.constant.AdmCommonConstant;
|
|
|
import com.persagy.proxy.adm.constant.AdmDictCategoryEnum;
|
|
|
import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
|
|
@@ -237,7 +241,31 @@ public class AdmEquipmentController {
|
|
|
public AdmResponse query(@RequestBody AdmQueryCriteria request) throws Exception {
|
|
|
// 组装上下文条件
|
|
|
request.setName(AdmEquipment.OBJ_TYPE);
|
|
|
- return service.query(request);
|
|
|
+ if(CollUtil.isNotEmpty(request.getProjection()) && request.getDistinct() && request.getProjection().size() == 1 && request.getProjection().get(0).equals("classCode")) {
|
|
|
+ /** 特殊处理
|
|
|
+ * distinct: true
|
|
|
+ * pageNumber: 1
|
|
|
+ * pageSize: 1000
|
|
|
+ * projection: ["classCode"]
|
|
|
+ * 0: "classCode"
|
|
|
+ */
|
|
|
+ RequestData requestData = new RequestData();
|
|
|
+ requestData.setProjection(request.getProjection());
|
|
|
+ requestData.setObjType(AdmEquipment.OBJ_TYPE);
|
|
|
+ requestData.setPage(request.getPageNumber().longValue());
|
|
|
+ requestData.setSize(request.getPageSize().longValue());
|
|
|
+ CommonResult<List<ObjectNode>> result = DigitalObjectSimpleFacade.queryObjListByConditions(AdmContextUtil.toDmpContext().getGroupCode(), AdmContextUtil.toDmpContext().getProjectId(), AdmContextUtil.toDmpContext().getAppId(), null, requestData);
|
|
|
+ if (result == null || CollUtil.isEmpty(result.getData())) {
|
|
|
+ return AdmResponse.success();
|
|
|
+ }else{
|
|
|
+ List<AdmEquipment> admEquipments = JSONUtil.toList(result.getData().toString(), AdmEquipment.class);
|
|
|
+ service.ensureSpecialValues(AdmContextUtil.toDmpContext(), admEquipments);
|
|
|
+ return AdmResponse.success(admEquipments);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ return service.query(request);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|