diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 101213375..a8deb64c5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -4007,6 +4007,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsCollectManifestIdList = configDataList.stream().map(ParamsConfigDataEO::getParamsCollectManifestId).distinct().collect(Collectors.toList()); + for (String paramsCollectManifestId : paramsCollectManifestIdList) { + // 删除之前的参数项 + QueryWrapper 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 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 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 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 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 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 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 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 list = new LinkedList<>(); @@ -5960,14 +5967,21 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl phasedImplDetailsList = Arrays.asList(value.split("#")); for (String phasedImplDetails : phasedImplDetailsList) { PhasedImplementationDetailsEO phasedImplementationDetailsEO = new PhasedImplementationDetailsEO(); - String[] phasedImplDetailsArr = phasedImplDetails.split("

"); + String[] phasedImplDetailsArr = phasedImplDetails.split(""); 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= 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= 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 noCiteInspectionItem = new ArrayList<>(); for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) { + String deliveryResult = ""; for (ProjectCertificationInventoryEO citeProjectCertificationInventoryEO : citeProjectCertificationInventoryEOList) { // 匹配数据 类别、检验项目、配置项、标准编号、交付物类型完全一致,并且数据的状态为 审查完成 boolean flag = ( @@ -3863,13 +3864,17 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl @@ -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"/> @@ -405,7 +405,7 @@

@@ -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"/>
@@ -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 = [] diff --git a/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue b/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue index e8a778c32..dd8bfcfee 100644 --- a/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue +++ b/jero-web/src/views/otamanagement/vehicleinformation/components/basicInformation.vue @@ -281,7 +281,6 @@ import { message } from 'ant-design-vue' localStorage.removeItem('otaIdT') localStorage.setItem('otaIdT',value) - this.$forceUpdate() this.getData() }, // 模板下载 diff --git a/jero-web/src/views/otamanagement/vehicleinformation/components/recordparameters.vue b/jero-web/src/views/otamanagement/vehicleinformation/components/recordparameters.vue index 9d0fee01e..d5b38ab0f 100644 --- a/jero-web/src/views/otamanagement/vehicleinformation/components/recordparameters.vue +++ b/jero-web/src/views/otamanagement/vehicleinformation/components/recordparameters.vue @@ -15,81 +15,81 @@
{{$t('componentname')}} -   {{$t('networksecurityrequirements')}} + {{$t('networksecurityrequirements')}} -   {{$t('millimeterwaveradar')}} + {{$t('millimeterwaveradar')}} -   {{$t('ultrasonicradar')}} + {{$t('ultrasonicradar')}} -   {{$t('camera')}} + {{$t('camera')}} -   {{$t('asternimage')}} + {{$t('asternimage')}} -   {{$t('Monocularbinocularmultiocular')}} + {{$t('Monocularbinocularmultiocular')}} -   {{$t('driverattentionmonitoringsystem')}} + {{$t('driverattentionmonitoringsystem')}} -   {{$t('driversurveillancecamera')}} + {{$t('driversurveillancecamera')}} -   {{$t('drivermonitoringinfraredsensor')}} + {{$t('drivermonitoringinfraredsensor')}} - -   {{$t('positioningandnavigationsystem')}} + + {{$t('positioningandnavigationsystem')}} - -   {{$t('vehiclesatellitepositioningequipment')}} + + {{$t('vehiclesatellitepositioningequipment')}} -   {{$t('inertialnavigationsystem')}} + {{$t('inertialnavigationsystem')}} -   {{$t('wheelspeedmeter')}} + {{$t('wheelspeedmeter')}} -   {{$t('highprecisionmap')}} + {{$t('highprecisionmap')}} -   {{$t('electronicfence')}} + {{$t('electronicfence')}} -   {{$t('vehiclecommunicationsystem')}} + {{$t('vehiclecommunicationsystem')}} -   {{$t('signalingdevices')}} + {{$t('signalingdevices')}} -   {{$t('driverassistancefunctioncontrols')}} + {{$t('driverassistancefunctioncontrols')}} -   {{$t('drivingassistancefunctionindicatorsignaldevice')}} + {{$t('drivingassistancefunctionindicatorsignaldevice')}} -   {{$t('steerinwheelreleaseindicatorsignaldevice')}} + {{$t('steerinwheelreleaseindicatorsignaldevice')}} -   {{$t('driverattentionindicatorsignaldevice')}} + {{$t('driverattentionindicatorsignaldevice')}} -   {{$t('automaticDrivingDataRecordingSystem')}} + {{$t('automaticDrivingDataRecordingSystem')}} - -   {{$t('eventdatarecordingsystem')}} + + {{$t('eventdatarecordingsystem')}}
@@ -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; /*超出部分隐藏*/ diff --git a/jero-web/src/views/otamanagement/vehicleregistration/index.vue b/jero-web/src/views/otamanagement/vehicleregistration/index.vue index af337a5f0..c3b9810aa 100644 --- a/jero-web/src/views/otamanagement/vehicleregistration/index.vue +++ b/jero-web/src/views/otamanagement/vehicleregistration/index.vue @@ -385,7 +385,7 @@ export default { localStorage.removeItem('otaIdT') this.$router.push({ path: '/vehicleinformation', - query: {} + query: { type:1} }) }, viewProcessClick(row) {