|
@@ -4,14 +4,18 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import org.springblade.business.mapper.StandardInfoJoinMapper;
|
|
|
-import org.springblade.business.mapper.StandardInfoPrivateJoinMapper;
|
|
|
+import org.springblade.business.dto.StandardInfoJoinDTO;
|
|
|
+import org.springblade.business.dto.StandardInfoPrivateJoinDTO;
|
|
|
import org.springblade.business.dto.UStandardInfoDTO;
|
|
|
import org.springblade.business.entity.UStandardInfo;
|
|
|
-import org.springblade.business.service.UStandardInfoService;
|
|
|
-import org.springblade.business.mapper.StandardInfoMapper;
|
|
|
import org.springblade.business.entity.UStandardInfoJoin;
|
|
|
import org.springblade.business.entity.UStandardInfoPrivateJoin;
|
|
|
+import org.springblade.business.mapper.StandardInfoMapper;
|
|
|
+import org.springblade.business.service.StandardInfoJoinService;
|
|
|
+import org.springblade.business.service.StandardInfoPrivateJoinService;
|
|
|
+import org.springblade.business.service.StandardInfoService;
|
|
|
+import org.springblade.business.vo.UStandardInfoPrivateJoinVO;
|
|
|
+import org.springblade.business.vo.UStandardInfoVO;
|
|
|
import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
@@ -23,6 +27,8 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -32,19 +38,20 @@ import java.util.List;
|
|
|
*/
|
|
|
@Service
|
|
|
public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, UStandardInfo>
|
|
|
- implements UStandardInfoService {
|
|
|
+ implements StandardInfoService {
|
|
|
|
|
|
/**
|
|
|
* 关联表
|
|
|
*/
|
|
|
@Resource
|
|
|
- private StandardInfoJoinMapper infoJoinMapper;
|
|
|
+ private StandardInfoJoinService standardInfoJoinService;
|
|
|
|
|
|
/**
|
|
|
* 与表单的关联关系
|
|
|
*/
|
|
|
@Resource
|
|
|
- private StandardInfoPrivateJoinMapper infoPrivateJoinMapper;
|
|
|
+ private StandardInfoPrivateJoinService standardInfoPrivateJoinService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public IPage<UStandardInfoDTO> selectMyPage(Query query, UStandardInfo uStandardInfo) {
|
|
@@ -126,7 +133,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, US
|
|
|
public Boolean delete(Long id) {
|
|
|
try {
|
|
|
//查询关联表 如果有关联关系不允许删除
|
|
|
- Long joinCount = infoJoinMapper.selectCount(Wrappers.<UStandardInfoJoin>lambdaQuery()
|
|
|
+ long joinCount = standardInfoJoinService.count(Wrappers.<UStandardInfoJoin>lambdaQuery()
|
|
|
.eq(UStandardInfoJoin::getStandardInfoRightId, id)
|
|
|
.or()
|
|
|
.eq(UStandardInfoJoin::getStandardInfoLeftId, id));
|
|
@@ -134,7 +141,7 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, US
|
|
|
throw new ServiceException("当前数据正在【条件设置】中使用,无法删除");
|
|
|
}
|
|
|
//查询与表单的关联表
|
|
|
- Long privateJoinCount = infoPrivateJoinMapper.selectCount(Wrappers.<UStandardInfoPrivateJoin>lambdaQuery()
|
|
|
+ long privateJoinCount = standardInfoPrivateJoinService.count(Wrappers.<UStandardInfoPrivateJoin>lambdaQuery()
|
|
|
.eq(UStandardInfoPrivateJoin::getStandardInfoId, id));
|
|
|
if (privateJoinCount > 0) {
|
|
|
throw new ServiceException("当前数据正在【关联元素】中使用,无法删除");
|
|
@@ -151,6 +158,96 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, US
|
|
|
throw new ServiceException("删除失败");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean setCondition(List<StandardInfoJoinDTO> standardInfoJoins) {
|
|
|
+ BladeUser user = SecureUtil.getUser();
|
|
|
+ List<UStandardInfoJoin> saveData = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ for (StandardInfoJoinDTO standardInfoJoin : standardInfoJoins) {
|
|
|
+ Long leftId = standardInfoJoin.getLeftId();
|
|
|
+ List<Long> rightIds = standardInfoJoin.getRightIds();
|
|
|
+ for (Long rightId : rightIds) {
|
|
|
+ UStandardInfoJoin uStandardInfoJoin = new UStandardInfoJoin();
|
|
|
+ uStandardInfoJoin.setId(SnowFlakeUtil.getId());
|
|
|
+ uStandardInfoJoin.setStandardInfoLeftId(leftId);
|
|
|
+ uStandardInfoJoin.setStandardInfoRightId(rightId);
|
|
|
+ uStandardInfoJoin.setCreateUser(user.getUserId());
|
|
|
+ saveData.add(uStandardInfoJoin);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return standardInfoJoinService.saveBatch(saveData);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("条件设置失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean setElementJoin(List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins) {
|
|
|
+ BladeUser user = SecureUtil.getUser();
|
|
|
+ List<UStandardInfoPrivateJoin> saveData = new ArrayList<>();
|
|
|
+
|
|
|
+ try {
|
|
|
+ for (StandardInfoPrivateJoinDTO standardInfoPrivateJoin : standardInfoPrivateJoins) {
|
|
|
+ Long leftId = standardInfoPrivateJoin.getLeftId();
|
|
|
+ List<UStandardInfoPrivateJoin> rightIds = standardInfoPrivateJoin.getRightIds();
|
|
|
+ rightIds.forEach(f -> {
|
|
|
+ f.setId(SnowFlakeUtil.getId());
|
|
|
+ f.setStandardInfoId(leftId);
|
|
|
+ f.setUpdateUser(user.getUserId());
|
|
|
+ });
|
|
|
+ saveData.addAll(rightIds);
|
|
|
+ }
|
|
|
+ return standardInfoPrivateJoinService.saveBatch(saveData);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("元素关联失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean deleteConditionSet(Long leftId) {
|
|
|
+ BladeUser user = SecureUtil.getUser();
|
|
|
+ try {
|
|
|
+ return standardInfoJoinService.update(Wrappers.<UStandardInfoJoin>lambdaUpdate()
|
|
|
+ .set(UStandardInfoJoin::getIsDeleted, 1)
|
|
|
+ .set(UStandardInfoJoin::getUpdateUser, user.getUserId())
|
|
|
+ .eq(UStandardInfoJoin::getStandardInfoLeftId, leftId));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("删除失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean deleteElementJoin(Long leftId) {
|
|
|
+ BladeUser user = SecureUtil.getUser();
|
|
|
+ try {
|
|
|
+ return standardInfoPrivateJoinService.update(Wrappers.<UStandardInfoPrivateJoin>lambdaUpdate()
|
|
|
+ .set(UStandardInfoPrivateJoin::getIsDeleted, 1)
|
|
|
+ .set(UStandardInfoPrivateJoin::getUpdateUser, user.getUserId())
|
|
|
+ .eq(UStandardInfoPrivateJoin::getStandardInfoId, leftId));
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException("删除失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UStandardInfoVO> getConditionSet(Long id) {
|
|
|
+ return baseMapper.getConditionSet(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UStandardInfoPrivateJoinVO> getElementJoin(Long id) {
|
|
|
+ return baseMapper.getElementJoin(id);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|