|
@@ -4,10 +4,12 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
+import com.mysql.cj.xdevapi.JsonArray;
|
|
|
import com.persagy.dmp.basic.dto.RequestData;
|
|
|
import com.persagy.dmp.basic.model.QueryCriteria;
|
|
|
import com.persagy.dmp.basic.model.QueryOperator;
|
|
@@ -42,6 +44,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
+import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
@@ -60,16 +63,27 @@ public class ObjectDigitalController{
|
|
|
|
|
|
@PostMapping("/query")
|
|
|
@Deprecated
|
|
|
- public CommonResult<List<ObjectNode>> query(@RequestBody QueryCriteria criteria) {
|
|
|
+ public CommonResult<List<ObjectNode>> query(@RequestBody QueryCriteria criteria) throws IOException {
|
|
|
if(criteria == null) {
|
|
|
throw new BusinessException(ResponseCode.A0400.getCode(), ResponseCode.A0400.getDesc());
|
|
|
}
|
|
|
|
|
|
ParamCheckUtil.checkParam(CommonConstant.QUERY_GROUPCODE);
|
|
|
-
|
|
|
+
|
|
|
+ JsonNode projectNode = criteria.getCriteria().get(RequestData.PROJECT_IDS_HUM);
|
|
|
+ if (criteria.getCriteria().has(RequestData.PROJECT_IDS_HUM)){
|
|
|
+ criteria.getCriteria().remove(RequestData.PROJECT_IDS_HUM);
|
|
|
+ }
|
|
|
QueryWrapper<ObjectDigital> wrapper = new QueryWrapper<>();
|
|
|
|
|
|
- ConditionUtil.ensureProjectCriteriaDirectly(wrapper);
|
|
|
+
|
|
|
+ String projectId = AppContext.getContext().getProjectId();
|
|
|
+
|
|
|
+ if (projectNode.isArray()){
|
|
|
+ wrapper.in(StrUtil.toUnderlineCase(AppContext.PROJECT_ID), JsonHelper.toMultiEntity(projectNode,String.class));
|
|
|
+ }else {
|
|
|
+ wrapper.eq(StrUtil.isNotBlank(projectId), StrUtil.toUnderlineCase(AppContext.PROJECT_ID), projectId);
|
|
|
+ }
|
|
|
|
|
|
ObjectDigitalCriteriaHelper.presetDigitalCriteria(criteria);
|
|
|
|
|
@@ -285,7 +299,7 @@ public class ObjectDigitalController{
|
|
|
* Update By lijie 2021/8/30 9:41
|
|
|
*/
|
|
|
@PostMapping("/queryEquipListByConditions")
|
|
|
- public CommonResult<List<ObjectNode>> queryEquipListByConditions(@RequestBody RequestData requestData) {
|
|
|
+ public CommonResult<List<ObjectNode>> queryEquipListByConditions(@RequestBody RequestData requestData) throws IOException {
|
|
|
|
|
|
ObjectMapper objectMapper = JsonHelper.objectMapper;
|
|
|
QueryCriteria queryCriteria = new QueryCriteria();
|
|
@@ -337,6 +351,11 @@ public class ObjectDigitalController{
|
|
|
keywordObj.put(QueryOperator.LIKE.getIndex(),requestData.getKeyword());
|
|
|
objectNode.put(ObjectDigital.LOCAL_NAME_HUM,keywordObj);
|
|
|
}
|
|
|
+
|
|
|
+ if (CollUtil.isNotEmpty(requestData.getProjectIds())){
|
|
|
+ ArrayNode projectIdsNode = objectNode.putArray(RequestData.PROJECT_IDS_HUM);
|
|
|
+ requestData.getProjectIds().forEach(projectIdsNode::add);
|
|
|
+ }
|
|
|
objectNode.put(ObjectDigital.OBJ_TYPE_HUM, DigitalObjectType.EQUIPMENT.getIndex());
|
|
|
objectNode.put(ObjectDigital.PROP_VALID,Boolean.TRUE);
|
|
|
queryCriteria.setCriteria(objectNode);
|