Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH
This commit is contained in:
+201
-8
@@ -4007,6 +4007,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
|
||||
List<String> paramsCollectManifestIdList = configDataList.stream().map(ParamsConfigDataEO::getParamsCollectManifestId).distinct().collect(Collectors.toList());
|
||||
for (String paramsCollectManifestId : paramsCollectManifestIdList) {
|
||||
// 删除之前的参数项
|
||||
QueryWrapper<ParamsConfigDataEO> targetConfigDataRemoveWrap = new QueryWrapper<>();
|
||||
targetConfigDataRemoveWrap.lambda().eq(ParamsConfigDataEO::getParamsCollectManifestId, paramsCollectManifestId);
|
||||
this.paramsConfigDataEOService.remove(targetConfigDataRemoveWrap);
|
||||
}
|
||||
|
||||
// 批量新增参数项
|
||||
Boolean isSuccess = paramsConfigDataEOService.saveOrUpdateBatch(configDataList);
|
||||
|
||||
@@ -5416,7 +5424,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
|
||||
} else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType)) {
|
||||
// 校验必填
|
||||
if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
/*if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "为必填项,不能为空;";
|
||||
} else {
|
||||
@@ -5462,11 +5470,41 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// 处理禅道66949 问题,导入的时候将必填校验去掉,填写人在提交的时候还有必填校验。
|
||||
if (StringUtils.isNotEmpty(value)) {
|
||||
if (countChar(value, "#") != 1) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "格式不正确;";
|
||||
} else {
|
||||
errorMsg += configMap.get(key) + " format is incorrect; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
if (value.split("#").length > 1) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[1]);
|
||||
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
|
||||
} else if (value.split("#").length == 1 && value.endsWith("#")) {
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) {
|
||||
// 校验必填
|
||||
if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
/*if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "为必填项,不能为空;";
|
||||
} else {
|
||||
@@ -5511,11 +5549,39 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// 处理禅道66949 问题,导入的时候将必填校验去掉,填写人在提交的时候还有必填校验。
|
||||
if (StringUtils.isNotEmpty(value)) {
|
||||
if (countChar(value, "#") != 1) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "格式不正确;";
|
||||
} else {
|
||||
errorMsg += configMap.get(key) + " format is incorrect; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
if (value.split("#").length > 1) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, false, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[1]);
|
||||
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
} else if (value.split("#").length == 1 && value.endsWith("#")) {
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) {
|
||||
// 校验必填
|
||||
if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
/*if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "为必填项,不能为空;";
|
||||
} else {
|
||||
@@ -5551,11 +5617,40 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// 处理禅道66949 问题,导入的时候将必填校验去掉,填写人在提交的时候还有必填校验。
|
||||
if (StringUtils.isNotEmpty(value)) {
|
||||
if (countChar(value, "#") != 1) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "格式不正确;";
|
||||
} else {
|
||||
errorMsg += configMap.get(key) + " format is incorrect; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
if (value.split("#").length > 1) {
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], isMust, "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
|
||||
resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setFileConnectId(value.split("#")[1]);
|
||||
} else if (value.split("#").length == 1 && value.endsWith("#")) {
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], isMust, "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) {
|
||||
// 校验必填
|
||||
if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
/*if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "为必填项,不能为空;";
|
||||
} else {
|
||||
@@ -5590,11 +5685,40 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// 处理禅道66949 问题,导入的时候将必填校验去掉,填写人在提交的时候还有必填校验。
|
||||
if (StringUtils.isNotEmpty(value)) {
|
||||
if (countChar(value, "#") != 1) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "格式不正确;";
|
||||
} else {
|
||||
errorMsg += configMap.get(key) + " format is incorrect; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
if (value.split("#").length > 1) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, true, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[0]);
|
||||
|
||||
resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setFileConnectId(value.split("#")[1]);
|
||||
} else if (value.split("#").length == 1 && value.endsWith("#")) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, true, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) {
|
||||
// 校验必填
|
||||
if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
/*if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "为必填项,不能为空;";
|
||||
} else {
|
||||
@@ -5630,11 +5754,40 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// 处理禅道66949 问题,导入的时候将必填校验去掉,填写人在提交的时候还有必填校验。
|
||||
if (StringUtils.isNotEmpty(value)) {
|
||||
if (countChar(value, "#") != 1) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "格式不正确;";
|
||||
} else {
|
||||
errorMsg += configMap.get(key) + " format is incorrect; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
if (value.split("#").length > 1) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, false, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[0]);
|
||||
|
||||
resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setFileConnectId(value.split("#")[1]);
|
||||
} else if (value.split("#").length == 1 && value.endsWith("#")) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, false, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) {
|
||||
// 校验必填
|
||||
if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
/*if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "为必填项,不能为空;";
|
||||
} else {
|
||||
@@ -5689,6 +5842,42 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
}
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
// 处理禅道66949 问题,导入的时候将必填校验去掉,填写人在提交的时候还有必填校验。
|
||||
if (StringUtils.isNotEmpty(value)) {
|
||||
if (countChar(value, "#") != 2) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
errorMsg += configMap.get(key) + "格式不正确;";
|
||||
} else {
|
||||
errorMsg += configMap.get(key) + " format is incorrect; ";
|
||||
}
|
||||
countError++;
|
||||
} else {
|
||||
if (value.split("#").length > 1) {
|
||||
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setPullData(value.split("#")[1]);
|
||||
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
|
||||
if (!value.endsWith("#")) { //3
|
||||
resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[2], ParamsIsMustEnum.NO.getValue(), cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setFileConnectId(value.split("#")[2]);
|
||||
}
|
||||
} else if (value.split("#").length == 1 && value.endsWith("#")) {
|
||||
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
|
||||
errorMsg += (String) resultMap.get("errorMsg");
|
||||
countError += (int) resultMap.get("countError");
|
||||
configDataEO.setTextData(value.split("#")[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -5701,7 +5890,11 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(configDataEO.getId())) {
|
||||
/*if (StringUtils.isNotEmpty(configDataEO.getId())) {
|
||||
configDataList.add(configDataEO);
|
||||
}*/
|
||||
// 如果表格里的参数不为空,则进行添加。
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
configDataList.add(configDataEO);
|
||||
}
|
||||
}
|
||||
|
||||
+51
-19
@@ -5076,6 +5076,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
public void exportTemplate(Map<String, Object> map, HttpServletResponse response, HttpServletRequest request) {
|
||||
OutputStream os = null;
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
String cut = (String) map.get("cut");
|
||||
String sheetName = "";
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
sheetName = "文档库导入模板";
|
||||
}else {
|
||||
sheetName = "Document LibraryImport Template";
|
||||
}
|
||||
String fileOriName = "文档库导入模板.xls";
|
||||
String filePath = uploadpath + File.separator + fileOriName;
|
||||
try {
|
||||
@@ -5086,7 +5093,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
nowFile.delete();
|
||||
}
|
||||
nowFile.mkdirs();
|
||||
HSSFSheet sheet = workbook.createSheet("文档库导入模板");
|
||||
HSSFSheet sheet = workbook.createSheet(sheetName);
|
||||
sheet.setDefaultColumnWidth(16);//列宽
|
||||
HSSFCellStyle cellStyle = workbook.createCellStyle();
|
||||
cellStyle.setWrapText(true);//自动换行
|
||||
@@ -5269,10 +5276,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
//
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
String tree = "分阶段实施详情字段,多行之间使用#号分隔,列之间使用<p>标签分隔,示例:法规编号/条款<p>新车型<p>2000-10-10<p>备注#";
|
||||
String tree = "分阶段实施详情字段,多行之间使用#号分隔,列之间使用<n>标签分隔,示例:法规编号/条款<n>新车型<n>2000-10-10<n>备注#";
|
||||
sbTwo.append(count++ + "." + tree);
|
||||
}else{
|
||||
String tree = "For the field of phased implementation details, separate rows with # signs and columns with <p> labels. Example: Regulation Number/Articles <p> New model <p>2000-10-10<p> Remarks";
|
||||
String tree = "For the field of phased implementation details, separate rows with # signs and columns with <n> labels. Example: Regulation Number/Articles <n> New model <n>2000-10-10<n> Remarks";
|
||||
sbTwo.append(count++ + "." + tree);
|
||||
}
|
||||
List<String> list = new LinkedList<>();
|
||||
@@ -5960,14 +5967,21 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<String> phasedImplDetailsList = Arrays.asList(value.split("#"));
|
||||
for (String phasedImplDetails : phasedImplDetailsList) {
|
||||
PhasedImplementationDetailsEO phasedImplementationDetailsEO = new PhasedImplementationDetailsEO();
|
||||
String[] phasedImplDetailsArr = phasedImplDetails.split("<p>");
|
||||
String[] phasedImplDetailsArr = phasedImplDetails.split("<n>");
|
||||
if(phasedImplDetailsArr.length >= 1){
|
||||
String standNumberOrClause = phasedImplDetailsArr[0];
|
||||
if (StringUtils.isNotBlank(standNumberOrClause) && standNumberOrClause.length() > 100) {
|
||||
if(StringUtils.isEmpty(standNumberOrClause)){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-法规编号/条款不能超过" + 100 + "个字符, ";
|
||||
errorMsg += "分阶段实施详情-法规编号/条款不能为空, ";
|
||||
}else{
|
||||
errorMsg += "Details of the phased implementation standNumberOrClause Can not be more than " + 100 + " char, ";
|
||||
errorMsg += "Phased Implementation Details - Regulation No./clause cannot be empty,";
|
||||
}
|
||||
countError++;
|
||||
} else if (StringUtils.isNotBlank(standNumberOrClause) && standNumberOrClause.length() > 200) {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-法规编号/条款不能超过" + 200 + "个字符, ";
|
||||
}else{
|
||||
errorMsg += "Phased Implementation Details - Regulation No./clause Can not be more than " + 200 + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
@@ -5976,6 +5990,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
if(phasedImplDetailsArr.length >= 2){
|
||||
String implementationTypeName = phasedImplDetailsArr[1];
|
||||
|
||||
if(StringUtils.isNotEmpty(implementationTypeName)){
|
||||
String[] implementationTypeNameArr = implementationTypeName.split(",");
|
||||
ImplementationTypeEnum[] implementationTypeEnums = ImplementationTypeEnum.values();
|
||||
@@ -5993,30 +6008,47 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-实施类型填写有误,填写值为'新车型 或 在产车', ";
|
||||
}else{
|
||||
errorMsg += "Details of the phased implementation implementationType The value is set to 'New car model or Car in production', ";
|
||||
errorMsg += "Phased Implementation Details - implementationType The value is set to 'New car model or Car in production', ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setImplementationType(implementationTypeList.stream().collect(Collectors.joining(",")));
|
||||
}
|
||||
}else {
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-实施类型不能为空, ";
|
||||
}else{
|
||||
errorMsg += "Phased Implementation Details - Implementation Type cannot be empty,";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
}
|
||||
if(phasedImplDetailsArr.length >= 3){
|
||||
Date implementationDate = null;
|
||||
try {
|
||||
implementationDate = DateUtils.parseDate(phasedImplDetailsArr[2], "yyyy-MM-dd");
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(implementationDate == null){
|
||||
String implementationDateStr = phasedImplDetailsArr[2];
|
||||
if(StringUtils.isEmpty(implementationDateStr)){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-实施日期格式错误,正确格式为'yyyy-MM-dd', ";
|
||||
errorMsg += "分阶段实施详情-实施日期不能为空, ";
|
||||
}else{
|
||||
errorMsg += "Details of the phased implementation implementationDate format is incorrect. The correct format is 'yyyy-MM-dd', ";
|
||||
errorMsg += "Phased Implementation Details - Implementation Date cannot be empty,";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setImplementationDate(implementationDate);
|
||||
Date implementationDate = null;
|
||||
try {
|
||||
implementationDate = DateUtils.parseDate(phasedImplDetailsArr[2], "yyyy-MM-dd");
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(implementationDate == null){
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-实施日期格式错误,正确格式为'yyyy-MM-dd', ";
|
||||
}else{
|
||||
errorMsg += "Phased Implementation Details - implementationDate format is incorrect. The correct format is 'yyyy-MM-dd', ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
phasedImplementationDetailsEO.setImplementationDate(implementationDate);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(phasedImplDetailsArr.length >= 4){
|
||||
@@ -6025,7 +6057,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
errorMsg += "分阶段实施详情-备注不能超过" + 1000 + "个字符, ";
|
||||
}else{
|
||||
errorMsg += "Details of the phased implementation ramarks Can not be more than " + 1000 + " char, ";
|
||||
errorMsg += "Phased Implementation Details - ramarks Can not be more than " + 1000 + " char, ";
|
||||
}
|
||||
countError++;
|
||||
}else {
|
||||
|
||||
+8
-3
@@ -3854,6 +3854,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
// 没有引用的数据 检验项目集合,给到前端进行展示。
|
||||
List<String> noCiteInspectionItem = new ArrayList<>();
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
String deliveryResult = "";
|
||||
for (ProjectCertificationInventoryEO citeProjectCertificationInventoryEO : citeProjectCertificationInventoryEOList) {
|
||||
// 匹配数据 类别、检验项目、配置项、标准编号、交付物类型完全一致,并且数据的状态为 审查完成
|
||||
boolean flag = (
|
||||
@@ -3863,13 +3864,17 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
&& StringUtils.equals(projectCertificationInventoryEO.getSerialNumber(),citeProjectCertificationInventoryEO.getSerialNumber())
|
||||
&& StringUtils.equals(projectCertificationInventoryEO.getDeliverableType(),citeProjectCertificationInventoryEO.getDeliverableType())
|
||||
);
|
||||
|
||||
if(flag){
|
||||
projectCertificationInventoryEO.setDeliveryResult(citeProjectCertificationInventoryEO.getDeliveryResult());
|
||||
deliveryResult = citeProjectCertificationInventoryEO.getDeliveryResult();
|
||||
break;
|
||||
}else {
|
||||
noCiteInspectionItem.add(projectCertificationInventoryEO.getInspectionItem());
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(deliveryResult)){
|
||||
projectCertificationInventoryEO.setDeliveryResult(deliveryResult);
|
||||
}else {
|
||||
noCiteInspectionItem.add(projectCertificationInventoryEO.getInspectionItem());
|
||||
}
|
||||
}
|
||||
|
||||
this.updateBatchById(projectCertificationInventoryEOList);
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<a-input class="box-input inputWid"
|
||||
:disabled="itemval.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
@input="onInput"
|
||||
@input="onInput(itemval.dataValue,item,index1)"
|
||||
:maxLength="1000"
|
||||
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
|
||||
v-model="itemval.dataValue"/>
|
||||
@@ -283,7 +283,7 @@
|
||||
:maxLength="1000"
|
||||
:disabled="itemval.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
@input="onInput"
|
||||
@input="onInput(itemval.dataValue,item,index1)"
|
||||
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
|
||||
v-model="itemval.dataValue"/>
|
||||
</div>
|
||||
@@ -405,7 +405,7 @@
|
||||
<div v-else-if="itemval.controlVerify == '2'">
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
@input="onInput"
|
||||
@input="onInput(itemval.dataValue,item,index1)"
|
||||
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
|
||||
:disabled="itemval.isLock == '1' ? true: false"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
@@ -516,7 +516,7 @@
|
||||
<a-input class="box-input inputWid"
|
||||
:maxLength="1000"
|
||||
:disabled="itemval.isLock == '1' ? true: false"
|
||||
@input="onInput"
|
||||
@input="onInput(itemval.dataValue,item,index1)"
|
||||
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
v-model="itemval.dataValue"/>
|
||||
@@ -730,7 +730,7 @@
|
||||
:disabled="itemval.isLock == '1' ? true: false"
|
||||
:maxLength="1000"
|
||||
:placeholder="$t('pleaseEnter')+$t('chinese')"
|
||||
@input="onInput"
|
||||
@input="onInput(itemval.dataValue,item,index1)"
|
||||
onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
|
||||
v-model="itemval.dataValue"/>
|
||||
</div>
|
||||
@@ -917,14 +917,14 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
onInput(r) {
|
||||
let value = r.target.value
|
||||
r.target.value = value.replace(/[^\u4e00-\u9fa5]/g, '')
|
||||
this.detailDateList.forEach((item) => {
|
||||
if (item.controlVerify == '2') {
|
||||
item.dataValue = r.target.value
|
||||
}
|
||||
})
|
||||
onInput(r, item, index) {
|
||||
let value = r.replace(/[^\u4e00-\u9fa5]/g, '')
|
||||
this.detailDate.paramsConfigData[item][index].dataValue = value
|
||||
// this.detailDateList.forEach((item) => {
|
||||
// if (item.controlVerify == '2') {
|
||||
// item.dataValue = value
|
||||
// }
|
||||
// })
|
||||
},
|
||||
uploadSuccess(data) {
|
||||
let attIdList = []
|
||||
|
||||
@@ -281,7 +281,6 @@ import { message } from 'ant-design-vue'
|
||||
localStorage.removeItem('otaIdT')
|
||||
localStorage.setItem('otaIdT',value)
|
||||
|
||||
this.$forceUpdate()
|
||||
this.getData()
|
||||
},
|
||||
// 模板下载
|
||||
|
||||
+44
-27
@@ -15,81 +15,81 @@
|
||||
<div style='width: 400px'>
|
||||
<span class='content-text' style='background: #f3f6f6;line-height: 50px;text-align: center;color: #191E29;font-weight: bold'>{{$t('componentname')}}</span>
|
||||
<span class='radio-text' :title="$t('networksecurityrequirements')">
|
||||
{{$t('networksecurityrequirements')}}
|
||||
{{$t('networksecurityrequirements')}}
|
||||
</span>
|
||||
<span class='radio-text' :title="$t('millimeterwaveradar')">
|
||||
{{$t('millimeterwaveradar')}}
|
||||
{{$t('millimeterwaveradar')}}
|
||||
</span>
|
||||
<span class='radio-text' :title="$t('ultrasonicradar')">
|
||||
{{$t('ultrasonicradar')}}
|
||||
{{$t('ultrasonicradar')}}
|
||||
</span>
|
||||
<span class='text-box'>
|
||||
<span class='text-text' :title="$t('camera')">
|
||||
{{$t('camera')}}
|
||||
{{$t('camera')}}
|
||||
</span>
|
||||
<span class='text-text-two' :title="$t('asternimage')">
|
||||
{{$t('asternimage')}}
|
||||
{{$t('asternimage')}}
|
||||
</span>
|
||||
<span class='text-text-two' :title="$t('Monocularbinocularmultiocular')">
|
||||
{{$t('Monocularbinocularmultiocular')}}
|
||||
{{$t('Monocularbinocularmultiocular')}}
|
||||
</span>
|
||||
</span>
|
||||
<span class='text-box'>
|
||||
<span class='text-text' :title="$t('driverattentionmonitoringsystem')">
|
||||
{{$t('driverattentionmonitoringsystem')}}
|
||||
{{$t('driverattentionmonitoringsystem')}}
|
||||
</span>
|
||||
<span class='text-text-two' :title="$t('driversurveillancecamera')">
|
||||
{{$t('driversurveillancecamera')}}
|
||||
{{$t('driversurveillancecamera')}}
|
||||
</span>
|
||||
<span class='text-text-two' :title="$t('drivermonitoringinfraredsensor')">
|
||||
{{$t('drivermonitoringinfraredsensor')}}
|
||||
{{$t('drivermonitoringinfraredsensor')}}
|
||||
</span>
|
||||
</span>
|
||||
<span class='text-box-two' >
|
||||
<span class='text-text' style='height: 450px;line-height: 450px' :title="$t('positioningandnavigationsystem')">
|
||||
{{$t('positioningandnavigationsystem')}}
|
||||
<span class='text-text' style='height: 450px;line-height: 20px' :title="$t('positioningandnavigationsystem')">
|
||||
{{$t('positioningandnavigationsystem')}}
|
||||
</span>
|
||||
<span style="padding: 5px" class='text-text-three' :title="$t('vehiclesatellitepositioningequipment')">
|
||||
{{$t('vehiclesatellitepositioningequipment')}}
|
||||
<span style="padding: 10px" class='text-text-three' :title="$t('vehiclesatellitepositioningequipment')">
|
||||
{{$t('vehiclesatellitepositioningequipment')}}
|
||||
</span>
|
||||
<span class='text-text-three' :title="$t('inertialnavigationsystem')">
|
||||
{{$t('inertialnavigationsystem')}}
|
||||
{{$t('inertialnavigationsystem')}}
|
||||
</span>
|
||||
<span class='text-text-three' :title="$t('wheelspeedmeter')">
|
||||
{{$t('wheelspeedmeter')}}
|
||||
{{$t('wheelspeedmeter')}}
|
||||
</span>
|
||||
<span class='text-text-three' :title="$t('highprecisionmap')">
|
||||
{{$t('highprecisionmap')}}
|
||||
{{$t('highprecisionmap')}}
|
||||
</span>
|
||||
<span class='text-text-five' :title="$t('electronicfence')">
|
||||
{{$t('electronicfence')}}
|
||||
{{$t('electronicfence')}}
|
||||
</span>
|
||||
</span>
|
||||
<span class='text-box-three' :title="$t('vehiclecommunicationsystem')">
|
||||
{{$t('vehiclecommunicationsystem')}}
|
||||
{{$t('vehiclecommunicationsystem')}}
|
||||
</span>
|
||||
<span class='text-box-four'>
|
||||
<span style="padding: 10px" class='four-text-text' :title="$t('signalingdevices')">
|
||||
{{$t('signalingdevices')}}
|
||||
{{$t('signalingdevices')}}
|
||||
</span>
|
||||
<span class='four-text' :title="$t('driverassistancefunctioncontrols')">
|
||||
{{$t('driverassistancefunctioncontrols')}}
|
||||
{{$t('driverassistancefunctioncontrols')}}
|
||||
</span>
|
||||
<span class='four-text' :title="$t('drivingassistancefunctionindicatorsignaldevice')">
|
||||
{{$t('drivingassistancefunctionindicatorsignaldevice')}}
|
||||
{{$t('drivingassistancefunctionindicatorsignaldevice')}}
|
||||
</span>
|
||||
<span class='four-text' :title="$t('steerinwheelreleaseindicatorsignaldevice')">
|
||||
{{$t('steerinwheelreleaseindicatorsignaldevice')}}
|
||||
{{$t('steerinwheelreleaseindicatorsignaldevice')}}
|
||||
</span>
|
||||
<span class='four-text' :title="$t('driverattentionindicatorsignaldevice')">
|
||||
{{$t('driverattentionindicatorsignaldevice')}}
|
||||
{{$t('driverattentionindicatorsignaldevice')}}
|
||||
</span>
|
||||
</span>
|
||||
<span class='text-box-five' :title="$t('automaticDrivingDataRecordingSystem')">
|
||||
{{$t('automaticDrivingDataRecordingSystem')}}
|
||||
{{$t('automaticDrivingDataRecordingSystem')}}
|
||||
</span>
|
||||
<span class='text-box-five' :title="$t('eventdatarecordingsystem')">
|
||||
{{$t('eventdatarecordingsystem')}}
|
||||
<span class='text-box-five' :title="$t('eventdatarecordingsystem')">
|
||||
{{$t('eventdatarecordingsystem')}}
|
||||
</span>
|
||||
</div>
|
||||
<div style='width: 300px'>
|
||||
@@ -1067,6 +1067,7 @@ button{
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
line-height: 200px;
|
||||
padding: 10px;
|
||||
}
|
||||
.radio-text-two{
|
||||
display: inline-block;
|
||||
@@ -1076,6 +1077,9 @@ button{
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.radio-text-three{
|
||||
display: inline-block;
|
||||
@@ -1085,6 +1089,9 @@ button{
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding: 10px;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
}
|
||||
.radio-text-four{
|
||||
display: inline-block;
|
||||
@@ -1094,6 +1101,7 @@ button{
|
||||
width: 100%;
|
||||
height: 250px;
|
||||
line-height: 250px;
|
||||
padding: 10px;
|
||||
}
|
||||
.radio-text-five{
|
||||
display: inline-block;
|
||||
@@ -1103,6 +1111,7 @@ button{
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
line-height: 150px;
|
||||
padding: 10px;
|
||||
}
|
||||
.text-box{
|
||||
display: inline-block;
|
||||
@@ -1131,6 +1140,7 @@ button{
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
}
|
||||
.text-text-two{
|
||||
/*display: inline-block;*/
|
||||
@@ -1144,6 +1154,7 @@ button{
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
}
|
||||
.text-text-three{
|
||||
/*display: inline-block;*/
|
||||
@@ -1156,6 +1167,7 @@ button{
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
}
|
||||
.text-text-five{
|
||||
/*display: inline-block;*/
|
||||
@@ -1168,6 +1180,7 @@ button{
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
}
|
||||
.text-box-three{
|
||||
display: inline-block;
|
||||
@@ -1177,6 +1190,7 @@ button{
|
||||
width: 100%;
|
||||
height: 250px;
|
||||
line-height: 250px;
|
||||
padding: 10px;
|
||||
}
|
||||
.text-box-four{
|
||||
display: inline-block;
|
||||
@@ -1218,7 +1232,10 @@ button{
|
||||
border-right: none;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
line-height: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
}
|
||||
span{
|
||||
/* overflow: hidden; /*超出部分隐藏*/
|
||||
|
||||
@@ -385,7 +385,7 @@ export default {
|
||||
localStorage.removeItem('otaIdT')
|
||||
this.$router.push({
|
||||
path: '/vehicleinformation',
|
||||
query: {}
|
||||
query: { type:1}
|
||||
})
|
||||
},
|
||||
viewProcessClick(row) {
|
||||
|
||||
Reference in New Issue
Block a user