|
@@ -70,7 +70,6 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
queryWrapper.lambda().like(BasePigpen::getBuildName, basePigpenPageParam.getSearchKey());
|
|
queryWrapper.lambda().like(BasePigpen::getBuildName, basePigpenPageParam.getSearchKey());
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
if(ObjectUtil.isAllNotEmpty(basePigpenPageParam.getSortField(), basePigpenPageParam.getSortOrder())) {
|
|
if(ObjectUtil.isAllNotEmpty(basePigpenPageParam.getSortField(), basePigpenPageParam.getSortOrder())) {
|
|
CommonSortOrderEnum.validate(basePigpenPageParam.getSortOrder());
|
|
CommonSortOrderEnum.validate(basePigpenPageParam.getSortOrder());
|
|
queryWrapper.orderBy(true, basePigpenPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
|
queryWrapper.orderBy(true, basePigpenPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
|
|
@@ -87,9 +86,16 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
SaBaseLoginUser user = StpLoginUserUtil.getLoginUser();
|
|
SaBaseLoginUser user = StpLoginUserUtil.getLoginUser();
|
|
String orgId = user.getOrgId();
|
|
String orgId = user.getOrgId();
|
|
BasePigpen basePigpen = BeanUtil.toBean(basePigpenAddParam, BasePigpen.class);
|
|
BasePigpen basePigpen = BeanUtil.toBean(basePigpenAddParam, BasePigpen.class);
|
|
|
|
+
|
|
if (basePigpen.getParentId().equals("0")){
|
|
if (basePigpen.getParentId().equals("0")){
|
|
basePigpen.setType(0);
|
|
basePigpen.setType(0);
|
|
|
|
+ basePigpen.setFullName(basePigpen.getBuildName());
|
|
}else {
|
|
}else {
|
|
|
|
+ BasePigpen pigpen = this.getById(basePigpen.getParentId());
|
|
|
|
+ if (pigpen.getType() == 2){
|
|
|
|
+ throw new CommonException("无法将单元作为上级栋舍!");
|
|
|
|
+ }
|
|
|
|
+ basePigpen.setFullName(pigpen.getFullName()+basePigpen.getBuildName());
|
|
basePigpen.setType(this.queryEntity(basePigpen.getParentId()).getType()+1);
|
|
basePigpen.setType(this.queryEntity(basePigpen.getParentId()).getType()+1);
|
|
}
|
|
}
|
|
basePigpen.setOrgId(orgId);
|
|
basePigpen.setOrgId(orgId);
|
|
@@ -98,7 +104,6 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
if(repeatName) {
|
|
if(repeatName) {
|
|
throw new CommonException("存在重复的同级栋舍,名称为:{}", basePigpen.getBuildName());
|
|
throw new CommonException("存在重复的同级栋舍,名称为:{}", basePigpen.getBuildName());
|
|
}
|
|
}
|
|
- basePigpen.setCreateBy(user.getId());
|
|
|
|
this.save(basePigpen);
|
|
this.save(basePigpen);
|
|
|
|
|
|
// 发布增加事件
|
|
// 发布增加事件
|
|
@@ -108,14 +113,28 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public void edit(BasePigpenEditParam basePigpenEditParam) {
|
|
public void edit(BasePigpenEditParam basePigpenEditParam) {
|
|
- SaBaseLoginUser user = StpLoginUserUtil.getLoginUser();
|
|
|
|
BasePigpen basePigpen = this.queryEntity(basePigpenEditParam.getId());
|
|
BasePigpen basePigpen = this.queryEntity(basePigpenEditParam.getId());
|
|
BeanUtil.copyProperties(basePigpenEditParam, basePigpen);
|
|
BeanUtil.copyProperties(basePigpenEditParam, basePigpen);
|
|
if (basePigpen.getParentId().equals("0")){
|
|
if (basePigpen.getParentId().equals("0")){
|
|
|
|
+ if (basePigpen.getType() != 0){
|
|
|
|
+ throw new CommonException("顶级只能作为栋舍的上级栋舍!");
|
|
|
|
+ }
|
|
basePigpen.setType(0);
|
|
basePigpen.setType(0);
|
|
|
|
+ basePigpen.setFullName(basePigpen.getBuildName());
|
|
}else {
|
|
}else {
|
|
|
|
+ BasePigpen pigpen = this.getById(basePigpen.getParentId());
|
|
|
|
+ System.out.println(pigpen.getType());
|
|
|
|
+ System.out.println(basePigpen.getType());
|
|
|
|
+ if (!basePigpen.getType().equals(pigpen.getType()+1)){
|
|
|
|
+ throw new CommonException("上级栋舍只能为上一级!");
|
|
|
|
+ }
|
|
|
|
+ if (pigpen.getType() == 2){
|
|
|
|
+ throw new CommonException("无法将单元作为上级栋舍!");
|
|
|
|
+ }
|
|
|
|
+ basePigpen.setFullName(pigpen.getFullName()+basePigpen.getBuildName());
|
|
basePigpen.setType(this.queryEntity(basePigpen.getParentId()).getType()+1);
|
|
basePigpen.setType(this.queryEntity(basePigpen.getParentId()).getType()+1);
|
|
}
|
|
}
|
|
|
|
+
|
|
boolean repeatName = this.count(new LambdaQueryWrapper<BasePigpen>().eq(BasePigpen::getParentId, basePigpen.getParentId())
|
|
boolean repeatName = this.count(new LambdaQueryWrapper<BasePigpen>().eq(BasePigpen::getParentId, basePigpen.getParentId())
|
|
.eq(BasePigpen::getBuildName, basePigpen.getBuildName()).ne(BasePigpen::getId, basePigpen.getId())) > 0;
|
|
.eq(BasePigpen::getBuildName, basePigpen.getBuildName()).ne(BasePigpen::getId, basePigpen.getId())) > 0;
|
|
if(repeatName) {
|
|
if(repeatName) {
|
|
@@ -127,7 +146,6 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
if(errorLevel) {
|
|
if(errorLevel) {
|
|
throw new CommonException("不可选择上级栋舍:{}", this.getById(originDataList, basePigpen.getParentId()).getBuildName());
|
|
throw new CommonException("不可选择上级栋舍:{}", this.getById(originDataList, basePigpen.getParentId()).getBuildName());
|
|
}
|
|
}
|
|
- basePigpen.setUpdateBy(user.getId());
|
|
|
|
this.updateById(basePigpen);
|
|
this.updateById(basePigpen);
|
|
|
|
|
|
// 发布更新事件
|
|
// 发布更新事件
|
|
@@ -139,8 +157,12 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
|
|
public void delete(List<BasePigpenIdParam> basePigpenIdParamList) {
|
|
public void delete(List<BasePigpenIdParam> basePigpenIdParamList) {
|
|
List<String> toDeletePigpenIdList = CollStreamUtil.toList(basePigpenIdParamList, BasePigpenIdParam::getId);
|
|
List<String> toDeletePigpenIdList = CollStreamUtil.toList(basePigpenIdParamList, BasePigpenIdParam::getId);
|
|
// 执行删除
|
|
// 执行删除
|
|
|
|
+ for (String pigpenId : toDeletePigpenIdList) {
|
|
|
|
+ if (this.count(new LambdaQueryWrapper<BasePigpen>().eq(BasePigpen::getParentId,pigpenId)) > 0){
|
|
|
|
+ throw new CommonException("{}存在下级栋舍", this.getById(pigpenId).getBuildName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
this.removeByIds(toDeletePigpenIdList);
|
|
this.removeByIds(toDeletePigpenIdList);
|
|
-
|
|
|
|
// 发布删除事件
|
|
// 发布删除事件
|
|
CommonDataChangeEventCenter.doDeleteWithDataId(SysDataTypeEnum.ORG.getValue(), toDeletePigpenIdList);
|
|
CommonDataChangeEventCenter.doDeleteWithDataId(SysDataTypeEnum.ORG.getValue(), toDeletePigpenIdList);
|
|
}
|
|
}
|