fix:87325
This commit is contained in:
+76
-41
@@ -3,7 +3,6 @@ package com.jero.modules.laws.marketStandard.service.impl;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
@@ -20,6 +19,7 @@ import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetailExcel
|
||||
import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardDetailMapper;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
|
||||
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
|
||||
import com.jero.modules.laws.utils.DateValidateUtil;
|
||||
import com.jero.modules.laws.utils.ValidUtil;
|
||||
import com.jero.modules.quartz.entity.QuartzJob;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
@@ -236,13 +236,19 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
if(!StringUtils.isEmpty(g.toString())){
|
||||
s.append(g.toString());
|
||||
}
|
||||
// 验证字典值是否满足条件
|
||||
StringBuilder dict = lawsCommonService.validateFieldByDict(p);
|
||||
if(!StringUtils.isBlank(dict)){
|
||||
s.append(dict);
|
||||
}
|
||||
// 验证标准编号
|
||||
checkStandard(listIdsStandard, listStandardIds, listStandardIdRepeat, p, s);
|
||||
if(!StringUtils.isBlank(p.getStandardNumber())){
|
||||
Optional<LawsMarketStandardDetail> op = listIdsStandard.stream().filter(o->
|
||||
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).findFirst();
|
||||
if(!op.isPresent()){
|
||||
s.append("标准编号不存在,");
|
||||
continue;
|
||||
}else{
|
||||
checkStandar(listStandardIds, listStandardIdRepeat, p, s, op);
|
||||
}
|
||||
}
|
||||
checkDate(p, s);
|
||||
|
||||
if(!StringUtils.isBlank(s.toString())){
|
||||
m.append("第").append(i + 4).append("行,").append(s.toString(), 0, s.toString().length() - 1)
|
||||
.append("<br>");
|
||||
@@ -251,6 +257,69 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
return m;
|
||||
}
|
||||
|
||||
private void checkStandar(List<String> listStandardIds, List<String> listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s, Optional<LawsMarketStandardDetail> op) {
|
||||
if(!op.isPresent()){
|
||||
return;
|
||||
}
|
||||
LawsMarketStandardDetail obj = op.get();
|
||||
String id = obj.getStandardId();
|
||||
p.setStandardId(id);
|
||||
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
|
||||
s.append("标准编号已存在,");
|
||||
}else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){
|
||||
s.append("标准编号重复,");
|
||||
}else{
|
||||
// 验证标准名称
|
||||
if(!Objects.equals(obj.getStandardName(),p.getStandardName())){
|
||||
s.append("标准名称错误,");
|
||||
}
|
||||
// 验证标准英文名称
|
||||
if(!StringUtils.isEmpty(obj.getStandardEnglishName())
|
||||
&& !Objects.equals(obj.getStandardEnglishName(), p.getStandardEnglishName())){
|
||||
s.append("标准英文名称错误,");
|
||||
}
|
||||
// 验证类型
|
||||
if(!Objects.equals(obj.getType(),p.getType())){
|
||||
s.append("类型错误,");
|
||||
}
|
||||
}
|
||||
listStandardIdRepeat.add(id);
|
||||
}
|
||||
|
||||
private void checkDate(LawsMarketStandardDetail p, StringBuilder s) {
|
||||
// 验证字典值是否满足条件
|
||||
StringBuilder dict = lawsCommonService.validateFieldByDict(p);
|
||||
if(!StringUtils.isBlank(dict)){
|
||||
s.append(dict);
|
||||
}
|
||||
String format = "yyyy-MM-dd";
|
||||
// 新生产车实施日期
|
||||
if(!StringUtils.isEmpty(p.getNewProductImplDate())){
|
||||
String[] str = p.getNewProductImplDate().split(",");
|
||||
for (String s1 : str) {
|
||||
if (!DateValidateUtil.isValidDate(s1, format)) {
|
||||
s.append("新生产车实施日期格式错误(请输入年-月-日格式),");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 新认证车实施日期
|
||||
if(!StringUtils.isEmpty(p.getNewAuthImplDate())){
|
||||
String[] str = p.getNewAuthImplDate().split(",");
|
||||
for (String s1 : str) {
|
||||
if (!DateValidateUtil.isValidDate(s1, format)) {
|
||||
s.append("新认证车实施日期格式错误(请输入年-月-日格式),");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 注册日期
|
||||
if(!StringUtils.isEmpty(p.getRegistrationDate()) &&
|
||||
!DateValidateUtil.isValidDate(p.getRegistrationDate(), format)){
|
||||
s.append("注册日期格式错误(请输入年-月-日格式),");
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private List<LawsMarketStandardDetailExcel> getLawsMarketStandardDetailExcels(MultipartFile file, ImportParams params) throws Exception {
|
||||
List<LawsMarketStandardDetailExcel> listLawsMarketStandardDetailExcel = ExcelImportUtil.importExcel(
|
||||
@@ -263,40 +332,6 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
|
||||
return listLawsMarketStandardDetailExcel;
|
||||
}
|
||||
|
||||
private void checkStandard(List<LawsMarketStandardDetail> listIdsStandard, List<String> listStandardIds, List<String> listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s) {
|
||||
if(!StringUtils.isBlank(p.getStandardNumber())){
|
||||
Optional<LawsMarketStandardDetail> op = listIdsStandard.stream().filter(o->
|
||||
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).findFirst();
|
||||
if(!op.isPresent()){
|
||||
s.append("标准编号不存在,");
|
||||
}else{
|
||||
LawsMarketStandardDetail obj = op.get();
|
||||
String id = obj.getStandardId();
|
||||
p.setStandardId(id);
|
||||
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
|
||||
s.append("标准编号已存在,");
|
||||
}else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){
|
||||
s.append("标准编号重复,");
|
||||
}else{
|
||||
// 验证标准名称
|
||||
if(!Objects.equals(obj.getStandardName(),p.getStandardName())){
|
||||
s.append("标准名称错误,");
|
||||
}
|
||||
// 验证标准英文名称
|
||||
if(!StringUtils.isEmpty(obj.getStandardEnglishName())
|
||||
&& !Objects.equals(obj.getStandardEnglishName(), p.getStandardEnglishName())){
|
||||
s.append("标准英文名称错误,");
|
||||
}
|
||||
// 验证类型
|
||||
if(!Objects.equals(obj.getType(),p.getType())){
|
||||
s.append("类型错误,");
|
||||
}
|
||||
}
|
||||
listStandardIdRepeat.add(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<String> getStandardIds(String manifestId) {
|
||||
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.jero.modules.laws.utils;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeParseException;
|
||||
|
||||
/**
|
||||
* @author lqt
|
||||
* @version 1.0
|
||||
* @date 2024/7/24 9:29
|
||||
*/
|
||||
public class DateValidateUtil {
|
||||
|
||||
/**
|
||||
* 验证日期是否匹配
|
||||
* @param dateStr 输入日期
|
||||
* @param formatPattern 期望的日期格式 yyyy-MM-dd
|
||||
* @return
|
||||
*/
|
||||
public static boolean isValidDate(String dateStr, String formatPattern) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatPattern);
|
||||
try {
|
||||
LocalDate.parse(dateStr, formatter);
|
||||
return true;
|
||||
} catch (DateTimeParseException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Reference in New Issue
Block a user