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

This commit is contained in:
zyx.net
2023-09-20 17:58:33 +08:00
4 changed files with 154 additions and 6 deletions
@@ -63,17 +63,29 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
}
/**
* 法规清单关联平台件
* 勾选法规清单进行关联平台件
*
* @return
*/
@AutoLog(value = "法规清单关联平台件")
@ApiOperation(value="法规清单关联平台件", notes="法规清单关联平台件")
@AutoLog(value = "勾选法规清单进行关联平台件")
@ApiOperation(value="勾选法规清单进行关联平台件", notes="勾选法规清单进行关联平台件")
@PostMapping(value = "/listPlatform")
public Result<?> listPlatform(@RequestBody Map<String,Object> params) {
List<Map<String, Object>> mapList = projectLibraryBaseService.listPlatform(params);
return Result.OK(params.get("cut").toString(),mapList);
}
/**
* 不勾选法规清单进行关联平台件
*
* @return
*/
@AutoLog(value = "不勾选法规清单进行关联平台件")
@ApiOperation(value="不勾选法规清单进行关联平台件", notes="不勾选法规清单进行关联平台件")
@PostMapping(value = "/listPlatformAll")
public Result<?> listPlatformAll(@RequestBody Map<String,Object> params) {
List<Map<String, Object>> mapList = projectLibraryBaseService.listPlatformAll(params);
return Result.OK(params.get("cut").toString(),mapList);
}
/**
* 列表查询
@@ -87,11 +87,18 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
List<ProjectLibraryBase> queryPageList(Map<String, Object> params);
/**
* 法规清单关联平台件
* 勾选法规清单进行关联平台件
* @param params
* @return
*/
List<Map<String,Object>> listPlatform(Map<String, Object> params);
/**
* 不勾选法规清单进行关联平台件
* @param params
* @return
*/
List<Map<String,Object>> listPlatformAll(Map<String, Object> params);
// IPage<ProjectLibraryBase> queryPageList(Map<String, Object> params);
/**
@@ -1827,7 +1827,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
}
private String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
public String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
List<SysCategory> collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList());
@@ -61,6 +61,7 @@ import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
import com.jero.modules.project.service.IProjectLibraryStatisticsService;
import com.jero.modules.project.service.IProjectUserPermissionService;
import com.jero.modules.project.vo.TimeNodeVO;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.enums.DicCodeEnum;
@@ -70,6 +71,7 @@ import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.IProjectUserBrandService;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.StringUtils;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
@@ -206,6 +208,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
private OtaManageApplyEOServiceImpl otaManageApplyEOService;
@Autowired
private LawsInventoryPlatformEOServiceImpl lawsInventoryPlatformEOService;
@Autowired
private SysCategoryServiceImpl sysCategoryService;
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private static DecimalFormat df = new DecimalFormat("#.00");
@@ -1265,7 +1269,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
return resultLast;
}
/**
* 法规清单关联平台件
* 勾选法规清单进行关联平台件
*
* @return
*/
@@ -1294,6 +1298,131 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
projectLibraryBaseList = this.list(wrapper2);
}
//普通数据字典
List<SysDictItem> sysDictItemList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue());
List<SysCategory> categoryList = sysCategoryService.list();
List<Map<String,Object>> mapList = new ArrayList<>();
List<Map<String,Object>> mapListOne = new ArrayList<>();
for (ProjectLawsInventoryEO projectLawsInventoryEO : lawsInventoryEOList) {
Map<String,Object> map = new HashMap<>();
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = new ArrayList<>();
//serialNumber dutyTerritory
String serialNumber = projectLawsInventoryEO.getSerialNumber();
String dutyTerritory = projectLawsInventoryEO.getDutyTerritory();
String subtitle = projectLawsInventoryEO.getSubtitle();
//责任领域
List<String> list = new LinkedList<>();
if(StringUtils.isNotBlank(dutyTerritory)){
for (String s : dutyTerritory.split(",")) {
List<SysDictItem> collect = sysDictItemList.stream().filter(e -> e.getItemValue().equals(s)).collect(Collectors.toList());
if(CutEnum.CN.getValue().equals(cut) && !collect.isEmpty()){
list.add(collect.get(0).getItemText());
}else if(CutEnum.EN.getValue().equals(cut) && !collect.isEmpty()){
list.add(collect.get(0).getEnName());
}
}
}
String dutyTerritoryNew = "";
if(!list.isEmpty()){
dutyTerritoryNew = StringUtils.join(list, ",");
}
//设计-交付物类型
String designDeliverableTypeName = "";
String verifyDeliverableTypeName = "";
String designDeliverableType = projectLawsInventoryEO.getDesignDeliverableType();
if(StringUtils.isNotBlank(designDeliverableType)){
designDeliverableTypeName = projectLawsInventoryEOService.getTreeName(cut, categoryList, Arrays.asList(designDeliverableType.split(",")));
}
//验证-交付物类型
String verifyDeliverableType = projectLawsInventoryEO.getVerifyDeliverableType();
if(StringUtils.isNotBlank(verifyDeliverableType)){
verifyDeliverableTypeName = projectLawsInventoryEOService.getTreeName(cut, categoryList, Arrays.asList(verifyDeliverableType.split(",")));
}
for (ProjectLawsInventoryEO lawsInventoryEO : lawsInventoryEOS) {
String serialNumberTemp = lawsInventoryEO.getSerialNumber();
String dutyTerritoryTemp = lawsInventoryEO.getDutyTerritory();
if(serialNumber.equals(serialNumberTemp) && StringUtils.isNotBlank(dutyTerritory) && dutyTerritory.equals(dutyTerritoryTemp)){
List<ProjectLibraryBase> projectLibraryBases = projectLibraryBaseList.stream().filter(e -> e.getId().equals(lawsInventoryEO.getProjectLibraryId())).collect(Collectors.toList());
if(!projectLibraryBases.isEmpty()){
lawsInventoryEO.setProjectName(projectLibraryBases.get(0).getProjectNameId());
}
if(!list.isEmpty()){
lawsInventoryEO.setDutyTerritory_dictText(dutyTerritoryNew);
}
lawsInventoryEO.setDesignDeliverableTypeName(designDeliverableTypeName);
lawsInventoryEO.setVerifyDeliverableTypeName(verifyDeliverableTypeName);
projectLawsInventoryEOS.add(lawsInventoryEO);
}
}
if(!projectLawsInventoryEOS.isEmpty() && projectLawsInventoryEOS.size() > 1){
map.put("lawsInventoryId",projectLawsInventoryEO.getId());
map.put("title",serialNumber+" "+dutyTerritoryNew+" "+subtitle+"在平台件项目中包含多条匹配内容,请选择关联");
map.put("result",projectLawsInventoryEOS);
mapList.add(map);
}else if(!projectLawsInventoryEOS.isEmpty() && projectLawsInventoryEOS.size() == 1){
Map<String,Object> mapTemp = new HashMap<>();
mapTemp.put("lawsInventoryId",projectLawsInventoryEO.getId());
mapTemp.put("result",projectLawsInventoryEOS);
mapListOne.add(mapTemp);
}
}
if(!mapListOne.isEmpty()){
//匹配一条平台件时直接新增
List<LawsInventoryPlatformEO> lawsInventoryPlatformEOS = new ArrayList<>();
for (Map<String, Object> map : mapListOne) {
LawsInventoryPlatformEO inventoryPlatformEO = new LawsInventoryPlatformEO();
inventoryPlatformEO.setCreateTime(new Date());
inventoryPlatformEO.setUpdateTime(new Date());
inventoryPlatformEO.setLawsInventoryId((String) map.get("lawsInventoryId"));
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = (List<ProjectLawsInventoryEO>) map.get("result");
inventoryPlatformEO.setPlatformLawsInventoryId(projectLawsInventoryEOS.get(0).getId());
lawsInventoryPlatformEOS.add(inventoryPlatformEO);
}
if (!lawsInventoryPlatformEOS.isEmpty()) {
lawsInventoryPlatformEOService.saveBatch(lawsInventoryPlatformEOS);
}
}
return mapList;
}
/**
* 不勾选法规清单进行关联平台件
*
* @return
*/
@Override
public List<Map<String,Object>> listPlatformAll(Map<String,Object> params) {
String cut = (String) params.get("cut");//
String projectLibraryIds = (String) params.get("projectLibraryIds");//法规清单id
String platformProjectLibraryIds = (String) params.get("platformProjectLibraryIds");//平台件法规id
//法规清单数据
LambdaQueryWrapper<ProjectLawsInventoryEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ProjectLawsInventoryEO::getId,Arrays.asList(projectLibraryIds.split(",")));
List<ProjectLawsInventoryEO> lawsInventoryEOList = projectLawsInventoryEOService.list(wrapper);
//只有法规的设计符合性确认和验证符合性确认中的流程状态均为清单待发布的时候,才能关联平台件数据
lawsInventoryEOList = lawsInventoryEOList.stream()
.filter(e->ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue().equals(e.getDesignFlowStatus())
&& ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue().equals(e.getVerifyFlowStatus())).collect(Collectors.toList());
//平台件项目对应的法规清单数据
LambdaQueryWrapper<ProjectLawsInventoryEO> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(ProjectLawsInventoryEO::getId,Arrays.asList(platformProjectLibraryIds.split(",")));
List<ProjectLawsInventoryEO> lawsInventoryEOS = projectLawsInventoryEOService.list(wrapper1);
//平台件项目信息
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
if(!lawsInventoryEOList.isEmpty()){
List<String> projectIdList = lawsInventoryEOS.stream().map(ProjectLawsInventoryEO::getProjectLibraryId).distinct().collect(Collectors.toList());
LambdaQueryWrapper<ProjectLibraryBase> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.in(ProjectLibraryBase::getId,projectIdList);
projectLibraryBaseList = this.list(wrapper2);
}
//普通数据字典
List<SysDictItem> sysDictItemList = sysDictItemMapper.selectItemsByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue());
List<Map<String,Object>> mapList = new ArrayList<>();