虚拟清单--列表交付物模板回显

This commit is contained in:
zhn
2022-04-14 14:29:50 +08:00
parent 04f3fbc158
commit 5c9ee968ea
2 changed files with 88 additions and 19 deletions
@@ -165,6 +165,9 @@ public class DummyInventoryInfoEO implements Serializable {
@ApiModelProperty(value = "设计符合性确认-交付物模板")
private java.lang.String designDeliverableTemplate;
@TableField(exist = false)
private java.lang.String designDeliverableTemplateName;
/**设计符合性确认-发起人*/
@Excel(name = "设计符合性确认-发起人", width = 15)
@ApiModelProperty(value = "设计符合性确认-发起人")
@@ -185,6 +188,9 @@ public class DummyInventoryInfoEO implements Serializable {
@ApiModelProperty(value = "prehomo确认-交付物模板")
private java.lang.String prehomoDeliverableTemplate;
@TableField(exist = false)
private java.lang.String prehomoDeliverableTemplateName;
/**prehomo确认-发起人*/
@Excel(name = "prehomo确认-发起人", width = 15)
@ApiModelProperty(value = "prehomo确认-发起人")
@@ -205,6 +211,9 @@ public class DummyInventoryInfoEO implements Serializable {
@ApiModelProperty(value = "验证符合性确认-交付物模板")
private java.lang.String verifyDeliverableTemplate;
@TableField(exist = false)
private java.lang.String verifyDeliverableTemplateName;
/**验证符合性确认-发起人*/
@Excel(name = "验证符合性确认-发起人", width = 15)
@ApiModelProperty(value = "验证符合性确认-发起人")
@@ -12,6 +12,8 @@ import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.mapper.DummyInventoryInfoEOMapper;
import com.jero.modules.dummy.service.IDummyInventoryInfoEOService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import org.apache.commons.lang3.StringUtils;
@@ -44,6 +46,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
private IBussDocumentLibraryEOService iBussDocumentLibraryEOService;
@Autowired
private SysCategoryServiceImpl sysCategoryService;
@Autowired
private IOSSFileService iOSSFileService;
@Override
@@ -181,36 +185,92 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
*/
private void treeDict(DummyInventoryInfoEO dummyInventoryInfoEO, IPage<DummyInventoryInfoEO> pageInfo) {
Set<String> technologyTerritorySet = new HashSet<>();
List<String> deliverableList = new ArrayList<>();
for (DummyInventoryInfoEO record : pageInfo.getRecords()) {
//技术领域
if(StringUtils.isNotBlank(record.getTechnologyTerritory())){
List<String> list = Arrays.asList(record.getTechnologyTerritory().split(","));
technologyTerritorySet.addAll(list);
}
//设计符合性确认交付物模板
if(StringUtils.isNotBlank(record.getDesignDeliverableTemplate())){
deliverableList.addAll(Arrays.asList(record.getDesignDeliverableTemplate().split(",")));
}
// Prehomo确认交付物模板
if(StringUtils.isNotBlank(record.getPrehomoDeliverableTemplate())){
deliverableList.addAll(Arrays.asList(record.getPrehomoDeliverableTemplate().split(",")));
}
// 验证符合性确认交付物模板
if(StringUtils.isNotBlank(record.getVerifyDeliverableTemplate())){
deliverableList.addAll(Arrays.asList(record.getVerifyDeliverableTemplate().split(",")));
}
}
//文件
List<OSSFile> fileInfos = new ArrayList<>();
if(deliverableList.size() != 0){
fileInfos = iOSSFileService.getFileInfos(StringUtils.join(deliverableList, ","));
}
//树形结构数据字典(技术领域)
if(technologyTerritorySet.size() != 0){
LambdaQueryWrapper<SysCategory> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysCategory::getId,technologyTerritorySet);
List<SysCategory> categoryList = sysCategoryService.list(wrapper);
for (DummyInventoryInfoEO record : pageInfo.getRecords()) {
if(StringUtils.isNotBlank(record.getTechnologyTerritory())){
List<String> technologyTerritoryList = Arrays.asList(record.getTechnologyTerritory().split(","));
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
List<SysCategory> collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList());
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
sb.append(collect.get(0).getName() + ",");
}else{
sb.append(collect.get(0).getEnName());
}
LambdaQueryWrapper<SysCategory> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SysCategory::getId, technologyTerritorySet);
List<SysCategory> categoryList = sysCategoryService.list(wrapper);
for (DummyInventoryInfoEO record : pageInfo.getRecords()) {
//技术领域
if (categoryList.size() != 0 && StringUtils.isNotBlank(record.getTechnologyTerritory())) {
List<String> technologyTerritoryList = Arrays.asList(record.getTechnologyTerritory().split(","));
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
List<SysCategory> collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) {
sb.append(collect.get(0).getName() + ",");
} else {
sb.append(collect.get(0).getEnName());
}
String technologyTerritoryName = "";
if(StringUtils.isNotBlank(sb)){
technologyTerritoryName = sb.substring(0, sb.length() - 1);
}
String technologyTerritoryName = "";
if (StringUtils.isNotBlank(sb)) {
technologyTerritoryName = sb.substring(0, sb.length() - 1);
}
record.setTechnologyTerritoryName(technologyTerritoryName);
}
//交付物类型模板
if(fileInfos.size() != 0){
if(StringUtils.isNotBlank(record.getDesignDeliverableTemplate())){
String fileName = getFileName(record, fileInfos,record.getDesignDeliverableTemplate());
if(StringUtils.isNotBlank(fileName)){
record.setDesignDeliverableTemplateName(fileName);
}
}
if(StringUtils.isNotBlank(record.getPrehomoDeliverableTemplate())){
String fileName = getFileName(record, fileInfos,record.getPrehomoDeliverableTemplate());
if(StringUtils.isNotBlank(fileName)){
record.setPrehomoDeliverableTemplateName(fileName);
}
}
if(StringUtils.isNotBlank(record.getVerifyDeliverableTemplate())){
String fileName = getFileName(record, fileInfos,record.getVerifyDeliverableTemplate());
if(StringUtils.isNotBlank(fileName)){
record.setVerifyDeliverableTemplateName(fileName);
}
record.setTechnologyTerritoryName(technologyTerritoryName);
}
}
}
}
private String getFileName(DummyInventoryInfoEO dummyInventoryInfoEO,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());
sb.append(collect.get(0).getFileName() + ",");
}
String sbStr = "";
if(StringUtils.isNotBlank(sb)){
sbStr = sb.substring(0, sb.length() - 1);
}
return sbStr;
}
}