Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH

This commit is contained in:
zyx.net
2023-04-02 17:25:19 +08:00
61 changed files with 2196 additions and 1032 deletions
@@ -436,4 +436,20 @@ ALTER TABLE `project_task_planning`
-- 项目库-认证清单-认证目录 说明字段长度修改 2023-3-30 未同步生产环境
ALTER TABLE `project_certification_directory`
MODIFY COLUMN `explain_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `detection_report_location`;
MODIFY COLUMN `explain_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `detection_report_location`;
-- 项目库-法规清单-定版表增加字段 2023-3-30 未同步生产环境
ALTER TABLE `project_version_info`
MODIFY COLUMN `inventory_affirm_status` varchar(100) CHARACTER SET utf32 NULL DEFAULT NULL COMMENT '清单确认状态' AFTER `task_affirm_status`,
ADD COLUMN `design_flow_status` varchar(255) NULL COMMENT '设计符合性确认-流程状态' AFTER `inventory_affirm_status`,
ADD COLUMN `verify_flow_status` varchar(255) NULL COMMENT '验证符合性确认-流程状态' AFTER `design_flow_status`;
-- 项目库-法规清单-定版表增加字段 2023-3-30 未同步生产环境
ALTER TABLE `project_version_info`
ADD COLUMN `project_laws_inventory_id` varchar(255) NULL COMMENT '法规清单数据id' AFTER `verify_flow_status`;
ALTER TABLE `project_version_info`
ADD COLUMN `applicable_supplement` varchar(255) NULL COMMENT '适用增补件' AFTER `project_laws_inventory_id`;
-- 虚拟认证清单-增加字段 2023-3-30 未同步生产环境
ALTER TABLE `auth_dummy_inventory_info`
ADD COLUMN `deliverable_template` varchar(500) NULL COMMENT '交付物模板' AFTER `auth_dummy_inventory_base_id`;
@@ -63,34 +63,34 @@ public class AuthDummyInventoryInfoEO implements Serializable {
private java.lang.String sysOrgCode;
/**类别*/
@Excel(name = "*类别", width = 15)
@Excel(name = "类别", width = 15)
@ApiModelProperty(value = "类别")
private java.lang.String category;
/**检验项目*/
@Excel(name = "*检验项目", width = 15)
@Excel(name = "检验项目", width = 15)
@ApiModelProperty(value = "检验项目")
private java.lang.String inspectionItem;
/**配置项*/
@Excel(name = "*配置项", width = 15)
@Excel(name = "配置项", width = 15)
@ApiModelProperty(value = "配置项")
private java.lang.String configItem;
/**WVTA ID*/
@Excel(name = "*WVTA ID", width = 15)
@Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private java.lang.String wvtaId;
/**标准编号*/
@Excel(name = "*编号", width = 15)
@Excel(name = "编号", width = 15)
@ApiModelProperty(value = "编号")
private java.lang.String serialNumber;
/**责任领域*/
@ApiModelProperty(value = "责任领域")
private java.lang.String dutyTerritory;
@Excel(name = "*责任领域", width = 15)
@Excel(name = "责任领域", width = 15)
@TableField(exist = false)
// 责任领域名称
private String dutyTerritoryName;
@@ -107,7 +107,7 @@ public class AuthDummyInventoryInfoEO implements Serializable {
@ApiModelProperty(value = "交付物类型")
private String deliverableType;
@TableField(exist = false)
@Excel(name = "*交付物类型", width = 15)
@Excel(name = "交付物类型", width = 15)
// 交付物类型名称
private String deliverableTypeName;
// 交付物类型名称-英文
@@ -134,4 +134,12 @@ public class AuthDummyInventoryInfoEO implements Serializable {
/**值类型,对应SysCategoryValueTypeEnum中value**/
@TableField(exist = false)
private String valueType;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "交付物模板", width = 20)
private String deliverableTemplateName;
}
@@ -60,27 +60,27 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
private String sysOrgCode;
/**类别*/
@Excel(name = "*Category", width = 15)
@Excel(name = "Category", width = 15)
@ApiModelProperty(value = "类别")
private String category;
/**检验项目*/
@Excel(name = "*Inspection Items", width = 15)
@Excel(name = "Inspection Items", width = 15)
@ApiModelProperty(value = "检验项目")
private String inspectionItem;
/**配置项*/
@Excel(name = "*Configuration Item", width = 15)
@Excel(name = "Configuration Item", width = 15)
@ApiModelProperty(value = "配置项")
private String configItem;
/**WVTA ID*/
@Excel(name = "*WVTA ID", width = 15)
@Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private String wvtaId;
/**标准编号*/
@Excel(name = "*Number", width = 15)
@Excel(name = "Number", width = 15)
@ApiModelProperty(value = "标准编号")
private String serialNumber;
@@ -88,7 +88,7 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
@ApiModelProperty(value = "责任领域")
private String dutyTerritory;
@TableField(exist = false)
@Excel(name = "*Responsible Field", width = 15)
@Excel(name = "Responsible Field", width = 15)
// 责任领域名称
private String dutyTerritoryName;
/**责任领域名称-英文**/
@@ -100,11 +100,19 @@ public class AuthDummyInventoryInfoEOEn implements Serializable {
@ApiModelProperty(value = "交付物")
private String deliverable;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private java.lang.String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "Deliverable Template", width = 40)
private String deliverableTemplateName;
/**交付物类型*/
@ApiModelProperty(value = "交付物类型")
private String deliverableType;
@TableField(exist = false)
@Excel(name = "*Deliverable Type", width = 15)
@Excel(name = "Deliverable Type", width = 15)
// 交付物类型名称
private String deliverableTypeName;
// 交付物类型名称-英文
@@ -27,8 +27,11 @@ import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.service.impl.DummyLogEOServiceImpl;
import com.jero.modules.dummy.util.DeepCopyListUtil;
import com.jero.modules.dummy.util.ListDiff;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProjectCertificationInventoryEO;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
import com.jero.modules.split.common.FileUnZip;
import com.jero.modules.system.entity.SysCategory;
@@ -40,7 +43,9 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import lombok.SneakyThrows;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.SerializationUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
@@ -61,6 +66,7 @@ import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import java.io.*;
@@ -151,18 +157,371 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
public void editById(AuthDummyInventoryInfoEO authDummyInventoryInfoEO) {
Date now = new Date();
authDummyInventoryInfoEO.setUpdateTime(now);
saveOrUpdate(authDummyInventoryInfoEO);
//更新log
AuthDummyInventoryInfoEO authDummyInventoryInfoEOcopy = SerializationUtils.clone(authDummyInventoryInfoEO);//复制
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String serialNumber = authDummyInventoryInfoEO.getSerialNumber();
String contentLog = username+"编辑了清单中的“" + serialNumber + "”:</br>";
String enContentLog = username+" edited the “" + serialNumber + "” in the list:</br>";
authDummyLogService.updateLog(contentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
String contentLog = username+"编辑了清单中的“" + serialNumber + "”:";
String enContentLog = username+" edited the “" + serialNumber + "” in the list:";
// authDummyLogService.updateLog(contentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
// authDummyLogService.updateLog(enContentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
List<AuthDummyInventoryInfoEO> infoEOList = new ArrayList<>();
infoEOList.add(authDummyInventoryInfoEO);
List<AuthDummyInventoryInfoEO> infoEOListCopy = new ArrayList<>();
infoEOListCopy.add(authDummyInventoryInfoEOcopy);
//查询数据库里原来的数据
QueryWrapper<AuthDummyInventoryInfoEO> queryWrapper = new QueryWrapper<>();
List<AuthDummyInventoryInfoEO> dataList = list(queryWrapper.eq("id", authDummyInventoryInfoEO.getId()));
List<AuthDummyInventoryInfoEO> dataListCopy = DeepCopyListUtil.depCopy(dataList);
saveOrUpdate(authDummyInventoryInfoEO);
//翻译-中文
translateData(infoEOList);
translateData(dataList);
//翻译-英文
translateDataToEn(infoEOListCopy);
translateDataToEn(dataListCopy);
//比对不同字段
Map<String, String> infoDiff = ListDiff.compareObject(dataList.get(0),authDummyInventoryInfoEO);
Map<String, String> infoDiffEn = ListDiff.compareObject(dataListCopy.get(0),authDummyInventoryInfoEO);
//设置更新log
setContentLog(infoDiff,contentLog,infoDiffEn,enContentLog,authDummyInventoryInfoEO.getAuthDummyInventoryBaseId());
}
private void setContentLog(Map<String, String> infoDiff, String contentLog, Map<String, String> infoDiffEn, String enContentLog,
String authDummyInventoryBaseId) {
//设置维护清单的修改消息
if(MapUtils.isNotEmpty(infoDiff)){
//类别
if (StringUtils.isNotBlank(infoDiff.get("category"))) {
List<String> list = Arrays.asList(infoDiff.get("category").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"类别" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("category"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("category").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"Category" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//检验项目
if (StringUtils.isNotBlank(infoDiff.get("inspectionItem"))) {
List<String> list = Arrays.asList(infoDiff.get("inspectionItem").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"检验项目" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("inspectionItem"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("inspectionItem").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"Inspection Items" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//配置项
if (StringUtils.isNotBlank(infoDiff.get("configItem"))) {
List<String> list = Arrays.asList(infoDiff.get("configItem").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"配置项" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("configItem"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("configItem").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"Configuration Item" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//WVTA ID
if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) {
List<String> list = Arrays.asList(infoDiff.get("wvtaId").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"WVTA ID" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("wvtaId"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("wvtaId").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"WVTA ID" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//责任领域
if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) {
List<String> list = Arrays.asList(infoDiff.get("dutyTerritory").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"责任领域" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("dutyTerritory"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("dutyTerritory").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"Responsible Field" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//交付物类型
if (StringUtils.isNotBlank(infoDiff.get("deliverableTypeName"))) {
List<String> list = Arrays.asList(infoDiff.get("deliverableTypeName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"交付物类型" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("deliverableTypeNameEn"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("deliverableTypeNameEn").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"Deliverable Type" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//交付物模板
if (StringUtils.isNotBlank(infoDiff.get("deliverableTemplateName"))) {
List<String> list = Arrays.asList(infoDiff.get("deliverableTemplateName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+"交付物模板" + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("deliverableTemplateName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("deliverableTemplateName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+"Deliverable Template" +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
contentLog = contentLog.substring(0, contentLog.length()-1);
enContentLog =enContentLog.substring(0, enContentLog.length()-1);
authDummyLogService.updateLog(contentLog, authDummyInventoryBaseId,CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, authDummyInventoryBaseId,CutEnum.EN.getValue());
}
}
private void translateDataToEn(List<AuthDummyInventoryInfoEO> infoEOListCopy) {
for (AuthDummyInventoryInfoEO authDummyInventoryInfoEO : infoEOListCopy) {
//类别
if(StringUtils.isBlank(authDummyInventoryInfoEO.getCategory())){
authDummyInventoryInfoEO.setCategory("null");
}
//检验项目
if(StringUtils.isBlank(authDummyInventoryInfoEO.getInspectionItem())){
authDummyInventoryInfoEO.setInspectionItem("null");
}
//配置项
if(StringUtils.isBlank(authDummyInventoryInfoEO.getConfigItem())){
authDummyInventoryInfoEO.setConfigItem("null");
}
//WVTA ID
if (StringUtils.isBlank(authDummyInventoryInfoEO.getWvtaId())) {
authDummyInventoryInfoEO.setWvtaId("null");
}
//责任领域
if (StringUtils.isNotBlank(authDummyInventoryInfoEO.getDutyTerritory())) {
List<SysDictItem> dutyTerritory = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue());
List<String> dutyTerritoryList = Arrays.asList(authDummyInventoryInfoEO.getDutyTerritory().split(","));
StringBuilder dutyTerritoryBuilder = new StringBuilder();
for (String midDutyTerritory : dutyTerritoryList) {
String dutyTerritoryName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getItemText()).collect(Collectors.joining(","));
dutyTerritoryBuilder.append(dutyTerritoryName).append(",");
}
authDummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0, dutyTerritoryBuilder.toString().length() - 1));
} else {
authDummyInventoryInfoEO.setDutyTerritory("null");
}
//交付物类型
Set<String> deliverableTypeSet = new HashSet<>();
List<String> deliverableTypeIdList= new ArrayList<>();
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableType())){
deliverableTypeIdList = Arrays.asList(authDummyInventoryInfoEO.getDeliverableType().split(","));
deliverableTypeSet.addAll(deliverableTypeIdList);
}
//树形结构
List<SysCategory> deliverableTypeList = new ArrayList<>();
if (deliverableTypeSet.size() != 0) {
LambdaQueryWrapper<SysCategory> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysCategory::getId, deliverableTypeSet);
deliverableTypeList = sysCategoryService.list(wrapper);
}
if (deliverableTypeList.size() != 0 && StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableType())) {
StringBuilder deliverableBuilder = new StringBuilder();
for(String id : deliverableTypeIdList){
List<SysCategory> designList = deliverableTypeList.stream().filter(e -> id.equals(e.getId())).collect(Collectors.toList());
if (designList.size() != 0) {
deliverableBuilder.append(designList.get(0).getName() + ",");
}
}
String designName = null;
if (StringUtils.isNotBlank(deliverableBuilder)) {
designName = deliverableBuilder.substring(0, deliverableBuilder.length() - 1);
}
authDummyInventoryInfoEO.setDeliverableTypeName(designName);
} else {
authDummyInventoryInfoEO.setDeliverableTypeName("null");
}
//文件
List<String> deliverableList = new ArrayList<>();
//交付物模板
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableTemplate())){
deliverableList.addAll(Arrays.asList(authDummyInventoryInfoEO.getDeliverableTemplate().split(",")));
}else {
authDummyInventoryInfoEO.setDeliverableTemplateName("null");
}
List<OSSFile> fileInfos = new ArrayList<>();
if(deliverableList.size() != 0){
fileInfos = iOSSFileService.getFileInfos(org.apache.commons.lang3.StringUtils.join(deliverableList, ","));
}
//交付物类型模板
if(fileInfos.size() != 0){
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableTemplate())){
String fileName = getFileName(authDummyInventoryInfoEO, fileInfos,authDummyInventoryInfoEO.getDeliverableTemplate());
if(org.apache.commons.lang3.StringUtils.isNotBlank(fileName)){
authDummyInventoryInfoEO.setDeliverableTemplateName(fileName);
}
}
}
}
}
private void translateData(List<AuthDummyInventoryInfoEO> infoEOList) {
for (AuthDummyInventoryInfoEO authDummyInventoryInfoEO : infoEOList) {
//类别
if(StringUtils.isBlank(authDummyInventoryInfoEO.getCategory())){
authDummyInventoryInfoEO.setCategory("");
}
//检验项目
if(StringUtils.isBlank(authDummyInventoryInfoEO.getInspectionItem())){
authDummyInventoryInfoEO.setInspectionItem("");
}
//配置项
if(StringUtils.isBlank(authDummyInventoryInfoEO.getConfigItem())){
authDummyInventoryInfoEO.setConfigItem("");
}
//WVTA ID
if (StringUtils.isBlank(authDummyInventoryInfoEO.getWvtaId())) {
authDummyInventoryInfoEO.setWvtaId("");
}
//责任领域
if (StringUtils.isNotBlank(authDummyInventoryInfoEO.getDutyTerritory())) {
List<SysDictItem> dutyTerritory = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue());
List<String> dutyTerritoryList = Arrays.asList(authDummyInventoryInfoEO.getDutyTerritory().split(","));
StringBuilder dutyTerritoryBuilder = new StringBuilder();
for (String midDutyTerritory : dutyTerritoryList) {
String dutyTerritoryName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getItemText()).collect(Collectors.joining(","));
dutyTerritoryBuilder.append(dutyTerritoryName).append(",");
}
authDummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0, dutyTerritoryBuilder.toString().length() - 1));
} else {
authDummyInventoryInfoEO.setDutyTerritory("");
}
//交付物类型
Set<String> deliverableTypeSet = new HashSet<>();
List<String> deliverableTypeIdList= new ArrayList<>();
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableType())){
deliverableTypeIdList = Arrays.asList(authDummyInventoryInfoEO.getDeliverableType().split(","));
deliverableTypeSet.addAll(deliverableTypeIdList);
}
//树形结构
List<SysCategory> deliverableTypeList = new ArrayList<>();
if (deliverableTypeSet.size() != 0) {
LambdaQueryWrapper<SysCategory> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysCategory::getId, deliverableTypeSet);
deliverableTypeList = sysCategoryService.list(wrapper);
}
if (deliverableTypeList.size() != 0 && StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableType())) {
StringBuilder deliverableBuilder = new StringBuilder();
for(String id : deliverableTypeIdList){
List<SysCategory> designList = deliverableTypeList.stream().filter(e -> id.equals(e.getId())).collect(Collectors.toList());
if (designList.size() != 0) {
deliverableBuilder.append(designList.get(0).getName() + ",");
}
}
String designName = null;
if (StringUtils.isNotBlank(deliverableBuilder)) {
designName = deliverableBuilder.substring(0, deliverableBuilder.length() - 1);
}
authDummyInventoryInfoEO.setDeliverableTypeName(designName);
} else {
authDummyInventoryInfoEO.setDeliverableTypeName("");
}
//文件
List<String> deliverableList = new ArrayList<>();
//交付物模板
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableTemplate())){
deliverableList.addAll(Arrays.asList(authDummyInventoryInfoEO.getDeliverableTemplate().split(",")));
}else {
authDummyInventoryInfoEO.setDeliverableTemplateName("");
}
List<OSSFile> fileInfos = new ArrayList<>();
if(deliverableList.size() != 0){
fileInfos = iOSSFileService.getFileInfos(org.apache.commons.lang3.StringUtils.join(deliverableList, ","));
}
//交付物类型模板
if(fileInfos.size() != 0){
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverableTemplate())){
String fileName = getFileName(authDummyInventoryInfoEO, fileInfos,authDummyInventoryInfoEO.getDeliverableTemplate());
if(org.apache.commons.lang3.StringUtils.isNotBlank(fileName)){
authDummyInventoryInfoEO.setDeliverableTemplateName(fileName);
}
}
}
}
}
private String getFileName(AuthDummyInventoryInfoEO authDummyInventoryInfoEO, List<OSSFile> fileInfos, String deliverableTemplate) {
StringBuilder sb = new StringBuilder();
for (String s : deliverableTemplate.split(",")) {
List<OSSFile> collect = fileInfos.stream().filter(e -> s.equals(e.getId())).collect(Collectors.toList());
if(collect.size() != 0){
sb.append(collect.get(0).getFileName() + ",");
}
}
String sbStr = "";
if(org.apache.commons.lang3.StringUtils.isNotBlank(sb)){
sbStr = sb.substring(0, sb.length() - 1);
}
return sbStr;
}
/**
* 通过id删除
*
@@ -222,6 +581,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
@Override
public List<AuthDummyInventoryInfoEO> queryList(AuthDummyInventoryInfoEO authDummyInventoryInfoEO,HttpServletRequest req) {
QueryWrapper<AuthDummyInventoryInfoEO> queryWrapper = QueryGenerator.initQueryWrapper(authDummyInventoryInfoEO, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
List<AuthDummyInventoryInfoEO> authDummyInventoryInfoEOList = this.list(queryWrapper);
return authDummyInventoryInfoEOList;
}
@@ -444,9 +804,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
//文件
String excelName = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
excelName = baseList.get(0).getName() + " 虚拟认证清单.xlsx";
excelName = baseList.get(0).getName() + " 市场认证清单.xlsx";
}else{
excelName = baseList.get(0).getName() + " Virtual Authentication list.xlsx";
excelName = baseList.get(0).getName() + " Market Certification List.xlsx";
}
//excel
OutputStream excelOS = new FileOutputStream(path + File.separator + excelName);
@@ -514,9 +874,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(CollectionUtils.isNotEmpty(baseList)){
String title = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
title = "*类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,*交付物类型";
title = "*类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,交付物模板,*交付物类型";
}else{
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID,*Number,*Responsible Field,*Deliverable Type";
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID,*Number,*Responsible Field,Deliverable Template,*Deliverable Type";
}
int pos = file.getOriginalFilename().lastIndexOf(".");
@@ -634,7 +994,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if (i == 0) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
headerSb.append(cell.getStringCellValue() + ",");
if(j == 6){
if(j == 7){
break;
}
} else if(i > 1){
@@ -658,43 +1018,6 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}
}
}
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("deliverableTypeName")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("deliverableTypeNameEn")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
if (i > 1) {
dataList.add(rowList);
}
@@ -735,6 +1058,44 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
throw new JeroBootException("The data fails to be read. Import data strictly according to the template file");
}
}
//必填项校验 *类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,*交付物类型";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getDeliverableTypeName() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getDeliverableTypeNameEn() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
}
}
workbook.close();
@@ -777,6 +1138,18 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}else {
if (datas.size() != 0) {
this.saveBatch(datas);
//更新log
StringBuilder serialNumberBuilder = new StringBuilder();
for (AuthDummyInventoryInfoEO authDummyInventoryInfoEO : datas){
serialNumberBuilder.append(authDummyInventoryInfoEO.getSerialNumber()).append(",");
}
String serialNumber = serialNumberBuilder.substring(0, serialNumberBuilder.length() - 1);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String contentLog = username+"向清单中导入了“"+serialNumber+"";
String enContentLog = username+" imported “"+serialNumber+"” into the list.";
authDummyLogService.updateLog(contentLog, datas.get(0).getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, datas.get(0).getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
}
}
}
@@ -828,57 +1201,58 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
deliverableType = authDummyInventoryInfoEO.getDeliverableTypeNameEn();
}
//文件
//交付物模板
String deliverableTemplate = authDummyInventoryInfoEO.getDeliverableTemplateName();
//编号必填
flag = must(authDummyInventoryInfoEO, errorMsg, msgList, serialNumber, "编号", "Number");
//WVTA ID
if(StringUtils.isNotBlank(wvtaId)){
if(wvtaId.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "WVTA ID不能超过300个字符, ";
}else{
message = errorMsg + " The WVTA ID cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
//类别
if(StringUtils.isNotBlank(category)){
if(category.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "类别不能超过300个字符, ";
message = errorMsg + "类别不能超过300个字符";
}else{
message = errorMsg + " The Category cannot contain more than 300 characters, ";
message = errorMsg + " The Category cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//检验项目
if(StringUtils.isNotBlank(inspectionItem)){
if(inspectionItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "检验项目不能超过300个字符, ";
message = errorMsg + "检验项目不能超过300个字符";
}else{
message = errorMsg + " The InspectionItem cannot contain more than 300 characters, ";
message = errorMsg + " The InspectionItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//配置项
if(StringUtils.isNotBlank(configItem)){
if(configItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "配置项不能超过300个字符, ";
message = errorMsg + "配置项不能超过300个字符";
}else{
message = errorMsg + " The ConfigItem cannot contain more than 300 characters, ";
message = errorMsg + " The ConfigItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//WVTA ID
if(StringUtils.isNotBlank(wvtaId)){
if(wvtaId.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEOTemp.getCut())){
message = errorMsg + "WVTA ID不能超过300个字符";
}else{
message = errorMsg + " The WVTA ID cannot contain more than 300 characters";
}
msgList.add(message);
}
@@ -890,6 +1264,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
authDummyInventoryInfoEO.setDutyTerritory(value);
}
}
value = templateTransition(zipEntryName, authDummyInventoryInfoEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
if(StringUtils.isNotBlank(value)){
authDummyInventoryInfoEO.setDeliverableTemplate(value);
}
//交付物类型
if(StringUtils.isNotEmpty(deliverableType)){
value = tree(categoryList,treeNameList, authDummyInventoryInfoEO, errorMsg, deliverableType,msgList,"交付物类型","Deliverable Type","deliverable_template");
@@ -902,6 +1280,46 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
return msgList;
}
private String templateTransition(String zipEntryName, AuthDummyInventoryInfoEO authDummyInventoryInfoEO,
String errorMsg, String deliverableTemplate,
List<String> msgList, String nameCn, String nameEn) {
String value = "";
if (StringUtils.isNotBlank(deliverableTemplate)) {
StringBuilder sb = new StringBuilder();
for (String fileName : deliverableTemplate.split(",")) {
List<File> nowFileList = new ArrayList<>();
nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,authDummyInventoryInfoEO.getCut(),errorMsg,msgList,nameCn,nameEn);
if (nowFileList.size() == 0) {
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
// errorMsg += "压缩包中没有" + fileName + "文件; ";
// }else{
// errorMsg += " Not in the zip package" + fileName + "file; ";
// }
// msgList.add(errorMsg);
} else {
try {
FileInputStream input = new FileInputStream(nowFileList.get(0));
MultipartFile multipartFile =
new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input);
//文件存入文件表
OSSFile ossFile = iOSSFileService.uploadLocalOfCos(multipartFile, "", null,null);
if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(ossFile)) {
sb.append(ossFile.getId() + ",");
}
} catch (IOException e) {
log.error("市场认证清单导入"+e.getMessage());
}
}
}
if (StringUtils.isNotBlank(sb)) {
value = sb.substring(0, sb.length() - 1);
}
}
return value;
}
private String getTreeId(List<SysCategory> categoryList, AuthDummyInventoryInfoEO authDummyInventoryInfoEOTemp,
List<String> treeNameList, String value) {
StringBuilder sb = new StringBuilder();
@@ -939,9 +1357,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(StringUtils.isNotBlank(sb)){
String substring = sb.substring(0, sb.length() - 1);
if (CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())) {
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + substring + " does not match the data dictionary, ";
errorMsg += nameEn + " " + substring + " does not match the data dictionary";
}
msgList.add(errorMsg);
}else{
@@ -990,9 +1408,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
List<String> finalValueList = valueList;
List<String> diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())) {
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, ";
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary";
}
msgList.add(errorMsg);
}
@@ -1120,6 +1538,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
case "*WVTA ID": return "wvtaId";
case "*编号" : return "serialNumber";
case "*责任领域": return "dutyTerritoryName";
case "交付物模板": return "deliverableTemplateName";
case "*交付物类型" : return "deliverableTypeName";
case "*Category" : return "Category";
@@ -1128,6 +1547,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
// case "WVTA ID" : return "wvtaId";
case "*Number" : return "serialNumber";
case "*Responsible Field" : return "dutyTerritoryName";
case "Deliverable Template" : return "deliverableTemplateName";
case "*Deliverable Type" : return "deliverableTypeNameEn";
@@ -1211,10 +1631,10 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
String title = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
title = "*类别,*检验项目,*配置项,*WVTA ID," +
"*编号,*责任领域,*交付物类型,";
"*编号,*责任领域,交付物模板,*交付物类型,";
}else{
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
"*Number,*Responsible Field,*Deliverable Type,";
"*Number,*Responsible Field,Deliverable Template,*Deliverable Type,";
}
List<String> list = Arrays.asList(title.split(","));
int index = 0;
@@ -1241,7 +1661,7 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
cellStyleTemp.setWrapText(true);//自动换行
CellRangeAddress region =
new CellRangeAddress(1, 1, 0, 6); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
new CellRangeAddress(1, 1, 0, 7); //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列
sheet.addMergedRegion(region);
String explain= "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
@@ -1302,6 +1722,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(CollectionUtils.isNotEmpty(datas)){
List<SysCategory> categoryList = this.sysCategoryService.list();
List<SysDictItem> sysDictItems = this.sysDictItemServiceImpl.getBaseMapper().selectItemsAll();
String deliverableTemplates = datas.stream().map(AuthDummyInventoryInfoEO::getDeliverableTemplate).distinct().collect(Collectors.joining(","));
List<OSSFile> deliverableTemplateFileList = iOSSFileService.getFileInfos(deliverableTemplates);
for (AuthDummyInventoryInfoEO data : datas) {
if(StringUtils.isNotEmpty(data.getDeliverableType())){
@@ -1312,6 +1734,20 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
String dutyTerritoryName = this.sysDictItemService.disposeShowDictItemValue(sysDictItems,data.getDutyTerritory(),cut, ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue());
data.setDutyTerritoryName(dutyTerritoryName);
}
if(StringUtils.isNotBlank(data.getDeliverableTemplate())){
String[] deliverableTemplateArr = data.getDeliverableTemplate().split(",");
String deliverableTemplateName = deliverableTemplateFileList.stream().filter(file -> {
boolean flag = false;
for (String deliverableTemplate : deliverableTemplateArr) {
if (StringUtils.equals(file.getId(),deliverableTemplate)) {
flag = true;
break;
}
}
return flag;
}).map(OSSFile::getFileName).collect(Collectors.joining(","));
data.setDeliverableTemplateName(deliverableTemplateName);
}
}
}
@@ -5495,12 +5495,12 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
countError++;
} else {
if (value.split("#").length > 1) {
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut);
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("#")[1]);
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), "1000", cut);
errorMsg += (String) resultMap.get("errorMsg");
countError += (int) resultMap.get("countError");
configDataEO.setTextData(value.split("#")[0]);
@@ -5574,12 +5574,12 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
countError++;
} else {
if (value.split("#").length > 1) {
resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, false, cut);
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("#")[1]);
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut);
resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), "1000", cut);
errorMsg += (String) resultMap.get("errorMsg");
countError += (int) resultMap.get("countError");
configDataEO.setTextData(value.split("#")[0]);
@@ -288,6 +288,14 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
return Result.OK(list);
}
@ApiOperation(value="详情目录查询", notes="详情目录查询")
@GetMapping(value = "/getMenuList")
public Result<List<Map<String,Object>>> getMenuList(@RequestParam(name="id",required=true) String id,
@RequestParam(name="cut",required=true) String cut) {
List<Map<String, Object>> list = bussDocumentLibraryEOService.getMenuList(id,cut);
return Result.OK(list);
}
/**
* 新增数据
* @param map
@@ -98,6 +98,7 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
*/
List<Map<String, Object>> getInfoById(String id, String cut);
List<Map<String, Object>> getMenuList(String id, String cut);
/**
* 新增数据
*
@@ -1030,6 +1030,53 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
// return dataList;
// }
public List<Map<String, Object>> getMenuList(String id, String cut) {
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//标准选择字段
List<OnlCgformField> standardOnlCgformFieldList = fieldList.stream()
.filter(e -> FieldTypeEnum.STANDARD.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
List<String> standFieldList = standardOnlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
List<Map<String, Object>> result = new ArrayList<>(); // 要返回的结果
//区域管理
OnlCgformArea onlCgformArea = new OnlCgformArea();
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea);
for (OnlCgformArea onlCgformAreaTemp : areaList) {
String areaName = "";
if (CutEnum.CN.getValue().equals(cut)) {
areaName = onlCgformAreaTemp.getShowArea();
} else {
areaName = onlCgformAreaTemp.getEnName();
}
Map<String, Object> menuMap = new HashMap<>();
menuMap.put("name",areaName);
result.add(menuMap);
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
for (OnlCgformField onlCgformField : fieldListTemp) {
//字段
String dbFieldName = onlCgformField.getDbFieldName();
//字段类型
String fieldShowType = onlCgformField.getFieldShowType();
if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) {
Map<String, Object> menuMap1 = new HashMap<>();
menuMap1.put("pname",areaName);
if (CutEnum.CN.getValue().equals(cut)) {
menuMap1.put("name",onlCgformField.getDbFieldTxt());
} else {
menuMap1.put("name",onlCgformField.getDbFieldEnName());
}
result.add(menuMap1);
}
}
}
return result;
}
/**
* 详情数据查询
*
@@ -1098,7 +1145,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//过滤出表单字段(is_show_form-->表单是否显示0否 1是)
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(StringUtils.valueOf(e.getIsShowForm()))).collect(Collectors.toList());
}
for (OnlCgformArea onlCgformAreaTemp : areaList) {
String areaName = "";
if (CutEnum.CN.getValue().equals(cut)) {
@@ -1161,61 +1207,31 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
mapNew.put("value",fileIdList);
resultTemp.add(mapNew);
}else{
if (StringUtils.isNotBlank(value)) {
Map<String, Object> mapNew = new HashMap<>();
List<Map<String, Object>> listVal = new ArrayList<>();
List<OSSFile> fileInfos = iOSSFileService.getFileInfosByConnectId(value);
//多文件处理
if (fileInfos.size() > 1) {
if (fileInfos.size() != 0) {
int i = 0;
for (OSSFile fileInfo : fileInfos) {
if (i == 0) {
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", fileInfo);
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null);
mapNew.put("count", fileInfos.size());
// 添加标准分解单跳转
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfo.getId());
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapNew.put("splitFlag", 1);
mapNew.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapNew.put("splitFlag", 0);
}
resultTemp.add(mapNew);
i++;
} else {
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", fileInfo);
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null);
// 添加标准分解单跳转
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfo.getId());
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapNew.put("splitFlag", 1);
mapNew.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapNew.put("splitFlag", 0);
}
resultTemp.add(mapNew);
}
}
}
} else if (fileInfos.size() == 1) {
//单个文件处理
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("count", fileInfos.size());
mapNew.put("value", fileInfos.get(0));
if(ObjectUtils.isNotEmpty(fileInfos)){
mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName, null);
// 添加标准分解单跳转
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfos.get(0).getId());
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapNew.put("splitFlag", 1);
mapNew.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapNew.put("splitFlag", 0);
for (OSSFile fileInfo : fileInfos) {
Map<String, Object> mapValue = new HashMap<>();
mapValue.put("id",fileInfo.getId());
mapValue.put("fileName",fileInfo.getFileName());
List<SarFileSplitInfoEO> infoEOList = sarFileSplitInfoService.queryByFileId(fileInfo.getId());
// 添加标准分解单跳转
if (CollectionUtil.isNotEmpty(infoEOList)) {
mapValue.put("splitFlag", 1);
mapValue.put("splitInfoId", infoEOList.get(0).getId());
} else{
mapValue.put("splitFlag", 0);
}
listVal.add(mapValue);
}
resultTemp.add(mapNew);
}
mapNew.put("value", listVal);
resultTemp.add(mapNew);
} else {
Map<String, Object> mapNew = new HashMap<>();
mapNew.put("value", "");
@@ -1973,11 +1989,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (null != bl) {
String repStr = bl.getReplacedStandard();
if (StringUtils.isNotBlank(repStr)) {
if (!repStr.contains(idTemp)) {
repStr = repStr + "," + idTemp;
if (!repStr.contains(StringUtils.valueOf(map.get("serial_number")))) {
repStr = repStr + "," + StringUtils.valueOf(map.get("serial_number"));
}
} else {
repStr = idTemp;
repStr = StringUtils.valueOf(map.get("serial_number"));
}
bl.setReplacedStandard(repStr);
bussDocumentLibraryEOMapper.updateById(bl);
@@ -2684,7 +2700,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
//处理代替标准和被代替标准逻辑
String docId = (String) map.get("id");
String docId = StringUtils.valueOf(map.get("serial_number"));
Object repObj = map.get("replace_standard_id");
if(null != repObj){
String[] replace_standard_list = repObj.toString().split(",");
@@ -204,6 +204,7 @@ public class OtaBaCxAqcsController extends JeroController<OtaBaCxAqcs, IOtaBaCxA
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
OtaBaCxAqcs res;
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -84,7 +84,13 @@ public class OtaBaCxJbxxController extends JeroController<OtaBaCxJbxx, IOtaBaCxJ
@ApiOperation(value = "车型备案-车型基本信息-添加", notes = "车型备案-车型基本信息-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody OtaBaCxJbxx otaBaCxJbxx) {
OtaBaCxJbxx res = otaBaCxJbxxService.add(otaBaCxJbxx);
OtaBaCxJbxx res;
try {
res = otaBaCxJbxxService.add(otaBaCxJbxx);
} catch (Exception e) {
e.printStackTrace();
return Result.error(e.getMessage());
}
return Result.OK(res);
}
@@ -197,6 +203,7 @@ public class OtaBaCxJbxxController extends JeroController<OtaBaCxJbxx, IOtaBaCxJ
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
OtaBaCxJbxx res;
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -200,6 +200,7 @@ public class OtaBaCxJsfzbacsController extends JeroController<OtaBaCxJsfzbacs, I
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -201,6 +201,7 @@ public class OtaBaCxKsjjsmccsController extends JeroController<OtaBaCxKsjjsmccs,
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -203,6 +203,7 @@ public class OtaBaCxKsjxtmccsController extends JeroController<OtaBaCxKsjxtmccs,
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -238,7 +238,7 @@ public class OtaBaCxListController extends JeroController<OtaBaCxList, IOtaBaCxL
public Result<?> importData(@RequestParam(value = "file", required = false) MultipartFile file,
@RequestParam(value = "cut", required = false) String cut) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功! 提示信息:");
errMsg.append("导入成功! ");
try {
this.otaBaCxListService.importData(file, cut, errMsg);
} catch (Exception e) {
@@ -198,6 +198,7 @@ public class OtaBaCxZxsjyqController extends JeroController<OtaBaCxZxsjyq, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
OtaBaCxZxsjyq res;
try {
String[] params = otaId.split("\\?");
@@ -203,6 +203,7 @@ public class OtaBaSjGgnrfsController extends JeroController<OtaBaSjGgnrfs, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -234,6 +234,7 @@ public class OtaBaSjListController extends JeroController<OtaBaSjList, IOtaBaSjL
public Result<?> importData(@RequestParam(value = "file", required = false) MultipartFile file,
@RequestParam(value = "cut", required = false) String cut) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
this.otaBaSjListService.importData(file, cut, errMsg);
} catch (Exception e) {
@@ -201,6 +201,7 @@ public class OtaBaSjSjfzbhController extends JeroController<OtaBaSjSjfzbh, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -196,6 +196,7 @@ public class OtaBaSjSjmbclController extends JeroController<OtaBaSjSjmbcl, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
OtaBaSjSjmbcl res;
try {
String[] params = otaId.split("\\?");
@@ -197,6 +197,7 @@ public class OtaBaSjSjmbcxController extends JeroController<OtaBaSjSjmbcx, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
OtaBaSjSjmbcx res;
try {
String[] params = otaId.split("\\?");
@@ -203,6 +203,7 @@ public class OtaBaSjSjxtbhController extends JeroController<OtaBaSjSjxtbh, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
try {
String[] params = otaId.split("\\?");
otaId = params[0].equals("null") ? "" : params[0];
@@ -202,6 +202,7 @@ public class OtaBaSjSjyxpgController extends JeroController<OtaBaSjSjyxpg, IOtaB
@RequestParam(value = "cut", required = false) String cut,
@RequestParam(value = "otaId", required = false) String otaId) throws Exception {
StringBuilder errMsg = new StringBuilder();
errMsg.append("导入成功!");
OtaBaSjSjyxpg res;
try {
String[] params = otaId.split("\\?");
@@ -55,7 +55,7 @@ public enum OtaTitleEnum {
CZXTBBH("czxtbbh", "软件版本号", "0", "", 50),
GNMC("gnmc", "功能名称", "0", "", 50),
PZQK("pzqk", "配置情况", "2", "", 0),
PZQK("pzqk", "配置情况", "1", "", 0),
JSZDHJB("jszdhjb", "驾驶自动化级别", "driving_automation_level", "", 0),
SJGGCS("sjggcs", "升级可能变更的《公告》技术参数", "0", "", 500),
GNMS("gnms", "功能描述", "0", "", 500),
@@ -64,81 +64,81 @@ public enum OtaTitleEnum {
CSYZSJ("csyzsj", "初始软件包的完整性验证数据", "0", "", 500),
FJ("fj", "附件", "0", "", 0),
WLAQYQ_PZ("jgldPz", "激光雷达-配置", "2", "", 0),
WLAQYQ_PZ("jgldPz", "激光雷达-配置", "1", "", 0),
WLAQYQ_SL("jgldSl", "激光雷达-数量", "0", "", 50),
WLAQYQ_BZWZ("jgldBzwz", "激光雷达-布置位置", "0", "", 50),
WLAQYQ_GGXH("jgldGgxh", "激光雷达-规格型号", "0", "", 0),
WLAQYQ_SCQY("jgldScqy", "激光雷达-生产企业", "0", "", 50),
HMBLD_PZ("hmbldPz", "毫米波雷达-配置", "2", "", 0),
HMBLD_PZ("hmbldPz", "毫米波雷达-配置", "1", "", 0),
HMBLD_SL("hmbldSl", "毫米波雷达-数量", "0", "", 50),
HMBLD_BZWZ("hmbldBzwz", "毫米波雷达-布置位置", "0", "", 50),
HMBLD_GGXH("hmbldGgxh", "毫米波雷达-规格型号", "0", "", 50),
HMBLD_SCQY("hmbldScqy", "毫米波雷达-生产企业", "0", "", 50),
CSBLD_PZ("csbldPz", "超声波雷达-配置", "2", "", 0),
CSBLD_PZ("csbldPz", "超声波雷达-配置", "1", "", 0),
CSBLD_SL("csbldSl", "超声波雷达-数量", "0", "", 50),
CSBLD_BZWZ("csbldBzwz", "超声波雷达-布置位置", "0", "", 50),
CSBLD_GGXH("csbldGgxh", "超声波雷达-规格型号", "0", "", 50),
CSBLD_SCQY("csbldScqy", "超声波雷达-生产企业", "0", "", 50),
SXTHS_PZ("sxthsPz", "摄像头-倒车影像/360(环视)-配置", "2", "", 0),
SXTHS_PZ("sxthsPz", "摄像头-倒车影像/360(环视)-配置", "1", "", 0),
SXTHS_SL("sxthsSl", "摄像头-倒车影像/360(环视)-数量", "0", "", 50),
SXTHS_BZWZ("sxthsBzwz", "摄像头-倒车影像/360(环视)-布置位置", "0", "", 50),
SXTHS_GGXH("sxthsGgxh", "摄像头-倒车影像/360(环视)-规格型号", "0", "", 50),
SXTHS_SCQY("sxthsScqy", "摄像头-倒车影像/360(环视)-生产企业", "0", "", 50),
SXTDSD_PZ("sxtdsdPz", "摄像头-单目/双目/多目-配置", "2", "", 50),
SXTDSD_PZ("sxtdsdPz", "摄像头-单目/双目/多目-配置", "1", "", 50),
SXTDSD_SL("sxtdsdSl", "摄像头-单目双目多目-数量", "0", "", 50),
SXTDSD_BZWZ("sxtdsdBzwz", "摄像头-单目双多目-布置位置", "0", "", 50),
SXTDSD_GGXH("sxtdsdGgxh", "摄像头-单目/双目/多目-规格型号", "0", "", 50),
SXTDSD_SCQY("sxtdsdScqy", "摄像头-单目/双目/多目-生产企业", "0", "", 50),
JSYJK_PZ("jsyjkPz", "驾驶员注意力监测系统DMS-驾驶员监控摄像头-配置", "2", "", 0),
JSYJK_PZ("jsyjkPz", "驾驶员注意力监测系统DMS-驾驶员监控摄像头-配置", "1", "", 0),
JSYJK_SL("jsyjkSl", "驾驶员注意力监测系统DMS-驾驶员监控摄像头-数量", "0", "", 50),
JSYJK_BZWZ("jsyjkBzwz", "驾驶员注意力监测系统DMS-驾驶员监控摄像头-布置位置", "0", "", 50),
JSYJK_GGXH("jsyjkGgxh", "驾驶员注意力监测系统DMS-驾驶员监控摄像头-规格型号", "0", "", 50),
JSYJK_SCQY("jsyjkScqy", "驾驶员注意力监测系统DMS-驾驶员监控摄像头-生产企业", "0", "", 50),
JSYHW_PZ("jsyhwPz", "驾驶员注意力监测系统DMS-驾驶员监控红外传感器-配置", "2", "", 0),
JSYHW_PZ("jsyhwPz", "驾驶员注意力监测系统DMS-驾驶员监控红外传感器-配置", "1", "", 0),
JSYHW_SL("jsyhwSl", "驾驶员注意力监测系统DMS-驾驶员监控红外传感器-数量", "0", "", 50),
JSYHW_BZWZ("jsyhwBzwz", "驾驶员注意力监测系统DMS-驾驶员监控红外传感器-布置位置", "0", "", 50),
JSYHW_GGXH("jsyhwGgxh", "驾驶员注意力监测系统DMS-驾驶员监控红外传感器-规格型号", "0", "", 50),
JSYHW_SCQY("jsyhwScqy", "驾驶员注意力监测系统DMS-驾驶员监控红外传感器-生产企业", "0", "", 50),
CZWXDW_PZ("czwxdwPz", "定位及导航系统-车载卫星定位设备(接收卫星信号及辅助定位信号的装置,PPP/GNSS/RTK-配置", "2", "", 0),
CZWXDW_PZ("czwxdwPz", "定位及导航系统-车载卫星定位设备(接收卫星信号及辅助定位信号的装置,PPP/GNSS/RTK-配置", "1", "", 0),
CZWXDW_GGXH("czwxdwGgxh", "定位及导航系统-车载卫星定位设备(接收卫星信号及辅助定位信号的装置,PPP/GNSS/RTK)-规格型号", "0", "", 50),
CZWXDW_SCQY("czwxdwScqy", "定位及导航系统-车载卫星定位设备(接收卫星信号及辅助定位信号的装置,PPP/GNSS/RTK)-生产企业", "0", "", 50),
GXDH_PZ("gxdhPz", "定位及导航系统-惯性导航系统-配置", "2", "", 0),
GXDH_PZ("gxdhPz", "定位及导航系统-惯性导航系统-配置", "1", "", 0),
GXDH_GGXH("gxdhGgxh", "定位及导航系统-惯性导航系统-规格型号", "0", "", 50),
GXDH_SCQY("gxdhScqy", "定位及导航系统-惯性导航系统-生产企业", "0", "", 50),
LSJ_PZ("lsjPz", "定位及导航系统-轮速计-配置", "2", "", 0),
LSJ_PZ("lsjPz", "定位及导航系统-轮速计-配置", "1", "", 0),
LSJ_GGXH("lsjGgxh", "定位及导航系统-轮速计-规格型号", "0", "", 50),
LSJ_SCQY("lsjScqy", "定位及导航系统-轮速计-生产企业", "0", "", 50),
GJDDT_PZ("gjddtPz", "定位及导航系统-高精度地图-配置", "2", "", 0),
GJDDT_PZ("gjddtPz", "定位及导航系统-高精度地图-配置", "1", "", 0),
GJDDT_GGXH("gjddtGgxh", "定位及导航系统-高精度地图-规格型号", "0", "", 50),
GJDDT_SCQY("gjddtScqy", "定位及导航系统-高精度地图-生产企业", "0", "", 50),
DZWL_PZ("dzwlPz", "定位及导航系统-电子围栏-配置", "2", "", 0),
DZWL_PZ("dzwlPz", "定位及导航系统-电子围栏-配置", "1", "", 0),
DZWL_DXXGCS("dzwlDxxgcs", "定位及导航系统-电子围栏-定性描述相关场所", "0", "", 50),
CZTX_PZ("cztxPz", "车载通信系统-配置", "2", "", 0),
CZTX_PZ("cztxPz", "车载通信系统-配置", "1", "", 0),
CZTX_XTMC("cztxXtmc", "车载通信系统-系统名称", "0", "", 50),
CZTX_GGXH("cztxGgxh", "车载通信系统-规格型号", "0", "", 50),
CZTX_SCQY("cztxScqy", "车载通信系统-生产企业", "0", "", 50),
CZTX_BBH("cztxBbh", "车载通信系统-版本号", "0", "", 50),
CZTX_KFQY("cztxKfqy", "车载通信系统-软件开发企业", "0", "", 50),
JSFZCZJ_PZ("jsfzczjPz", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能操纵件-配置", "2", "", 0),
JSFZCZJ_PZ("jsfzczjPz", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能操纵件-配置", "1", "", 0),
JSFZCZJ_MC("jsfzczjMc", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能操纵件-操纵件名称", "0", "", 50),
JSFZCZJ_YJXH("jsfzczjYjxh", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能操纵件-硬件规格型号", "0", "", 50),
JSFZCZJ_SCQY("jsfzczjScqy", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能操纵件-生产企业", "0", "", 50),
JSFZZSQ_PZ("jsfzzsqPz", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能指示器/信号装置-配置", "2", "", 0),
JSFZZSQ_PZ("jsfzzsqPz", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能指示器/信号装置-配置", "1", "", 0),
JSFZZSQ_MC("jsfzzsqMc", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能指示器/信号装置-指示器/信号装置名称", "0", "", 50),
JSFZZSQ_YJXH("jsfzzsqYjxh", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能指示器/信号装置-硬件规格型号", "0", "", 50),
JSFZZSQ_SCQY("jsfzzsqScqy", "驾驶辅助系统操纵件、指示器及信号装置-驾驶辅助功能指示器/信号装置-生产企业", "0", "", 50),
FXPTSTS_PZ("fxptstsPz", "驾驶辅助系统操纵件、指示器及信号装置-方向盘脱手提示器/信号装置-配置", "2", "", 0),
FXPTSTS_PZ("fxptstsPz", "驾驶辅助系统操纵件、指示器及信号装置-方向盘脱手提示器/信号装置-配置", "1", "", 0),
FXPTSTS_MC("fxptstsMc", "驾驶辅助系统操纵件、指示器及信号装置-方向盘脱手提示器/信号装置-指示器/信号装置名称", "0", "", 50),
FXPTSTS_YJXH("fxptstsYjxh", "驾驶辅助系统操纵件、指示器及信号装置-方向盘脱手提示器/信号装置-硬件规格型号", "0", "", 50),
FXPTSTS_SCQY("fxptstsScqy", "驾驶辅助系统操纵件、指示器及信号装置-方向盘脱手提示器/信号装置-生产企业", "0", "", 50),
JSYZYLTS_PZ("jsyzyltsPz", "驾驶辅助系统操纵件、指示器及信号装置-驾驶员注意力提醒指示器/信号装置-配置", "2", "", 0),
JSYZYLTS_PZ("jsyzyltsPz", "驾驶辅助系统操纵件、指示器及信号装置-驾驶员注意力提醒指示器/信号装置-配置", "1", "", 0),
JSYZYLTS_MC("jsyzyltsMc", "驾驶辅助系统操纵件、指示器及信号装置-驾驶员注意力提醒指示器/信号装置-指示器/信号装置名称", "0", "", 50),
JSYZYLTS_YJXH("jsyzyltsYjxh", "驾驶辅助系统操纵件、指示器及信号装置-驾驶员注意力提醒指示器/信号装置-硬件规格型号", "0", "", 50),
JSYZYLTS_SCQY("jsyzyltsScqy", "驾驶辅助系统操纵件、指示器及信号装置-驾驶员注意力提醒指示器/信号装置-生产企业", "0", "", 50),
DSSAD_PZ("dssadPz", "自动驾驶数据记录系统(DSSAD)-系统配置", "2", "", 0),
DSSAD_PZ("dssadPz", "自动驾驶数据记录系统(DSSAD)-系统配置", "1", "", 0),
DSSAD_GGXH("dssadGgxh", "自动驾驶数据记录系统(DSSAD)-规格型号", "0", "", 50),
DSSAD_SCQY("dssadScqy", "自动驾驶数据记录系统(DSSAD)-生产企业", "0", "", 50),
EDR_PZ("edrPz", "事件数据记录系统(EDR)-配置", "2", "", 0),
EDR_PZ("edrPz", "事件数据记录系统(EDR)-配置", "1", "", 0),
EDR_GGXH("edrGgxh", "事件数据记录系统(EDR)-规格型号", "0", "", 50),
EDR_SCQY("edrScqy", "事件数据记录系统(EDR)-生产企业", "0", "", 50),
@@ -23,7 +23,7 @@ public interface IOtaBaCxJbxxService extends IService<OtaBaCxJbxx> {
* @param otaBaCxJbxx
* @return
*/
OtaBaCxJbxx add(OtaBaCxJbxx otaBaCxJbxx);
OtaBaCxJbxx add(OtaBaCxJbxx otaBaCxJbxx) throws Exception;
/**
* 更新
@@ -52,6 +52,7 @@ public interface IOtaBaCxSjmkService extends IService<OtaBaCxSjmk> {
*/
OtaBaCxSjmk queryById(String id);
List<OtaBaCxSjmk> setDefault(String otaId);
List<OtaBaCxSjmk> queryByOtaId(String otaId);
@@ -62,7 +62,16 @@ public class OtaBaCxJbxxServiceImpl extends ServiceImpl<OtaBaCxJbxxMapper, OtaBa
* @param otaBaCxJbxx
* @return
*/
public OtaBaCxJbxx add(OtaBaCxJbxx otaBaCxJbxx) {
public OtaBaCxJbxx add(OtaBaCxJbxx otaBaCxJbxx) throws Exception {
String ggpc = otaBaCxJbxx.getGgpc();
if (StringUtils.isNotEmpty(ggpc)) {
List<OtaBaCxJbxx> xxList = this.list();
for (OtaBaCxJbxx xx : xxList) {
if (ggpc.equals(xx.getGgpc())) {
throw new JeroBootException("公告批次重复");
}
}
}
//对比填写记录用的
OtaBaCxJbxx otaBaCxJbxxOld = new OtaBaCxJbxx();
Date now = new Date();
@@ -80,6 +80,9 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
saveOrUpdate(otaBaCxJsfzbacs);
//处理控制器列表,先删除,后添加
List<OtaBaCxSjmk> oldList = OtaBaCxSjmkService.queryByOtaId(otaId);
if (ObjectUtils.isEmpty(oldList)) {
oldList = OtaBaCxSjmkService.setDefault(otaId);
}
OtaBaCxSjmkService.deleteByOtaId(otaId);
JSONArray kzq = json.getJSONArray("kzq");
List<OtaBaCxSjmk> sjmkList = parseKzqData(kzq, otaId);
@@ -232,6 +235,9 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
if (ObjectUtils.isEmpty(otaBaCxJsfzbacs)) {
otaBaCxJsfzbacs = getByOtaId(otaIdT);
kzqList = OtaBaCxSjmkService.queryByOtaId(otaIdT);
if (ObjectUtils.isEmpty(otaBaCxJsfzbacs)) {
kzqList = OtaBaCxSjmkService.setDefault(otaId);
}
}
res.put("bj", otaBaCxJsfzbacs);
res.put("kzq", kzqList);
@@ -313,7 +319,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
sjmk.setCreateTime(now);
sjmk.setBjmc(str);
cell = row.getCell(1);
sjmk.setPzqk(ImportFileUtil.getCellValueYesOrNo(cell, wb));
sjmk.setPzqk(ImportFileUtil.getCellValueHaveOrNot(cell, wb));
cell = row.getCell(2);
sjmk.setKzqmc(ImportFileUtil.getCellValue(cell, wb));
cell = row.getCell(3);
@@ -342,7 +348,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
Row row = s.getRow(2);
Cell cell = row.getCell(2);
bass.setJgldPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setJgldPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(2);
cell = row.getCell(4);
bass.setJgldSl(ImportFileUtil.getCellValue(cell, wb));
@@ -358,7 +364,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(6);
cell = row.getCell(2);
bass.setHmbldPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setHmbldPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(6);
cell = row.getCell(4);
bass.setHmbldSl(ImportFileUtil.getCellValue(cell, wb));
@@ -375,7 +381,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(10);
cell = row.getCell(2);
bass.setCsbldPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setCsbldPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(10);
cell = row.getCell(4);
bass.setCsbldSl(ImportFileUtil.getCellValue(cell, wb));
@@ -392,7 +398,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(14);
cell = row.getCell(2);
bass.setSxthsPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setSxthsPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(14);
cell = row.getCell(4);
bass.setSxthsSl(ImportFileUtil.getCellValue(cell, wb));
@@ -408,7 +414,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(18);
cell = row.getCell(2);
bass.setSxtdsdPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setSxtdsdPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(18);
cell = row.getCell(4);
bass.setSxtdsdSl(ImportFileUtil.getCellValue(cell, wb));
@@ -424,7 +430,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(22);
cell = row.getCell(2);
bass.setJsyjkPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setJsyjkPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(22);
cell = row.getCell(4);
bass.setJsyjkSl(ImportFileUtil.getCellValue(cell, wb));
@@ -440,7 +446,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(26);
cell = row.getCell(2);
bass.setJsyhwPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setJsyhwPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(26);
cell = row.getCell(4);
bass.setJsyhwSl(ImportFileUtil.getCellValue(cell, wb));
@@ -456,7 +462,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(30);
cell = row.getCell(2);
bass.setCzwxdwPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setCzwxdwPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(30);
cell = row.getCell(4);
bass.setCzwxdwGgxh(ImportFileUtil.getCellValue(cell, wb));
@@ -466,7 +472,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(32);
cell = row.getCell(2);
bass.setGxdhPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setGxdhPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(32);
cell = row.getCell(4);
bass.setGxdhGgxh(ImportFileUtil.getCellValue(cell, wb));
@@ -476,7 +482,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(34);
cell = row.getCell(2);
bass.setLsjPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setLsjPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(34);
cell = row.getCell(4);
bass.setLsjGgxh(ImportFileUtil.getCellValue(cell, wb));
@@ -486,7 +492,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(36);
cell = row.getCell(2);
bass.setGjddtPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setGjddtPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(36);
cell = row.getCell(4);
bass.setGjddtGgxh(ImportFileUtil.getCellValue(cell, wb));
@@ -496,14 +502,14 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(38);
cell = row.getCell(2);
bass.setDzwlPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setDzwlPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(38);
cell = row.getCell(4);
bass.setDzwlDxxgcs(ImportFileUtil.getCellValue(cell, wb));
row = s.getRow(39);
cell = row.getCell(2);
bass.setCztxPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setCztxPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(39);
cell = row.getCell(4);
bass.setCztxXtmc(ImportFileUtil.getCellValue(cell, wb));
@@ -522,7 +528,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(44);
cell = row.getCell(2);
bass.setJsfzczjPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setJsfzczjPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(44);
cell = row.getCell(4);
bass.setJsfzczjMc(ImportFileUtil.getCellValue(cell, wb));
@@ -535,7 +541,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(47);
cell = row.getCell(2);
bass.setJsfzzsqPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setJsfzzsqPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(47);
cell = row.getCell(4);
bass.setJsfzzsqMc(ImportFileUtil.getCellValue(cell, wb));
@@ -548,7 +554,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(50);
cell = row.getCell(2);
bass.setFxptstsPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setFxptstsPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(50);
cell = row.getCell(4);
bass.setFxptstsMc(ImportFileUtil.getCellValue(cell, wb));
@@ -561,7 +567,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(53);
cell = row.getCell(2);
bass.setJsyzyltsPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setJsyzyltsPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(53);
cell = row.getCell(4);
bass.setJsyzyltsMc(ImportFileUtil.getCellValue(cell, wb));
@@ -574,7 +580,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(56);
cell = row.getCell(2);
bass.setDssadPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setDssadPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(56);
cell = row.getCell(4);
bass.setDssadGgxh(ImportFileUtil.getCellValue(cell, wb));
@@ -584,7 +590,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(58);
cell = row.getCell(2);
bass.setEdrPz(ImportFileUtil.getCellValueYesOrNoInt(cell, wb));
bass.setEdrPz(ImportFileUtil.getCellValueHaveOrNotInt(cell, wb));
row = s.getRow(58);
cell = row.getCell(4);
bass.setEdrGgxh(ImportFileUtil.getCellValue(cell, wb));
@@ -605,7 +611,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
Row row = s.getRow(2);
Cell cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getJsfzczjPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getJsfzczjPz()));
row = s.getRow(2);
cell = row.getCell(4);
cell.setCellValue(bass.getJgldSl());
@@ -621,7 +627,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(6);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getHmbldPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getHmbldPz()));
row = s.getRow(6);
cell = row.getCell(4);
cell.setCellValue(bass.getHmbldSl());
@@ -636,7 +642,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
cell.setCellValue(bass.getHmbldScqy());
row = s.getRow(10);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getCsbldPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getCsbldPz()));
row = s.getRow(10);
cell = row.getCell(4);
cell.setCellValue(bass.getCsbldSl());
@@ -652,7 +658,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(14);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getSxthsPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getSxthsPz()));
row = s.getRow(14);
cell = row.getCell(4);
cell.setCellValue(bass.getSxthsSl());
@@ -668,7 +674,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(18);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getSxtdsdPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getSxtdsdPz()));
row = s.getRow(18);
cell = row.getCell(4);
cell.setCellValue(bass.getSxtdsdSl());
@@ -684,7 +690,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(22);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getJsyjkPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getJsyjkPz()));
row = s.getRow(22);
cell = row.getCell(4);
cell.setCellValue(bass.getJsyjkSl());
@@ -700,7 +706,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(26);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getJsyhwPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getJsyhwPz()));
row = s.getRow(26);
cell = row.getCell(4);
cell.setCellValue(bass.getJsyhwSl());
@@ -716,7 +722,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(30);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getCzwxdwPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getCzwxdwPz()));
row = s.getRow(30);
cell = row.getCell(4);
cell.setCellValue(bass.getCzwxdwGgxh());
@@ -726,7 +732,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(32);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getGxdhPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getGxdhPz()));
row = s.getRow(32);
cell = row.getCell(4);
cell.setCellValue(bass.getGxdhGgxh());
@@ -736,7 +742,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(34);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getLsjPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getLsjPz()));
row = s.getRow(34);
cell = row.getCell(4);
cell.setCellValue(bass.getLsjGgxh());
@@ -746,7 +752,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(36);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getGjddtPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getGjddtPz()));
row = s.getRow(36);
cell = row.getCell(4);
cell.setCellValue(bass.getGjddtGgxh());
@@ -756,14 +762,14 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(38);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getDzwlPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getDzwlPz()));
row = s.getRow(38);
cell = row.getCell(4);
cell.setCellValue(bass.getDzwlDxxgcs());
row = s.getRow(39);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getCztxPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getCztxPz()));
row = s.getRow(39);
cell = row.getCell(4);
cell.setCellValue(bass.getCztxXtmc());
@@ -782,7 +788,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(44);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getJsfzczjPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getJsfzczjPz()));
row = s.getRow(44);
cell = row.getCell(4);
cell.setCellValue(bass.getJsfzczjMc());
@@ -795,7 +801,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(47);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getJsfzzsqPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getJsfzzsqPz()));
row = s.getRow(47);
cell = row.getCell(4);
cell.setCellValue(bass.getJsfzzsqMc());
@@ -808,7 +814,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(50);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getFxptstsPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getFxptstsPz()));
row = s.getRow(50);
cell = row.getCell(4);
cell.setCellValue(bass.getFxptstsMc());
@@ -821,7 +827,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(53);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getJsyzyltsPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getJsyzyltsPz()));
row = s.getRow(53);
cell = row.getCell(4);
cell.setCellValue(bass.getJsyzyltsMc());
@@ -834,7 +840,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(56);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getDssadPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getDssadPz()));
row = s.getRow(56);
cell = row.getCell(4);
cell.setCellValue(bass.getDssadGgxh());
@@ -844,7 +850,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
row = s.getRow(58);
cell = row.getCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNoInt(bass.getEdrPz()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNotInt(bass.getEdrPz()));
row = s.getRow(58);
cell = row.getCell(4);
cell.setCellValue(bass.getEdrGgxh());
@@ -860,7 +866,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
cell = row.createCell(0);
cell.setCellValue(sjmk.getBjmc());
cell = row.createCell(1);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNo(sjmk.getPzqk()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNot(sjmk.getPzqk()));
cell = row.createCell(2);
cell.setCellValue(sjmk.getKzqmc());
cell = row.createCell(3);
@@ -109,9 +109,6 @@ public class OtaBaCxKsjjsmccsServiceImpl extends ServiceImpl<OtaBaCxKsjjsmccsMap
otaBaCxJsfzbacs.setUpdateTime(now);
newList.add(otaBaCxJsfzbacs);
}
if (ObjectUtils.isEmpty(oldList)) {
oldList = new ArrayList<>();
}
ComparisonUtil cu = new ComparisonUtil();
List<OtaBaCxTxjl> reList = cu.comparisonListRecord(otaId, OtaModuleEnum.CX_KZXSJDJSFZGNMCYCS, OtaTitleEnum.GNMC.getName(), oldList, newList, sysDictService);
saveOrUpdateBatch(newList);
@@ -303,11 +300,11 @@ public class OtaBaCxKsjjsmccsServiceImpl extends ServiceImpl<OtaBaCxKsjjsmccsMap
}
mssc.setGnmc(gnmc);
cell = row.getCell(1);
mssc.setPzqk(ImportFileUtil.getCellValueYesOrNo(cell, wb));
mssc.setPzqk(ImportFileUtil.getCellValueHaveOrNot(cell, wb));
cell = row.getCell(2);
mssc.setSfksj(ImportFileUtil.getCellValueYesOrNo(cell, wb));
cell = row.getCell(3);
mssc.setJszdhjb(ImportFileUtil.getCellValue(cell, wb));
mssc.setJszdhjb(ImportFileUtil.getCellValueDict(cell, wb, "driving_automation_level", sysDictService, cut));
cell = row.getCell(4);
mssc.setSjggcs(ImportFileUtil.getCellValue(cell, wb));
cell = row.getCell(5);
@@ -350,7 +347,7 @@ public class OtaBaCxKsjjsmccsServiceImpl extends ServiceImpl<OtaBaCxKsjjsmccsMap
Cell cell = row.createCell(0);
cell.setCellValue(mccs.getGnmc());
cell = row.createCell(1);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNo(mccs.getPzqk()));
cell.setCellValue(ImportFileUtil.getCellValueHaveOrNot(mccs.getPzqk()));
cell = row.createCell(2);
cell.setCellValue(ImportFileUtil.getCellValueYesOrNo(mccs.getSfksj()));
cell = row.createCell(3);
@@ -2,14 +2,17 @@ package com.jero.modules.ota.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.ota.entity.OtaBaCxKsjjsmccs;
import com.jero.modules.ota.entity.OtaBaCxSjmk;
import com.jero.modules.ota.mapper.OtaBaCxSjmkMapper;
import com.jero.modules.ota.service.IOtaBaCxSjmkService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* @Description: 车型备案-车端OTA升级功能模块
@@ -80,11 +83,31 @@ public class OtaBaCxSjmkServiceImpl extends ServiceImpl<OtaBaCxSjmkMapper, OtaBa
return getById(id);
}
@Override
public List<OtaBaCxSjmk> setDefault(String otaId) {
Date now = new Date();
List<OtaBaCxSjmk> res = new ArrayList<>();
String[] titles = {"车端OTA升级功能模块"};
for (String t : titles) {
OtaBaCxSjmk cs = new OtaBaCxSjmk();
cs.setOtaId(otaId);
cs.setBjmc(t);
cs.setCreateTime(now);
cs.setId(UUID.randomUUID().toString().replace("-", ""));
res.add(cs);
}
saveBatch(res);
return res;
}
@Override
public List<OtaBaCxSjmk> queryByOtaId(String otaId) {
LambdaQueryWrapper<OtaBaCxSjmk> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OtaBaCxSjmk::getOtaId, otaId);
List<OtaBaCxSjmk> list = this.list(queryWrapper);
if (ObjectUtils.isEmpty(list)) {
list = setDefault(otaId);
}
return list;
}
@@ -62,13 +62,13 @@ public class ComparisonUtil<T> {
}
public OtaBaCxTxjl addAttRecord(String otaId, OtaModuleEnum otaModuleEnum, String title, String attName) {
String content = title + "中添加了附件:'" + 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;
String content = title + "中删除了附件:'" + attName + ",";
OtaBaCxTxjl jl = new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content);
return jl;
}
@@ -178,8 +178,8 @@ public class ComparisonUtil<T> {
}
public void checkAttError(String[] strs, StringBuilder errMsg, String title, String cut) {
for (String str:strs) {
if(!str.endsWith(".doc")&&!str.endsWith(".docx")&&!str.endsWith(".pdf")&&!str.endsWith(".DOC")&&!str.endsWith(".DOCX")&&!str.endsWith(".PDF")){
for (String str : strs) {
if (!str.endsWith(".doc") && !str.endsWith(".docx") && !str.endsWith(".pdf") && !str.endsWith(".DOC") && !str.endsWith(".DOCX") && !str.endsWith(".PDF")) {
errMsg.append(title + " 支持doc/docx/pdf格式 , ");
}
}
@@ -203,8 +203,13 @@ public class ComparisonUtil<T> {
errMsg.append(title + " 的长度超过了 " + ote.getLen() + ", ");
field.set(clazz, "");
}
} else if ("1".equals(ote.getType())) {
if (!"1".equals(str) && !"2".equals(str)) {
errMsg.append(title + " 必须填写有或无 , ");
field.set(clazz, "");
}
} else if ("2".equals(ote.getType())) {
if (!"".equals(str) && !"".equals(str)) {
if (!"1".equals(str) && !"2".equals(str)) {
errMsg.append(title + " 必须填写是或否 , ");
field.set(clazz, "");
}
@@ -213,7 +218,7 @@ public class ComparisonUtil<T> {
} else {
String[] strs = str.split(",");
for (String s : strs) {
String res = sysDictService.queryDictItemByValue(ote.getType(), s, cut);
String res = sysDictService.queryDictTextByKeyEn(ote.getType(), s, cut);
if (StringUtils.isEmpty(res)) {
errMsg.append(title + " 填写了无法识别的选项 , ");
field.set(clazz, "");
@@ -285,6 +290,14 @@ public class ComparisonUtil<T> {
if (ObjectUtils.isNotEmpty(newVal)) {
res = newVal.toString();
}
} else if ("1".equals(ote.getType())) {
if (ObjectUtils.isNotEmpty(newVal)) {
if ("1".equals(newVal.toString())) {
res = "";
} else if ("2".equals(newVal.toString())) {
res = "";
}
}
} else if ("2".equals(ote.getType())) {
if (ObjectUtils.isNotEmpty(newVal)) {
if ("1".equals(newVal.toString())) {
@@ -155,7 +155,7 @@ public class ImportFileUtil {
return "";
}
public static Integer getCellValueYesOrNoInt(Cell cell, Workbook workbook) throws Exception {
public static Integer getCellValueHaveOrNotInt(Cell cell, Workbook workbook) throws Exception {
Integer res = null;
String str = getCellValueYesOrNo(cell, workbook);
if (StringUtils.isNotEmpty(str)) {
@@ -164,6 +164,32 @@ public class ImportFileUtil {
return res;
}
public static String getCellValueHaveOrNot(Cell cell, Workbook workbook) throws Exception {
String res = "";
String str = getCellValue(cell, workbook);
if (StringUtils.isNotEmpty(str)) {
if (str.equals("")) {
res = "1";
} else if (str.equals("")) {
res = "2";
}
}
return res;
}
public static String getCellValueHaveOrNotInt(Integer val) throws Exception {
String res = "";
if (ObjectUtils.isNotEmpty(val)) {
if (val.equals(1)) {
res = "";
} else if (val.equals(2)) {
res = "";
}
}
return res;
}
public static String getCellValueYesOrNo(Cell cell, Workbook workbook) throws Exception {
String res = "";
String str = getCellValue(cell, workbook);
@@ -189,6 +215,18 @@ public class ImportFileUtil {
return res;
}
public static String getCellValueHaveOrNot(String str) throws Exception {
String res = "";
if (StringUtils.isNotEmpty(str)) {
if (str.equals("1")) {
res = "";
} else if (str.equals("2")) {
res = "";
}
}
return res;
}
public static String getCellValueYesOrNo(String str) throws Exception {
String res = "";
if (StringUtils.isNotEmpty(str)) {
@@ -59,7 +59,9 @@ public class ProjectRelatedPersonnelController extends JeroController<ProjectRel
(String) map.get("dutyTerritory"),
(String) map.get("lawEngineer"),
(String) map.get("engineeringInterfacePerson"),
(String) map.get("certificationEngineer"));
(String) map.get("engineerLawSet"),
(String) map.get("engineerAttSet"));
// (String) map.get("certificationEngineer"));
return Result.OK((String)map.get("cut"),pageList);
}
/**
@@ -86,7 +86,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
private String wvtaId;
/**标准编号*/
@Excel(name = "*标准编号", width = 20)
@Excel(name = "标准编号", width = 20)
@ApiModelProperty(value = "标准编号")
private String serialNumber;
@@ -94,7 +94,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
@ApiModelProperty(value = "责任领域")
private String dutyTerritory;
/**责任领域名称**/
@Excel(name = "*责任领域", width = 20)
@Excel(name = "责任领域", width = 20)
@TableField(exist = false)
private String dutyTerritoryName;
/**责任领域名称-英文**/
@@ -117,6 +117,14 @@ public class ProjectCertificationInventoryEO implements Serializable {
@TableField(exist = false)
private String dutyPersonName;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "交付物模板", width = 20)
private String deliverableTemplateName;
/**交付物类型*/
@ApiModelProperty(value = "交付物类型")
private String deliverableType;
@@ -138,14 +146,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
@ApiModelProperty(value = "文档库id")
private String bussDocumentLibraryId;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "交付物模板", width = 20)
private String deliverableTemplateName;
/**交付结果*/
@Excel(name = "交付结果", width = 20)
@@ -215,7 +216,7 @@ public class ProjectCertificationInventoryEO implements Serializable {
@TableField(exist = false)
private String excelName;
// @Excel(name = "截止日期", width = 20, format = "yyyy-MM-dd")
// @Excel(name = "*截止日期", width = 20, format = "yyyy-MM-dd")
@TableField(exist = false)
private String endTimeStr;
}
@@ -84,7 +84,7 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
private java.lang.String wvtaId;
/**标准编号*/
@Excel(name = "*Standard No", width = 20)
@Excel(name = "Standard No", width = 20)
@ApiModelProperty(value = "标准编号")
private java.lang.String serialNumber;
@@ -92,7 +92,7 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
@ApiModelProperty(value = "责任领域")
private java.lang.String dutyTerritory;
/**责任领域名称**/
@Excel(name = "*Responsible Field", width = 20)
@Excel(name = "Responsible Field", width = 20)
@TableField(exist = false)
private String dutyTerritoryName;
/**责任领域名称-英文**/
@@ -115,6 +115,14 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
@TableField(exist = false)
private String dutyPersonName;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private java.lang.String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "Deliverable Template", width = 40)
private String deliverableTemplateName;
/**交付物类型*/
@ApiModelProperty(value = "交付物类型")
private java.lang.String deliverableType;
@@ -136,14 +144,7 @@ public class ProjectCertificationInventoryEOEn implements Serializable {
@ApiModelProperty(value = "文档库id")
private java.lang.String bussDocumentLibraryId;
/**交付物模板*/
@ApiModelProperty(value = "交付物模板")
private java.lang.String deliverableTemplate;
/**交付物模板名称**/
@TableField(exist = false)
@Excel(name = "Deliverable Template", width = 40)
private String deliverableTemplateName;
/**交付结果*/
@Excel(name = "Deliverables Result", width = 20)
@@ -59,22 +59,24 @@ public class ProjectRelatedPersonnel implements Serializable {
/**工程接口人法规工程师设置*/
private java.lang.String engineerLawSet;
@TableField(exist = false)
@Excel(name = "工程接口人-法规工程师设置,Project Interface Person - Regulation Engineer Setting", width = 30,orderNum = "4")
private java.lang.String engineerLawSetName;
/**工程接口人认证工程师设置*/
private java.lang.String engineerAttSet;
@TableField(exist = false)
@Excel(name = "工程接口人-认证工程师设置,Project Interface Person - Certification Engineer Setting", width = 30,orderNum = "5")
private java.lang.String engineerAttSetName;
/**认证工程师*/
private java.lang.String certificationEngineer;
@TableField(exist = false)
@Excel(name = "认证工程师,Homologation Engineer", width = 15,orderNum = "4")
// @Excel(name = "认证工程师,Homologation Engineer", width = 15,orderNum = "4")
private java.lang.String certificationEngineerName;
@TableField(exist = false)
private List<String> certificationEngineerNameList;
/**备注*/
@Excel(name = "备注,Comments", width = 15,orderNum = "5")
@Excel(name = "备注,Comments", width = 15,orderNum = "6")
private java.lang.String remark;
/**创建人*/
@@ -271,7 +271,7 @@ public class ProjectVersionInfoEO implements Serializable {
/**设计符合性确认-责任人名称*/
@TableField(exist = false)
private String designDutyName;
private String designDutyIdName;
/**prehomo确认-发起人名称*/
@@ -288,7 +288,7 @@ public class ProjectVersionInfoEO implements Serializable {
/**验证符合性确认-责任人名称*/
@TableField(exist = false)
private String verifyDutyName;
private String verifyDutyIdName;
@@ -329,4 +329,32 @@ public class ProjectVersionInfoEO implements Serializable {
private String verifyDeliverableTemplateName;
/**设计符合性确认-流程状态*/
@ApiModelProperty(value = "设计符合性确认-流程状态")
private String designFlowStatus;
@TableField(exist = false)
@Excel(name = "流程状态", width = 20,groupName = "设计符合性确认")
private String designFlowStatusName;
/**验证符合性确认-流程状态*/
@ApiModelProperty(value = "验证符合性确认-流程状态")
private String verifyFlowStatus;
@TableField(exist = false)
@Excel(name = "流程状态", width = 20,groupName = "验证符合性确认")
private String verifyFlowStatusName;
/**验证符合性确认-流程实例id*/
@TableField(exist = false)
private String verifyPId;
/**设计符合性确认-流程实例id*/
@TableField(exist = false)
private String designPId;
@ApiModelProperty(value = "法规清单数据id")
private String projectLawsInventoryId;
/**适用增补件*/
@ApiModelProperty(value = "适用增补件")
private java.lang.String applicableSupplement;
}
@@ -19,7 +19,9 @@ public interface ProjectRelatedPersonnelMapper extends BaseMapper<ProjectRelated
@Param("dutyTerritory") String dutyTerritory,
@Param("lawEngineer") String lawEngineer,
@Param("engineeringInterfacePerson") String engineeringInterfacePerson,
@Param("certificationEngineer") String certificationEngineer);
// @Param("certificationEngineer") String certificationEngineer
@Param("engineerLawSet") String engineerLawSet,
@Param("engineerAttSet") String engineerAttSet);
List<ProjectRelatedPersonnel> queryById(@Param("id")String id);
}
@@ -22,6 +22,8 @@
prp.law_engineer,
prp.engineering_interface_person,
prp.certification_engineer,
prp.engineer_law_set,
prp.engineer_att_set,
prp.remark,
prp.create_by,
prp.create_time,
@@ -51,8 +53,14 @@
<if test="engineeringInterfacePerson != null and engineeringInterfacePerson != ''">
AND prp.engineering_interface_person like concat(concat('%',#{engineeringInterfacePerson}),'%')
</if>
<if test="certificationEngineer != null and certificationEngineer != ''">
AND prp.certification_engineer like concat(concat('%',#{certificationEngineer}),'%')
<!-- <if test="certificationEngineer != null and certificationEngineer != ''">-->
<!-- AND prp.certification_engineer like concat(concat('%',#{certificationEngineer}),'%')-->
<!-- </if>-->
<if test="engineerLawSet != null and engineerLawSet != ''">
AND prp.engineer_law_set like concat(concat('%',#{engineerLawSet}),'%')
</if>
<if test="engineerAttSet != null and engineerAttSet != ''">
AND prp.engineer_att_set like concat(concat('%',#{engineerAttSet}),'%')
</if>
AND sd.dict_code = #{dictCode}
</where>
@@ -67,7 +67,8 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
*/
List<ProjectRelatedPersonnel> queryList();
List<ProjectRelatedPersonnel> queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String certificationEngineer);
// List<ProjectRelatedPersonnel> queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String certificationEngineer);
List<ProjectRelatedPersonnel> queryPageList(String projectId,String dutyTerritory,String lawEngineer,String engineeringInterfacePerson,String engineerLawSet,String engineerAttSet);
Map<String,Object> queryPersonByProjectId(String projectId, String dutyTerritory);
@@ -1,5 +1,8 @@
package com.jero.modules.project.service.impl;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -20,6 +23,8 @@ import com.jero.common.util.oss.CosBootUtil;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
import com.jero.modules.authDummy.service.IAuthDummyInventoryBaseEOService;
import com.jero.modules.authDummy.service.IAuthDummyInventoryInfoEOService;
import com.jero.modules.cert.template.vo.ParamsInfoCnImport;
import com.jero.modules.cert.template.vo.ParamsInfoEnImport;
import com.jero.modules.document.controller.BussDocumentLibraryEOController;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
@@ -61,6 +66,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
import org.aspectj.util.FileUtil;
@@ -183,6 +189,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
public void editById(ProjectCertificationInventoryEO projectCertificationInventoryEO) {
List<String> flowStatusList = new ArrayList<>();
flowStatusList.add(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
QueryWrapper<ProjectCertificationInventoryEO> certificationQueryWrap = new QueryWrapper<>();
certificationQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getId,projectCertificationInventoryEO.getId());
@@ -205,6 +212,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> userIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(","));
List<SysUser> userInfoList = this.sysUserService.querySysUserListByIdList(userIdList);
editEndTimeCertificationInventoryEOS.get(0).setEndTime(projectCertificationInventoryEO.getEndTime());
this.sendMessageByTemplateId(
editEndTimeCertificationInventoryEOS,
TemplateInfoEnum2.CERTIFICATION_MESSAGE14.getValue(),
@@ -255,6 +264,46 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
Date now = new Date();
projectCertificationInventoryEO.setUpdateTime(now);
saveOrUpdate(projectCertificationInventoryEO);
// //获取责任人的所有用户
// List<SysUser> listUserName = new ArrayList<>();
// listUserName = sysUserMapper.getListUserName();
// listUserName = listUserName.stream().distinct().collect(Collectors.toList());
//获取当前的责任人
String dutyPerson = projectCertificationInventoryEO.getDutyPerson();
//获取当前的责任领域
List<String> dutyTerritoryList = new ArrayList<>();
dutyTerritoryList = Arrays.asList(projectCertificationInventoryEO.getDutyTerritory().split(","));
dutyTerritoryList = dutyTerritoryList.stream().distinct().collect(Collectors.toList());
//获取当前的projectId
String projectId = projectCertificationInventoryEO.getProjectLibraryId();
//根据责任领域个projectId去查相关人员名单
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectId, dutyTerritoryList);
//根据相关人员名单获取的工程接口人
List<String> enginnerList = new ArrayList<>();
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
enginnerList.add(relatedPersonnel.getEngineeringInterfacePerson());
}
for(ProjectRelatedPersonnel relatedPersonnel : projectRelatedPersonnelList){
//如果工程接口人不为空的话
if(enginnerList.size()>0){
//判断哪个不存在 再去去存入
if(!enginnerList.contains(dutyPerson)){
relatedPersonnel.setEngineerAttSet(dutyPerson);
// projectRelatedPersonnelService.editById(relatedPersonnel);
}
}else {
//工程接口人为空的话,直接将责任设置到认证工程师下
relatedPersonnel.setEngineerAttSet(dutyPerson);
// projectRelatedPersonnelService.editById(relatedPersonnel);
}
}
this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList);
//设置权限 先删后加
List<ProjectUserPermission> adds = new ArrayList<>();
if (ObjectUtils.isNotEmpty(projectCertificationInventoryEO.getSdt())) {
@@ -1025,7 +1074,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
// 法规
//相关人员名单中取法规工程师
List<ProjectRelatedPersonnel> projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null);
List<ProjectRelatedPersonnel> projectRelatedPersonnels = this.projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null,null);
List<String> lawEngineerNameList = new ArrayList<>();
if(projectRelatedPersonnels.size() != 0){
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) {
@@ -1308,6 +1357,17 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> dutyPersonIdList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getDutyPerson).distinct().collect(Collectors.toList());
List<SysUser> dutyPersonList = this.sysUserService.querySysUserListByIdList(dutyPersonIdList);
try {
// 给责任人分配待办中心的任务
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
processInfoDetailEO.setUserId(projectCertificationInventoryEO.getDutyPerson());
processInfoDetailEO.setEndTime(projectCertificationInventoryEO.getEndTime());
processInfoDetailEO.setProjectLawsInventoryId(projectCertificationInventoryEO.getId());
processInfoDetailEOList.add(processInfoDetailEO);
}
this.addProcessInfoDetailEO(processInfoDetailEOList,projectLibraryBase.getId(),CertificationFlowNodeEnum.ZRRTJRW.getKey());
// 更新数据状态为 审查退回
this.updateBatchById(projectCertificationInventoryEOList);
@@ -1491,7 +1551,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
detailUpdateWrap.eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
detailUpdateWrap.eq(ProcessInfoDetailEO::getUserId,currentUser.getId());
detailUpdateWrap.eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.ZRRTJRW.getKey());
detailUpdateWrap.eq(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
detailUpdateWrap.in(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
this.processInfoDetailEOService.update(detailUpdateWrap);
@@ -1577,7 +1637,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
detailUpdateWrap.eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
detailUpdateWrap.eq(ProcessInfoDetailEO::getUserId,currentUser.getId());
detailUpdateWrap.eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.ZRRJSRW.getKey());
detailUpdateWrap.eq(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
detailUpdateWrap.in(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
this.processInfoDetailEOService.update(detailUpdateWrap);
@@ -1683,11 +1743,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
String itemName = (String) standNameAndItemName.get("itemName");
try {
List<String> certificationIdList = projectCertificationInventoryEOList.stream().map(ProjectCertificationInventoryEO::getId).distinct().collect(Collectors.toList());
// 将当前责任人的待办任务转为已办
LambdaUpdateWrapper<ProcessInfoDetailEO> detailUpdateWrap = new LambdaUpdateWrapper<>();
detailUpdateWrap.eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
detailUpdateWrap.eq(ProcessInfoDetailEO::getUserId,currentUser.getId());
detailUpdateWrap.eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.ZRRJSRW.getKey());
detailUpdateWrap.in(ProcessInfoDetailEO::getProjectLawsInventoryId,certificationIdList);
detailUpdateWrap.set(ProcessInfoDetailEO::getStatus,TaskStatusEnum.HAVE_DONE.getValue());
this.processInfoDetailEOService.update(detailUpdateWrap);
@@ -2741,13 +2803,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
public void importData(MultipartFile file, ProjectCertificationInventoryEO projectCertificationInventoryEO) {
String title = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
title = title = "*类别,*检验项目,*配置项,*WVTA ID," +
title = "*类别,*检验项目,*配置项,*WVTA ID," +
"*标准编号,*责任领域,*工程接口人,*责任人," +
"*交付物类型,交付物模板,*截止日期,报告编号,产品型号,生产企业名称";
"交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称";
}else {
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
"*Deliverable Type,Deliverable Template,*Due Date,Report No,Product Model,Name Of Manufacturer";
"Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer";
}
int pos = file.getOriginalFilename().lastIndexOf(".");
@@ -2887,49 +2949,6 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
}
}
}
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("sdtName")) ||
"".equals(rowList.get("dutyPersonName")) ||
"".equals(rowList.get("deliverableTypeName")) ||
"".equals(rowList.get("endTimeStr")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ;k<rowList.size();k++){
if("".equals(rowList.get("category")) ||
"".equals(rowList.get("inspectionItem")) ||
"".equals(rowList.get("configItem")) ||
"".equals(rowList.get("wvtaId")) ||
"".equals(rowList.get("serialNumber")) ||
"".equals(rowList.get("dutyTerritoryName")) ||
"".equals(rowList.get("sdtName")) ||
"".equals(rowList.get("dutyPersonName")) ||
"".equals(rowList.get("deliverableTypeNameEn")) ||
"".equals(rowList.get("endTimeStr")) ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
if (i > 1) {
dataList.add(rowList);
}
@@ -2971,6 +2990,50 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
throw new JeroBootException("The data fails to be read. Import data strictly according to the template file");
}
}
//必填项校验
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getSdtName() == null ||
datas.get(k).getDutyPersonName() == null ||
datas.get(k).getDeliverableTypeName() == null ||
datas.get(k).getEndTimeStr() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}else {
for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) ||
datas.get(k).getInspectionItem() == null ||
datas.get(k).getConfigItem() == null ||
datas.get(k).getWvtaId() == null ||
datas.get(k).getSerialNumber() == null ||
datas.get(k).getDutyTerritoryName() == null ||
datas.get(k).getSdtName() == null ||
datas.get(k).getDutyPersonName() == null ||
datas.get(k).getDeliverableTypeNameEn() == null ||
datas.get(k).getEndTimeStr() == null ){
//删除原上传文件
FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
throw new JeroBootException("请填写必填字段内容,带*的为必填");
}else{
throw new JeroBootException("Please fill in the required fields marked with *");
}
}
}
}
}
}
workbook.close();
@@ -3026,6 +3089,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
String value = "";
boolean flag = true;
// List<SysUser> listUserName = new ArrayList<>();
// listUserName = sysUserMapper.getListUserName();
// listUserName = listUserName.stream().distinct().collect(Collectors.toList());
List<String> userNameList = datas.stream().map(ProjectCertificationInventoryEO::getDutyPersonName).distinct().collect(Collectors.toList());
List<SysUser> listUserName = this.sysUserService.querySysUserByUserNameList(userNameList);
//编号验证
verifySerialNumber(datas,projectCertificationInventoryEOTemp);
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
@@ -3079,159 +3149,69 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//编号必填
// flag = must(projectCertificationInventoryEO, errorMsg, msgList, serialNumber, "编号", "Standard No");
//报告编号
if(StringUtils.isNotBlank(reportNumber)){
if(reportNumber.length() > 200){
//类别
if(StringUtils.isNotBlank(category)){
if(category.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "报告编号不能超过200个字符, ";
message = errorMsg + "类别不能超过300个字符";
}else{
message = errorMsg + " The Report No cannot contain more than 200 characters, ";
message = errorMsg + " The Category cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//产品型号
if(StringUtils.isNotBlank(productModel)){
if(productModel.length() > 200){
//检验项目
if(StringUtils.isNotBlank(inspectionItem)){
if(inspectionItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "产品型号不能超过200个字符, ";
message = errorMsg + "检验项目不能超过300个字符";
}else{
message = errorMsg + " The Product Model cannot contain more than 200 characters, ";
message = errorMsg + " The InspectionItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//生产企业名称
if(StringUtils.isNotBlank(productionEnterpriseName)){
if(productionEnterpriseName.length() > 200){
//配置项
if(StringUtils.isNotBlank(configItem)){
if(configItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "生产企业名称不能超过200个字符, ";
message = errorMsg + "配置项不能超过300个字符";
}else{
message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters, ";
message = errorMsg + " The ConfigItem cannot contain more than 300 characters";
}
msgList.add(message);
}
}
//WVTA ID
if(StringUtils.isNotBlank(wvtaId)){
if(wvtaId.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "WVTA ID不能超过300个字符, ";
message = errorMsg + "WVTA ID不能超过300个字符";
}else{
message = errorMsg + " The WVTA ID cannot contain more than 300 characters, ";
message = errorMsg + " The WVTA ID cannot contain more than 300 characters";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "WVTA ID不能为空, ";
// }else{
// message = errorMsg + " The WVTA ID cannot null, ";
// }
// msgList.add(message);
// }
//类别
if(StringUtils.isNotBlank(category)){
if(category.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "类别不能超过300个字符, ";
}else{
message = errorMsg + " The Category cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "类别不能为空, ";
// }else{
// message = errorMsg + " The Category cannot null, ";
// }
// msgList.add(message);
// }
//检验项目
if(StringUtils.isNotBlank(inspectionItem)){
if(inspectionItem.length() > 100){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "检验项目不能超过300个字符, ";
}else{
message = errorMsg + " The InspectionItem cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "检验项目不能为空, ";
// }else{
// message = errorMsg + " The InspectionItem cannot null, ";
// }
// msgList.add(message);
// }
//配置项
if(StringUtils.isNotBlank(configItem)){
if(configItem.length() > 300){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "配置项不能超过100个字符, ";
}else{
message = errorMsg + " The ConfigItem cannot contain more than 300 characters, ";
}
msgList.add(message);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "配置项不能为空, ";
// }else{
// message = errorMsg + " The ConfigItem cannot null, ";
// }
// msgList.add(message);
// }
//责任领域
if(StringUtils.isNotBlank(dutyTerritory)){
value = pullMore(dictItemList, projectCertificationInventoryEO, errorMsg, dutyTerritory,msgList,"责任领域","Responsible Field","duty_territory");
if(StringUtils.isNotBlank(value)){
projectCertificationInventoryEO.setDutyTerritory(value);
}
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "责任领域不能为空, ";
// }else{
// message = errorMsg + " The Responsible Field cannot null, ";
// }
// msgList.add(message);
// }
//工程接口人(责任领域下的工程接口人)
Map<String, Object> objectMap = iProjectRelatedPersonnelService.queryPersonByProjectId(projectCertificationInventoryEOTemp.getProjectLibraryId(), value);
//工程接口人
List<Map<String, String>> mapPersonList = (List<Map<String, String>>) objectMap.get("engineeringInterfacePersonList");
//所有人
// List<Map<String, String>> allPersonList = (List<Map<String, String>>) objectMap.get("allPersonList");
List<SysUser> listUserName = new ArrayList<>();
listUserName = sysUserMapper.getListUserName();
listUserName = listUserName.stream().distinct().collect(Collectors.toList());
String nameCn = "";
@@ -3243,15 +3223,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//验证人员是否存在
personnelVerify(projectCertificationInventoryEO, errorMsg, msgList, sdt, mapPersonList,nameCn,nameEn, com.jero.modules.project.enums.ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue());
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "工程接口人不能为空, ";
// }else{
// message = errorMsg + " The Eng. Interface cannot null, ";
// }
// msgList.add(message);
// }
//责任人
if(StringUtils.isNotBlank(dutyPerson)){
nameCn = "责任人";
@@ -3259,15 +3231,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//验证人员是否存在
personDutyPerson(projectCertificationInventoryEO, errorMsg, msgList, dutyPerson, listUserName,nameCn,nameEn);
}
// else {
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "责任人不能为空, ";
// }else{
// message = errorMsg + " The Assignee cannot null, ";
// }
// msgList.add(message);
// }
//交付物模板
value = templateTransition(zipEntryName, projectCertificationInventoryEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
if(StringUtils.isNotBlank(value)){
projectCertificationInventoryEO.setDeliverableTemplate(value);
}
//交付物类型
if(StringUtils.isNotEmpty(deliverableType)){
value = tree(categoryList,treeNameList, projectCertificationInventoryEO, errorMsg, deliverableType,msgList,"交付物类型","Deliverable Type","deliverable_template");
@@ -3276,46 +3246,62 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
projectCertificationInventoryEO.setDeliverableType(treeId);
}
}
// else{
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "交付物类型不能为空, ";
// }else{
// message = errorMsg + " The Deliverable Type cannot null, ";
// }
// msgList.add(message);
// }
//交付物模板
value = templateTransition(zipEntryName, projectCertificationInventoryEO, errorMsg, deliverableTemplate,msgList,"交付物模板","Deliverable Template");
if(StringUtils.isNotBlank(value)){
projectCertificationInventoryEO.setDeliverableTemplate(value);
}
//截止时间
// SimpleDateFormat sd = new SimpleDateFormat();
// String endTimeStr = sd.format(endTime);
if(StringUtils.isNotBlank(endTime)){
flag = dateVerify(projectCertificationInventoryEO, errorMsg, endTime,msgList,"截止时间","Due Date");
if(flag){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sd.parse(endTime);
} catch (ParseException e) {
e.printStackTrace();
flag = dateVerify(projectCertificationInventoryEO, errorMsg, endTime,msgList,"截止日期","Due Date");
if(flag){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
if(!endTime.contains("-")){
endTime = DateUtils.coverDate(endTime);
}
projectCertificationInventoryEO.setEndTime(date);
date = sd.parse(endTime);
} catch (ParseException e) {
e.printStackTrace();
}
projectCertificationInventoryEO.setEndTime(date);
}
//报告编号
if(StringUtils.isNotBlank(reportNumber)){
if(reportNumber.length() > 200){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "报告编号不能超过200个字符";
}else{
message = errorMsg + " The Report No cannot contain more than 200 characters";
}
msgList.add(message);
}
}
//产品型号
if(StringUtils.isNotBlank(productModel)){
if(productModel.length() > 200){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "产品型号不能超过200个字符";
}else{
message = errorMsg + " The Product Model cannot contain more than 200 characters";
}
msgList.add(message);
}
}
//生产企业名称
if(StringUtils.isNotBlank(productionEnterpriseName)){
if(productionEnterpriseName.length() > 200){
String message = "";
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
message = errorMsg + "生产企业名称不能超过200个字符";
}else{
message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters";
}
msgList.add(message);
}
}
// else{
// String message = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
// message = errorMsg + "截止时间不能为空, ";
// }else{
// message = errorMsg + " The Due Date Type cannot null, ";
// }
// msgList.add(message);
// }
}
return msgList;
@@ -3351,29 +3337,37 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
if (!DateUtils.isValidDate(field)) {
flag = false;
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
errorMsg += nameCn + "格式不正确, 正确格式如:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
}else{
errorMsg += nameEn + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日, ";
errorMsg += nameEn + " Incorrect format correct format is:yyyy/m/d、yyyy-MM-dd、yyyy年MM月dd日";
}
msgList.add(errorMsg);
}
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
long longnow = now.getTime();
try {
Date date = sdf.parse(field);
long longdate = date.getTime();
if(longnow>longdate){
flag = false;
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "不能导入今天之前的日期, ";
}else{
errorMsg += nameEn + " Cannot import dates before today, ";
}else{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date now = new Date();
String nowStr = sdf.format(now);
// String fieldStr = sdf.format(field);
Date now1 = null;
Date field1 = null;
try {
if(!field.contains("-")){
field = DateUtils.coverDate(field);
}
msgList.add(errorMsg);
now1 = sdf.parse(nowStr);
field1 = sdf.parse(field);
long day = now1.getTime()-field1.getTime();
if(day>0){
flag = false;
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "不能导入今天之前的日期";
}else{
errorMsg += nameEn + " Cannot import dates before today";
}
msgList.add(errorMsg);
}
} catch (ParseException e) {
e.printStackTrace();
}
} catch (ParseException e) {
e.printStackTrace();
}
}
return flag;
@@ -3458,9 +3452,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
if(StringUtils.isNotBlank(sb)){
String substring = sb.substring(0, sb.length() - 1);
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) {
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + substring + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + substring + " does not match the data dictionary, ";
errorMsg += nameEn + " " + substring + " does not match the data dictionary";
}
msgList.add(errorMsg);
}else{
@@ -3526,9 +3520,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//单选
if(regulationOwnerId.contains(",")){
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn + "导入只能填写一个用户名, ";
errorMsg += nameCn + "导入只能填写一个用户名";
}else{
errorMsg += "Only one user name can be entered for"+ nameEn +"import, ";
errorMsg += "Only one user name can be entered for"+ nameEn +"import";
}
msgList.add(errorMsg);
}
@@ -3547,17 +3541,17 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
}
if(count == 0){
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配, ";
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配";
}else{
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list, ";
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list";
}
msgList.add(errorMsg);
}
}else{
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配, ";
errorMsg += nameCn+regulationOwnerId+"与相关人员名单中责任领域下的人员不匹配";
}else{
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list, ";
errorMsg += nameEn+regulationOwnerId+"does not match a person under the Responsible Field in the relevant person list";
}
msgList.add(errorMsg);
}
@@ -3584,9 +3578,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> finalValueList = valueList;
List<String> diffList = list.stream().filter(e -> !finalValueList.contains(e)).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())) {
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配, ";
errorMsg += nameCn + "中的" + StringUtils.join(diffList,",") + "与数据字典不匹配";
} else {
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary, ";
errorMsg += nameEn + " " + StringUtils.join(diffList,",") + " does not match the data dictionary";
}
msgList.add(errorMsg);
}
@@ -3635,13 +3629,14 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the project laws and cannot be added");
}
}
}else{
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
.filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList());
projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId());
}
}
// else{
// for (ProjectCertificationInventoryEO projectCertificationInventoryEO : datas) {
// List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
// .filter(e -> e.getSerialNumber().equals(projectCertificationInventoryEO.getSerialNumber())).collect(Collectors.toList());
// projectCertificationInventoryEO.setBussDocumentLibraryId(collect.get(0).getId());
// }
// }
}
}
@@ -3690,29 +3685,40 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//文件
exportFile(dataList,fileInfos);
for(int i =0 ;i<dataList.size();i++){
if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.FILE.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = ossFileService.getFileInfos(dataList.get(i).getDeliveryResult()).stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.TEXT.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = dataList.get(i).getDeliveryResult();
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.NA.getValue())){
fileName = "";
dataList.get(i).setDeliveryResult(fileName);
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.SELECT.getValue())) {
if (StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())) {
fileName = dataList.get(i).getDeliveryResult();
for(int i =0 ;i<dataList.size();i++){
if(dataList.get(i).getValueType()!=null){
if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.FILE.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = ossFileService.getFileInfos(dataList.get(i).getDeliveryResult()).stream().map(OSSFile::getFileName).distinct().collect(Collectors.joining(","));
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.TEXT.getValue())){
if(StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())){
fileName = dataList.get(i).getDeliveryResult();
dataList.get(i).setDeliveryResult(fileName);
}
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.NA.getValue())){
fileName = "";
dataList.get(i).setDeliveryResult(fileName);
}else if(dataList.get(i).getValueType().equals(SysCategoryValueTypeEnum.SELECT.getValue())) {
if (StringUtils.isNotEmpty(dataList.get(i).getDeliveryResult())) {
fileName = dataList.get(i).getDeliveryResult();
if(fileName.equals("1")){
fileName = "";
}else if(fileName.equals("2")){
fileName = "";
}
dataList.get(i).setDeliveryResult(fileName);
}
}
}
}
String excelName = projectCertificationInventoryEO.getExcelName()+".xlsx";
// String excelName = "";
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
@@ -3969,11 +3975,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
title = "*类别,*检验项目,*配置项,*WVTA ID," +
"*标准编号,*责任领域,*工程接口人,*责任人," +
"*交付物类型,交付物模板,*截止日期,报告编号,产品型号,生产企业名称";
"交付物模板,*交付物类型,*截止日期,报告编号,产品型号,生产企业名称";
}else {
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
"*Deliverable Type,Deliverable Template,*Due Date,Report No,Product Model,Name Of Manufacturer";
"Deliverable Template,*Deliverable Type,*Due Date,Report No,Product Model,Name Of Manufacturer";
}
List<String> list = Arrays.asList(title.split(","));
@@ -3992,7 +3998,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
nowFile.mkdirs();
HSSFSheet sheet = workbook.createSheet("认证清单导入模板");
sheet.setDefaultColumnWidth(16);//列宽
// HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat((short) 49);
sheet.setDefaultColumnStyle(10,cellStyle);
// cellStyle.setWrapText(true);//自动换行
// cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
// cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//水平居中
@@ -56,6 +56,7 @@ public class ProjectHistoryVersionsEOServiceImpl extends ServiceImpl<ProjectHist
BeanUtils.copyProperties(projectLawsInventoryEO, projectVersionInfoEO);
projectVersionInfoEO.setId(UUID.randomUUID().toString().replace("-", ""));
projectVersionInfoEO.setHistoryVersionsId(projectHistoryVersionsEO.getId());
projectVersionInfoEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
projectVersionInfoEOS.add(projectVersionInfoEO);
}
}
@@ -531,55 +531,52 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
allList = allList.stream().distinct().collect(Collectors.toList());
// List<String> engineeringInterfacePersonList = new ArrayList<>();
// engineeringInterfacePersonList = Arrays.asList(projectLawsInventoryEO.getEngineeringInterfacePerson().split(","));
// engineeringInterfacePersonList = engineeringInterfacePersonList.stream().distinct().collect(Collectors.toList());
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritoy(projectLibrartId, dutyTerritoryList);
//enginnerList为每一条的工程接口人的集合
List<String> enginnerList = new ArrayList<>();
for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){
enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson());
}
if(projectRelatedPersonnelList.size()>0){
for(ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList){
if(StringUtils.isEmpty(projectRelatedPersonnel.getEngineeringInterfacePerson())){
if(enginnerList.size()<0){
//直接将allList存入到
String all = String.join(",",allList);
projectRelatedPersonnel.setEngineerLawSet(all);
projectRelatedPersonnelService.editById(projectRelatedPersonnel);
// projectRelatedPersonnelService.editById(projectRelatedPersonnel);
}else {
enginnerList.add(projectRelatedPersonnel.getEngineeringInterfacePerson());
enginnerList = enginnerList.stream().distinct().collect(Collectors.toList());
//比较allList中有而enginnerList中没有的工程接口人
boolean flag = false;
List<String> resultList = new ArrayList<>();
if(allList.size()>0){
flag = CollectionUtils.isEqualCollection(allList,enginnerList);
if(!flag){
//进行遍历两个list将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里
for(String all : allList){
boolean flag1 = true;
for(String enginner : enginnerList){
if(all.equals(enginner)){
flag1 = false;
break;
}
}
if(flag1){
resultList.add(all);
}
}
}
}
allList.removeAll(enginnerList);
// if(allList.size()>0){
// flag = CollectionUtils.isEqualCollection(allList,enginnerList);
// if(!flag){
// //进行遍历两个list将allList中有的而enginnerList没有的存入到相关人员名单中的法规那里
//
// for(String all : allList){
// boolean flag1 = true;
// for(String enginner : enginnerList){
// if(all.equals(enginner)){
// flag1 = false;
// break;
// }
// }
// if(flag1){
// resultList.add(all);
// }
// }
// }
// }
//将相关人员名单中没有的resultList添加到相关人员记录表中
String result = String.join(",",resultList);
String result = String.join(",",allList);
projectRelatedPersonnel.setEngineerLawSet(result);
projectRelatedPersonnelService.editById(projectRelatedPersonnel);
// projectRelatedPersonnelService.editById(projectRelatedPersonnel);
}
}
}
this.projectRelatedPersonnelService.updateBatchById(projectRelatedPersonnelList);
//翻译-中文
@@ -9649,62 +9646,61 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
lawsInventoryEOQueryWrapper.lambda().in(ProjectLawsInventoryEO::getId,projectLawsInventoryIdList);
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.baseMapper.selectList(lawsInventoryEOQueryWrapper);
// 只有studio催办的时候才会给法规工程师发消息
if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_STUDIO_EXPEDITING.getValue())){
// 如果设计符合性或验证符合性流程状态其中一个为 清单待校核催办时就需要给这一条数据的法规工程师发消息
List<ProjectLawsInventoryEO> toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
boolean flag =false;
if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())
|| StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){
Map<String, List<ProjectLawsInventoryEO>> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId));
for (Map.Entry<String, List<ProjectLawsInventoryEO>> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) {
String regulationOwnerId = regulationOwnerMap.getKey();
List<ProjectLawsInventoryEO> lawsInventoryEOList = regulationOwnerMap.getValue();
if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){
continue;
}
this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList);
Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate();
String endTime = "";
if(inventoryAffirmDueDate != null){
endTime = DateUtils.formatDate(inventoryAffirmDueDate);
}
String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(","));
List<String> userIdList = Arrays.asList(regulationOwnerId.split(","));
// 给法规工程师发消息
Map<String,Object> params = new HashMap<>();
params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!");
params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!");
params.put("projectLibraryId",projectLibraryId);
params.put("endTime",endTime);
params.put("userIdList",userIdList);
params.put("serialNumbers",serialNumbers);
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId);
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// 获取法规清单 - 飞书跳转链接
Map<String, Object> hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN);
params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN"));
params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN"));
params.put("Initiator",projectLibraryBase.getStudioEngineerName());
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params);
}
}
}
// 催办类型 可以只催设计符合性 也可以只催验证符合性
String expeditingType = json.getString("expeditingType");
if(StringUtils.contains(expeditingType,OperatorTypeEnum.LAWS_INVENTORY_DESIGN_EXPEDITING.getValue())){
// 只有studio催办的时候才会给法规工程师发消息
if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_STUDIO_EXPEDITING.getValue())){
// 如果设计符合性流程状态为 清单待校核催办时就需要给这一条数据的法规工程师发消息
List<ProjectLawsInventoryEO> toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
boolean flag =false;
if (StringUtils.equals(lawsInventory.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){
Map<String, List<ProjectLawsInventoryEO>> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId));
for (Map.Entry<String, List<ProjectLawsInventoryEO>> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) {
String regulationOwnerId = regulationOwnerMap.getKey();
List<ProjectLawsInventoryEO> lawsInventoryEOList = regulationOwnerMap.getValue();
if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){
continue;
}
this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList);
Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate();
String endTime = "";
if(inventoryAffirmDueDate != null){
endTime = DateUtils.formatDate(inventoryAffirmDueDate);
}
String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(","));
List<String> userIdList = Arrays.asList(regulationOwnerId.split(","));
// 给法规工程师发消息
Map<String,Object> params = new HashMap<>();
params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!");
params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!");
params.put("projectLibraryId",projectLibraryId);
params.put("endTime",endTime);
params.put("userIdList",userIdList);
params.put("serialNumbers",serialNumbers);
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId);
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// 获取法规清单 - 飞书跳转链接
Map<String, Object> hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN);
params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN"));
params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN"));
params.put("Initiator",projectLibraryBase.getStudioEngineerName());
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params);
}
}
}
// 催办设计符合性流程状态为 清单待确认的 责任人
List<ProjectLawsInventoryEO> toBeConfirmedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
boolean flag =false;
@@ -9809,6 +9805,58 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
}
if(StringUtils.contains(expeditingType,OperatorTypeEnum.LAWS_INVENTORY_VERIFY_EXPEDITING.getValue())){
// 只有studio催办的时候才会给法规工程师发消息
if(StringUtils.equals(operateType,OperatorTypeEnum.LAWS_INVENTORY_STUDIO_EXPEDITING.getValue())){
// 如果设计符合性流程状态为 清单待校核催办时就需要给这一条数据的法规工程师发消息
List<ProjectLawsInventoryEO> toBeCheckedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
boolean flag =false;
if (StringUtils.equals(lawsInventory.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(toBeCheckedLawsInventoryList)){
Map<String, List<ProjectLawsInventoryEO>> regulationOwnerGroupMap = toBeCheckedLawsInventoryList.stream().collect(Collectors.groupingBy(ProjectLawsInventoryEO::getRegulationOwnerId));
for (Map.Entry<String, List<ProjectLawsInventoryEO>> regulationOwnerMap : regulationOwnerGroupMap.entrySet()) {
String regulationOwnerId = regulationOwnerMap.getKey();
List<ProjectLawsInventoryEO> lawsInventoryEOList = regulationOwnerMap.getValue();
if(StringUtils.isEmpty(regulationOwnerId) || CollectionUtils.isEmpty(lawsInventoryEOList)){
continue;
}
this.lawsInventoryEOListSortByInventoryAffirmDueDate(lawsInventoryEOList);
Date inventoryAffirmDueDate = lawsInventoryEOList.get(0).getInventoryAffirmDueDate();
String endTime = "";
if(inventoryAffirmDueDate != null){
endTime = DateUtils.formatDate(inventoryAffirmDueDate);
}
String serialNumbers = lawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).distinct().collect(Collectors.joining(","));
List<String> userIdList = Arrays.asList(regulationOwnerId.split(","));
// 给法规工程师发消息
Map<String,Object> params = new HashMap<>();
params.put("contentCn","您好,请及时校核法规清单内容并发起符合性流程,谢谢!");
params.put("contentEn","Please check the content of the regulation list and initiate the compliance process in a timely manner. Thank you!");
params.put("projectLibraryId",projectLibraryId);
params.put("endTime",endTime);
params.put("userIdList",userIdList);
params.put("serialNumbers",serialNumbers);
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId);
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// 获取法规清单 - 飞书跳转链接
Map<String, Object> hrefFeishuMap = this.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN);
params.put("hrefFeishu_CN",(String)hrefFeishuMap.get("hrefFeishu_CN"));
params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN"));
params.put("Initiator",projectLibraryBase.getStudioEngineerName());
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE1.getValue(),params);
}
}
}
// 催办验证符合性流程状态为 清单待确认的 责任人
List<ProjectLawsInventoryEO> toBeConfirmedLawsInventoryList = projectLawsInventoryEOList.stream().filter(lawsInventory -> {
boolean flag =false;
@@ -10148,7 +10196,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
}
//相关人员名单中取法规工程师
List<ProjectRelatedPersonnel> projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null);
List<ProjectRelatedPersonnel> projectRelatedPersonnels = projectRelatedPersonnelService.queryPageList(projectLibraryId,null,null,null,null,null);
List<String> lawEngineerNameList = new ArrayList<>();
if(projectRelatedPersonnels.size() != 0){
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnels) {
@@ -252,7 +252,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
null,
null,
null,
null);
null,null);
if(projectRelatedPersonnelList.size() != 0){
List<ProjectUserPermission> relatedPersonnelPermissionList = new ArrayList<>();
for (ProjectRelatedPersonnel projectRelatedPersonnel : projectRelatedPersonnelList) {
@@ -518,7 +518,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//编辑时如果认证工程师发生变化,同步修改相关人员名单中的认证工程师
List<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectLibraryBase.getId(),
DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null);
DictCodeEnum.DUTY_TERRITORY.getValue(), null, null, null, null,null);
//项目的认证工程师
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
//一个都不选的情况下
@@ -287,14 +287,17 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
String dutyTerritoryTemp,
String lawEngineer,
String engineeringInterfacePerson,
String certificationEngineer) {
String engineerLawSet,String engineerAttSet){
// String certificationEngineer) {
//查询数据
List<ProjectRelatedPersonnel> result = projectRelatedPersonnelMapper.queryPageList(projectId,
DictCodeEnum.DUTY_TERRITORY.getValue(),
dutyTerritoryTemp,
lawEngineer,
engineeringInterfacePerson,
certificationEngineer);
// certificationEngineer
engineerLawSet,
engineerAttSet);
//查询数据里的责任领域
List<String> dutyTerritory = result.stream().map(e -> e.getDutyTerritory()).collect(Collectors.toList());
//查标签内容里的责任领域数据
@@ -303,7 +306,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if(StringUtils.isBlank(dutyTerritoryTemp)
&& StringUtils.isBlank(lawEngineer)
&& StringUtils.isBlank(engineeringInterfacePerson)
&& StringUtils.isBlank(certificationEngineer)){
// && StringUtils.isBlank(certificationEngineer)
&& StringUtils.isBlank(engineerLawSet)
&& StringUtils.isBlank(engineerLawSet)){
if(result.size() != sysDictItemValueList.size()){
//更新相关人员表里的责任领域数据
@@ -320,7 +325,8 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
dutyTerritoryTemp,
lawEngineer,
engineeringInterfacePerson,
certificationEngineer);
engineerLawSet,
engineerAttSet);
}
}
disposeData(result);
@@ -405,7 +411,54 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setCertificationEngineerName(certificationName.substring(0,certificationName.toString().length()-1));
}
}
//法规工程师设置
List<SysUser> engineerLawSetUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerLawSet())){
List<String> engineerLawSetIdList = Arrays.asList(projectRelatedPersonnel.getEngineerLawSet().split(","));
if (CollectionUtils.isNotEmpty(engineerLawSetIdList)) {
engineerLawSetIdList=engineerLawSetIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineerLawSetIdList);
engineerLawSetUsers = sysUserMapper.selectList(userqueryWrapper);
}
if(CollectionUtils.isNotEmpty(engineerLawSetUsers)) {
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
String engineerLawSetName = null;
StringBuilder lawSetName = new StringBuilder();
for (String data : engineerLawSetIdList) {
if (StringUtils.isNotEmpty(engineerAttSetId)) {
engineerLawSetName = engineerLawSetUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
lawSetName.append(engineerLawSetName).append(",");
}
projectRelatedPersonnel.setEngineerLawSetName(lawSetName.substring(0,lawSetName.toString().length()-1));
}
}
//认证工程师设置
List<SysUser> engineerAttSetUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineerAttSet())){
List<String> engineerAttSetIdList = Arrays.asList(projectRelatedPersonnel.getEngineerAttSet().split(","));
if (CollectionUtils.isNotEmpty(engineerAttSetIdList)) {
engineerAttSetIdList=engineerAttSetIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", engineerAttSetIdList);
engineerAttSetUsers = sysUserMapper.selectList(userqueryWrapper);
}
if(CollectionUtils.isNotEmpty(engineerAttSetUsers)) {
String engineerAttSetId = projectRelatedPersonnel.getEngineerAttSet();
String engineerAttSetName = null;
StringBuilder AttSetName = new StringBuilder();
for (String data : engineerAttSetIdList) {
if (StringUtils.isNotEmpty(engineerAttSetId)) {
engineerAttSetName = engineerAttSetUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
AttSetName.append(engineerAttSetName).append(",");
}
projectRelatedPersonnel.setEngineerAttSetName(AttSetName.substring(0,AttSetName.toString().length()-1));
}
}
}
}
@@ -564,7 +617,6 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
QueryWrapper<ProjectRelatedPersonnel> wrapper = new QueryWrapper<>();
wrapper.eq("project_id",projectId).in("duty_territory",dutyTerritoryList);
List<ProjectRelatedPersonnel> projectRelatedPersonnels = baseMapper.selectList(wrapper);
return projectRelatedPersonnels;
@@ -589,7 +641,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
records = queryById(id);
}
}else{
records=queryPageList(projectId,null,null,null,null);
records=queryPageList(projectId,null,null,null,null,null);
}
//id无值,传全部
disposeDutyTerritory(records,cut);
@@ -744,10 +796,10 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
try {
String titleOne = "";
if (CutEnum.CN.getValue().equals(projectRelatedPersonnel.getCut())) {
titleOne = "责任领域,法规工程师,工程接口人,认证工程师,备注";
titleOne = "责任领域,法规工程师,工程接口人,工程接口人-法规工程师设置,工程接口人-认证工程师设置,备注";
fileOriName = "相关人员导入模板.xls";
} else {
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Homologation Engineer,Comments";
titleOne = "Responsible Field,Regulation Engineer,Engineering Interface,Project Interface Person - Regulation Engineer Setting,Project Interface Person - Certification Engineer Setting,Comments";
fileOriName = "Import template of related personnel.xls";
}
@@ -764,7 +816,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
sheetName = "Personal List";
}
HSSFSheet sheet = workbook.createSheet(sheetName);
sheet.setDefaultColumnWidth(16);//列宽
sheet.setDefaultColumnWidth(20);//列宽
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setWrapText(true);//自动换行
cellStyle.setAlignment(HorizontalAlignment.CENTER);//垂直居中
@@ -774,7 +826,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
cellStyleTemp.setWrapText(true);//自动换行
int startLine = 0;
int endLine = 4;
int endLine = 5;
//合并单元格
CellRangeAddress region1 =
new CellRangeAddress(1, 1, startLine, endLine); //参数1起始行 参数2终止行 参数3起始列 参数4终止列
@@ -788,14 +840,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
+ "1.导入数据从第三行开始,第一行为表头,第二行为填写说明,第三行是正式数据;\n"
+ "2.填写人员时,必须使用人员账号进行填写;\n"
+ "3.填写的人员账号必须与系统中账号保持一致;\n"
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人、认证工程师个字段信息。";
+ "4.填写任意一责任领域内工程师人员时,必须填写法规工程师、工程接口人、工程接口人-法规工程师设置、工程接口人-认证工程师设置四个字段信息。";
} else {
explainInfo =
"filling explanation\n"
+ "1. Import data from the third line, the first line is header, the second line is description, and the third line is official data;\n"
+ "2. When filling in personnel, personnel account must be used to fill in;\n"
+ "3. The personnel account number filled in must be consistent with the account number in the system;\n"
+ "4. When filling in the engineers in any responsibility field, you must fill in the information of three fields: legal engineer, engineering interface person and certified engineer.";
+ "4. When filling in the engineers in any responsibility field, you must fill in the information of three fields: legal engineer, engineering interface person ,Project Interface Person - Regulation Engineer Setting and Project Interface Person - Certification Engineer Setting.";
}
HSSFRichTextString explain = new HSSFRichTextString(explainInfo);
@@ -7,6 +7,7 @@ import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProjectVersionInfoEO;
import com.jero.modules.project.enums.ComplianceFlowStatusEnum;
import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
import com.jero.modules.project.mapper.ProjectVersionInfoEOMapper;
import com.jero.modules.project.service.IProjectVersionInfoEOService;
@@ -14,6 +15,9 @@ import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +43,9 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
private SysCategoryServiceImpl sysCategoryService;
@Autowired
private SysUserMapper sysUserMapper;
@Autowired
private IProcessInfoDetailEOService processInfoDetailEOService;
/**
* 保存
*
@@ -208,6 +215,37 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
deliverableList.addAll(Arrays.asList(projectVersionInfoEO.getVerifyDeliverableTemplate().split(",")));
}
// 处理符合性流程状态
if(StringUtils.isNotEmpty(projectVersionInfoEO.getDesignFlowStatus())){
String designFlowStatusName = ComplianceFlowStatusEnum.getTextByValue(projectVersionInfoEO.getDesignFlowStatus(), cut);
projectVersionInfoEO.setDesignFlowStatusName(designFlowStatusName);
}
if(StringUtils.isNotEmpty(projectVersionInfoEO.getVerifyFlowStatus())){
String verifyFlowStatusName = ComplianceFlowStatusEnum.getTextByValue(projectVersionInfoEO.getVerifyFlowStatus(), cut);
projectVersionInfoEO.setVerifyFlowStatusName(verifyFlowStatusName);
}
// 返回符合性流程的流程实例id
if(!StringUtils.equals(projectVersionInfoEO.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
||!StringUtils.equals(projectVersionInfoEO.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,projectVersionInfoEO.getProjectLawsInventoryId());
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType, FlowTypeEnum.YZFHXSCLC.getValue());
List<ProcessInfoDetailEO> processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){
projectVersionInfoEO.setVerifyPId(processInfoDetailEOS.get(0).getActiProcInstId());
}
}
if(!StringUtils.equals(projectVersionInfoEO.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
||!StringUtils.equals(projectVersionInfoEO.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,projectVersionInfoEO.getProjectLawsInventoryId());
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.SJFHXSHLC.getValue());
List<ProcessInfoDetailEO> processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){
projectVersionInfoEO.setDesignPId(processInfoDetailEOS.get(0).getActiProcInstId());
}
}
}
List<SysUser> sysUsers = new ArrayList<>();
@@ -259,7 +297,7 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
if(StringUtils.isNotEmpty(designDutyId)){
String designDutyName = sysUsers.stream().filter(e -> designDutyId.equals(e.getId())).
map(SysUser::getUsername).collect(Collectors.joining(","));
projectVersionInfoEO.setDesignDutyName(designDutyName);
projectVersionInfoEO.setDesignDutyIdName(designDutyName);
}
//prehomo确认
@@ -291,7 +329,7 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
if(StringUtils.isNotEmpty(verifyDutyId)){
String verifyDutyName = sysUsers.stream().filter(e -> verifyDutyId.equals(e.getId())).
map(SysUser::getUsername).collect(Collectors.joining(","));
projectVersionInfoEO.setVerifyDutyName(verifyDutyName);
projectVersionInfoEO.setVerifyDutyIdName(verifyDutyName);
}
}
@@ -64,6 +64,7 @@
pi.status,
pi.prc_num,
pi.prc_name,
pi.create_time,
plb.project_name_id,
plb.target_market,
plb.studio_engineer,
@@ -106,7 +107,7 @@
</where>
) temp
<include refid="BaseQuerySql"/>
order by temp.end_time desc
order by temp.create_time desc
</select>
<select id="queryProjectProcessTodoTaskListList" resultType="com.jero.modules.todoCenter.vo.ProcessInfoVO">
select temp.* from (
@@ -30,6 +30,7 @@ public class BusMes {
private String flag;
private String approvalOpinion; // 反馈意见 待办流程-批量办理专用
private String approvalFile; // 反馈意见 待办流程-批量办理专用
private String dreUserId; // 待办流程-批量办理专用
private String dreUserIdName; // 待办流程-批量办理专用
private String handlingTime; // 待办流程-批量办理专用
@@ -202,4 +203,12 @@ public class BusMes {
public void setCut(String cut) {
this.cut = cut;
}
public String getApprovalFile() {
return approvalFile;
}
public void setApprovalFile(String approvalFile) {
this.approvalFile = approvalFile;
}
}
+1
View File
@@ -1743,4 +1743,5 @@ module.exports = {
marketCertificationList:'Market Certification List',
uploadedfilelarger:'The uploaded file is larger than',
marketCertificationListDetails:'Market Certification List Details',
andTheProcessStatusTheList:'And the process status cannot be the data to be checked in the list',
}
+1
View File
@@ -1846,4 +1846,5 @@ module.exports = {
uploadedfilelarger:'文件大于50M',
marketCertificationList:'市场认证清单',
marketCertificationListDetails:'市场认证清单详情',
andTheProcessStatusTheList:'并且流程状态不能为清单待校核的数据',
}
@@ -12,7 +12,7 @@
v-html="serial_number"></span>
</template>
<span v-html="serial_number"></span>
<span> {{$t('StandardDetails')}}</span>
<!-- <span> {{$t('StandardDetails')}}</span>-->
</a-tooltip>
</div>
@@ -47,13 +47,14 @@
<div class="detail-content">
<div v-for="(item,index) in detailList" class="content-box">
<div v-for="val in Object.keys(item)" class="content">
<div class="header-text">
<div class="header-text fixedPosition">
{{val}}
</div>
<div class="content-text" v-if="val == $t('essentialInformation')">
<div class="text-field" :class="{'text-content-button-one':ol.field_show_type == 8 ? true :false}"
v-for="(ol,index1) in item[val]">
<span class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span v-if="ol.field_show_type == 10" class="text-field-left-Index" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span v-else class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span class="text-field-right text-field-right-color" v-if="ol.urlClick" @click="urlClick(ol)"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
@@ -64,85 +65,52 @@
</a-button>
<span v-else>--</span>
</span>
<span @click="relatedClick(ol)" class="text-field-right text-field-right-color"
v-else-if="ol.field_show_type == 10" :title="ol.value">
{{ol.value ? ol.value : '--'}}
<span class="text-field-right-Index"
v-else-if="ol.field_show_type == 10">
<span class="text-field-right-color-text"
:title="valItem.title"
@click="relatedClick(valItem)"
v-if="ol.list && ol.list.length > 0"
v-for="valItem in ol.list">
{{valItem.title}}
</span>
<span v-else>--</span>
</span>
<span class="text-field-right" v-else :title="ol.value">{{ol.value ? ol.value : '--'}}</span>
</div>
</div>
<div class="TextInformation" v-else-if="val == $t('textInformation')">
<table class="tableInformation">
<tr v-for="(ol,index1) in item[val]" class="trInformation">
<td class="tdInformation LeftTdInformation" :rowspan="ol.count"
v-if=" index1 == 0 || (index1 > 0 && ol.db_field_txt != item[val][index1 - 1].db_field_txt)">
{{ol.db_field_txt}}
</td>
<td class="tdInformation conteTdInformation" v-if="ol.field_show_type==='7'">
<span class="leftconteTdInformation" style="cursor: pointer"
:title="ol.value ? ol.value.fileName:''"
@click="pdfPreview(ol.value)">
{{ol.value ? ol.value.fileName : '--'}}
</span>
<span class="Standard-breakdown" v-if="ol.splitFlag == 1" @click="breakdown(ol)">{{$t('StandardBreakdown')}}</span>
<span class="rightTdInformation" v-if="ol.field_show_type==='7'" v-show="ol.value"
@click="download(ol.value)">
<a-icon type="vertical-align-bottom"/>
{{$t('download')}}
</span>
</td>
<td class="tdInformation TextInformationContentcontentButton" v-else-if="ol.field_show_type==='10'">
<span style="cursor: pointer" @click="relatedClick(ol)" v-if="ol.value"
:title="ol.value">{{ol.value}}</span>
<span style="cursor: pointer" v-else>--</span>
</td>
<td class="tdInformation TextInformationContentcontent" v-else>
<span v-if="ol.urlClick" @click="urlClick(ol)"
class="text-field-right-color"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span :title="ol.value" v-else>{{ol.value ? ol.value:'--'}}</span>
</td>
</tr>
</table>
</div>
<div class="TextInformation" v-else-if="val == $t('relatedInformation')">
<table class="tableInformation">
<tr v-for="(ol,index1) in item[val]" class="trInformation">
<td class="tdInformation LeftTdInformation" :rowspan="ol.count"
v-if=" index1 == 0 || (index1 > 0 && ol.db_field_txt != item[val][index1 - 1].db_field_txt)">
{{ol.db_field_txt}}
</td>
<td class="tdInformation conteTdInformation" v-if="ol.field_show_type==='7'">
<span class="leftconteTdInformation" style="cursor: pointer"
:title="ol.value ? ol.value.fileName:''"
@click="pdfPreview(ol.value)">
{{ol.value ? ol.value.fileName : '--'}}
</span>
<span class="Standard-breakdown" v-if="ol.splitFlag == 1" @click="breakdown(ol)">{{$t('StandardBreakdown')}}</span>
<span class="rightTdInformation" v-if="ol.field_show_type==='7'" v-show="ol.value"
@click="download(ol.value)">
<a-icon type="vertical-align-bottom"/>
{{$t('download')}}
</span>
</td>
<td class="tdInformation TextInformationContentcontentButton" v-else-if="ol.field_show_type==='10'">
<span style="cursor: pointer" @click="relatedClick(ol)" v-if="ol.value"
:title="ol.value">{{ol.value}}</span>
<span style="cursor: pointer" v-else>--</span>
</td>
<td class="tdInformation TextInformationContentcontent" v-else>
<span v-if="ol.urlClick" @click="urlClick(ol)"
class="text-field-right-color"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span :title="ol.value" v-else>{{ol.value ? ol.value:'--'}}</span>
</td>
</tr>
</table>
<div class="TextInformation-box" v-for="(ol,index1) in item[val]">
<div class="TextInformation-box-title fixedPosition">
{{ol.db_field_txt}}
</div>
<div class="TextInformation-box-box">
<div class="TextInformation-box-box-text"
v-if="ol.value && ol.value.length > 0"
v-for="valItem in ol.value">
<span @click="pdfPreview(valItem)"
:title="valItem.fileName"
class="leftconteTdInformation">{{valItem.fileName}}</span>
<a-icon class="leftconteTdInformation-icon"
@click="download(valItem)"
:title="$t('download')"
type="vertical-align-bottom"/>
<a-icon class="leftconteTdInformation-icon"
@click="breakdown(valItem)"
v-if="valItem.splitFlag == 1"
:title="$t('StandardBreakdown')"
type="profile" />
</div>
</div>
</div>
</div>
<div class="content-text" v-else>
<div class="text-field" :class="{'text-content-button-one':ol.field_show_type == 8 ? true :false}"
v-for="(ol,index1) in item[val]">
<span class="text-field-left" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span v-if="ol.field_show_type == 10" class="text-field-left-Index" :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span class="text-field-left" v-else :title="ol.db_field_txt">{{ol.db_field_txt}}</span>
<span class="text-field-right text-field-right-color" v-if="ol.urlClick" @click="urlClick(ol)"
:title="ol.value">{{ol.value ? ol.value : '--'}}</span>
<span class="text-field-right" v-else-if="ol.field_show_type == 7">
@@ -153,9 +121,16 @@
</a-button>
<span v-else>--</span>
</span>
<span @click="relatedClick(ol)" class="text-field-right text-field-right-color"
v-else-if="ol.field_show_type == 10" :title="ol.value">
{{ol.value ? ol.value : '--'}}
<span class="text-field-right-Index"
v-else-if="ol.field_show_type == 10">
<span class="text-field-right-color-text"
@click="relatedClick(valItem)"
:title="valItem.title"
v-if="ol.list && ol.list.length > 0"
v-for="valItem in ol.list">
{{valItem.title}}
</span>
<span v-else>--</span>
</span>
<span class="text-field-right" v-else :title="ol.value">{{ol.value ? ol.value : '--'}}</span>
</div>
@@ -164,7 +139,7 @@
</div>
<div class='content-box'>
<div class="content">
<div class="header-text">
<div class="header-text fixedPosition">
{{$t('DetailsPhasedImplementation')}}
</div>
<a-table
@@ -189,6 +164,14 @@
</div>
</div>
</div>
<div class="detail-content-right">
<div class="detail-content-right-text"
:class="{'detail-content-right-text-one':item.pname ? true : false}"
v-for="(item,index) in rightTitleList"
@click="detailTextClick(index,item.name)">
{{item.name}}
</div>
</div>
</div>
</div>
<a-modal
@@ -306,14 +289,15 @@
components: {
uploadFile
},
mixins: [ResizeColumnProvide,ResizeHeader],
mixins: [ResizeColumnProvide, ResizeHeader],
data() {
return {
url: {
getInfo: 'document/bussDocumentLibraryEO/getInfoById',
list: 'log/bussLogEO/page',
getTitle: '/document/bussDocumentLibraryEO/getTitle',
getPage: '/document/phasedImplementationDetailsEO/page'
getPage: '/document/phasedImplementationDetailsEO/page',
getMenuList: 'document/bussDocumentLibraryEO/getMenuList'
},
titleHeader: '',
visibleFile: false,
@@ -345,7 +329,7 @@
],
dataSourceRelated: [],
detailList: [],
dataGrad:[],
dataGrad: [],
visible: false,
serial_number: '',
confirmLoading: false,
@@ -360,35 +344,36 @@
tabletotal: 0,
visibleRelated: false,
dataSourceFile: [],
rightTitleList: [],
columnsGrading: [
{
title: this.$t('Statutenumberclause'),
dataIndex: 'standNumberOrClause',
align: 'left',
ellipsis: true,
width: 300
width: '25%'
},
{
title: this.$t('Typeofimplementation'),
dataIndex: 'implementationTypeText',
align: 'left',
ellipsis: true,
width: 150
width: '25%'
},
{
title: this.$t('implementationDateTwo'),
dataIndex: 'implementationDate',
align: 'left',
ellipsis: true,
width: 150
width: '25%'
},
{
title: this.$t('remarks'),
dataIndex: 'remarks',
align: 'left',
ellipsis: true,
width: 350
},
width: '25%'
}
],
columns: [
{
@@ -420,10 +405,12 @@
let _this = this
this.loading = true
document.title = this.$t('documentLibraryDetails')
this.getTitle(function() {
_this.getInfoById()
})
this.getPage()
this.getRightTitle()
},
methods: {
...mapGetters(['userInfo']),
@@ -495,13 +482,17 @@
getAction(this.url.getInfo, { id: _id }).then((res) => {
if (res.success) {
this.detailList = res.result
this.$nextTick(() => {
let detailContentRightText = document.getElementsByClassName('detail-content-right-text')
detailContentRightText[0].classList.add('detail-content-right-text-color')
})
this.loading = false
} else {
this.detailList = []
}
})
},
getPage(){
getPage() {
let tablequery = {
pageNo: this.tablepageNo,
pageSize: this.tablepageSize,
@@ -510,7 +501,7 @@
getAction(this.url.getPage, tablequery).then((res) => {
if (res.success) {
this.dataGrad = res.result.records
this.tabletotal=res.result.total
this.tabletotal = res.result.total
this.loading = false
} else {
this.dataGrad = []
@@ -635,16 +626,11 @@
window.open(newUrl.href, '_blank')
},
relatedClick(val) {
if (val.list && val.list.length == 1) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: val.list[0]
})
window.open(newUrl.href, '_blank')
} else {
this.visibleRelated = true
this.dataSourceRelated = val.list
}
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: val
})
window.open(newUrl.href, '_blank')
},
breakdown(item) {
let newUrl = this.$router.resolve({
@@ -654,6 +640,41 @@
}
})
window.open(newUrl.href, '_blank')
},
detailTextClick(num, name) {
let detailContentRightTextColor = document.getElementsByClassName('detail-content-right-text-color')
if (detailContentRightTextColor && detailContentRightTextColor.length > 0) {
detailContentRightTextColor[0].classList.remove('detail-content-right-text-color')
}
let detailContentRightText = document.getElementsByClassName('detail-content-right-text')
detailContentRightText[num].classList.add('detail-content-right-text-color')
let fixedPosition = document.getElementsByClassName('fixedPosition')
if (fixedPosition && fixedPosition.length > 0) {
for (let i = 0; i < fixedPosition.length; i++) {
if (fixedPosition[i].innerText == name) {
let offsetTop = fixedPosition[i].offsetTop
let body = document.documentElement || document.body
body.scrollTop = offsetTop - 68
}
}
}
},
getRightTitle() {
let _id = this.$route.query.documentId === undefined ? this.$route.query.id : this.$route.query.documentId
let query = {
id: _id
}
getAction(this.url.getMenuList, query).then((res) => {
if (res.success) {
this.rightTitleList = res.result
this.rightTitleList.push({
name:this.$t('DetailsPhasedImplementation'),
})
} else {
this.rightTitleList = []
}
})
}
}
}
@@ -671,17 +692,27 @@
color: #333;
background-color: #fff !important;
}
.tooltipColor .ant-tooltip-arrow::before {
background-color: #fff;
}
</style>
<style lang="less" scoped>
@import'~@assets/less/common.less';
@import '~@assets/less/common.less';
body {
height: auto;
transition: all .5s linear !important;
}
.doc-detail {
background: #fff;
height: 100%;
.detail-content {
width: calc(100% - 212px);
}
.doc-detail-wrap {
.doc-detail-header {
width: 100%;
@@ -709,6 +740,7 @@
/*width: 800px;*/
line-height: 68px;
display: flex;
align-items: center;
.doc-detail-btn {
margin-left: 10px;
@@ -717,16 +749,16 @@
}
.content-box {
padding: 0 32px;
padding: 0 40px 0 32px;
box-sizing: border-box;
}
.header-text {
font-size: 16px;
font-weight: 400;
height: 80px;
font-weight: bold;
height: 90px;
color: #000F16;
line-height: 80px;
line-height: 110px;
}
.content-text {
@@ -739,7 +771,7 @@
margin-bottom: 8px;
.text-field-left {
width: 124px;
width: 114px;
display: inline-block;
font-size: 14px;
font-weight: 400;
@@ -747,19 +779,19 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 24px;
margin-right: 6px;
}
.text-field-right {
width: calc(100% - 200px);
width: calc(100% - 130px);
display: inline-block;
font-size: 16px;
font-size: 14px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
word-break: break-word;
color: #040B29;
font-weight: 400;
font-weight: bold;
}
}
@@ -767,7 +799,7 @@
width: 100%;
.text-field-left {
width: 124px;
width: 114px;
display: inline-block;
font-size: 14px;
font-weight: 400;
@@ -775,22 +807,22 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 24px;
margin-right: 6px;
float: left;
margin-top: 3px;
}
.text-field-right {
width: calc(100% - 200px);
width: calc(100% - 130px);
display: inline-block;
font-size: 16px;
font-size: 14px;
text-overflow: ellipsis;
white-space: pre-wrap;
word-break: break-word;
overflow: visible;
float: left;
color: #040B29;
font-weight: 400;
font-weight: bold;
}
}
}
@@ -804,16 +836,21 @@
.operator-text-text {
cursor: pointer;
margin-right: 53px;
margin-right: 16px;
font-size: 14px;
font-weight: 400;
color: #040B29;
display: inline-block;
width: 100px;
width: 130px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
text-align: right;
text-align: center;
height: 40px;
border: 1px solid #CED0D8;
border-radius: 4px;
line-height: 40px;
padding: 0 5px;
}
.content-box:last-child {
@@ -854,11 +891,20 @@
}
.leftconteTdInformation {
width: calc(100% - 388px);
max-width: calc(100% - 30px);
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 4px;
color: #01A0AC;
cursor: pointer;
}
.leftconteTdInformation-icon {
color: #01A0AC;
cursor: pointer;
margin-right: 6px;
}
.rightTdInformation {
@@ -910,21 +956,111 @@
cursor: pointer;
}
///deep/.table .ant-table-thead > tr > th {
// font-weight: bolder;
//}
///deep/.ant-table-thead > tr > th {
// background: #f3f6f6;
//}
///deep/.table .ant-table-tbody > tr > td {
// color: #040B29 ;
//}
/deep/ .ant-table-placeholder{
/deep/ .ant-table-placeholder {
margin-top: 0px !important;
}
.text {
margin-right: 10px
}
.TextInformation-box {
width: 100%;
height: auto;
overflow: hidden;
}
.TextInformation-box-title {
background: #F5F6F7;
border-radius: 4px;
width: 100%;
height: 56px;
padding: 0 16px;
line-height: 56px;
color: #040B29;
font-weight: 400;
font-size: 16px;
}
.TextInformation-box-box {
width: 100%;
height: auto;
padding: 10px 16px 10px 16px;
overflow: hidden;
}
.TextInformation-box-box-text {
width: calc(25% - 20px);
margin-right: 20px;
height: 36px;
float: left;
display: flex;
align-items: center;
}
.detail-content-right {
width: 212px;
position: fixed;
top: 120px;
right: 0;
padding: 0 32px 0 0;
}
.detail-content-right-text {
color: #040B29;
font-size: 14px;
font-weight: bolder;
height: 36px;
line-height: 36px;
border-left: 2px #CED0D8 solid;
padding: 0 0 0 8px;
box-sizing: border-box;
cursor: pointer;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.detail-content-right-text-one {
padding: 0 0 0 20px;
}
.detail-content-right-text-color {
color: #01A0AC;
border-left: 2px #01A0AC solid;
}
.text-field-left-Index {
width: 114px;
display: inline-block;
font-size: 14px;
font-weight: 400;
color: #6F7385;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
margin-right: 6px;
float: left;
}
.text-field-right-Index {
width: calc(100% - 130px);
display: inline-block;
font-size: 14px;
word-break: break-word;
float: left;
}
.text-field-right-color-text {
width: calc(50% - 20px);
margin-right: 20px;
font-size: 14px;
display: inline-block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
cursor: pointer;
font-weight: bold;
color: #01A0AC;
}
</style>
@@ -376,8 +376,8 @@ this.$forceUpdate()
}
getAction('/ota/otaBaSjSjyxpg/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
if(res.code==200){
if(res.result.zxsj==0){
res.result.zxsj=null
if(res.result.zxsj==null){
res.result.zxsj=undefined
}
this.form=res.result==null ? {
sjmd:'',
@@ -400,7 +400,7 @@ this.$forceUpdate()
}
this.form.otaId=otaId
if(this.form.zxsj==undefined){
this.form.zxsj=0
this.form.zxsj=undefined
}
postAction('/ota/otaBaSjSjyxpg/add',this.form).then(res=>{
if(res.code==200){
@@ -231,15 +231,16 @@ export default {
} else {
this.form = res.result
if (this.$route.query.type == 1 && res.result.cxmb == null) {
this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
} else {
if (this.$route.query.type == 2 && res.result.cxmb == null) {
this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
} else {
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
}
}
this.form.otaId=''
// if (this.$route.query.type == 1 && res.result.cxmb == null) {
// this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
// } else {
// if (this.$route.query.type == 2 && res.result.cxmb == null) {
// this.form.cxmb = this.form.babh + '-' + this.form.bapc + '-' + this.form.cpxh
// } else {
// this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
// }
// }
if (res.result.dllx1 == null || res.result.dllx1 == "") {
this.form.dllx1 = undefined
@@ -261,17 +262,12 @@ export default {
})
},
save() {
let otaId = localStorage.getItem('otaId')
if (otaId == null) {
otaId = ''
}
// if(this.form.bapc!=null && this.form.bapc!=undefined && this.form.bapc!=''){
// this.$nextTick(()=>{
// this.$refs.ruleForm.clearValidate('bapc')
// })
// }
this.$refs.ruleForm.validate(valid => {
if (valid) {
let otaId = localStorage.getItem('otaId')
if (otaId == null|| otaId == undefined) {
otaId = ''
}
this.selectListPc.map(item => {
if (item.id == this.form.bapc) {
this.form.bapc = item.ggpc
@@ -333,10 +333,10 @@ import { message } from 'ant-design-vue'
this.form.cdotasj=res.result.cdotasj
this.form.id=res.result.id
if(this.$route.query.type == 1 && res.result.cxmb == null){
this.form.cxmb = this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
this.form.cxmb = this.form.djbh+'-'+ this.form.ggpc+'-'+this.form.cpxh
}else {
if(this.$route.query.type == 2 && res.result.cxmb == null){
this.form.cxmb = this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
this.form.cxmb = this.form.djbh+'-'+ this.form.ggpc+'-'+this.form.cpxh
}else{
this.form.cxmb = res.result.cxmb ? res.result.cxmb : undefined
}
@@ -384,7 +384,6 @@ import { message } from 'ant-design-vue'
if(otaId==null || otaId == undefined){
otaId=''
}
postAction('/ota/otaBaCxJbxx/add',{ otaId:otaId,...this.form}).then( res => {
if(res.code == 200){
localStorage.setItem('otaId', res.result.otaId)
@@ -27,8 +27,8 @@
<!-- 配置情况-->
<span slot="configuration" slot-scope="text,record" >
<a-radio-group v-model="record.pzqk" >
<a-radio :value="1"> {{ $t('yes') }} </a-radio>
<a-radio :value="2"> {{ $t('not') }} </a-radio>
<a-radio :value="1"> {{ $t('have') }} </a-radio>
<a-radio :value="2"> {{ $t('nothing') }} </a-radio>
</a-radio-group>
</span>
<!-- 可升级-->
@@ -304,7 +304,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jgldBzwz',
@@ -320,7 +320,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jgldScqy',
@@ -328,7 +328,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'hmbldSl',
@@ -336,7 +336,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'hmbldBzwz',
@@ -352,7 +352,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'hmbldScqy',
@@ -360,7 +360,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'csbldSl',
@@ -368,7 +368,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'csbldBzwz',
@@ -384,7 +384,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'csbldScqy',
@@ -392,7 +392,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxthsSl',
@@ -400,7 +400,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxthsBzwz',
@@ -416,7 +416,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxthsScqy',
@@ -424,7 +424,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxtdsdSl',
@@ -432,7 +432,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxtdsdBzwz',
@@ -448,7 +448,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'sxtdsdScqy',
@@ -456,7 +456,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyjkSl',
@@ -464,7 +464,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyjkBzwz',
@@ -480,7 +480,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyjkScqy',
@@ -488,7 +488,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyhwSl',
@@ -496,7 +496,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('Quantity'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyhwBzwz',
@@ -512,7 +512,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyhwScqy',
@@ -520,7 +520,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('productionenterprise'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'czwxdwGgxh',
@@ -528,7 +528,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'czwxdwScqy',
@@ -536,7 +536,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gxdhGgxh',
@@ -544,7 +544,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gxdhScqy',
@@ -552,7 +552,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'lsjGgxh',
@@ -560,7 +560,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'lsjScqy',
@@ -568,7 +568,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gjddtGgxh',
@@ -576,7 +576,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('VersionNumber'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'gjddtScqy',
@@ -584,7 +584,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'dzwlDxxgcs',
@@ -592,7 +592,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('qualitativelydescriberelevantplaces'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxXtmc',
@@ -600,7 +600,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('systemname'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxGgxh',
@@ -616,7 +616,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('systemproductionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxBbh',
@@ -624,7 +624,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('softwareversionnumber'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'cztxKfqy',
@@ -632,7 +632,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('softwaredevelopmententerprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzczjMc',
@@ -640,7 +640,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('controlname'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzczjYjxh',
@@ -648,7 +648,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzczjScqy',
@@ -656,7 +656,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzzsqMc',
@@ -664,7 +664,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('nameofindicatorsignaldevice'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzzsqYjxh',
@@ -672,7 +672,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsfzzsqScqy',
@@ -680,7 +680,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'fxptstsMc',
@@ -688,7 +688,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('nameofindicatorsignaldevice'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'fxptstsYjxh',
@@ -696,7 +696,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'fxptstsScqy',
@@ -704,7 +704,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyzyltsMc',
@@ -712,7 +712,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('nameofindicatorsignaldevice'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyzyltsYjxh',
@@ -720,7 +720,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('hardwarespecificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'jsyzyltsScqy',
@@ -728,7 +728,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'dssadGgxh',
@@ -736,7 +736,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'dssadScqy',
@@ -744,7 +744,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'edrGgxh',
@@ -752,7 +752,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('specificationmodel'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
{
key: 'edrScqy',
@@ -760,7 +760,7 @@ export default {
componentname: this.$t('networksecurityrequirements'),
configuration: this.$t('ineffectiveupgrades'),
ParameterName: this.$t('productionenterprise'),
fillincontent:this.$t('haveisselected'),
fillincontent:this.$t('yesisselected'),
},
],
queryParam: {},
@@ -691,7 +691,7 @@
Action(url, query).then((res) => {
if (res.success) {
this.confirmLoading = false
if (res.result && res.result.length > 0) {
if (res.result && res.result.length > 0 && res.result instanceof Array) {
let detailedWarningList = []
res.result.forEach(val => {
detailedWarningList.push(
@@ -1055,22 +1055,22 @@
isResultReported: false,
// fieldList | array || 需要查询的列集合示例如下type类型有:date/datetime/string/int/number
fieldList: [
{
type: 'string',
value: 'correspondingStandard',
text: this.$t('correspondingStandard')
},
// {
// type: 'string',
// value: 'correspondingStandard',
// text: this.$t('correspondingStandard')
// },
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{
type: '',
value: 'implementType',
text: this.$t('implementationCategory'),
dictCode: 'implement_type'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
},
// {
// type: '',
// value: 'implementType',
// text: this.$t('implementationCategory'),
// dictCode: 'implement_type'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
// },
{
type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
@@ -1104,24 +1104,12 @@
text: this.$t('areaOfResponsibility'),
dictCode: 'duty_territory'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
},
{
type: '',
value: 'region',
text: this.$t('zoneOfApplication'),
dictCode: 'region'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
},
{
type: 'Personnel',
value: 'regulationOwnerId',
valueName: 'regulationOwnerIdName',
text: this.$t('regulatoryEngineer')
},
{
type: 'Personnel',
value: 'homologationEngineerId',
valueName: 'homologationEngineerIdName',
text: this.$t('certifiedEngineer')
},
{
type: 'Personnel',
value: 'engineeringInterfacePerson',
@@ -1612,25 +1600,44 @@
}
}
for (let i = 0; i < content.length > 0; i++) {
if (content[i].verifyFlowStatus == 'List to be checked' ||
content[i].designFlowStatus == 'List to be checked' ||
content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
if (this.roleSwitchingCode == 0) {
if (content[i].verifyFlowStatus == 'List to be checked' ||
content[i].designFlowStatus == 'List to be checked' ||
content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
}
} else if (this.roleSwitchingCode == 1 || this.roleSwitchingCode == 30) {
if (content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
}
}
}
if (detailedWarningList && detailedWarningList.length > 0) {
this.questionWarning.push(
< div > {
detailedWarningList
.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')
} < /div>)
if (this.roleSwitchingCode == 0){
this.questionWarning.push(
< div > {
detailedWarningList.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')
} < /div>)
}else if(this.roleSwitchingCode == 1 || this.roleSwitchingCode == 30){
this.questionWarning.push(
< div > {
detailedWarningList.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')+this.$t('andTheProcessStatusTheList')
} < /div>)
}
}
if (this.questionIdList && this.questionIdList.length > 0) {
this.visibleQuestion = true
@@ -35,12 +35,14 @@
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button>
<a-button class="box-button" style="margin-left: 8px"
<a-button class="box-button" type="primary"
style="margin-right: 8px"
@click="searchQuery">{{ $t('query') }}</a-button>
<a-button class="box-button"
@click="searchReset">{{ $t('reset') }}</a-button>
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
</a-col>
</span>
</a-row>
@@ -58,37 +60,50 @@
:columns="columns"
>
<span slot="titleName" slot-scope="text,record" :title="text">
{{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }}
<span class="textName">
{{ text }}
</span>
</span>
<span slot="designDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.designDeliverableTemplateName,record.designDeliverableTemplate)">
{{ record.designDeliverableTemplateName }}
</a>
<a v-else-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.designDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
<span slot="standard" slot-scope="text,record" :title="text">
<a class="textName" @click="standardClick(record)">
{{ text }}
</a>
</span>
<span slot="prehomoDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.prehomoDeliverableTypeName }}</span><br v-if="record.prehomoDeliverableTypeName">
<a v-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.prehomoDeliverableTemplateName,record.prehomoDeliverableTemplate)">
{{ record.prehomoDeliverableTemplateName }}
</a>
<a v-else-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.prehomoDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,result">
<span class="viewFile"
@click="viewFileClick(result.verifyDeliverableTemplate)"
v-if="result.verifyDeliverableTemplate">
{{$t('viewFile')}}
</span>
<span v-else>--</span>
</span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.verifyDeliverableTypeName }}</span><br v-if="record.verifyDeliverableTypeName">
<a v-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.verifyDeliverableTemplateName,record.verifyDeliverableTemplate)">
{{ record.verifyDeliverableTemplateName }}
</a>
<a v-else-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.verifyDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
<span slot="designDeliverableTemplate" slot-scope="text,result">
<span class="viewFile"
@click="viewFileClick(result.designDeliverableTemplate)"
v-if="result.designDeliverableTemplate">
{{$t('viewFile')}}
</span>
<span v-else>--</span>
</span>
<span slot="designFlowStatusName" slot-scope="text,result">
<span v-if="result.designFlowStatus == 'List to be released' ||
result.designFlowStatus == 'List to be checked'"
:title="text">
{{text}}
</span>
<a v-else @click="designFlowStatusClick(result,$t('designComplianceReview'))"
:title="text">{{text}}</a>
</span>
<span slot="verifyFlowStatusName" slot-scope="text,result">
<span v-if="result.verifyFlowStatus == 'List to be released' ||
result.verifyFlowStatus == 'List to be checked'"
:title="text">
{{text}}
</span>
<a v-else @click="designFlowStatusClick(result,$t('verificationComplianceReview'))"
:title="text">{{text}}</a>
</span>
</a-table>
</div>
@@ -125,12 +140,16 @@
</span>
</a-table>
</a-modal>
<viewFileModel ref="viewFileModelRef"/>
<designCompliance ref="designComplianceRef"/>
</a-card>
</template>
<script>
import ImportFile from '@/components/ImportFile/index'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import viewFileModel from '@/components/viewFileModel/index'
import designCompliance from '../../toDoCenter/projectRegulationTasks/components/designCompliance'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64'
@@ -139,22 +158,25 @@
name: 'index',
components: {
globalAdvancedQuery,
ImportFile
ImportFile,
viewFileModel,
designCompliance
},
data() {
return {
columns: [
{
title: this.$t('standard'),
align: 'center',
align: 'left',
dataIndex: 'serialNumber',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
sorter: true,
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
align: 'center',
align: 'left',
dataIndex: 'title',
width: 180,
fixed: 'left',
@@ -162,180 +184,140 @@
},
{
title: this.$t('subtitle'),
align: 'center',
align: 'left',
dataIndex: 'subtitle',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('listConfirmationStatus'),
align: 'center',
ellipsis: true,
dataIndex: 'inventoryAffirmStatusName'
width: 180
},
{
title: this.$t('taskAffirmStatus'),
align: 'center',
title: this.$t('applicableSupplement'),
align: 'left',
ellipsis: true,
dataIndex: 'taskAffirmStatusName'
},
// {
// title: this.$t('taskReleaseStatus'),
// align: 'center',
// dataIndex: 'taskReleaseStatus'
// },
{
title: this.$t('correspondingStandard'),
align: 'center',
ellipsis: true,
dataIndex: 'correspondingStandard'
},
{
title: this.$t('implementationCategory'),
align: 'center',
ellipsis: true,
dataIndex: 'implementType_dictText'
},
{
title: this.$t('ImplementationDate'),
align: 'center',
ellipsis: true,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1'
},
{
title: this.$t('vehicleInProductionDate'),
align: 'center',
ellipsis: true,
dataIndex: 'implementTime'
},
{
title: 'WVTA ID',
align: 'center',
dataIndex: 'wvtaId',
ellipsis: true
dataIndex: 'applicableSupplement',
width: 200
},
{
title: this.$t('certificationType'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'attestationType_dictText'
dataIndex: 'attestationType_dictText',
width: 180
},
{
title: this.$t('certificationLevel'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'attestationRank_dictText'
dataIndex: 'attestationRank_dictText',
width: 180
},
//
{
title: this.$t('areaOfResponsibility'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
sorter: true,
dataIndex: 'dutyTerritory_dictText',
width: 180
},
{
title: this.$t('regulatoryEngineer'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'regulationOwnerName'
},
{
title: this.$t('certifiedEngineer'),
align: 'center',
ellipsis: true,
dataIndex: 'homologationEngineerName'
sorter: true,
dataIndex: 'regulationOwnerName',
width: 180
},
{
title: this.$t('engineeringInterfacePerson'),
align: 'center',
align: 'left',
ellipsis: true,
dataIndex: 'engineeringInterfacePersonName'
sorter: true,
dataIndex: 'engineeringInterfacePersonName',
width: 180
},
{
title: this.$t('remarks'),
align: 'center',
ellipsis: true,
dataIndex: 'remark'
align: 'left',
dataIndex: 'remark',
width: 180,
ellipsis: true
},
{
title: this.$t('confirmationOfDesignConformity'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'designDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'designDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'designInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'designDutyName',
align: 'center'
dataIndex: 'designDutyIdName',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'designDueDate',
align: 'center'
}
]
},
{
title: this.$t('PrehomoConfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'prehomoDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'prehomoDeliverableTemplateName' }
align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('Sponsor'),
dataIndex: 'prehomoInitiatorName',
align: 'center'
title: this.$t('ProcessStatus'),
dataIndex: 'designFlowStatusName',
align: 'left',
ellipsis: true,
width: 140,
scopedSlots: { customRender: 'designFlowStatusName' }
},
{
title: this.$t('personLiable'),
dataIndex: 'prehomoDutyName',
align: 'center'
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'prehomoDueDate',
align: 'center'
title: this.$t('deliverableTemplate'),
dataIndex: 'designDeliverableTemplate',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'designDeliverableTemplate' }
}
]
},
{
title: this.$t('verificationAndConformityconfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'verifyDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'verifyInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'verifyDutyName',
align: 'center'
dataIndex: 'verifyDutyIdName',
align: 'left',
width: 180,
ellipsis: true
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'verifyDueDate',
align: 'center'
align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('ProcessStatus'),
dataIndex: 'verifyFlowStatusName',
align: 'left',
ellipsis: true,
width: 180,
scopedSlots: { customRender: 'verifyFlowStatusName' }
},
{
title: this.$t('deliverableTemplate'),
dataIndex: 'verifyDeliverableTemplate',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
}
]
}
// {
// title: this.$t('operation'),
// align: 'left',
// fixed: 'right',
// width: 260,
// scopedSlots: { customRender: 'operation' }
// }
],
columnsFile: [
{
@@ -345,12 +327,6 @@
width: 260,
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
],
visibleFile: false,
dataSourceFile: [],
@@ -421,6 +397,73 @@
},
methods: {
...mapGetters(['userInfo']),
//流程状态点击事件
designFlowStatusClick(row, name) {
let query = {}
let TaskKey = ''
if (name == this.$t('designComplianceReview')) {
if (row.designFlowStatus == 'Task to be confirmed') {
TaskKey = 'zrrqr'
} else if (row.designFlowStatus == 'Results to be submitted') {
TaskKey = 'zrrtjjfw'
} else if (row.designFlowStatus == 'Results to be reviewed' ||
row.designFlowStatus == 'Compliance' ||
row.designFlowStatus == 'Non-Compliance' ||
row.designFlowStatus == 'To be tracked' ||
row.designFlowStatus == 'NA') {
TaskKey = 'fggcssh'
}
query = {
actiProcInstId: row.designPId,
projectTaskInventoryId: row.id,
projectLibraryId: row.projectLibraryId,
TaskKey: TaskKey,
isDisplay: false,
flowType: 2,
Sponsor: 'regulationOwnerName',
personLiable: 'designDutyIdName',
typeOfDeliverables: 'designDeliverableTypeName',
deliverableTemplate: 'designDeliverableTemplate',
DueDate: 'designDueDate',
remarks: 'designRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId
}
} else {
if (row.verifyFlowStatus == 'Task to be confirmed') {
TaskKey = 'zrrqr'
} else if (row.verifyFlowStatus == 'Results to be submitted') {
TaskKey = 'zrrtjjfw'
} else if (row.verifyFlowStatus == 'Results to be reviewed' ||
row.verifyFlowStatus == 'Compliance' ||
row.verifyFlowStatus == 'Non-Compliance' ||
row.verifyFlowStatus == 'To be tracked' ||
row.verifyFlowStatus == 'NA') {
TaskKey = 'fggcssh'
}
query = {
actiProcInstId: row.verifyPId,
projectTaskInventoryId: row.id,
projectLibraryId: row.projectLibraryId,
TaskKey: TaskKey,
flowType: 4,
isDisplay: false,
Sponsor: 'regulationOwnerName',
personLiable: 'verifyDutyIdName',
typeOfDeliverables: 'verifyDeliverableTypeName',
deliverableTemplate: 'verifyDeliverableTemplate',
DueDate: 'verifyDueDate',
remarks: 'verifyRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId
}
}
this.$refs.designComplianceRef.getList(JSON.parse(JSON.stringify(query)), name)
},
searchQuery() {
this.getList()
},
@@ -502,6 +545,19 @@
download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id ,userName:this.userInfo().username})
},
standardClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.standId
}
})
window.open(newUrl.href, '_blank')
},
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
},
clickButtonToUpload(item) {
this.loading = true
this.visibleFile = true
@@ -521,8 +577,8 @@
this.loading = false
}
})
}
}
},
},
}
</script>
@@ -145,6 +145,25 @@
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
</div>
<a-form-model-item class="itemModel" prop="deliverableTemplate">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('deliverableTemplate',index,true)">
{{ (item.deliverableTemplate === 'null' || item.deliverableTemplate === ''
||
item.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
</div>
</a-form-model>
</a-spin>
@@ -154,12 +173,14 @@
</div>
</a-drawer>
<codeNumber ref="codeNumber" @regulation="regulation" />
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
</div>
</template>
<script>
import codeNumber from './codeNumber'
import uploadFile from '@/components/uploadFile/file'
import { getAction, postAction } from '@/api/manage'
import { mapGetters } from 'vuex'
@@ -167,7 +188,8 @@ export default {
name:"addModel",
props: ['url'],
components:{
codeNumber
codeNumber,
uploadFile
},
data() {
return {
@@ -299,7 +321,45 @@ export default {
this.formInline = {... this.formInline}
this.$refs.ruleForm.validateField(['serialNumber'])
})
}
},
//交付物模板上传
clickButtonToUpload(item, index,isTrue) {
this.numIndex = index
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.uploadName = item
let ids = ''
console.log(index)
if (isTrue){
ids = this.formInline.dataList[index][item]
}else{
ids = this.formInline[item]
}
console.log(this.formInline,1111)
getAction('sys/common/getFileInfos', { id: ids }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
/** 上传文件的回调 */
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
/** 赋值给当前对应的表单文件 */
if (this.formInline.id) {
this.formInline[this.uploadName] = attIdList.join(',')
} else {
this.formInline.dataList[this.numIndex][this.uploadName] = attIdList.join(',')
}
this.formInline = { ...this.formInline }
},
}
}
</script>
@@ -366,4 +426,13 @@ export default {
font-size: 16px;
margin-right: 4px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
</style>
@@ -127,6 +127,25 @@
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>
</div>
<a-form-model-item class="itemModel" prop="deliverableTemplate">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('deliverableTemplate')">
{{ (formInline.deliverableTemplate === 'null' || formInline.deliverableTemplate === ''
||
formInline.deliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-spin>
<div class="drawer-bootom-button">
@@ -135,18 +154,21 @@
</div>
</a-drawer>
<codeNumber ref="codeNumber" @regulation="regulation" />
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
</div>
</template>
<script>
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import codeNumber from './codeNumber'
import uploadFile from '@/components/uploadFile/file'
export default {
name:'editModel',
props: ['url'],
components:{
codeNumber
codeNumber,
uploadFile
},
data() {
return {
@@ -276,7 +298,44 @@ export default {
this.formInline = {... this.formInline}
this.$refs.ruleForm.validateField(['serialNumber'])
})
}
},
//交付物模板
clickButtonToUpload(item, index,isTrue) {
this.numIndex = index
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.uploadName = item
let ids = ''
console.log(index)
if (isTrue){
ids = this.formInline.dataList[index][item]
}else{
ids = this.formInline[item]
}
getAction('sys/common/getFileInfos', { id: ids }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
/** 上传文件的回调 */
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
/** 赋值给当前对应的表单文件 */
if (this.formInline.id) {
this.formInline[this.uploadName] = attIdList.join(',')
} else {
this.formInline.dataList[this.numIndex][this.uploadName] = attIdList.join(',')
}
this.formInline = { ...this.formInline }
},
}
}
</script>
@@ -333,4 +392,13 @@ export default {
background: #fff;
border-radius: 0 0 2px 2px;
}
.button-text {
height: 38px;
width: calc(100% - 100px);
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
</style>
@@ -206,9 +206,17 @@
@change="tableOnChange"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns">
<span slot="item" slot-scope="text,record">
<a @click="itemClick(record)">{{text}}</a>
<span slot="deliverableTemplate" slot-scope="text,result">
<span class="viewFile"
@click="viewFileClick(result.deliverableTemplate)"
v-if="result.deliverableTemplate">
{{$t('viewFile')}}
</span>
<span v-else>--</span>
</span>
<!-- <span slot="item" slot-scope="text,record">-->
<!-- <a @click="itemClick(record)">{{text}}</a>-->
<!-- </span>-->
<span slot="operation" slot-scope="text,record">
<a v-if="isTrue"
class="text-operation"
@@ -236,6 +244,7 @@
<addModel :url="url" ref="addModelRef" @addModelList="addModelList"/>
<edit-model :url="url" ref="editModelRef" @editModelList="editModelList"></edit-model>
<bat-setting :url="url" ref="batSettingRef" @batSettingList="batSettingList"></bat-setting>
<viewFileModel ref="viewFileModelRef"/>
</div>
</template>
@@ -250,6 +259,7 @@
import addModel from '../components/addModel'
import editModel from '../components/editModel'
import batSetting from '../components/batSetting'
import viewFileModel from '@/components/viewFileModel/index'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default {
@@ -261,7 +271,8 @@
transferList,
addModel,
editModel,
batSetting
batSetting,
viewFileModel
},
mixins: [ResizeHeader, ResizeColumnProvide],
data() {
@@ -340,6 +351,14 @@
width: 330,
ellipsis: true
},
{
title: this.$t('deliverableTemplate'),
align: 'left',
dataIndex: 'deliverableTemplate',
width: 330,
ellipsis: true,
scopedSlots: { customRender: 'deliverableTemplate' }
},
{
title: this.$t('operation'),
align: 'left',
@@ -536,6 +555,10 @@
})
}
})
},
// 交付物模板
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
}
}
}
@@ -668,4 +691,9 @@
::v-deep .ant-table-placeholder {
margin-top: 8px !important;
}
.viewFile {
color: #00B3BE;
cursor: pointer;
}
</style>