|
|
@ -93,15 +93,29 @@ public class PowerAxisStructServiceImpl extends BaseServiceImpl<PowerAxisStructD |
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(PowerAxisStructDTO dto) { |
|
|
|
|
|
|
|
verifyStructField(dto); |
|
|
|
|
|
|
|
PowerAxisStructEntity entity = ConvertUtils.sourceToTarget(dto, PowerAxisStructEntity.class); |
|
|
|
this.assembleStruct(entity); |
|
|
|
|
|
|
|
baseDao.insert(entity); |
|
|
|
insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void update(PowerAxisStructDTO dto) { |
|
|
|
|
|
|
|
if (dto.getId().equals(dto.getPid())) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "不能选择自身为上级节点"); |
|
|
|
} |
|
|
|
|
|
|
|
verifyStructField(dto); |
|
|
|
PowerAxisStructEntity entity = ConvertUtils.sourceToTarget(dto, PowerAxisStructEntity.class); |
|
|
|
updateById(entity); |
|
|
|
this.assembleStruct(entity); |
|
|
|
|
|
|
|
baseDao.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -120,45 +134,25 @@ public class PowerAxisStructServiceImpl extends BaseServiceImpl<PowerAxisStructD |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public List<PowerAxisStructLeaderResultDTO> selectAllForTree(PowerAxisStructLeaderFormDTO formDto) { |
|
|
|
return baseDao.selectAllForTree(formDto); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void addOrg(PowerAxisStructEntity form) { |
|
|
|
verifyStructField(form); |
|
|
|
|
|
|
|
this.assembleStruct(form, loginUserUtil.getLoginUserCustomerId()); |
|
|
|
|
|
|
|
baseDao.insert(form); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void modifyRog(PowerAxisStructEntity form) { |
|
|
|
if (form.getId().equals(form.getPid())) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "不能选择自身为上级节点"); |
|
|
|
} |
|
|
|
|
|
|
|
verifyStructField(form); |
|
|
|
|
|
|
|
this.assembleStruct(form, loginUserUtil.getLoginUserCustomerId()); |
|
|
|
|
|
|
|
baseDao.updateById(form); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 验证表单字段
|
|
|
|
private void verifyStructField(PowerAxisStructEntity struct) { |
|
|
|
int structLevel = powerAxisTagService.selectStructLevelByCode(loginUserUtil.getLoginUserCustomerId(), PowerTagCategoryEnum.STRUCT.category(), struct.getCategoryCode()); |
|
|
|
private void verifyStructField(PowerAxisStructDTO structDto) { |
|
|
|
String customerId = structDto.getCustomerId(); |
|
|
|
String categoryCode = structDto.getCategoryCode(); |
|
|
|
String agencyId = structDto.getAgencyId(); |
|
|
|
|
|
|
|
int structLevel = powerAxisTagService.selectStructLevelByCode(customerId, PowerTagCategoryEnum.STRUCT.category(), categoryCode); |
|
|
|
if (PowerTagLevelEnum.ROOT.level() == structLevel) { |
|
|
|
if (baseDao.countRepeatStructByCategory(struct) > NumConstant.ZERO) { |
|
|
|
if (baseDao.countRepeatStructByCategory(customerId, agencyId, categoryCode) > NumConstant.ZERO) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "同一组织下只允许存在一个顶级节点"); |
|
|
|
} |
|
|
|
} |
|
|
|
if (baseDao.countRepeatStructByName(struct) > NumConstant.ZERO) { |
|
|
|
if (baseDao.countRepeatStructByName(customerId, structDto.getName(), agencyId, categoryCode) > NumConstant.ZERO) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "同一组织下不允许存在重名的节点"); |
|
|
|
} |
|
|
|
} |
|
|
@ -167,14 +161,11 @@ public class PowerAxisStructServiceImpl extends BaseServiceImpl<PowerAxisStructD |
|
|
|
* 组装节点对象 |
|
|
|
* |
|
|
|
* @param struct 提交的表单 |
|
|
|
* @param customerId 客户ID |
|
|
|
* @return void |
|
|
|
* @author work@yujt.net.cn |
|
|
|
* @date 2022/4/22/0022 14:04 |
|
|
|
*/ |
|
|
|
private void assembleStruct(PowerAxisStructEntity struct, String customerId) { |
|
|
|
|
|
|
|
struct.setCustomerId(customerId); |
|
|
|
private void assembleStruct(PowerAxisStructEntity struct) { |
|
|
|
|
|
|
|
// 上级节点
|
|
|
|
String pid = struct.getPid(); |
|
|
@ -182,7 +173,7 @@ public class PowerAxisStructServiceImpl extends BaseServiceImpl<PowerAxisStructD |
|
|
|
String categoryCode = struct.getCategoryCode(); |
|
|
|
if (StringUtils.isBlank(pid)) { |
|
|
|
// 查询类别编码对应的节点级别
|
|
|
|
int structLevel = powerAxisTagService.selectStructLevelByCode(customerId, PowerTagCategoryEnum.STRUCT.category(), categoryCode); |
|
|
|
int structLevel = powerAxisTagService.selectStructLevelByCode(struct.getCustomerId(), PowerTagCategoryEnum.STRUCT.category(), categoryCode); |
|
|
|
if (PowerTagLevelEnum.ROOT.level() == structLevel) { |
|
|
|
pid = NumConstant.ZERO_STR; |
|
|
|
} else { |
|
|
|