|
@@ -31,6 +31,8 @@ import org.springblade.core.tool.utils.DateUtil;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
import org.springblade.resource.feign.NewIOSSClient;
|
|
|
|
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
|
+import org.springframework.jdbc.core.JdbcTemplate;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -43,6 +45,7 @@ import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@@ -51,14 +54,18 @@ public class TrialDeviceInfoServiceImpl extends BaseServiceImpl<TrialDeviceInfoM
|
|
|
|
|
|
private final NewIOSSClient newIOSSClient;
|
|
private final NewIOSSClient newIOSSClient;
|
|
private final TrialDeviceClassificationMapper trialDeviceClassificationMapper;
|
|
private final TrialDeviceClassificationMapper trialDeviceClassificationMapper;
|
|
|
|
+ private final JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public boolean submit(TrialDeviceInfo obj) {
|
|
public boolean submit(TrialDeviceInfo obj) {
|
|
- TrialDeviceInfo selectOne = baseMapper.selectOne(Wrappers.<TrialDeviceInfo>lambdaQuery().select(TrialDeviceInfo::getId, TrialDeviceInfo::getDeviceName).eq(TrialDeviceInfo::getDeviceNumber, obj.getDeviceNumber()));
|
|
|
|
|
|
+ TrialDeviceInfo selectOne = baseMapper.selectOne(Wrappers.<TrialDeviceInfo>lambdaQuery()
|
|
|
|
+ .select(TrialDeviceInfo::getId, TrialDeviceInfo::getDeviceName)
|
|
|
|
+ .eq(TrialDeviceInfo::getDeviceClassId, obj.getDeviceClassId())
|
|
|
|
+ .eq(TrialDeviceInfo::getDeviceNumber, obj.getDeviceNumber()));
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(obj.getId())) { //编辑
|
|
if (ObjectUtil.isNotEmpty(obj.getId())) { //编辑
|
|
if (ObjectUtil.isNotEmpty(selectOne) && !selectOne.getId().equals(obj.getId())) {
|
|
if (ObjectUtil.isNotEmpty(selectOne) && !selectOne.getId().equals(obj.getId())) {
|
|
- throw new ServiceException("当前设备编号已存在,请重新填写");
|
|
|
|
|
|
+ throw new ServiceException("当前设备编号在当前分类中已存在,请重新填写");
|
|
}
|
|
}
|
|
|
|
|
|
TrialDeviceInfo trialDeviceInfo = baseMapper.selectById(obj.getId());
|
|
TrialDeviceInfo trialDeviceInfo = baseMapper.selectById(obj.getId());
|
|
@@ -69,7 +76,7 @@ public class TrialDeviceInfoServiceImpl extends BaseServiceImpl<TrialDeviceInfoM
|
|
}
|
|
}
|
|
} else { //新增
|
|
} else { //新增
|
|
if (ObjectUtil.isNotEmpty(selectOne)) {
|
|
if (ObjectUtil.isNotEmpty(selectOne)) {
|
|
- throw new ServiceException("当前设备编号已存在,请重新填写");
|
|
|
|
|
|
+ throw new ServiceException("当前设备编号在当前分类中已存在,请重新填写");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -348,11 +355,26 @@ public class TrialDeviceInfoServiceImpl extends BaseServiceImpl<TrialDeviceInfoM
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (listData.size() > 0) {
|
|
if (listData.size() > 0) {
|
|
- List<String> numbers = listData.stream().map(TrialDeviceInfo::getDeviceNumber).collect(Collectors.toList());
|
|
|
|
|
|
+ /*List<String> numbers = listData.stream().map(TrialDeviceInfo::getDeviceNumber).collect(Collectors.toList());
|
|
List<TrialDeviceInfo> trialDeviceInfos = baseMapper.selectList(Wrappers.<TrialDeviceInfo>lambdaQuery().select(TrialDeviceInfo::getId, TrialDeviceInfo::getDeviceName).in(TrialDeviceInfo::getDeviceNumber, numbers));
|
|
List<TrialDeviceInfo> trialDeviceInfos = baseMapper.selectList(Wrappers.<TrialDeviceInfo>lambdaQuery().select(TrialDeviceInfo::getId, TrialDeviceInfo::getDeviceName).in(TrialDeviceInfo::getDeviceNumber, numbers));
|
|
if (trialDeviceInfos.size() > 0) {
|
|
if (trialDeviceInfos.size() > 0) {
|
|
List<String> collect = trialDeviceInfos.stream().map(TrialDeviceInfo::getDeviceName).collect(Collectors.toList());
|
|
List<String> collect = trialDeviceInfos.stream().map(TrialDeviceInfo::getDeviceName).collect(Collectors.toList());
|
|
throw new ServiceException("【" + StringUtils.join(collect, ",") + "】的设备编号重复,请重新填写设备编号");
|
|
throw new ServiceException("【" + StringUtils.join(collect, ",") + "】的设备编号重复,请重新填写设备编号");
|
|
|
|
+ }*/
|
|
|
|
+
|
|
|
|
+ Map<Long, List<TrialDeviceInfo>> collect = listData.stream().collect(Collectors.groupingBy(TrialDeviceInfo::getDeviceClassId));
|
|
|
|
+ for (Map.Entry<Long, List<TrialDeviceInfo>> longListEntry : collect.entrySet()) {
|
|
|
|
+ Long classId = longListEntry.getKey();
|
|
|
|
+ TrialDeviceClassification trialDeviceClassification = jdbcTemplate.query("select class_name from u_trial_device_classification where id = " + classId, new BeanPropertyRowMapper<>(TrialDeviceClassification.class)).stream().findAny().orElse(null);
|
|
|
|
+ List<String> numbers = longListEntry.getValue().stream().map(TrialDeviceInfo::getDeviceNumber).collect(Collectors.toList());
|
|
|
|
+ List<TrialDeviceInfo> trialDeviceInfos = baseMapper.selectList(Wrappers.<TrialDeviceInfo>lambdaQuery()
|
|
|
|
+ .select(TrialDeviceInfo::getId, TrialDeviceInfo::getDeviceName)
|
|
|
|
+ .eq(TrialDeviceInfo::getDeviceClassId, classId)
|
|
|
|
+ .in(TrialDeviceInfo::getDeviceNumber, numbers));
|
|
|
|
+ if (trialDeviceInfos.size() > 0 && trialDeviceClassification != null) {
|
|
|
|
+ List<String> deviceNames = trialDeviceInfos.stream().map(TrialDeviceInfo::getDeviceName).collect(Collectors.toList());
|
|
|
|
+ throw new ServiceException(trialDeviceClassification.getClassName() + "中的【" + StringUtils.join(deviceNames, ",") + "】设备编号重复,请重新填写该设备编号");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
return this.saveBatch(listData, 1000);
|
|
return this.saveBatch(listData, 1000);
|