Browse Source

字典类型默认type的groupCode为0,查询,新增,更新,删除加入groupCode为0的条件

wudla 4 years ago
parent
commit
88ca6eb26c
1 changed files with 22 additions and 6 deletions
  1. 22 6
      dmp-dic/src/main/java/com/persagy/dmp/dic/service/DtTypeService.java

+ 22 - 6
dmp-dic/src/main/java/com/persagy/dmp/dic/service/DtTypeService.java

@@ -14,10 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.transaction.Transactional;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -42,7 +39,8 @@ public class DtTypeService extends DicBaseService {
 			result.setFail(response.getMessage());
 			return result;
 		}
-		criteria.add("groupCode", dicParam.groupCode);
+		/** 系统默认的字典类型的groupCode为0,查询时候传入0与groupCode*/
+		criteria.add("groupCode").in(Arrays.asList("0", dicParam.groupCode));
 
 		PagedResponse<DtType> resp = criteriaUtils.query(QDtType.dtType, this::parse, criteria);
 		result.setCount(resp.getCount());
@@ -80,6 +78,13 @@ public class DtTypeService extends DicBaseService {
 			response.setFail("type 不能为空!");
 			return response;
 		}
+		QDtType qDtType = QDtType.dtType;
+		long count = dtTypeRepository.count(qDtType.type.eq(entity.getType())
+				.and(qDtType.groupCode.in(Arrays.asList("0", dicParam.groupCode))));
+		if (count > 0) {
+			response.setFail("type 不能重复!");
+			return response;
+		}
 		if (entity.getName() == null){
 			response.setFail("name 不能为空!");
 			return response;
@@ -120,6 +125,15 @@ public class DtTypeService extends DicBaseService {
 		}
 		DtType one = optional.get();
 		if (param.getType() != null){
+			if (!one.getType().equals(param.getType())){
+				QDtType qDtType = QDtType.dtType;
+				long count = dtTypeRepository.count(qDtType.type.eq(param.getType())
+						.and(qDtType.groupCode.in(Arrays.asList("0", dicParam.groupCode))));
+				if (count > 0) {
+					response.setFail("type 不能重复!");
+					return response;
+				}
+			}
 			one.setType(param.getType());
 		}
 		if (param.getName() != null){
@@ -164,7 +178,9 @@ public class DtTypeService extends DicBaseService {
 			response.setFail("删除操作id不能为空!");
 			return response;
 		}
-		Optional<DtType> optional = dtTypeRepository.findById(param.getId());
+		QDtType qDtType = QDtType.dtType;
+		Optional<DtType> optional = dtTypeRepository.findOne(qDtType.id.eq(param.getId())
+				.and(qDtType.groupCode.in(Arrays.asList("0", dicParam.groupCode))));
 		if (!optional.isPresent()){
 			response.setFail("数据不存在!");
 			return response;