Merge branch 'dev_2nd_LCYH' of http://git.hzwlsoft.com/laws-nio/laws-weilai into dev_2nd_LCYH

This commit is contained in:
yuekuo
2023-03-29 16:26:54 +08:00
9 changed files with 131 additions and 27 deletions
@@ -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);//自动换行
@@ -3,6 +3,7 @@ package com.jero.modules.ota.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -99,6 +100,6 @@ public class OtaBaCxAqcs implements Serializable {
private java.lang.String zmcl;
@TableField(exist = false)
private List<AttachmentEO> zmclList;
private List<AttachmentEO> zmclList = new ArrayList<>();
}
@@ -3,6 +3,7 @@ package com.jero.modules.ota.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -125,6 +126,6 @@ public class OtaBaCxZxsjyq implements Serializable {
private java.lang.String zmcl;
@TableField(exist = false)
private List<AttachmentEO> zmclList;
private List<AttachmentEO> zmclList = new ArrayList<>();
}
@@ -32,7 +32,6 @@ public enum OtaTitleEnum {
SJSBAQ("sjsbaq", "升级失败安全状态", "2"),
SJGG("sjgg", "升级公告", "2"),
SJZT("sjzt", "升级结果状态", "2"),
ZMCL("zmcl", "证明材料", "0"),
BHJZ("bhjz", "保护机制", "protection_mechanism"),
FSXJZ("fsxjz", "防失效机制", "fail_safe_mechanism"),
@@ -76,6 +76,7 @@ public class OtaBaCxAqcsServiceImpl extends ServiceImpl<OtaBaCxAqcsMapper, OtaBa
otaBaCxAqcs.setCreateTime(now);
}
otaBaCxAqcs.setUpdateTime(now);
otaBaCxAqcs.setZmcl("");
if (null != otaBaCxAqcs.getZmclList() && otaBaCxAqcs.getZmclList().size() > 0) {
JSONArray obj = new JSONArray();
for (AttachmentEO aeo : otaBaCxAqcs.getZmclList()) {
@@ -83,12 +84,41 @@ public class OtaBaCxAqcsServiceImpl extends ServiceImpl<OtaBaCxAqcsMapper, OtaBa
}
otaBaCxAqcs.setZmcl(obj.toString());
}
if (ObjectUtils.isNotEmpty(otaBaCxAqcsOld) && StringUtils.isNotEmpty(otaBaCxAqcsOld.getZmcl())) {
List<AttachmentEO> aeoList = JSONArray.parseArray(otaBaCxAqcsOld.getZmcl(), AttachmentEO.class);
otaBaCxAqcsOld.setZmclList(aeoList);
}
saveOrUpdate(otaBaCxAqcs);
ComparisonUtil cu = new ComparisonUtil();
if (ObjectUtils.isEmpty(otaBaCxAqcsOld)) {
otaBaCxAqcsOld = new OtaBaCxAqcs();
}
List<OtaBaCxTxjl> reList = cu.comparisonRecord(otaBaCxAqcs.getOtaId(), OtaModuleEnum.CX_AQCS, otaBaCxAqcsOld, otaBaCxAqcs, sysDictService);
for (AttachmentEO aeoNew : otaBaCxAqcs.getZmclList()) {
boolean flag = true;
for (AttachmentEO aeoOld : otaBaCxAqcsOld.getZmclList()) {
if (aeoNew.getId().equals(aeoOld.getId())) {
flag = false;
break;
}
}
if (flag) {
reList.add(cu.addAttRecord(otaBaCxAqcs.getOtaId(), OtaModuleEnum.CX_AQCS, "证明材料", aeoNew.getFileName()));
}
}
for (AttachmentEO aeoOld : otaBaCxAqcsOld.getZmclList()) {
boolean flag = true;
for (AttachmentEO aeoNew : otaBaCxAqcs.getZmclList()) {
if (aeoOld.getId().equals(aeoNew.getId())) {
flag = false;
break;
}
}
if (flag) {
reList.add(cu.delAttRecord(otaBaCxAqcs.getOtaId(), OtaModuleEnum.CX_AQCS, "证明材料", aeoOld.getFileName()));
}
}
otaBaCxTxjlService.saveBatch(reList);
}
}
@@ -81,6 +81,7 @@ public class OtaBaCxZxsjyqServiceImpl extends ServiceImpl<OtaBaCxZxsjyqMapper, O
}
}
otaBaCxZxsjyq.setUpdateTime(now);
otaBaCxZxsjyq.setZmcl("");
if (null != otaBaCxZxsjyq.getZmclList() && otaBaCxZxsjyq.getZmclList().size() > 0) {
JSONArray obj = new JSONArray();
for (AttachmentEO aeo : otaBaCxZxsjyq.getZmclList()) {
@@ -88,12 +89,42 @@ public class OtaBaCxZxsjyqServiceImpl extends ServiceImpl<OtaBaCxZxsjyqMapper, O
}
otaBaCxZxsjyq.setZmcl(obj.toString());
}
if (ObjectUtils.isNotEmpty(otaBaCxZxsjyqOld) && StringUtils.isNotEmpty(otaBaCxZxsjyqOld.getZmcl())) {
List<AttachmentEO> aeoList = JSONArray.parseArray(otaBaCxZxsjyqOld.getZmcl(), AttachmentEO.class);
otaBaCxZxsjyqOld.setZmclList(aeoList);
}
saveOrUpdate(otaBaCxZxsjyq);
ComparisonUtil cu = new ComparisonUtil();
if (ObjectUtils.isEmpty(otaBaCxZxsjyqOld)) {
otaBaCxZxsjyqOld = new OtaBaCxZxsjyq();
}
List<OtaBaCxTxjl> reList = cu.comparisonRecord(otaBaCxZxsjyq.getOtaId(), OtaModuleEnum.CX_ZXSJYQ, otaBaCxZxsjyqOld, otaBaCxZxsjyq, sysDictService);
for (AttachmentEO aeoNew : otaBaCxZxsjyq.getZmclList()) {
boolean flag = true;
for (AttachmentEO aeoOld : otaBaCxZxsjyqOld.getZmclList()) {
if (aeoNew.getId().equals(aeoOld.getId())) {
flag = false;
break;
}
}
if (flag) {
reList.add(cu.addAttRecord(otaBaCxZxsjyq.getOtaId(), OtaModuleEnum.CX_ZXSJYQ, "证明材料", aeoNew.getFileName()));
}
}
for (AttachmentEO aeoOld : otaBaCxZxsjyqOld.getZmclList()) {
boolean flag = true;
for (AttachmentEO aeoNew : otaBaCxZxsjyq.getZmclList()) {
if (aeoOld.getId().equals(aeoNew.getId())) {
flag = false;
break;
}
}
if (flag) {
reList.add(cu.delAttRecord(otaBaCxZxsjyq.getOtaId(), OtaModuleEnum.CX_ZXSJYQ, "证明材料", aeoOld.getFileName()));
}
}
otaBaCxTxjlService.saveBatch(reList);
}
@@ -22,6 +22,19 @@ public class ComparisonUtil<T> {
public ComparisonUtil() {
}
public OtaBaCxTxjl addAttRecord(String otaId, OtaModuleEnum otaModuleEnum, String title, String attName) {
String content = title + "中添加了附件:'" + attName;
OtaBaCxTxjl jl = new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content);
return jl;
}
public OtaBaCxTxjl delAttRecord(String otaId, OtaModuleEnum otaModuleEnum, String title, String attName) {
String content = title + "中删除了附件:'" + attName;
OtaBaCxTxjl jl = new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content);
return jl;
}
/**
* 对比字段并添加到记录
*/
@@ -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);
@@ -15,58 +15,58 @@
<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')">
&nbsp;&nbsp;{{$t('networksecurityrequirements')}}
{{$t('networksecurityrequirements')}}
</span>
<span class='radio-text' :title="$t('millimeterwaveradar')">
&nbsp;&nbsp;{{$t('millimeterwaveradar')}}
{{$t('millimeterwaveradar')}}
</span>
<span class='radio-text' :title="$t('ultrasonicradar')">
&nbsp;&nbsp;{{$t('ultrasonicradar')}}
{{$t('ultrasonicradar')}}
</span>
<span class='text-box'>
<span class='text-text' :title="$t('camera')">
&nbsp;&nbsp;{{$t('camera')}}
{{$t('camera')}}
</span>
<span class='text-text-two' :title="$t('asternimage')">
&nbsp;&nbsp;{{$t('asternimage')}}
{{$t('asternimage')}}
</span>
<span class='text-text-two' :title="$t('Monocularbinocularmultiocular')">
&nbsp;&nbsp;{{$t('Monocularbinocularmultiocular')}}
{{$t('Monocularbinocularmultiocular')}}
</span>
</span>
<span class='text-box'>
<span class='text-text' :title="$t('driverattentionmonitoringsystem')">
&nbsp;&nbsp;{{$t('driverattentionmonitoringsystem')}}
{{$t('driverattentionmonitoringsystem')}}
</span>
<span class='text-text-two' :title="$t('driversurveillancecamera')">
&nbsp;&nbsp;{{$t('driversurveillancecamera')}}
{{$t('driversurveillancecamera')}}
</span>
<span class='text-text-two' :title="$t('drivermonitoringinfraredsensor')">
&nbsp;&nbsp;{{$t('drivermonitoringinfraredsensor')}}
{{$t('drivermonitoringinfraredsensor')}}
</span>
</span>
<span class='text-box-two' >
<span class='text-text' style='height: 450px;line-height: 450px' :title="$t('positioningandnavigationsystem')">
&nbsp;&nbsp;{{$t('positioningandnavigationsystem')}}
<span class='text-text' style='height: 450px;line-height: 20px' :title="$t('positioningandnavigationsystem')">
{{$t('positioningandnavigationsystem')}}
</span>
<span style="padding: 10px" class='text-text-three' :title="$t('vehiclesatellitepositioningequipment')">
{{$t('vehiclesatellitepositioningequipment')}}
</span>
<span class='text-text-three' :title="$t('inertialnavigationsystem')">
&nbsp;&nbsp;{{$t('inertialnavigationsystem')}}
{{$t('inertialnavigationsystem')}}
</span>
<span class='text-text-three' :title="$t('wheelspeedmeter')">
&nbsp;&nbsp;{{$t('wheelspeedmeter')}}
{{$t('wheelspeedmeter')}}
</span>
<span class='text-text-three' :title="$t('highprecisionmap')">
&nbsp;&nbsp;{{$t('highprecisionmap')}}
{{$t('highprecisionmap')}}
</span>
<span class='text-text-five' :title="$t('electronicfence')">
&nbsp;&nbsp;{{$t('electronicfence')}}
{{$t('electronicfence')}}
</span>
</span>
<span class='text-box-three' :title="$t('vehiclecommunicationsystem')">
&nbsp;&nbsp;{{$t('vehiclecommunicationsystem')}}
{{$t('vehiclecommunicationsystem')}}
</span>
<span class='text-box-four'>
<span style="padding: 10px" class='four-text-text' :title="$t('signalingdevices')">
@@ -86,10 +86,10 @@
</span>
</span>
<span class='text-box-five' :title="$t('automaticDrivingDataRecordingSystem')">
&nbsp;&nbsp;{{$t('automaticDrivingDataRecordingSystem')}}
{{$t('automaticDrivingDataRecordingSystem')}}
</span>
<span class='text-box-five' :title="$t('eventdatarecordingsystem')">
&nbsp;&nbsp;{{$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; /*超出部分隐藏*/