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

This commit is contained in:
zyx.net
2023-04-03 14:54:17 +08:00
20 changed files with 364 additions and 95 deletions
@@ -470,4 +470,8 @@ ALTER TABLE `auth_dummy_inventory_info`
MODIFY COLUMN `config_item` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置项' AFTER `inspection_item`, MODIFY COLUMN `config_item` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '配置项' AFTER `inspection_item`,
MODIFY COLUMN `wvta_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'WVTA ID' AFTER `config_item`, MODIFY COLUMN `wvta_id` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'WVTA ID' AFTER `config_item`,
MODIFY COLUMN `duty_territory` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '责任领域' AFTER `serial_number`, MODIFY COLUMN `duty_territory` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '责任领域' AFTER `serial_number`,
MODIFY COLUMN `deliverable_template` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交付物模板' AFTER `auth_dummy_inventory_base_id`; MODIFY COLUMN `deliverable_template` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交付物模板' AFTER `auth_dummy_inventory_base_id`;
-- 项目库-法规清单,增加字段 流程最后结束的时间(导出合规性报告时使用) 2023-4-03 未同步生产环境
ALTER TABLE `project_laws_inventory`
ADD COLUMN `process_end_time` datetime NULL COMMENT '流程最后结束的时间' AFTER `stand_id`;
@@ -581,17 +581,17 @@ public class SysCategoryController {
* @return * @return
*/ */
@GetMapping("/getSysCategoryTree") @GetMapping("/getSysCategoryTree")
public Result getSysCategoryTree() { public Result getSysCategoryTree(@RequestParam Map<String,Object> params) {
return Result.OK(sysCategoryService.getSysCategoryTree(null)); return Result.OK(sysCategoryService.getSysCategoryTree(null,params));
} }
/** /**
* 只查询交付物类型的树形数据字典 * 只查询交付物类型的树形数据字典
* @return * @return
*/ */
@GetMapping("/getDeliverableTree") @GetMapping("/getDeliverableTree")
public Result getDeliverableTree() { public Result getDeliverableTree(@RequestParam Map<String,Object> params) {
String flag = "deliverable_template"; String flag = "deliverable_template";
return Result.OK(sysCategoryService.getSysCategoryTree(flag)); return Result.OK(sysCategoryService.getSysCategoryTree(flag,params));
} }
/** /**
@@ -599,9 +599,9 @@ public class SysCategoryController {
* @return * @return
*/ */
@GetMapping("/getEvaluationMethodTree") @GetMapping("/getEvaluationMethodTree")
public Result getevaluationMethodTree() { public Result getevaluationMethodTree(@RequestParam Map<String,Object> params) {
String flag = "evaluation_method"; String flag = "evaluation_method";
return Result.OK(sysCategoryService.getSysCategoryTree(flag)); return Result.OK(sysCategoryService.getSysCategoryTree(flag,params));
} }
/** /**
@@ -609,8 +609,8 @@ public class SysCategoryController {
* @return * @return
*/ */
@GetMapping("/getCertificationDeliverableTree") @GetMapping("/getCertificationDeliverableTree")
public Result getCertificationDeliverableTree() { public Result getCertificationDeliverableTree(@RequestParam Map<String,Object> params) {
String flag = "ren4_zheng4_-_jiao1_fu4_wu4_lei4_xing2"; String flag = "ren4_zheng4_-_jiao1_fu4_wu4_lei4_xing2";
return Result.OK(sysCategoryService.getSysCategoryTree(flag)); return Result.OK(sysCategoryService.getSysCategoryTree(flag,params));
} }
} }
@@ -67,7 +67,7 @@ public interface ISysCategoryService extends IService<SysCategory> {
* 获取树形结构 * 获取树形结构
* @return * @return
*/ */
List<SysCategoryTreeVO> getSysCategoryTree(String flag); List<SysCategoryTreeVO> getSysCategoryTree(String flag,Map<String,Object> params);
/** /**
* 获取树形结构,中英文可切换 * 获取树形结构,中英文可切换
@@ -267,7 +267,11 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
} }
@Override @Override
public List<SysCategoryTreeVO> getSysCategoryTree(String flag) { public List<SysCategoryTreeVO> getSysCategoryTree(String flag,Map<String,Object> params) {
String cut = CutEnum.CN.getValue();
if(params != null){
cut = ObjectUtil.isNotEmpty(params.get("cut")) ? (String) params.get("cut") : CutEnum.CN.getValue();
}
try { try {
//只查询技术领域的technology_territory //只查询技术领域的technology_territory
String dictId = ""; String dictId = "";
@@ -288,7 +292,7 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
} }
List<SysCategoryTreeVO> tree = new ArrayList<>(); List<SysCategoryTreeVO> tree = new ArrayList<>();
if(CollectionUtils.isNotEmpty(list)){ if(CollectionUtils.isNotEmpty(list)){
tree = TreeUtils.getSysCategoryTree(list); tree = TreeUtils.getSysCategoryTree(list,cut);
} }
return tree; return tree;
}catch (Exception ex){ }catch (Exception ex){
@@ -7,6 +7,7 @@ import org.springframework.stereotype.Component;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
*生成树形结构工具类 *生成树形结构工具类
@@ -20,7 +21,7 @@ public class TreeUtils {
*/ */
private static final String TREE_ROOT_CODE = "0"; private static final String TREE_ROOT_CODE = "0";
public static List<SysCategoryTreeVO> getSysCategoryTree(List<SysCategory> sysCategoryList) { public static List<SysCategoryTreeVO> getSysCategoryTree(List<SysCategory> sysCategoryList, String cut) {
List<SysCategoryTreeVO> sysCategoryTreeVOList = new LinkedList(); List<SysCategoryTreeVO> sysCategoryTreeVOList = new LinkedList();
for (SysCategory sysCategory : sysCategoryList) { for (SysCategory sysCategory : sysCategoryList) {
if (TREE_ROOT_CODE.equals(sysCategory.getPid())) { if (TREE_ROOT_CODE.equals(sysCategory.getPid())) {
@@ -29,9 +30,15 @@ public class TreeUtils {
sysCategoryTreeVO.setKey(sysCategory.getId()); sysCategoryTreeVO.setKey(sysCategory.getId());
sysCategoryTreeVO.setValue(sysCategory.getId()); sysCategoryTreeVO.setValue(sysCategory.getId());
sysCategoryTreeVO.setDictId(sysCategory.getSysDictId()); sysCategoryTreeVO.setDictId(sysCategory.getSysDictId());
sysCategoryTreeVO.setTitle(sysCategory.getName()); String title = "";
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
title = sysCategory.getName();
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
title = sysCategory.getEnName();
}
sysCategoryTreeVO.setTitle(title);
sysCategoryTreeVO.setParentId(sysCategory.getPid()); sysCategoryTreeVO.setParentId(sysCategory.getPid());
sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList)); sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList,cut));
sysCategoryTreeVOList.add(sysCategoryTreeVO); sysCategoryTreeVOList.add(sysCategoryTreeVO);
} }
} }
@@ -53,14 +60,14 @@ public class TreeUtils {
sysCategoryTreeVO.setTitle(sysCategory.getEnName()); sysCategoryTreeVO.setTitle(sysCategory.getEnName());
} }
sysCategoryTreeVO.setParentId(sysCategory.getPid()); sysCategoryTreeVO.setParentId(sysCategory.getPid());
sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList)); sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList,cut));
sysCategoryTreeVOList.add(sysCategoryTreeVO); sysCategoryTreeVOList.add(sysCategoryTreeVO);
} }
} }
return sysCategoryTreeVOList; return sysCategoryTreeVOList;
} }
private static List<SysCategoryTreeVO> getSysCategoryTreeChild(String id, List<SysCategory> sysCategoryList) { private static List<SysCategoryTreeVO> getSysCategoryTreeChild(String id, List<SysCategory> sysCategoryList,String cut) {
List<SysCategoryTreeVO> childrenList = new LinkedList(); List<SysCategoryTreeVO> childrenList = new LinkedList();
for (SysCategory sysCategory : sysCategoryList) { for (SysCategory sysCategory : sysCategoryList) {
if (id.equals(sysCategory.getPid())) { if (id.equals(sysCategory.getPid())) {
@@ -69,9 +76,15 @@ public class TreeUtils {
sysCategoryTreeVO.setId(sysCategory.getId()); sysCategoryTreeVO.setId(sysCategory.getId());
sysCategoryTreeVO.setKey(sysCategory.getId()); sysCategoryTreeVO.setKey(sysCategory.getId());
sysCategoryTreeVO.setValue(sysCategory.getId()); sysCategoryTreeVO.setValue(sysCategory.getId());
sysCategoryTreeVO.setTitle(sysCategory.getName()); String title = "";
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
title = sysCategory.getName();
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
title = sysCategory.getEnName();
}
sysCategoryTreeVO.setTitle(title);
sysCategoryTreeVO.setParentId(sysCategory.getPid()); sysCategoryTreeVO.setParentId(sysCategory.getPid());
sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList)); sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList,cut));
childrenList.add(sysCategoryTreeVO); childrenList.add(sysCategoryTreeVO);
} }
} }
@@ -12,6 +12,7 @@ import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oss.CosBootUtil;
import com.jero.modules.authDummy.entity.AuthDummyInventoryBaseEO; import com.jero.modules.authDummy.entity.AuthDummyInventoryBaseEO;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO; import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEOEn; import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEOEn;
@@ -36,11 +37,13 @@ import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
import com.jero.modules.split.common.FileUnZip; import com.jero.modules.split.common.FileUnZip;
import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.enums.SysCategoryValueTypeEnum;
import com.jero.modules.system.mapper.SysCategoryMapper; import com.jero.modules.system.mapper.SysCategoryMapper;
import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.mapper.SysDictItemMapper;
import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.xkcoding.http.util.StringUtil;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
@@ -86,6 +89,8 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl.copyFile;
/** /**
* @Description: 认证虚拟清单详情表 * @Description: 认证虚拟清单详情表
* @Author: jero-boot * @Author: jero-boot
@@ -791,6 +796,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
String cut = authDummyInventoryInfoEO.getCut(); String cut = authDummyInventoryInfoEO.getCut();
disposeData(dataList,cut); disposeData(dataList,cut);
String deliverableTemplateIds = dataList.stream().map(AuthDummyInventoryInfoEO::getDeliverableTemplate).collect(Collectors.joining(","));
List<OSSFile> fileInfos = this.iOSSFileService.getFileInfos(deliverableTemplateIds);
OutputStream os = null; OutputStream os = null;
try { try {
response.setContentType("application/force-download"); response.setContentType("application/force-download");
@@ -808,6 +815,8 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}else{ }else{
excelName = baseList.get(0).getName() + " Market Certification List.xlsx"; excelName = baseList.get(0).getName() + " Market Certification List.xlsx";
} }
this.exportFile(dataList,fileInfos,path);
//excel //excel
OutputStream excelOS = new FileOutputStream(path + File.separator + excelName); OutputStream excelOS = new FileOutputStream(path + File.separator + excelName);
ExportParams exportParams = new ExportParams(); ExportParams exportParams = new ExportParams();
@@ -860,6 +869,44 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
} }
} }
private void exportFile(List<AuthDummyInventoryInfoEO> dataList, List<OSSFile> fileInfos,String path) throws IOException{
if(fileInfos.size() != 0){
for(AuthDummyInventoryInfoEO aii : dataList){
String deliverableTemplate = aii.getDeliverableTemplate();
String serialNumber = aii.getSerialNumber();
if(StringUtils.isBlank(serialNumber)){
continue;
}
List<OSSFile> deliverableTemplateFileList = new ArrayList<>();
List<OSSFile> oSSFileList = new ArrayList<>();
if(StringUtils.isNotBlank(deliverableTemplate)){
deliverableTemplateFileList = fileInfos.stream().filter(e -> deliverableTemplate.contains(e.getId())).collect(Collectors.toList());
oSSFileList.addAll(deliverableTemplateFileList);
}
if(oSSFileList.size() != 0){
String fileNowPath = path + "/" + serialNumber;
File file = new File(fileNowPath);
if (file.exists()) {
file.delete();
}
file.mkdirs();
for (OSSFile ossFile : oSSFileList) {
String url = ossFile.getUrl();
if(StringUtils.isNotBlank(url)){
//判断文件是否存在
boolean b = CosBootUtil.doesObjectExist(url);
if(b){
InputStream download = CosBootUtil.download(url);
copyFile(download, fileNowPath + File.separator + ossFile.getFileName());
}
}
}
}
}
}
}
/** /**
* 数据导入 * 数据导入
* @param file * @param file
@@ -1061,13 +1108,13 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
//必填项校验 *类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,*交付物类型"; //必填项校验 *类别,*检验项目,*配置项,*WVTA ID,*编号,*责任领域,*交付物类型";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){ if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
for(int k = 0 ; k <datas.size(); k++){ for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) || if(((datas.get(k).getCategory() == null)||(StringUtils.equals("",datas.get(k).getCategory()))) ||
datas.get(k).getInspectionItem() == null || ((datas.get(k).getInspectionItem() == null)||(StringUtils.equals("",datas.get(k).getInspectionItem()))) ||
datas.get(k).getConfigItem() == null || ((datas.get(k).getConfigItem() == null)||(StringUtils.equals("",datas.get(k).getConfigItem()))) ||
datas.get(k).getWvtaId() == null || ((datas.get(k).getWvtaId() == null)||(StringUtils.equals("",datas.get(k).getWvtaId()))) ||
datas.get(k).getSerialNumber() == null || ((datas.get(k).getSerialNumber() == null)||(StringUtils.equals("",datas.get(k).getSerialNumber()))) ||
datas.get(k).getDutyTerritoryName() == null || ((datas.get(k).getDutyTerritoryName() == null)||(StringUtils.equals("",datas.get(k).getDutyTerritoryName()))) ||
datas.get(k).getDeliverableTypeName() == null ){ ((datas.get(k).getDeliverableTypeName() == null)||(StringUtils.equals("",datas.get(k).getDeliverableTypeName())))){
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){ if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
@@ -1079,13 +1126,13 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
} }
}else { }else {
for(int k = 0 ; k <datas.size(); k++){ for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) || if(((datas.get(k).getCategory() == null)||(StringUtils.equals("",datas.get(k).getCategory()))) ||
datas.get(k).getInspectionItem() == null || ((datas.get(k).getInspectionItem() == null)||(StringUtils.equals("",datas.get(k).getInspectionItem()))) ||
datas.get(k).getConfigItem() == null || ((datas.get(k).getConfigItem() == null)||(StringUtils.equals("",datas.get(k).getConfigItem()))) ||
datas.get(k).getWvtaId() == null || ((datas.get(k).getWvtaId() == null)||(StringUtils.equals("",datas.get(k).getWvtaId()))) ||
datas.get(k).getSerialNumber() == null || ((datas.get(k).getSerialNumber() == null)||(StringUtils.equals("",datas.get(k).getSerialNumber()))) ||
datas.get(k).getDutyTerritoryName() == null || ((datas.get(k).getDutyTerritoryName() == null)||(StringUtils.equals("",datas.get(k).getDutyTerritoryName()))) ||
datas.get(k).getDeliverableTypeNameEn() == null ){ ((datas.get(k).getDeliverableTypeNameEn() == null)||(StringUtils.equals("",datas.get(k).getDeliverableTypeNameEn())))){
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){ if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
@@ -1289,7 +1336,15 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
for (String fileName : deliverableTemplate.split(",")) { for (String fileName : deliverableTemplate.split(",")) {
List<File> nowFileList = new ArrayList<>(); List<File> nowFileList = new ArrayList<>();
nowFileList = FileUnZip.readFileByFilename(zipEntryName, fileName,authDummyInventoryInfoEO.getCut(),errorMsg,msgList,nameCn,nameEn); nowFileList = this.readFileByFilename(
zipEntryName,
authDummyInventoryInfoEO.getSerialNumber() + "/" + fileName,
authDummyInventoryInfoEO.getCut(),
errorMsg,
msgList,
nameCn,
nameEn
);
if (nowFileList.size() == 0) { if (nowFileList.size() == 0) {
// if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ // if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
@@ -1320,6 +1375,61 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
return value; return value;
} }
public List<File> readFileByFilename(String path,
String filename,
String cut,
String errorMsg,
List<String> msgList,
String nameCn,
String nameEn) {
String filenameOne = "";
String filenameTwo = "";
if(filename.contains("/")){
filenameOne = filename.split("/")[0];
filenameTwo = filename.split("/")[1];
}
List<File> resultlist = new ArrayList<>();
if (StringUtil.isNotEmpty(path) && StringUtils.isNotBlank(filenameOne)){
File file = new File(path);
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File fi : files) {
if(fi.isDirectory()){
File[] filesTemp = fi.listFiles();
for (File fileTemp : filesTemp) {
// 对文件进行过滤
if (fileTemp.getName().equals(filenameTwo) && fi.getPath().contains(filenameOne)) {
resultlist.add(fileTemp);
}
}
}else{
// 对文件进行过滤
if (fi.getName().equals(filenameTwo) && fi.getPath().contains(filenameOne)) {
resultlist.add(fi);
}
}
}
}
}
if(resultlist.size() == 0){
String name = "";
if(filename.contains("/")){
name = filenameTwo;
}else{
name = filename;
}
if(CutEnum.CN.getValue().equals(cut)){
errorMsg += nameCn + name + "格式不正确或者压缩包中没有" + name + "文件,请参考模板下载中的说明";
}else{
errorMsg += nameEn + name + " Incorrect format or not present in compressed package " + name + " file please refer to the description in template download;";
}
if(msgList != null){
msgList.add(errorMsg);
}
}
return resultlist;
}
private String getTreeId(List<SysCategory> categoryList, AuthDummyInventoryInfoEO authDummyInventoryInfoEOTemp, private String getTreeId(List<SysCategory> categoryList, AuthDummyInventoryInfoEO authDummyInventoryInfoEOTemp,
List<String> treeNameList, String value) { List<String> treeNameList, String value) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
@@ -79,6 +79,7 @@ import com.jero.modules.tag.entity.OnlCgformArea;
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl; import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCell;
@@ -474,7 +475,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
} }
} }
//树形数据字典 //树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null); Map<String,Object> params = new HashedMap();
params.put("cut",cut);
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null,params);
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (OnlCgformField onlCgformField : fieldList) { for (OnlCgformField onlCgformField : fieldList) {
if(CutEnum.CN.getValue().equals(cut)){ if(CutEnum.CN.getValue().equals(cut)){
@@ -529,7 +532,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(StringUtils.valueOf(e.getIsQuery()))).collect(Collectors.toList()); fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(StringUtils.valueOf(e.getIsQuery()))).collect(Collectors.toList());
} }
//树形数据字典 //树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null); Map<String,Object> params = new HashedMap();
params.put("cut",cut);
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null,params);
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (OnlCgformField onlCgformField : fieldList) { for (OnlCgformField onlCgformField : fieldList) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
@@ -673,7 +678,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
} }
//树形数据字典 //树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null); Map<String,Object> params = new HashedMap();
params.put("cut",cut);
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null,params);
// List<Map<String, Object>> result = new ArrayList<>(); // List<Map<String, Object>> result = new ArrayList<>();
// for (OnlCgformArea onlCgformAreaTemp : areaList) { // for (OnlCgformArea onlCgformAreaTemp : areaList) {
// String areaName = ""; // String areaName = "";
@@ -766,7 +773,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
} }
//树形数据字典 //树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null); Map<String,Object> params = new HashedMap();
params.put("cut",cut);
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null,params);
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
for (OnlCgformArea onlCgformAreaTemp : areaList) { for (OnlCgformArea onlCgformAreaTemp : areaList) {
String areaName = ""; String areaName = "";
@@ -183,7 +183,7 @@ public enum OtaTitleEnum {
CSRJSJ("csrjsj", "初始软件包的完整性数据", "0", "", 500), CSRJSJ("csrjsj", "初始软件包的完整性数据", "0", "", 500),
SJBYZSJ("sjbyzsj", "升级包完整性验证数据", "0", "", 500), SJBYZSJ("sjbyzsj", "升级包完整性验证数据", "0", "", 500),
SJBDX("sjbdx", "升级包大小", "0", "", 50), SJBDX("sjbdx", "升级包大小", "0", "", 50),
SFCFSJ("sfcfsj", "是否差分升级", "0", "", 50), SFCFSJ("sfcfsj", "是否差分升级", "2", "", 0),
SJMDLX("sjmdlx", "升级目的类型", "0", "", 50), SJMDLX("sjmdlx", "升级目的类型", "0", "", 50),
GNBGMS("gnbgms", "功能变更描述", "0", "", 500), GNBGMS("gnbgms", "功能变更描述", "0", "", 500),
SYTJBG("sytjbg", "适用条件变更", "0", "", 500), SYTJBG("sytjbg", "适用条件变更", "0", "", 500),
@@ -74,6 +74,9 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
String otaId = (String) json.get("otaId"); String otaId = (String) json.get("otaId");
if (StringUtils.isNotEmpty(otaId)) { if (StringUtils.isNotEmpty(otaId)) {
oldList = getByOtaId(otaId); oldList = getByOtaId(otaId);
if (ObjectUtils.isEmpty(oldList)) {
oldList = setDefault(otaId);
}
deleteByOtaId(otaId); deleteByOtaId(otaId);
JSONArray list = json.getJSONArray("list"); JSONArray list = json.getJSONArray("list");
if (null != list) { if (null != list) {
@@ -111,6 +114,19 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
} }
} }
public List<OtaBaSjSjxtbh> setDefault(String otaId) {
List<OtaBaSjSjxtbh> list = this.getByOtaId(otaId);
Date now = new Date();
OtaBaSjSjxtbh bh = new OtaBaSjSjxtbh();
bh.setOtaId(otaId);
bh.setSjkzqmc("ADC ADAS主控制器");
bh.setCreateTime(now);
bh.setId(UUID.randomUUID().toString().replace("-", ""));
list.add(bh);
saveBatch(list);
return list;
}
public void deleteByOtaId(String otaId) { public void deleteByOtaId(String otaId) {
List<OtaBaSjSjxtbh> list = this.getByOtaId(otaId); List<OtaBaSjSjxtbh> list = this.getByOtaId(otaId);
List<String> ids = new ArrayList<>(); List<String> ids = new ArrayList<>();
@@ -183,6 +199,9 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
if (ObjectUtil.isEmpty(res)) { if (ObjectUtil.isEmpty(res)) {
res = getByOtaId(otaIdT); res = getByOtaId(otaIdT);
} }
if (ObjectUtils.isEmpty(res)) {
res = setDefault(otaId);
}
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
json.put("list", res); json.put("list", res);
@@ -204,13 +223,13 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
} }
@Override @Override
public void importData(MultipartFile file, String otaId, String cut, StringBuilder errMsg) throws Exception{ public void importData(MultipartFile file, String otaId, String cut, StringBuilder errMsg) throws Exception {
List<File> upLoadFiles = ImportFileUtil.importZip(file, cut, uploadPath); List<File> upLoadFiles = ImportFileUtil.importZip(file, cut, uploadPath);
parseFileList(upLoadFiles, otaId, cut,errMsg); parseFileList(upLoadFiles, otaId, cut, errMsg);
} }
@Override @Override
public void parseFileList(List<File> upLoadFiles, String otaId, String cut, StringBuilder errMsg) throws Exception{ public void parseFileList(List<File> upLoadFiles, String otaId, String cut, StringBuilder errMsg) throws Exception {
File upFile = null; File upFile = null;
for (File f : upLoadFiles) { for (File f : upLoadFiles) {
if (f.getName().equals("本次升级的系统名称与变更参数.xlsx")) { if (f.getName().equals("本次升级的系统名称与变更参数.xlsx")) {
@@ -221,7 +240,7 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
throw new JeroBootException("请上传正确的文件"); throw new JeroBootException("请上传正确的文件");
} }
List<OtaBaSjSjxtbh> newList = parseFile(upFile, otaId, cut,errMsg); List<OtaBaSjSjxtbh> newList = parseFile(upFile, otaId, cut, errMsg);
List<OtaBaSjSjxtbh> oldList = getByOtaId(otaId); List<OtaBaSjSjxtbh> oldList = getByOtaId(otaId);
if (ObjectUtils.isEmpty(oldList)) { if (ObjectUtils.isEmpty(oldList)) {
oldList = new ArrayList<>(); oldList = new ArrayList<>();
@@ -233,7 +252,7 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
otaBaCxTxjlService.saveBatch(reList); otaBaCxTxjlService.saveBatch(reList);
} }
private List<OtaBaSjSjxtbh> parseFile(File upFile, String otaId, String cut, StringBuilder errMsg) throws Exception{ private List<OtaBaSjSjxtbh> parseFile(File upFile, String otaId, String cut, StringBuilder errMsg) throws Exception {
Date now = new Date(); Date now = new Date();
List<OtaBaSjSjxtbh> list = new ArrayList<>(); List<OtaBaSjSjxtbh> list = new ArrayList<>();
Workbook wb = ImportFileUtil.readExcel(upFile); Workbook wb = ImportFileUtil.readExcel(upFile);
@@ -270,7 +289,7 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
cell = row.getCell(9); cell = row.getCell(9);
xtbh.setSjbdx(ImportFileUtil.getCellValue(cell, wb)); xtbh.setSjbdx(ImportFileUtil.getCellValue(cell, wb));
cell = row.getCell(10); cell = row.getCell(10);
xtbh.setSfcfsj(ImportFileUtil.getCellValue(cell, wb)); xtbh.setSfcfsj(ImportFileUtil.getCellValueYesOrNo(cell, wb));
ComparisonUtil cu = new ComparisonUtil(); ComparisonUtil cu = new ComparisonUtil();
cu.checkError(xtbh, errMsg, sysDictService, cut); cu.checkError(xtbh, errMsg, sysDictService, cut);
if (xtbh.isNull()) { if (xtbh.isNull()) {
@@ -319,7 +338,7 @@ public class OtaBaSjSjxtbhServiceImpl extends ServiceImpl<OtaBaSjSjxtbhMapper, O
cell = row.createCell(10); cell = row.createCell(10);
cell.setCellValue(bh.getSjbdx()); cell.setCellValue(bh.getSjbdx());
cell = row.createCell(11); cell = row.createCell(11);
cell.setCellValue(bh.getSfcfsj()); cell.setCellValue(ImportFileUtil.getCellValueYesOrNo(bh.getSfcfsj()));
start++; start++;
} }
wb.write(new FileOutputStream(file)); wb.write(new FileOutputStream(file));
@@ -160,8 +160,8 @@ public class OtaBaSjSjyxpgServiceImpl extends ServiceImpl<OtaBaSjSjyxpgMapper, O
Date now = new Date(); Date now = new Date();
OtaBaSjSjyxpg res = new OtaBaSjSjyxpg(); OtaBaSjSjyxpg res = new OtaBaSjSjyxpg();
res.setOtaId(otaId); res.setOtaId(otaId);
res.setFhgd(2); res.setFhgd(1);
res.setZdjsxg(1); res.setZdjsxg(2);
res.setZxsj(2); res.setZxsj(2);
res.setAqjz("2"); res.setAqjz("2");
res.setSfyxaq(2); res.setSfyxaq(2);
@@ -505,4 +505,10 @@ public class ProjectLawsInventoryEO implements Serializable {
/**设计符合性确认-流程实例id*/ /**设计符合性确认-流程实例id*/
@TableField(exist = false) @TableField(exist = false)
private String designPId; private String designPId;
/**流程结束时间 最后的时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "流程结束时间 最后的时间")
private Date processEndTime;
} }
@@ -2997,16 +2997,16 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
//必填项校验 //必填项校验
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
for(int k = 0 ; k <datas.size(); k++){ for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) || if(((datas.get(k).getCategory() == null)||(StringUtils.equals("",datas.get(k).getCategory()))) ||
datas.get(k).getInspectionItem() == null || ((datas.get(k).getInspectionItem() == null)||(StringUtils.equals("",datas.get(k).getInspectionItem()))) ||
datas.get(k).getConfigItem() == null || ((datas.get(k).getConfigItem() == null)||(StringUtils.equals("",datas.get(k).getConfigItem()))) ||
datas.get(k).getWvtaId() == null || ((datas.get(k).getWvtaId() == null)||(StringUtils.equals("",datas.get(k).getWvtaId()))) ||
datas.get(k).getSerialNumber() == null || ((datas.get(k).getSerialNumber() == null)||(StringUtils.equals("",datas.get(k).getSerialNumber()))) ||
datas.get(k).getDutyTerritoryName() == null || ((datas.get(k).getDutyTerritoryName() == null)||(StringUtils.equals("",datas.get(k).getDutyTerritoryName()))) ||
datas.get(k).getSdtName() == null || ((datas.get(k).getSdtName() == null)||(StringUtils.equals("",datas.get(k).getSdtName()))) ||
datas.get(k).getDutyPersonName() == null || ((datas.get(k).getDutyPersonName() == null)||(StringUtils.equals("",datas.get(k).getDutyPersonName()))) ||
datas.get(k).getDeliverableTypeName() == null || ((datas.get(k).getDeliverableTypeName() == null)||(StringUtils.equals("",datas.get(k).getDeliverableTypeName()))) ||
datas.get(k).getEndTimeStr() == null ){ ((datas.get(k).getEndTimeStr() == null)||(StringUtils.equals("",datas.get(k).getEndTimeStr())))){
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
@@ -3018,16 +3018,16 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
} }
}else { }else {
for(int k = 0 ; k <datas.size(); k++){ for(int k = 0 ; k <datas.size(); k++){
if((datas.get(k).getCategory() == null) || if(((datas.get(k).getCategory() == null)||(StringUtils.equals("",datas.get(k).getCategory()))) ||
datas.get(k).getInspectionItem() == null || ((datas.get(k).getInspectionItem() == null)||(StringUtils.equals("",datas.get(k).getInspectionItem()))) ||
datas.get(k).getConfigItem() == null || ((datas.get(k).getConfigItem() == null)||(StringUtils.equals("",datas.get(k).getConfigItem()))) ||
datas.get(k).getWvtaId() == null || ((datas.get(k).getWvtaId() == null)||(StringUtils.equals("",datas.get(k).getWvtaId()))) ||
datas.get(k).getSerialNumber() == null || ((datas.get(k).getSerialNumber() == null)||(StringUtils.equals("",datas.get(k).getSerialNumber()))) ||
datas.get(k).getDutyTerritoryName() == null || ((datas.get(k).getDutyTerritoryName() == null)||(StringUtils.equals("",datas.get(k).getDutyTerritoryName()))) ||
datas.get(k).getSdtName() == null || ((datas.get(k).getSdtName() == null)||(StringUtils.equals("",datas.get(k).getSdtName()))) ||
datas.get(k).getDutyPersonName() == null || ((datas.get(k).getDutyPersonName() == null)||(StringUtils.equals("",datas.get(k).getDutyPersonName()))) ||
datas.get(k).getDeliverableTypeNameEn() == null || ((datas.get(k).getDeliverableTypeNameEn() == null)||(StringUtils.equals("",datas.get(k).getDeliverableTypeNameEn()))) ||
datas.get(k).getEndTimeStr() == null ){ ((datas.get(k).getEndTimeStr() == null)||(StringUtils.equals("",datas.get(k).getEndTimeStr())))){
//删除原上传文件 //删除原上传文件
FileUnZip.deleteDir(saveDirectory); FileUnZip.deleteDir(saveDirectory);
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){ if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
@@ -3073,6 +3073,21 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
this.saveBatch(datas); this.saveBatch(datas);
this.saveProjectCertificationInventoryLog(datas,OperatorTypeEnum.CERTIFICATION_INVENTORY_IMPORT_ADD.getValue()); this.saveProjectCertificationInventoryLog(datas,OperatorTypeEnum.CERTIFICATION_INVENTORY_IMPORT_ADD.getValue());
Date now = new Date();
//设置权限 先删后加
List<ProjectUserPermission> adds = new ArrayList<>();
for (ProjectCertificationInventoryEO pci: datas) {
if (ObjectUtils.isNotEmpty(pci.getSdt())) {
setProjectCertificationInventoryPermission(pci.getSdt(), pci.getProjectLibraryId(), pci.getId(), now, adds, ProjectUserLocationEnum.PROJECT_CERTIFICATION_INVENTORY_SDT.getValue());
}
if (ObjectUtils.isNotEmpty(pci.getDutyPerson())) {
setProjectCertificationInventoryPermission(pci.getDutyPerson(), pci.getProjectLibraryId(), pci.getId(), now, adds, ProjectUserLocationEnum.PROJECT_CERTIFICATION_INVENTORY_DP.getValue());
}
}
if (ObjectUtils.isNotEmpty(adds)) {
projectUserPermissionService.saveBatch(adds);
}
} }
} }
} }
@@ -9280,6 +9280,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
InputStream fin = null; InputStream fin = null;
ServletOutputStream out = null; ServletOutputStream out = null;
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//导出只有英文,去除中英文切换。 //导出只有英文,去除中英文切换。
params.put("cut",CutEnum.EN.getValue()); params.put("cut",CutEnum.EN.getValue());
String id = (String) params.get("id"); String id = (String) params.get("id");
@@ -9290,13 +9292,23 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//查询数据 //查询数据
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrapper = new QueryWrapper<>();
lawsInventoryQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getId,id); lawsInventoryQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getId,id);
ProjectLawsInventoryEO projectLawsInventoryEO = this.baseMapper.selectOne(lawsInventoryQueryWrapper); ProjectLawsInventoryEO projectLawsInventory = this.baseMapper.selectOne(lawsInventoryQueryWrapper);
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = new ArrayList<>();
projectLawsInventoryEOList.add(projectLawsInventory);
this.dataDispose(
projectLawsInventoryEOList,
currentUser,
Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue()),
CutEnum.EN.getValue()
);
ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOList.get(0);
params.put("projectLawsInventoryEO",projectLawsInventoryEO); params.put("projectLawsInventoryEO",projectLawsInventoryEO);
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>(); /*QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
taskInventoryQueryWrapper.lambda().eq(ProjectTaskInventoryEO::getProjectLawsInventoryId,id); taskInventoryQueryWrapper.lambda().eq(ProjectTaskInventoryEO::getProjectLawsInventoryId,id);
ProjectTaskInventoryEO projectTaskInventoryEO = projectTaskInventoryEOService.getBaseMapper().selectOne(taskInventoryQueryWrapper); ProjectTaskInventoryEO projectTaskInventoryEO = projectTaskInventoryEOService.getBaseMapper().selectOne(taskInventoryQueryWrapper);
params.put("projectTaskInventoryEO",projectTaskInventoryEO); params.put("projectTaskInventoryEO",projectTaskInventoryEO);*/
QueryWrapper<ProjectLibraryBase> libraryBaseQueryWrapper = new QueryWrapper<>(); QueryWrapper<ProjectLibraryBase> libraryBaseQueryWrapper = new QueryWrapper<>();
libraryBaseQueryWrapper.lambda().eq(ProjectLibraryBase::getId,projectLawsInventoryEO.getProjectLibraryId()); libraryBaseQueryWrapper.lambda().eq(ProjectLibraryBase::getId,projectLawsInventoryEO.getProjectLibraryId());
@@ -9314,14 +9326,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
dataMap.put("crNo", String.valueOf(new SimpleDateFormat("yyyyMMddHHmmssSSSS").format(new Date()))); dataMap.put("crNo", String.valueOf(new SimpleDateFormat("yyyyMMddHHmmssSSSS").format(new Date())));
String flowStatus = ""; String flowStatus = "";
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getVerifyStatus())){
flowStatus = projectTaskInventoryEO.getVerifyStatus() + ","; if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyFlowStatusName())){
flowStatus += projectLawsInventoryEO.getVerifyFlowStatusName() + ",";
} }
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getPrehomoStatus())){ if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignFlowStatusName())){
flowStatus += projectTaskInventoryEO.getPrehomoStatus() + ","; flowStatus += projectLawsInventoryEO.getDesignFlowStatusName() + ",";
}
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getVerifyStatus())){
flowStatus += projectTaskInventoryEO.getVerifyStatus() + ",";
} }
if(StringUtils.isNotEmpty(flowStatus)){ if(StringUtils.isNotEmpty(flowStatus)){
flowStatus = flowStatus.substring(0,flowStatus.length() - 1); flowStatus = flowStatus.substring(0,flowStatus.length() - 1);
@@ -9356,8 +9366,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//对应 np 车型平台 //对应 np 车型平台
dataMap.put("NP", StringUtils.isNotEmpty(projectNameInfoEO.getVehiclePlatform()) ? projectNameInfoEO.getVehiclePlatform() : ""); dataMap.put("NP", StringUtils.isNotEmpty(projectNameInfoEO.getVehiclePlatform()) ? projectNameInfoEO.getVehiclePlatform() : "");
String processEndTimeStr = ""; String processEndTimeStr = "";
if(projectTaskInventoryEO.getProcessEndTime() != null){ // 流程最后结束的时间
processEndTimeStr = sdf.format(projectTaskInventoryEO.getProcessEndTime()); if(projectLawsInventoryEO.getProcessEndTime() != null){
processEndTimeStr = sdf.format(projectLawsInventoryEO.getProcessEndTime());
} }
dataMap.put("COMPLETION_DATE", StringUtils.isNotEmpty(processEndTimeStr) ? processEndTimeStr : ""); dataMap.put("COMPLETION_DATE", StringUtils.isNotEmpty(processEndTimeStr) ? processEndTimeStr : "");
@@ -9446,14 +9457,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(inputStream); WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(inputStream);
//验证符合性流程实例id //验证符合性流程实例id
String verifyPId = projectTaskInventoryEO.getVerifyPId(); String verifyPId = projectLawsInventoryEO.getVerifyPId();
//Compliance Attachments 验证符合性流程里最后通过审批的“工程确认”中的附件 //Compliance Attachments 验证符合性流程里最后通过审批的“工程确认”中的附件
setTableContent(1,wordMLPackage,params,verifyPId); setTableContent(1,wordMLPackage,params,verifyPId);
//Validation Compliance Check Approvals(验证符合性确认的审批历史数据) //Validation Compliance Check Approvals(验证符合性确认的审批历史数据)
setTableContent(4,wordMLPackage,params,verifyPId); setTableContent(4,wordMLPackage,params,verifyPId);
//设计符合性流程实例id //设计符合性流程实例id
String designPId = projectTaskInventoryEO.getDesignPId(); String designPId = projectLawsInventoryEO.getDesignPId();
//Design Compliance Check Approvals (设计符合性确认的审批历史数据) //Design Compliance Check Approvals (设计符合性确认的审批历史数据)
setTableContent(3,wordMLPackage,params,designPId); setTableContent(3,wordMLPackage,params,designPId);
@@ -9529,13 +9540,30 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
// 设置数据 // 设置数据
if(StringUtils.isNotEmpty(pId)){ if(StringUtils.isNotEmpty(pId)){
if(tableIndex == 1){ if(tableIndex == 1){
QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>(); /*QueryWrapper<ProjectTaskInventoryFeedbackEO> taskFeedbackQueryWrapper = new QueryWrapper<>();
taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId); taskFeedbackQueryWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getActiProcInstId,pId);
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(taskFeedbackQueryWrapper); List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(taskFeedbackQueryWrapper);
if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOList)){ if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOList)){
List<String> fileIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getFileId).distinct().collect(Collectors.toList()); List<String> fileIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getFileId).distinct().collect(Collectors.toList());
String fileId = StringUtils.join(fileIdList,","); String fileId = StringUtils.join(fileIdList,",");
List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId); List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId);
if(CollectionUtils.isNotEmpty(fileList)){
fileList.forEach(file -> {
Map<String,Object> fileMap = new HashMap<>();
fileMap.put("ITEM_FILENAME", StringUtils.isNotEmpty(file.getFileName()) ? file.getFileName() : "");
fileMap.put("ITEM_FILEPATH", StringUtils.isNotEmpty(file.getUrl()) ? file.getUrl() : "");
*//*fileMap.put("item.fileName", file.getFileName());
fileMap.put("item.filePath", file.getUrl());*//*
dataList.add(fileMap);
});
}
}*/
params.put("actiProcInstId",pId);
List<ProcessHistoryEO> processHistoryEOList = processHistoryEOService.queryList(params);
if(CollectionUtils.isNotEmpty(processHistoryEOList)){
List<String> fileIdList = processHistoryEOList.stream().map(ProcessHistoryEO::getApprovalFile).distinct().collect(Collectors.toList());
String fileId = StringUtils.join(fileIdList,",");
List<OSSFile> fileList = iOSSFileService.getFileInfos(fileId);
if(CollectionUtils.isNotEmpty(fileList)){ if(CollectionUtils.isNotEmpty(fileList)){
fileList.forEach(file -> { fileList.forEach(file -> {
Map<String,Object> fileMap = new HashMap<>(); Map<String,Object> fileMap = new HashMap<>();
@@ -470,6 +470,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
List<Map<String,Object>> lawEngineerList = new ArrayList<>(); List<Map<String,Object>> lawEngineerList = new ArrayList<>();
List<Map<String,Object>> certificationEngineerList = new ArrayList<>(); List<Map<String,Object>> certificationEngineerList = new ArrayList<>();
List<Map<String,Object>> engineeringInterfacePersonList = new ArrayList<>(); List<Map<String,Object>> engineeringInterfacePersonList = new ArrayList<>();
List<Map<String,Object>> studioPersonList = new ArrayList<>(); List<Map<String,Object>> studioPersonList = new ArrayList<>();
//项目的studio用户 //项目的studio用户
LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ProjectLibraryBase> wrapper = new LambdaQueryWrapper<>();
@@ -510,6 +511,19 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
userIdList.add(engineeringInterfacePerson); userIdList.add(engineeringInterfacePerson);
} }
} }
if(StringUtils.isNotBlank(projectRelatedPersonnel.getEngineerLawSet())){
String[] engineerLawSetArr = projectRelatedPersonnel.getEngineerLawSet().split(",");
for (String engineerLawSet : engineerLawSetArr) {
userIdList.add(engineerLawSet);
}
}
if(StringUtils.isNotBlank(projectRelatedPersonnel.getEngineerAttSet())){
String[] engineerAttSetArr = projectRelatedPersonnel.getEngineerAttSet().split(",");
for (String engineerAttSet : engineerAttSetArr) {
userIdList.add(engineerAttSet);
}
}
} }
userIdList.add(studioEngineer); userIdList.add(studioEngineer);
List<SysUser> sysUserList = new ArrayList<>(); List<SysUser> sysUserList = new ArrayList<>();
@@ -558,6 +572,33 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
} }
} }
if(StringUtils.isNotBlank(projectRelatedPersonnel.getEngineerLawSet())){
String[] engineerLawSetArr = projectRelatedPersonnel.getEngineerLawSet().split(",");
for (String engineerLawSet : engineerLawSetArr) {
for (SysUser sysUser : sysUserList) {
if(StringUtils.equals(engineerLawSet,sysUser.getId())){
Map<String,Object> map = new HashMap<>();
map.put("name",sysUser.getUsername());
map.put("value",sysUser.getId());
engineeringInterfacePersonList.add(map);
}
}
}
}
if(StringUtils.isNotBlank(projectRelatedPersonnel.getEngineerAttSet())){
String[] engineerAttSetArr = projectRelatedPersonnel.getEngineerAttSet().split(",");
for (String engineerAttSet : engineerAttSetArr) {
for (SysUser sysUser : sysUserList) {
if(StringUtils.equals(engineerAttSet,sysUser.getId())){
Map<String,Object> map = new HashMap<>();
map.put("name",sysUser.getUsername());
map.put("value",sysUser.getId());
engineeringInterfacePersonList.add(map);
}
}
}
}
if (StringUtils.isNotBlank(studioEngineer)) { if (StringUtils.isNotBlank(studioEngineer)) {
for (SysUser sysUser : sysUserList) { for (SysUser sysUser : sysUserList) {
if (StringUtils.equals(studioEngineer, sysUser.getId())) { if (StringUtils.equals(studioEngineer, sysUser.getId())) {
@@ -55,6 +55,7 @@ import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.UserUtils; import com.jero.modules.system.util.UserUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
@@ -2957,7 +2958,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList()); fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList());
} }
//树形数据字典 //树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null); // 查询所有 并以树结构返回 Map<String,Object> params = new HashedMap();
params.put("cut",cut);
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree(null,params); // 查询所有 并以树结构返回
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (OnlCgformField onlCgformField : fieldList) { for (OnlCgformField onlCgformField : fieldList) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
+3 -3
View File
@@ -385,7 +385,7 @@
ellipsis: true, ellipsis: true,
dataIndex: 'fileName', dataIndex: 'fileName',
scopedSlots: { customRender: 'fileName' }, scopedSlots: { customRender: 'fileName' },
width: 200 width: 270
}, },
{ {
title: this.$t('fileDeclaration'), title: this.$t('fileDeclaration'),
@@ -393,7 +393,7 @@
ellipsis: true, ellipsis: true,
dataIndex: 'fileDescription', dataIndex: 'fileDescription',
scopedSlots: { customRender: 'projectName' }, scopedSlots: { customRender: 'projectName' },
width: 300 width: 390
}, },
{ {
title: this.$t('uploadedBy'), title: this.$t('uploadedBy'),
@@ -412,7 +412,7 @@
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'createTime', dataIndex: 'createTime',
width: 250 width: 245
}, },
{ {
title: this.$t('operation'), title: this.$t('operation'),
@@ -364,6 +364,7 @@ h1{
width: calc(100% - 130px); width: calc(100% - 130px);
display: inline-block; display: inline-block;
margin-top: 2px; margin-top: 2px;
height: 40px;
} }
.box-input { .box-input {
@@ -9,7 +9,7 @@
{{$t('templateDownload')}} {{$t('templateDownload')}}
</div> </div>
</div> </div>
<a-table ref="table" size="middle" :pagination="false" :scroll="{ x: '100%', y: 'calc(100vh - 140px)' }" rowKey="key" <a-table class="table" ref="table" size="middle" :pagination="false" :scroll="{ x: '100%' }" rowKey="key"
bordered :data-source="dataSource" :columns="columns" style="margin-bottom: 20px"> bordered :data-source="dataSource" :columns="columns" style="margin-bottom: 20px">
<span slot="relevantverification" slot-scope="text,record"> <span slot="relevantverification" slot-scope="text,record">
@@ -369,4 +369,8 @@ button {
color: #00B3BE; color: #00B3BE;
border-color: #00B3BE; border-color: #00B3BE;
} }
.table {
white-space: break-spaces;
}
</style> </style>
@@ -457,7 +457,7 @@
:query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable')}" :query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable')}"
:personneQuery="formInline" :personneQuery="formInline"
:isSingleChoice="true" :isSingleChoice="true"
v-if="visible" v-if="personnelVisible"
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
:disabled="disabled" :disabled="disabled"
v-model="formInline.dutyPersonName"/> v-model="formInline.dutyPersonName"/>
@@ -509,6 +509,7 @@
formInline: {}, formInline: {},
confirmLoading: false, confirmLoading: false,
visible: false, visible: false,
personnelVisible:false,
yearNameDataList: [], yearNameDataList: [],
rules: { rules: {
serialNumber: [ serialNumber: [
@@ -631,6 +632,7 @@
addModel() { addModel() {
this.visible = true this.visible = true
this.personnelVisible = true
this.title = this.$t('add') this.title = this.$t('add')
this.formInline = {} this.formInline = {}
this.getRegulationNo() this.getRegulationNo()
@@ -643,6 +645,7 @@
editModel(value) { editModel(value) {
this.formInline = {} this.formInline = {}
this.visible = true this.visible = true
this.personnelVisible = true
this.formInline = JSON.parse(JSON.stringify(value)) this.formInline = JSON.parse(JSON.stringify(value))
// if (this.formInline.deliverableType) { // if (this.formInline.deliverableType) {
// this.formInline.deliverableType = this.formInline.deliverableType.split(',') // this.formInline.deliverableType = this.formInline.deliverableType.split(',')
@@ -659,6 +662,7 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.personnelVisible = false
}, },
handleSubmit() { handleSubmit() {
this.$refs.ruleForm.validate(valid => { this.$refs.ruleForm.validate(valid => {
@@ -709,6 +713,7 @@
this.$message.success(this.$t('OperationSuccessful')) this.$message.success(this.$t('OperationSuccessful'))
} }
this.visible = false this.visible = false
this.personnelVisible = false
this.$emit('addModelForm') this.$emit('addModelForm')
} else { } else {
this.$message.warning(res.message) this.$message.warning(res.message)
@@ -831,9 +836,14 @@
this.formInline.dutyPersonName = res.result.engineeringInterfacePersonList[0].name this.formInline.dutyPersonName = res.result.engineeringInterfacePersonList[0].name
this.formInline.dutyPerson = res.result.engineeringInterfacePersonList[0].value this.formInline.dutyPerson = res.result.engineeringInterfacePersonList[0].value
} }
this.formInline = {...this.formInline}
} else if (this.engineeringInterfacePersonList.length == 0) { } else if (this.engineeringInterfacePersonList.length == 0) {
this.formInline.sdt = undefined this.formInline.sdt = undefined
} }
this.personnelVisible = false
this.$nextTick(()=>{
this.personnelVisible = true
})
} else { } else {
this.$nextTick(() => { this.$nextTick(() => {
this.formInline.dataList[index].engineeringInterfacePersonList = res.result.engineeringInterfacePersonList || [] this.formInline.dataList[index].engineeringInterfacePersonList = res.result.engineeringInterfacePersonList || []
+8 -6
View File
@@ -41,6 +41,7 @@
size="middle" size="middle"
rowKey="id" rowKey="id"
:columns="columns" :columns="columns"
:components="drag(columns,'columns')"
:dataSource="dataSource" :dataSource="dataSource"
:pagination="ipagination" :pagination="ipagination"
:loading="loading" :loading="loading"
@@ -61,10 +62,11 @@
import DataLogModal from './modules/DataLogModal' import DataLogModal from './modules/DataLogModal'
import {JeroListMixin} from '@/mixins/JeroListMixin' import {JeroListMixin} from '@/mixins/JeroListMixin'
import JEllipsis from "@/components/jero/JEllipsis"; import JEllipsis from "@/components/jero/JEllipsis";
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'DataLogList', name: 'DataLogList',
mixins: [JeroListMixin], mixins: [JeroListMixin, ResizeHeader, ResizeColumnProvide],
components: { components: {
JEllipsis, JEllipsis,
DataLogModal DataLogModal
@@ -76,28 +78,28 @@
columns: [ columns: [
{ {
title: this.$t('tableName'), title: this.$t('tableName'),
align: 'center', align: 'left',
dataIndex: 'dataTable', dataIndex: 'dataTable',
width: "120" width: "120"
}, { }, {
title: this.$t('DataID'), title: this.$t('DataID'),
align: 'center', align: 'left',
dataIndex: 'dataId', dataIndex: 'dataId',
width: "120" width: "120"
}, { }, {
title: this.$t('VersionNumber'), title: this.$t('VersionNumber'),
align: 'center', align: 'left',
dataIndex: 'dataVersion', dataIndex: 'dataVersion',
width: "50" width: "50"
}, { }, {
title: this.$t('DataContent'), title: this.$t('DataContent'),
align: 'center', align: 'left',
dataIndex: 'dataContent', dataIndex: 'dataContent',
width: "150", width: "150",
scopedSlots: {customRender: 'dataContent'}, scopedSlots: {customRender: 'dataContent'},
}, { }, {
title: this.$t('creator'), title: this.$t('creator'),
align: 'center', align: 'left',
dataIndex: 'createBy', dataIndex: 'createBy',
width: "100" width: "100"
}, },