|
@@ -1,6 +1,5 @@
|
|
|
package com.persagy.dmp.rwd.edit.service;
|
|
|
|
|
|
-import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.node.ArrayNode;
|
|
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
@@ -15,7 +14,6 @@ import com.persagy.dmp.rwd.edit.entity.ChangeRecord;
|
|
|
import com.persagy.dmp.rwd.edit.entity.QChangeRecord;
|
|
|
import com.persagy.dmp.rwd.edit.enumeration.EnumOperationType;
|
|
|
import com.persagy.dmp.rwd.edit.repository.ChangeRecordRepository;
|
|
|
-import com.persagy.dmp.rwd.model.FuncidDefModel;
|
|
|
import com.querydsl.core.types.dsl.BooleanExpression;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -55,7 +53,6 @@ public class ChangeRecordService {
|
|
|
list.addAll(CriteriaUtils.parse(qt.publishUser, object.get("publishUser")));
|
|
|
list.addAll(CriteriaUtils.parse(qt.publishTime, object.get("publishTime")));
|
|
|
list.addAll(CriteriaUtils.parse(qt.finishTime, object.get("finishTime")));
|
|
|
- list.addAll(CriteriaUtils.parse(qt.valid, object.get("valid")));
|
|
|
list.addAll(CriteriaUtils.parse(qt.state, object.get("state")));
|
|
|
return list;
|
|
|
}
|
|
@@ -68,13 +65,30 @@ public class ChangeRecordService {
|
|
|
@Transactional
|
|
|
public MapResponse create(ChangeRecord param) {
|
|
|
MapResponse response = new MapResponse();
|
|
|
+ String code = param.getCode();
|
|
|
+ String infoCode = param.getInfoCode();
|
|
|
+ if (code == null) {
|
|
|
+ response.setFail("code is required");
|
|
|
+ return response;
|
|
|
+ }
|
|
|
if (EnumOperationType.create.equals(param.getOperationType())) {
|
|
|
- Boolean isExists = isExists(param.getCode(), param.getInfoCode());
|
|
|
+ Boolean isExists = isExists(code, infoCode);
|
|
|
if (!isExists) {
|
|
|
response.setFail("code is exists");
|
|
|
return response;
|
|
|
}
|
|
|
}
|
|
|
+ QChangeRecord qt = QChangeRecord.changeRecord;
|
|
|
+ BooleanExpression ex = qt.code.eq(code).and(qt.state.eq(1));
|
|
|
+ if (infoCode != null) {
|
|
|
+ ex.and(qt.infoCode.eq(infoCode));
|
|
|
+ }
|
|
|
+ Iterable<ChangeRecord> all = repository.findAll(ex);
|
|
|
+ List<ChangeRecord> list = new ArrayList<>();
|
|
|
+ all.forEach(list::add);
|
|
|
+ if (list.size() > 0) {
|
|
|
+ repository.deleteAll(list);
|
|
|
+ }
|
|
|
param.setOperationUser(UserUtils.currentUserId() + "");
|
|
|
param.setOperationTime(new Date());
|
|
|
param.setValid(true);
|
|
@@ -89,28 +103,24 @@ public class ChangeRecordService {
|
|
|
HttpUtils.HttpResult result;
|
|
|
if (infoCode != null) {
|
|
|
criteria.add("classCode", code);
|
|
|
+ criteria.add("code", infoCode);
|
|
|
StringBuilder url = new StringBuilder(dmpServer);
|
|
|
url.append("/rwd/def/funcid");
|
|
|
url.append("?groupCode=0");
|
|
|
result = httpUtils.post(url.toString(), JacksonMapper.toSimpleJson(criteria), 300000);
|
|
|
} else {
|
|
|
criteria.add("type", "common");
|
|
|
+ criteria.add("code", code);
|
|
|
StringBuilder url = new StringBuilder(dmpServer);
|
|
|
url.append("/rwd/def/funcid");
|
|
|
url.append("?groupCode=0");
|
|
|
result = httpUtils.post(url.toString(), JacksonMapper.toSimpleJson(criteria), 300000);
|
|
|
}
|
|
|
if (result.success()) {
|
|
|
- List<String> codeList = new ArrayList<>();
|
|
|
String content = result.getContent();
|
|
|
ObjectNode object = JacksonMapper.toObject(content, ObjectNode.class);
|
|
|
ArrayNode data = JacksonMapper.getArray(object, "data", JsonNodeFactory.instance.arrayNode());
|
|
|
- for (JsonNode datum : data) {
|
|
|
- ObjectNode funcJson = (ObjectNode) datum;
|
|
|
- FuncidDefModel funcidDefModel = JacksonMapper.toObject(funcJson.toString(), FuncidDefModel.class);
|
|
|
- codeList.add(funcidDefModel.getCode());
|
|
|
- }
|
|
|
- if (codeList.contains(infoCode) || codeList.contains(code)) {
|
|
|
+ if (data.size() > 0) {
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -160,6 +170,18 @@ public class ChangeRecordService {
|
|
|
return response;
|
|
|
}
|
|
|
|
|
|
+ public List<String> getSqlList(List<Integer> idList) {
|
|
|
+ List<ChangeRecord> data = repository.findAllById(idList);
|
|
|
+ for (ChangeRecord changeRecord : data) {
|
|
|
+ StringBuilder sql = new StringBuilder();
|
|
|
+ sql.append("update");
|
|
|
+ changeRecord.getValue();
|
|
|
+ sql.append(" where 1=1");
|
|
|
+ sql.append(" and code = '" + changeRecord.getCode() + "'");
|
|
|
+
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|