添加英文提示语

This commit is contained in:
梁琦涛
2024-07-31 16:18:28 +08:00
parent 8c2ace0e4d
commit b5c53127ab
11 changed files with 258 additions and 151 deletions
@@ -177,4 +177,22 @@ public class ResultCommon {
public static final String PROCESS_ALREADY_DISTRIBUTED = "process.already.distributed";
// 不是会签节点任务
public static final String PROCESS_NOT_COUNTERSIGNATURE = "process.not.countersignature";
// 数据已发布
public static final String DATA_PUBLISHED = "data.published";
// 版本不存在
public static final String VERSION_DOES_NOT_EXIST = "version.does.not.exist";
// 请导入excel文件
public static final String IMPORT_THE_EXCEL_FILE = "import.the.excel.file";
// 标准编号重复
public static final String DUPLICATE_STANDARD_NUMBER = "duplicate.standard.number";
// 标准编号已存在
public static final String STANDARD_NUMBER_ALREADY_EXISTS = "standard.number.already.exists";
// {0}格式错误
public static final String FORMATTING_ERROR = "formatting.error";
// {0}数据不存在
public static final String DATA_DOES_NOT_EXIST = "data.does.not.exist";
// 第{0}行
public static final String ROW_N_IMPORT = "row.n.import";
}
@@ -77,6 +77,7 @@ import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -2767,7 +2768,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
}
ObjectMapper mapper = new ObjectMapper();
String json;
String jsonError = "json解析失败";
String jsonError = ResultCommon.ERROR;
try {
json = mapper.writeValueAsString(record);
} catch (JsonProcessingException e) {
@@ -2781,7 +2782,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
log.error(jsonError + e.getMessage(), e);
throw new JeroBootException(jsonError);
}
Locale locale = LocaleContextHolder.getLocale();
for (Field field : oConvertUtils.getAllFields(record)) {
field.setAccessible(true);
if (field.getAnnotation(Excel.class) != null) {
@@ -2799,7 +2800,11 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
}
String textValue = translateDictValue(code, text, table, key, listDict);
if(StringUtils.isBlank(textValue)){
msg.append(name).append("数据不存在,");
String[] str1 = name.split("\\(");
String en = str1.length > 1 ? str1[1].split("\\)")[0] : str1[0];
String zh = str1[0];
name = Objects.equals(locale,Locale.ENGLISH) ? en : zh;
msg.append(MessageUtils.getMessage(ResultCommon.DATA_DOES_NOT_EXIST,name)).append(",");
}
}
}
@@ -2,6 +2,7 @@ package com.jero.modules.laws.marketStandard.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.Translation;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
@@ -111,10 +112,10 @@ public class MarketStandardDetailController {
@RequiresPermissions("marketStandard:detail:operate")
public Result<?> copy(@RequestBody Map<String, String> map) {
if (!map.containsKey("newId") || StringUtils.isEmpty(map.get("newId"))) {
return Result.error("请选择数据!");
return Result.error(ResultCommon.SELECT_DATA);
}
if (!map.containsKey("oldId") || StringUtils.isEmpty(map.get("oldId"))) {
return Result.error("请选择数据!");
return Result.error(ResultCommon.SELECT_DATA);
}
return lawsMarketStandardDetailService.copy(map.get("oldId"),map.get("newId"));
}
@@ -163,7 +164,7 @@ public class MarketStandardDetailController {
@RequiresPermissions("marketStandard:detail:operate")
public Result<?> delete(@RequestBody Map<String, String> map) {
if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) {
return Result.error("请选择数据!");
return Result.error(ResultCommon.SELECT_DATA);
}
return lawsMarketStandardDetailService.deleteById(map.get("id"));
}
@@ -181,7 +182,7 @@ public class MarketStandardDetailController {
@RequiresPermissions("marketStandard:detail:operate")
public Result<?> deleteBatch(@RequestBody Map<String, String> map) {
if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) {
return Result.error("请选择数据!");
return Result.error(ResultCommon.SELECT_DATA);
}
return lawsMarketStandardDetailService.deleteBatchById(map.get("ids"));
}
@@ -80,7 +80,7 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@NotBlank(message = "标准编号不能为空")
@ApiModelProperty(value = "标准编号")
@Excel(name = "标准编号", width = 15)
@Excel(name = "标准编号(Regulation No.)", width = 15)
private String standardNumber;
/**
@@ -88,20 +88,20 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@ApiModelProperty(value = "标准名称")
@NotBlank(message = "标准名称不能为空")
@Excel(name = "标准名称", width = 15)
@Excel(name = "标准名称(Regulation Name)", width = 15)
private String standardName;
/**
* 标准英文名称
*/
@ApiModelProperty(value = "标准英文名称")
@Excel(name = "标准英文名称", width = 15)
@Excel(name = "标准英文名称(Regulation English Name)", width = 15)
private String standardEnglishName;
/**
* 新生产车实施日期
*/
@Excel(name = "新生产车实施日期", width = 15)
@Excel(name = "新生产车实施日期(New Production Vehicle Implementation Date)", width = 15)
@NotBlank(message = "新生产车实施日期不能为空")
@ApiModelProperty(value = "新生产车实施日期")
private String newProductImplDate;
@@ -109,7 +109,7 @@ public class LawsMarketStandardDetail implements Serializable {
/**
* 新认证车实施日期
*/
@Excel(name = "新认证车实施日期", width = 15)
@Excel(name = "新认证车实施日期(New Certified Vehicle Implementation Date)", width = 15)
@NotBlank(message = "新认证车实施日期不能为空")
@ApiModelProperty(value = "新认证车实施日期")
private String newAuthImplDate;
@@ -117,7 +117,7 @@ public class LawsMarketStandardDetail implements Serializable {
/**
* 注册日期
*/
@Excel(name = "注册日期", width = 15)
@Excel(name = "注册日期(Registration Date)", width = 15)
@NotBlank(message = "注册日期不能为空")
@ApiModelProperty(value = "注册日期")
private String registrationDate;
@@ -125,7 +125,7 @@ public class LawsMarketStandardDetail implements Serializable {
/**
* 国家
*/
@Excel(name = "适用国家/地区", width = 15,dicCode = "market_state")
@Excel(name = "适用国家/地区(Country/Region)", width = 15,dicCode = "market_state")
@NotBlank(message = "适用国家/地区不能为空")
@ApiModelProperty(value = "国家")
@Dict(dicCode = "market_state")
@@ -134,7 +134,7 @@ public class LawsMarketStandardDetail implements Serializable {
/**
* 适用车型
*/
@Excel(name = "适用车型", width = 15, dicCode = "applicable_vehicle_type")
@Excel(name = "适用车型(Vehicle Catagory)", width = 15, dicCode = "applicable_vehicle_type")
@Dict(dicCode = "applicable_vehicle_type")
@ApiModelProperty(value = "适用车型")
private String applicableVehicle;
@@ -150,21 +150,21 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@ApiModelProperty(value = "认证对象")
@Dict(dicCode = "authentication_object")
@Excel(name = "认证对象", width = 15, dicCode = "authentication_object")
@Excel(name = "认证对象(Certification Item)", width = 15, dicCode = "authentication_object")
private String authenticationObject;
/**
* 认证交付物
*/
@ApiModelProperty(value = "认证交付物")
@Excel(name = "认证交付物", width = 15)
@Excel(name = "认证交付物(Verification)", width = 15)
private String certifyTheDeliverables;
/**
* 类型
*/
@Dict(dicCode = "type")
@Excel(name = "类型", width = 15, dicCode = "type")
@Excel(name = "类型(Type)", width = 15, dicCode = "type")
@ApiModelProperty(value = "类型")
private String type;
@@ -173,7 +173,7 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@Dict(dicCode = "dynamic_type")
@ApiModelProperty(value = "动力类型")
@Excel(name = "动力类型", width = 15, dicCode = "dynamic_type")
@Excel(name = "动力类型(Power Propulsion Type)", width = 15, dicCode = "dynamic_type")
private String dynamicType;
/**
@@ -182,7 +182,7 @@ public class LawsMarketStandardDetail implements Serializable {
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "主控部门")
@NotBlank(message = "主控部门不能为空")
@Excel(name = "主控部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@Excel(name = "主控部门(Main Responsible Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
private String mainDept;
/**
@@ -191,7 +191,7 @@ public class LawsMarketStandardDetail implements Serializable {
@ApiModelProperty(value = "主控部门专业模块")
@NotBlank(message = "主控部门专业模块不能为空")
@Dict(dicCode = "professional_module")
@Excel(name = "主控部门专业模块", width = 15, dicCode = "professional_module")
@Excel(name = "主控部门专业模块(Module of Main Responsible Dept.)", width = 15, dicCode = "professional_module")
private String mainDeptProfMode;
/**
@@ -199,14 +199,14 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "关联部门")
@Excel(name = "关联部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@Excel(name = "关联部门(Related Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
private String associateDept;
/**
* 关联部门专业模块
*/
@ApiModelProperty(value = "关联部门专业模块")
@Excel(name = "关联部门专业模块", width = 15, dicCode = "professional_module")
@Excel(name = "关联部门专业模块(Module of Related Dept.)", width = 15, dicCode = "professional_module")
@Dict(dicCode = "professional_module")
private String associateDeptProfMode;
@@ -214,7 +214,7 @@ public class LawsMarketStandardDetail implements Serializable {
* 批量限制
*/
@ApiModelProperty(value = "批量限制")
@Excel(name = "批量限制", width = 15, dicCode = "batch_restriction")
@Excel(name = "批量限制(Production Amount)", width = 15, dicCode = "batch_restriction")
@Dict(dicCode = "batch_restriction")
private String batchLimit;
@@ -223,7 +223,7 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@Dict(dicCode = "automatic_driving_level")
@ApiModelProperty(value = "自动驾驶等级")
@Excel(name = "自动驾驶等级", width = 15,dicCode = "automatic_driving_level")
@Excel(name = "自动驾驶等级(Automatic Driving Level)", width = 15,dicCode = "automatic_driving_level")
private String autopilotLevel;
/**
@@ -231,7 +231,7 @@ public class LawsMarketStandardDetail implements Serializable {
*/
@Dict(dicCode = "requirement_type")
@ApiModelProperty(value = "要求类型")
@Excel(name = "要求类型", width = 15,dicCode = "requirement_type")
@Excel(name = "要求类型(Optional/Compulsory)", width = 15,dicCode = "requirement_type")
private String requireType;
@@ -78,7 +78,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@NotBlank(message = "标准编号不能为空")
@ApiModelProperty(value = "标准编号")
@Excel(name = "*标准编号", width = 15)
@Excel(name = "*标准编号(Regulation No.)", width = 15)
private String standardNumber;
/**
@@ -86,20 +86,20 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@ApiModelProperty(value = "标准名称")
@NotBlank(message = "标准名称不能为空")
@Excel(name = "*标准名称", width = 15)
@Excel(name = "*标准名称(Regulation Name)", width = 15)
private String standardName;
/**
* 标准英文名称
*/
@ApiModelProperty(value = "标准英文名称")
@Excel(name = "标准英文名称", width = 15)
@Excel(name = "标准英文名称(Regulation English Name)", width = 15)
private String standardEnglishName;
/**
* 新生产车实施日期
*/
@Excel(name = "*新生产车实施日期", width = 15)
@Excel(name = "*新生产车实施日期(New Production Vehicle Implementation Date)", width = 15)
@NotBlank(message = "新生产车实施日期不能为空")
@ApiModelProperty(value = "新生产车实施日期")
private String newProductImplDate;
@@ -107,7 +107,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
/**
* 新认证车实施日期
*/
@Excel(name = "*新认证车实施日期", width = 15)
@Excel(name = "*新认证车实施日期(New Certified Vehicle Implementation Date)", width = 15)
@NotBlank(message = "新认证车实施日期不能为空")
@ApiModelProperty(value = "新认证车实施日期")
private String newAuthImplDate;
@@ -115,7 +115,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
/**
* 注册日期
*/
@Excel(name = "*注册日期", width = 15)
@Excel(name = "*注册日期(Registration Date)", width = 15)
@NotBlank(message = "注册日期不能为空")
@ApiModelProperty(value = "注册日期")
private String registrationDate;
@@ -123,7 +123,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
/**
* 国家
*/
@Excel(name = "*适用国家/地区", width = 15,dicCode = "market_state")
@Excel(name = "*适用国家/地区(Country/Region)", width = 15,dicCode = "market_state")
@NotBlank(message = "适用国家/地区不能为空")
@ApiModelProperty(value = "国家")
@Dict(dicCode = "market_state")
@@ -132,7 +132,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
/**
* 适用车型
*/
@Excel(name = "适用车型", width = 15, dicCode = "applicable_vehicle_type")
@Excel(name = "适用车型(Vehicle Catagory)", width = 15, dicCode = "applicable_vehicle_type")
@Dict(dicCode = "applicable_vehicle_type")
@ApiModelProperty(value = "适用车型")
private String applicableVehicle;
@@ -148,21 +148,21 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@ApiModelProperty(value = "认证对象")
@Dict(dicCode = "authentication_object")
@Excel(name = "认证对象", width = 15, dicCode = "authentication_object")
@Excel(name = "认证对象(Certification Item)", width = 15, dicCode = "authentication_object")
private String authenticationObject;
/**
* 认证交付物
*/
@ApiModelProperty(value = "认证交付物")
@Excel(name = "认证交付物", width = 15)
@Excel(name = "认证交付物(Verification)", width = 15)
private String certifyTheDeliverables;
/**
* 类型
*/
@Dict(dicCode = "type")
@Excel(name = "类型", width = 15, dicCode = "type")
@Excel(name = "类型(Type)", width = 15, dicCode = "type")
@ApiModelProperty(value = "类型")
private String type;
@@ -171,7 +171,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@Dict(dicCode = "dynamic_type")
@ApiModelProperty(value = "动力类型")
@Excel(name = "动力类型", width = 15, dicCode = "dynamic_type")
@Excel(name = "动力类型(Power Propulsion Type)", width = 15, dicCode = "dynamic_type")
private String dynamicType;
/**
@@ -180,7 +180,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "主控部门")
@NotBlank(message = "主控部门不能为空")
@Excel(name = "*主控部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@Excel(name = "*主控部门(Main Responsible Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
private String mainDept;
/**
@@ -189,7 +189,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
@ApiModelProperty(value = "主控部门专业模块")
@NotBlank(message = "主控部门专业模块不能为空")
@Dict(dicCode = "professional_module")
@Excel(name = "*主控部门专业模块", width = 15, dicCode = "professional_module")
@Excel(name = "*主控部门专业模块(Module of Main Responsible Dept.)", width = 15, dicCode = "professional_module")
private String mainDeptProfMode;
/**
@@ -197,14 +197,14 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@ApiModelProperty(value = "关联部门")
@Excel(name = "关联部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
@Excel(name = "关联部门(Related Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
private String associateDept;
/**
* 关联部门专业模块
*/
@ApiModelProperty(value = "关联部门专业模块")
@Excel(name = "关联部门专业模块", width = 15, dicCode = "professional_module")
@Excel(name = "关联部门专业模块(Module of Related Dept.)", width = 15, dicCode = "professional_module")
@Dict(dicCode = "professional_module")
private String associateDeptProfMode;
@@ -212,7 +212,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
* 批量限制
*/
@ApiModelProperty(value = "批量限制")
@Excel(name = "批量限制", width = 15, dicCode = "batch_restriction")
@Excel(name = "批量限制(Production Amount)", width = 15, dicCode = "batch_restriction")
@Dict(dicCode = "batch_restriction")
private String batchLimit;
@@ -221,7 +221,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@Dict(dicCode = "automatic_driving_level")
@ApiModelProperty(value = "自动驾驶等级")
@Excel(name = "自动驾驶等级", width = 15,dicCode = "automatic_driving_level")
@Excel(name = "自动驾驶等级(Automatic Driving Level)", width = 15,dicCode = "automatic_driving_level")
private String autopilotLevel;
/**
@@ -229,7 +229,7 @@ public class LawsMarketStandardDetailExcel implements Serializable {
*/
@Dict(dicCode = "requirement_type")
@ApiModelProperty(value = "要求类型")
@Excel(name = "要求类型", width = 15,dicCode = "requirement_type")
@Excel(name = "要求类型(Optional/Compulsory)", width = 15,dicCode = "requirement_type")
private String requireType;
@@ -6,11 +6,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ImportExcelUtil;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants;
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard;
@@ -26,6 +28,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
@@ -33,6 +36,7 @@ import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.core.io.ClassPathResource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -42,9 +46,11 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolation;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.*;
import java.util.stream.Collectors;
@@ -64,12 +70,6 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
@Resource
private ILawsCommonService lawsCommonService;
private static final String NOT_DATA = "数据不存在";
private static final String VERSION_NOT = "版本不存在";
private static final String NO_PERMISSIONS = "没有权限";
/**
* 其他管理员
@@ -98,7 +98,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
List<LawsMarketStandard> listLawsMarketStandardOld = marketStandardService
.listByIds(Arrays.asList(manifestId.split(",")));
if(CollectionUtils.isEmpty(listLawsMarketStandardOld)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
for (LawsMarketStandard lawsMarketStandard : listLawsMarketStandardOld) {
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
@@ -109,7 +109,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())
&& !Objects.equals(lawsMarketStandard.getManifestStatus(),
MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
return Result.error(NO_PERMISSIONS);
return Result.error(ResultCommon.NO_PERMISSION);
}
}
@@ -121,7 +121,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,manifestVersion);
LawsMarketStandard lawsMarketStandard = marketStandardService.getOne(queryLawsMarketStandard,false);
if(Objects.isNull(lawsMarketStandard)){
return Result.error(manifestVersion + VERSION_NOT);
return Result.error(manifestVersion + ResultCommon.VERSION_DOES_NOT_EXIST);
}
manifestId = lawsMarketStandard.getId();
}
@@ -137,19 +137,19 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
@Override
public Result<?> getList(String manifestId,String manifestVersion) {
if(StringUtils.isBlank(manifestId)){
return Result.error("id不能为空");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
if(!StringUtils.isBlank(manifestVersion)){
LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId);
if(Objects.isNull(lawsMarketStandardOld)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,lawsMarketStandardOld.getManifestNo());
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,manifestVersion);
LawsMarketStandard lawsMarketStandard = marketStandardService.getOne(queryLawsMarketStandard,false);
if(Objects.isNull(lawsMarketStandard)){
return Result.error(manifestVersion + VERSION_NOT);
return Result.error(manifestVersion + ResultCommon.VERSION_DOES_NOT_EXIST);
}
manifestId = lawsMarketStandard.getId();
}
@@ -166,7 +166,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
public synchronized Result<?> importExcel(MultipartFile file,String manifestId) {
LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId);
if(Objects.isNull(lawsMarketStandardOld)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -174,11 +174,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())){
return Result.error(NO_PERMISSIONS);
return Result.error(ResultCommon.NO_PERMISSION);
}
// 校验文件是否为excel
if (!ImportExcelUtil.checkExcelFile(file)) {
return Result.error("请导入excel文件");
return Result.error(ResultCommon.IMPORT_THE_EXCEL_FILE);
}
ImportParams params = new ImportParams();
params.setHeadRows(1);
@@ -186,12 +186,12 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
boolean b = ImportExcelUtil.
checkTemplateTitle(file, LawsMarketStandardDetailExcel.class, 0, 0);
if (!b) {
return Result.error("excel文件表头错误,请重新下载");
return Result.error(ResultCommon.IMPORT_TEMPLATE_ERROR);
}
try {
List<LawsMarketStandardDetailExcel> listLawsMarketStandardDetailExcel = getLawsMarketStandardDetailExcels(file, params);
if(CollectionUtils.isEmpty(listLawsMarketStandardDetailExcel)){
return Result.error("导入数据为空");
return Result.error(ResultCommon.IMPORT_DATA_CANNOT_BE_EMPTY);
}
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = JSON.parseArray(
JSON.toJSONString(listLawsMarketStandardDetailExcel),LawsMarketStandardDetail.class);
@@ -212,10 +212,10 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
saveBatch(listLawsMarketStandardDetail);
// 更新状态
marketStandardService.updateStatus(manifestId);
return Result.OK("导入成功");
return Result.OK(ResultCommon.OK);
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("导入失败");
return Result.error(ResultCommon.ERROR);
} finally {
try {
file.getInputStream().close();
@@ -226,7 +226,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
}
@NotNull
private StringBuilder getStringBuilder(String manifestId, List<LawsMarketStandardDetail> listLawsMarketStandardDetail, List<LawsMarketStandardDetail> listIdsStandard) {
private StringBuilder getStringBuilder(String manifestId,
List<LawsMarketStandardDetail> listLawsMarketStandardDetail,
List<LawsMarketStandardDetail> listIdsStandard) {
StringBuilder m = new StringBuilder();
// 获取当前清单的标准
List<String> listStandardIds = getStandardIds(manifestId);
@@ -237,33 +239,36 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
p.setManifestId(manifestId);
// 校验数据
StringBuilder s = new StringBuilder();
StringBuilder g = ValidUtil.validateReturnBuilder(p);
StringBuilder g = ValidUtil.validateReturnBuilderIsNotBlank(p);
if(!StringUtils.isEmpty(g.toString())){
s.append(g.toString());
}
// 验证标准编号
if(!StringUtils.isBlank(p.getStandardNumber())){
if(CollectionUtils.isEmpty(listIdsStandard)){
s.append("标准编号不存在,");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"standardNumber");
s.append(MessageUtils.getMessage(ResultCommon.DATA_DOES_NOT_EXIST,name)).append(",");
}else{
Optional<LawsMarketStandardDetail> op = listIdsStandard.stream().filter(o->
Objects.equals(o.getStandardNumber(),p.getStandardNumber())).findFirst();
if(!op.isPresent()){
s.append("标准编号不存在,");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"standardNumber");
s.append(MessageUtils.getMessage(ResultCommon.DATA_DOES_NOT_EXIST,name)).append(",");
}else{
checkStandard(listStandardIds, listStandardIdRepeat, p, s, op);
}
}
}
if(!StringUtils.isBlank(s.toString())){
m.append("").append(i + 4).append("行,").append(s.toString(), 0, s.toString().length() - 1)
.append("<br>");
m.append(MessageUtils.getMessage(ResultCommon.ROW_N_IMPORT,i + 4)).append(",")
.append(s.toString(), 0, s.toString().length() - 1).append("<br>");
}
}
return m;
}
private void checkStandard(List<String> listStandardIds, List<String> listStandardIdRepeat, LawsMarketStandardDetail p, StringBuilder s, Optional<LawsMarketStandardDetail> op) {
private void checkStandard(List<String> listStandardIds, List<String> listStandardIdRepeat,
LawsMarketStandardDetail p, StringBuilder s, Optional<LawsMarketStandardDetail> op) {
if(!op.isPresent()){
return;
}
@@ -271,23 +276,26 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
String id = obj.getStandardId();
p.setStandardId(id);
if(!CollectionUtils.isEmpty(listStandardIds) && listStandardIds.contains(id)){
s.append("标准编号已存在,");
s.append(MessageUtils.getMessage(ResultCommon.EXIST_STANDARD_NUMBER)).append(",");
}else if(!CollectionUtils.isEmpty(listStandardIdRepeat) && listStandardIdRepeat.contains(id)){
s.append("标准编号重复,");
s.append(MessageUtils.getMessage(ResultCommon.DUPLICATE_STANDARD_NUMBER)).append(",");
}else{
// 验证标准名称
if(!Objects.equals(obj.getStandardName(),p.getStandardName())){
s.append("标准名称错误,");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"standardName");
s.append(MessageUtils.getMessage(ResultCommon.FORMATTING_ERROR,name)).append(",");
}
// 验证标准英文名称
if(!Objects.equals(StringUtils.isEmpty(obj.getStandardEnglishName()) ? "" : obj.getStandardEnglishName(),
StringUtils.isEmpty(p.getStandardEnglishName()) ? "" : p.getStandardEnglishName())){
s.append("标准英文名称错误,");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"standardEnglishName");
s.append(MessageUtils.getMessage(ResultCommon.FORMATTING_ERROR,name)).append(",");
}
checkDate(p, s);
// 验证类型
if(!Objects.equals(obj.getType(),p.getType())){
s.append("类型错误,");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"type");
s.append(MessageUtils.getMessage(ResultCommon.FORMATTING_ERROR,name)).append(",");
}
}
listStandardIdRepeat.add(id);
@@ -305,7 +313,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
String[] str = p.getNewProductImplDate().split(",");
for (String s1 : str) {
if (!DateValidateUtil.isValidDate(s1, format)) {
s.append("新生产车实施日期格式错误(请输入年-月-日格式),");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"newProductImplDate");
s.append(MessageUtils.getMessage(ResultCommon.FORMATTING_ERROR,name))
.append(",");
break;
}
}
@@ -315,7 +325,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
String[] str = p.getNewAuthImplDate().split(",");
for (String s1 : str) {
if (!DateValidateUtil.isValidDate(s1, format)) {
s.append("新认证车实施日期格式错误(请输入年-月-日格式),");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"newAuthImplDate");
s.append(MessageUtils.getMessage(ResultCommon.FORMATTING_ERROR,name))
.append(",");
break;
}
}
@@ -325,7 +337,9 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
String[] str = p.getRegistrationDate().split(",");
for (String s1 : str) {
if (!DateValidateUtil.isValidDate(s1, format)) {
s.append("注册日期格式错误(请输入年-月-日格式),");
String name = ValidUtil.getAnnotation(LawsMarketStandardDetail.class,"registrationDate");
s.append(MessageUtils.getMessage(ResultCommon.FORMATTING_ERROR,name))
.append(",");
break;
}
}
@@ -387,33 +401,33 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,marketStandardDetail.getManifestId());
long l = count(queryLawsMarketStandardDetail);
if(l > 0){
return Result.error("标准已存在");
return Result.error(ResultCommon.STANDARD_NUMBER_ALREADY_EXISTS);
}
save(marketStandardDetail);
// 更细状态
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
return Result.OK("操作成功");
return Result.OK(ResultCommon.OK);
}
@Override
public Result<?> batchAdd(List<LawsMarketStandardDetail> list) {
if(CollectionUtils.isEmpty(list)){
return Result.error("数据不能为空");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
long l = list.stream().filter(o->StringUtils.isBlank(o.getManifestId())).count();
if(l > 0){
return Result.error("数据异常");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
List<String> listManifestId = list.stream().map(LawsMarketStandardDetail::getManifestId)
.collect(Collectors.toList());
listManifestId = listManifestId.stream().distinct().collect(Collectors.toList());
if(listManifestId.size() > 1){
return Result.error("数据异常");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
String manifestId = listManifestId.get(0);
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(manifestId);
if(Objects.isNull(lawsMarketStandard)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -421,7 +435,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())){
return Result.error(NO_PERMISSIONS);
return Result.error(ResultCommon.NO_PERMISSION);
}
List<String> listStandardId = list.stream().map(LawsMarketStandardDetail::getStandardId).collect(Collectors.toList());
@@ -435,28 +449,28 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
list = list.stream().filter(o->!listIds.contains(o.getStandardId())).collect(Collectors.toList());
}
saveBatch(list);
return Result.OK("操作成功");
return Result.OK(ResultCommon.OK);
}
@Override
public synchronized Result<?> copy(String oldId,String newId) {
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(newId);
if(Objects.isNull(lawsMarketStandard)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())){
return Result.error(NO_PERMISSIONS);
return Result.error(ResultCommon.NO_PERMISSION);
}
LambdaQueryWrapper<LawsMarketStandardDetail> queryOld = new LambdaQueryWrapper<>();
queryOld.in(LawsMarketStandardDetail::getManifestId,Arrays.asList(oldId.split(",")));
queryOld.groupBy(LawsMarketStandardDetail::getStandardId);
List<LawsMarketStandardDetail> listOld = list(queryOld);
if(CollectionUtils.isEmpty(listOld)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LambdaQueryWrapper<LawsMarketStandardDetail> queryNew = new LambdaQueryWrapper<>();
queryNew.eq(LawsMarketStandardDetail::getManifestId,newId);
@@ -466,11 +480,11 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
listOld = listOld.stream().filter(o->!listStandardId.contains(o.getStandardId())).collect(Collectors.toList());
}
if(CollectionUtils.isEmpty(listOld)){
return Result.error("没有可复制的数据");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
setData(newId, listOld);
saveBatch(listOld);
return Result.OK("操作成功");
return Result.OK(ResultCommon.OK);
}
private void setData(String newId, List<LawsMarketStandardDetail> listOld) {
@@ -489,14 +503,14 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
public synchronized Result<?> edit(LawsMarketStandardDetail marketStandardDetail) {
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(marketStandardDetail.getManifestId());
if(Objects.isNull(lawsMarketStandard)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())){
return Result.error(NO_PERMISSIONS);
return Result.error(ResultCommon.NO_PERMISSION);
}
LambdaQueryWrapper<LawsMarketStandardDetail> queryLawsMarketStandardDetail = new LambdaQueryWrapper<>();
queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId());
@@ -504,12 +518,12 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
queryLawsMarketStandardDetail.ne(LawsMarketStandardDetail::getId,marketStandardDetail.getId());
long l = count(queryLawsMarketStandardDetail);
if(l > 0){
return Result.error("标准已存在");
return Result.error(ResultCommon.EXIST_STANDARD_NUMBER);
}
updateById(marketStandardDetail);
// 更细状态
marketStandardService.updateStatus(marketStandardDetail.getManifestId());
return Result.OK("操作成功");
return Result.OK(ResultCommon.OK);
}
@Override
@@ -518,12 +532,12 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
checkData(id);
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
if(Objects.isNull(lawsMarketStandardDetail)){
throw new JeroBootException(NOT_DATA);
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
removeById(id);
// 更细状态
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
return Result.OK("删除成功");
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
}
@Override
@@ -532,12 +546,12 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
checkData(ids);
LawsMarketStandardDetail lawsMarketStandardDetail = getById(ids.split(",")[0]);
if(Objects.isNull(lawsMarketStandardDetail)){
throw new JeroBootException(NOT_DATA);
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 更细状态
marketStandardService.updateStatus(lawsMarketStandardDetail.getManifestId());
removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功");
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
}
@Override
@@ -562,7 +576,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
if (l == 0 && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)) {
throw new JeroBootException(NO_PERMISSIONS);
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
}
@@ -570,19 +584,19 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
public Result<?> queryById(String id) {
LawsMarketStandardDetail lawsMarketStandardDetail = getById(id);
if(Objects.isNull(lawsMarketStandardDetail)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LawsMarketStandard lawsMarketStandard = marketStandardService.getById(lawsMarketStandardDetail.getManifestId());
if(Objects.isNull(lawsMarketStandard)){
return Result.error(NOT_DATA);
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& Arrays.stream(sysUser.getRoleIds().split(",")).noneMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())
&& !Objects.equals(lawsMarketStandard.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
return Result.error(NO_PERMISSIONS);
return Result.error(ResultCommon.NO_PERMISSION);
}
return Result.OK(lawsMarketStandardDetail);
}
@@ -591,12 +605,12 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
public ModelAndView export(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request) {
String manifestId = marketStandardDetail.getManifestId();
if(StringUtils.isBlank(marketStandardDetail.getManifestId())){
throw new JeroBootException(NOT_DATA);
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
List<LawsMarketStandard> listLawsMarketStandardOld = marketStandardService
.listByIds(Arrays.asList(manifestId.split(",")));
if(CollectionUtils.isEmpty(listLawsMarketStandardOld)){
throw new JeroBootException(NOT_DATA);
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
for (LawsMarketStandard lawsMarketStandard : listLawsMarketStandardOld) {
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
@@ -607,7 +621,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
&& !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())
&& !Objects.equals(lawsMarketStandard.getManifestStatus(),
MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
throw new JeroBootException(NO_PERMISSIONS);
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
}
@@ -619,7 +633,7 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,manifestVersion);
LawsMarketStandard lawsMarketStandard = marketStandardService.getOne(queryLawsMarketStandard,false);
if(Objects.isNull(lawsMarketStandard)){
throw new JeroBootException(manifestVersion + VERSION_NOT);
throw new JeroBootException(manifestVersion + ResultCommon.VERSION_DOES_NOT_EXIST);
}
manifestId = lawsMarketStandard.getId();
}
@@ -7,6 +7,7 @@ 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;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.DictModel;
@@ -20,9 +21,8 @@ import com.jero.modules.laws.marketStandard.mapper.LawsMarketStandardMapper;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardDetailService;
import com.jero.modules.laws.marketStandard.service.ILawsMarketStandardService;
import com.jero.modules.laws.standard.entity.LawsDomesticStandard;
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
import com.jero.modules.laws.standard.service.ILawsDomesticStandardService;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import com.jero.modules.laws.standardmasterplan.servicce.ILawsStandardMasterPlanService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -65,9 +65,9 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
@Resource
private IProcessMarketStandardReleaseService processMarketStandardReleaseService;
@Resource
private ILawsEnterpriseStandardService lawsEnterpriseStandardService;
@Resource
private ILawsDomesticStandardService lawsDomesticStandardService;
@Resource
private ILawsStandardMasterPlanService lawsStandardMasterPlanService;
public static final String CLASS = "entity";
public static final String PARAMS = "params";
@@ -202,7 +202,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
/**
* 生成清单编号
* @param country
* @param manifestNoSub
* @return
*/
private String generateManifestNo(String manifestNoSub) {
@@ -224,7 +224,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
LawsMarketStandard manifest = marketStandardDetailVO.getManifest();
LawsMarketStandard lawsMarketStandardOld = getById(manifest.getId());
if(Objects.isNull(lawsMarketStandardOld)){
throw new JeroBootException("数据不存在");
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
@@ -232,7 +232,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(sysUser.getId(),lawsMarketStandardOld.getAuthor())){
throw new JeroBootException("没有权限");
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
// 状态为已发布需要生成新数据
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
@@ -302,13 +302,13 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LawsMarketStandard lawsMarketStandard = getById(id);
if(Objects.isNull(lawsMarketStandard)){
return Result.error("数据不存在");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 状态为已发布
if(Objects.equals(lawsMarketStandard.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
// 已发布的清单所有人都可以查看,只有超级管理员可以删除,
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)){
return Result.error("没有权限");
return Result.error(ResultCommon.NO_PERMISSION);
}
}else{
// 状态未发布的数据只能作者和管理员查看、编辑、删除
@@ -316,7 +316,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(sysUser.getId(),lawsMarketStandard.getAuthor())){
return Result.error("没有权限");
return Result.error(ResultCommon.NO_PERMISSION);
}
}
@@ -329,7 +329,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandard.getVersionFlag());
List<LawsMarketStandard> listLawsMarketStandard = list(queryLawsMarketStandard);
if(CollectionUtils.isEmpty(listLawsMarketStandard)){
return Result.error("数据不存在");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 删除版本标识下所有数据
LambdaUpdateWrapper<LawsMarketStandard> updateLawsMarketStandard = new LambdaUpdateWrapper<>();
@@ -340,7 +340,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
LambdaQueryWrapper<LawsMarketStandardDetail> wrapper = new LambdaQueryWrapper<>();
wrapper.in(LawsMarketStandardDetail::getManifestId, listIds);
lawsMarketStandardDetailService.remove(wrapper);
return Result.OK("删除成功!");
return Result.OK(ResultCommon.SUCCESSFULLY_DELETED);
}
@Override
@@ -348,7 +348,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)){
throw new JeroBootException("没有权限");
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
removeByIds(ids);
LambdaQueryWrapper<LawsMarketStandardDetail> wrapper = new LambdaQueryWrapper<>();
@@ -364,7 +364,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
LawsMarketStandard manifest = getById(idList.get(0));
if(Objects.isNull(manifest)){
throw new JeroBootException("数据不存在");
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -373,7 +373,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(manifest.getAuthor(),sysUser.getId())
&& !Objects.equals(manifest.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
throw new JeroBootException("没有权限");
throw new JeroBootException(ResultCommon.NO_PERMISSION);
}
// 清单版本不为空,查询指定版本
if(!StringUtils.isBlank(marketStandardDetail.getManifestVersion())){
@@ -382,7 +382,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
queryLawsMarketStandard.eq(LawsMarketStandard::getManifestNo,manifest.getManifestNo());
manifest = getOne(queryLawsMarketStandard,false);
if(Objects.isNull(manifest)){
throw new JeroBootException("市场法规清单不存在");
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
idList = new ArrayList<>();
idList.add(manifest.getId());
@@ -420,7 +420,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
public LawsMarketStandard queryById(String id) {
LawsMarketStandard lawsMarketStandard = getById(id);
if(Objects.isNull(lawsMarketStandard)){
throw new JeroBootException("数据不存在");
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandard.getVersionFlag());
@@ -433,7 +433,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
public synchronized Result<?> checkPublish(String id) {
LawsMarketStandard lawsMarketStandardOld = getById(id);
if(Objects.isNull(lawsMarketStandardOld)){
return Result.error("数据不存在");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -441,13 +441,13 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
&& !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)
&& !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())){
return Result.error("没有权限");
return Result.error(ResultCommon.NO_PERMISSION);
}
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
return Result.error("数据已发布");
return Result.error(ResultCommon.DATA_PUBLISHED);
}
processMarketStandardReleaseService.checkProcessStatus(id);
return Result.OK();
return Result.OK(ResultCommon.OK);
}
@Override
@@ -455,13 +455,13 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
public synchronized Result<?> publish(String id) {
LawsMarketStandard lawsMarketStandardOld = getById(id);
if(Objects.isNull(lawsMarketStandardOld)){
return Result.error("数据不存在");
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
return Result.error("数据已发布");
return Result.error(ResultCommon.DATA_PUBLISHED);
}
LambdaQueryWrapper<LawsMarketStandard> queryLawsMarketStandard = new LambdaQueryWrapper<>();
queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandardOld.getVersionFlag());
@@ -482,7 +482,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
List<LawsMarketStandardDetail> listLawsMarketStandardDetail = lawsMarketStandardDetailService
.list(queryLawsMarketStandardDetail);
if(CollectionUtils.isEmpty(listLawsMarketStandardDetail)){
return Result.OK("发布成功");
return Result.OK(ResultCommon.OK);
}
List<LawsDomesticStandard> listLawsDomesticStandard = new ArrayList<>();
String country = lawsMarketStandardOld.getCountry();
@@ -496,7 +496,8 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
listLawsDomesticStandard.add(lawsDomesticStandard);
}
lawsDomesticStandardService.updateBatchById(listLawsDomesticStandard);
return Result.OK("发布成功");
lawsStandardMasterPlanService.syncMarketRegulationListUpdate(id,lawsMarketStandardOld.getCountry());
return Result.OK(ResultCommon.OK);
}
@Override
@@ -504,7 +505,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
public synchronized void updateStatus(String id) {
LawsMarketStandard lawsMarketStandardOld = getById(id);
if(Objects.isNull(lawsMarketStandardOld)){
throw new JeroBootException("数据不存在");
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
// 状态为已发布需要生成新数据
if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){
@@ -546,7 +547,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl<LawsMarketStandar
@Override
public synchronized Result<String> getManifestNo(LawsMarketStandard marketStandard) {
if(StringUtils.isEmpty(marketStandard.getCountry())){
Result.error("请选择国家/地区");
return Result.error(ResultCommon.SELECT_DATA);
}
List<String> listCountry = marketStandardMapper.getOneByEnBase(Arrays.asList(marketStandard.getCountry().split(",")));
if(CollectionUtils.isEmpty(listCountry)){
@@ -1,29 +1,20 @@
package com.jero.modules.laws.utils;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jero.common.aspect.annotation.Dict;
import com.jero.common.constant.CommonConstant;
import com.jero.common.api.vo.ResultCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.SysDictItemCore;
import com.jero.common.util.oConvertUtils;
import com.jero.common.util.MessageUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.util.ReflectionUtils;
import javax.annotation.Resource;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 手动校验@Vaild方法
@@ -98,6 +89,38 @@ public class ValidUtil {
return msg;
}
/**
* @Description 校验不能为空
* @Author lqt
* @Date 2021/8/26
* @Param object 对象
* @Return StringBuilder
*/
public static StringBuilder validateReturnBuilderIsNotBlank(Object object, Class<?>... groups){
StringBuilder msg = new StringBuilder();
Set<ConstraintViolation<Object>> set = validator.validate(object, groups);
if(set != null && set.size() >0 ){
Field[] fields = object.getClass().getDeclaredFields();
setField(object, fields);
Locale locale = LocaleContextHolder.getLocale();
for (Field field : fields) {
for(ConstraintViolation<Object> constraintViolation : set){
if(Objects.equals(constraintViolation.getPropertyPath().toString(),field.getName())){
if (field.isAnnotationPresent(Excel.class) && field.isAnnotationPresent(NotBlank.class)) {
String name = field.getAnnotation(Excel.class).name();
String[] str1 = name.split("\\(");
String en = str1.length > 1 ? str1[1].split("\\)")[0] : str1[0];
String zh = str1[0];
name = Objects.equals(locale,Locale.ENGLISH) ? en : zh;
msg.append(MessageUtils.getMessage(ResultCommon.EMPTY_COMMON,name)).append(",");
}
}
}
}
}
return msg;
}
private static void setField(Object object, Field[] fields) {
for (Field field : fields) {
try {
@@ -133,4 +156,33 @@ public class ValidUtil {
}
return msg;
}
/**
* 获取指定类的指定字段上的注解
*
* @param clazz 要检查的类
* @param fieldName 字段名
*/
public static String getAnnotation(Class<?> clazz, String fieldName) {
try {
Locale locale = LocaleContextHolder.getLocale();
// 获取字段
Field field = clazz.getDeclaredField(fieldName);
// 检查字段是否有 MyAnnotation 注解
if (field.isAnnotationPresent(Excel.class)) {
// 获取注解实例
Excel annotation = field.getAnnotation(Excel.class);
String name = annotation.name();
String[] str1 = name.split("\\(");
String en = str1.length > 1 ? str1[1].split("\\)")[0] : str1[0];
String zh = str1[0];
name = Objects.equals(locale,Locale.ENGLISH) ? en : zh;
return name;
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return null;
}
}
@@ -85,4 +85,12 @@ process.already.distributed=The process has been distributed, do not reject!
process.not.countersignature=It is not a countersign node task!
zip_root_one_excel=The zip file contains more than one excel file
message.no.exists.standard=The standard does not exist
scc.delete.standard.error=The standard has been used by the Standard Compliance Check Process, can not delete
data.published=Data published
version.does.not.exist=Version does not exist
import.the.excel.file=Import the excel file
duplicate.standard.number=Duplicate standard number
standard.number.already.exists=The standard number already exists
formatting.error={0} formatting error
data.does.not.exist={0} does not exist
row.n.import=Row {0}
scc.delete.standard.error=The standard has been used by the Standard Compliance Check Process, can not delete
@@ -84,4 +84,12 @@ process.already.distributed=\u6D41\u7A0B\u5DF2\u5206\u53D1,\u7981\u6B62\u9A73\u5
process.not.countersignature=\u4E0D\u662F\u4F1A\u7B7E\u8282\u70B9\u4EFB\u52A1!
zip_root_one_excel=\u538B\u7F29\u5305\u6839\u76EE\u5F55\u4E0B\u4EC5\u80FD\u5B58\u5728\u4E00\u4E2Aexcel\u4E3A\u5BFC\u5165\u6570\u636E
message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
data.published=\u6570\u636E\u5DF2\u53D1\u5E03
version.does.not.exist=\u7248\u672C\u4E0D\u5B58\u5728
import.the.excel.file=\u8BF7\u5BFC\u5165excel\u6587\u4EF6
duplicate.standard.number=\u6807\u51C6\u7F16\u53F7\u91CD\u590D
standard.number.already.exists=\u6807\u51C6\u7F16\u53F7\u5DF2\u5B58\u5728
formatting.error={0}\u683C\u5F0F\u9519\u8BEF
data.does.not.exist={0}\u6570\u636E\u4E0D\u5B58\u5728
row.n.import=\u7B2C{0}\u884C
scc.delete.standard.error=\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664