|
@@ -48,7 +48,7 @@ public class ScenePackageService {
|
|
|
* 测试包数据录入大保存:
|
|
|
*/
|
|
|
@SneakyThrows
|
|
|
- public ResponseBodyVO<String> saveScenePackage(List<ScenePackageSublistVO> params) {
|
|
|
+ public ResponseBodyVO<String> saveScenePackage(List<ScenePackageSublistVO> params,Integer isLcw) {
|
|
|
List<ScenePackageSublistVO> listSublictTree = new ArrayList<>();
|
|
|
ScenePackagePO po = new ScenePackagePO();
|
|
|
for (ScenePackageSublistVO vo : params) {
|
|
@@ -74,7 +74,13 @@ public class ScenePackageService {
|
|
|
po.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
|
|
|
|
List<ScenePackageSublistPO> poList = new ArrayList<>();
|
|
|
- List<ScenePackageSublistPO> treeList = instShareListTree(listSublictTree, uuId, uuId, poList, "0", 1);
|
|
|
+ List<ScenePackageSublistPO> treeList=new ArrayList<>();
|
|
|
+ if(isLcw==1){
|
|
|
+ treeList = instShareListTreeLCW(listSublictTree, uuId, uuId, poList, "0", 1);
|
|
|
+
|
|
|
+ }else{
|
|
|
+ treeList = instShareListTree(listSublictTree, uuId, uuId, poList, "0", 1);
|
|
|
+ }
|
|
|
//校验指标名称唯一
|
|
|
if (treeList == null || treeList.size() < 1) {
|
|
|
return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE, "指标数据为空,请检查");
|
|
@@ -286,7 +292,7 @@ public class ScenePackageService {
|
|
|
po.setShare("1");
|
|
|
List<ScenePackageSublistPO> poList = new ArrayList<>();
|
|
|
List<ScenePackageSublistVO> listSublist = selectScenePackageSubListTree(null, true, params.getPackageId());
|
|
|
- List<ScenePackageSublistPO> treeList = instShareListTree(listSublist, uuId, uuId, poList, "1", 1);
|
|
|
+ List<ScenePackageSublistPO> treeList = instShareListTreeFX(listSublist, uuId, uuId, poList, "1", 1);
|
|
|
if (treeList != null && treeList.size() > 1) {
|
|
|
Set set = new HashSet();
|
|
|
Map map = new HashMap<>();
|
|
@@ -321,14 +327,15 @@ public class ScenePackageService {
|
|
|
syPo.setIsDeleted("0");
|
|
|
syPo.setShare("1");
|
|
|
scoringRulesMapper.saveScoringRules(syPo);
|
|
|
- vo.setPackageAndRules(syPo.getRulesId());
|
|
|
}
|
|
|
+ vo.setPackageAndRules(syPo.getRulesId());
|
|
|
|
|
|
|
|
|
//分享场景
|
|
|
//自然场景
|
|
|
String sceneNaturalIds=vo.getSceneNaturalIds();
|
|
|
if(ObjectUtil.isNotNull(sceneNaturalIds)){
|
|
|
+ String sceneNaturalIdsGy="";
|
|
|
List<String> sceneNaturalIdList=Arrays.asList(sceneNaturalIds.split(","));
|
|
|
SceneNaturalPO SceneNaturalparm=new SceneNaturalPO();
|
|
|
SceneNaturalparm.setShare("1");
|
|
@@ -354,13 +361,19 @@ public class ScenePackageService {
|
|
|
SceneNaturalPOSy.setModifyUserId("");
|
|
|
sceneNaturalMapper.saveSceneNatural(SceneNaturalPOSy);
|
|
|
}
|
|
|
-
|
|
|
+ if(ObjectUtil.isNull(sceneNaturalIdsGy)){
|
|
|
+ sceneNaturalIdsGy=SceneNaturalPOSy.getNaturalId();
|
|
|
+ }else{
|
|
|
+ sceneNaturalIdsGy=sceneNaturalIdsGy+","+SceneNaturalPOSy.getNaturalId();
|
|
|
+ }
|
|
|
}
|
|
|
+ vo.setSceneNaturalIds(sceneNaturalIdsGy);
|
|
|
};
|
|
|
|
|
|
//标准法规
|
|
|
String sceneStatueIds=vo.getSceneStatueIds();
|
|
|
if(ObjectUtil.isNotNull(sceneStatueIds)){
|
|
|
+ String sceneStatueIdsGy="";
|
|
|
List<String> sceneStatueIdList=Arrays.asList(sceneStatueIds.split(","));
|
|
|
StandardsRegulationsPO standardsRegulationsPO=new StandardsRegulationsPO();
|
|
|
standardsRegulationsPO.setShare("1");
|
|
@@ -386,12 +399,20 @@ public class ScenePackageService {
|
|
|
standardsRegulationsPOSy.setModifyUserId("");
|
|
|
standardsRegulationsMapper.saveStandardsRegulations(standardsRegulationsPOSy);
|
|
|
}
|
|
|
+
|
|
|
+ if(ObjectUtil.isNull(sceneStatueIdsGy)){
|
|
|
+ sceneStatueIdsGy=standardsRegulationsPOSy.getRegulationsId();
|
|
|
+ }else{
|
|
|
+ sceneStatueIdsGy=sceneStatueIdsGy+","+standardsRegulationsPOSy.getRegulationsId();
|
|
|
+ }
|
|
|
}
|
|
|
+ vo.setSceneStatueIds(sceneStatueIdsGy);
|
|
|
};
|
|
|
|
|
|
//交通事故
|
|
|
String sceneTrafficIds=vo.getSceneTrafficIds();
|
|
|
if(ObjectUtil.isNotNull(sceneTrafficIds)){
|
|
|
+ String sceneTrafficIdsGy="";
|
|
|
List<String> sceneTrafficIdList=Arrays.asList(sceneTrafficIds.split(","));
|
|
|
SceneAccidentPO sceneAccidentPO=new SceneAccidentPO();
|
|
|
sceneAccidentPO.setShare("1");
|
|
@@ -417,7 +438,13 @@ public class ScenePackageService {
|
|
|
sceneAccidentPOSy.setModifyUserId("");
|
|
|
sceneAccidentMapper.saveSceneAccident(sceneAccidentPOSy);
|
|
|
}
|
|
|
+ if(ObjectUtil.isNull(sceneTrafficIdsGy)){
|
|
|
+ sceneTrafficIdsGy=sceneAccidentPOSy.getAccidentId();
|
|
|
+ }else{
|
|
|
+ sceneTrafficIdsGy=sceneTrafficIdsGy+","+sceneAccidentPOSy.getAccidentId();
|
|
|
+ }
|
|
|
}
|
|
|
+ vo.setSceneTrafficIds(sceneTrafficIdsGy);
|
|
|
};
|
|
|
|
|
|
//泛化模板
|
|
@@ -527,7 +554,7 @@ public class ScenePackageService {
|
|
|
String uuId = StringUtil.getRandomUUID();
|
|
|
params.setId(uuId); //主键ID
|
|
|
}else if(ObjectUtil.isNotNull(parentVoList.get(i).getSceneGeneralizationIds())){
|
|
|
- scenePackageSublistMapper.deleteScenePackageSublistById(parentVoList.get(i).getId());
|
|
|
+ scenePackageSublistMapper.deleteScenePackageSublistById(parentVoList.get(i).getId());
|
|
|
}
|
|
|
params.setIsDeleted("0");
|
|
|
params.setShare(share);
|
|
@@ -566,4 +593,80 @@ public class ScenePackageService {
|
|
|
return sceneParam;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public List<ScenePackageSublistPO> instShareListTreeFX(List<ScenePackageSublistVO> parentVoList,
|
|
|
+ String scenePackageId, String rootId, List<ScenePackageSublistPO> poList
|
|
|
+ , String share, Integer level) {
|
|
|
+ //获取子节点集合
|
|
|
+ for (int i = 0; i < parentVoList.size(); i++) {
|
|
|
+ ScenePackageSublistPO params = new ScenePackageSublistPO();
|
|
|
+ BeanUtils.copyProperties(parentVoList.get(i), params);
|
|
|
+ params.setParentId(scenePackageId);
|
|
|
+ params.setRootId(rootId);
|
|
|
+ params.setSublistName(parentVoList.get(i).getSublistName());
|
|
|
+ params.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
+ params.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
+ params.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
|
+ //添加泛化后处理 如果是泛化用返回值中的结果
|
|
|
+ if (ObjectUtil.isNull(parentVoList.get(i).getSceneGeneralizationIds())) {
|
|
|
+ String uuId = StringUtil.getRandomUUID();
|
|
|
+ params.setId(uuId); //主键ID
|
|
|
+ }else if(ObjectUtil.isNotNull(parentVoList.get(i).getSceneGeneralizationIds())){
|
|
|
+ if(share.equals("1")){
|
|
|
+ String uuId = StringUtil.getRandomUUID();
|
|
|
+ params.setId(uuId);
|
|
|
+ }else{
|
|
|
+ scenePackageSublistMapper.deleteScenePackageSublistById(parentVoList.get(i).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ params.setIsDeleted("0");
|
|
|
+ params.setShare(share);
|
|
|
+ params.setPackageLevel(level);
|
|
|
+ params.setTreeNode(parentVoList.get(i).getTreeNode());
|
|
|
+ List<ScenePackageSublistVO> cvoList = parentVoList.get(i).getChildren();
|
|
|
+ poList.add(params);
|
|
|
+ if (cvoList != null && cvoList.size() > 0) {
|
|
|
+ //继续查找下一节点
|
|
|
+ int b = level + 1;
|
|
|
+ instShareListTreeFX(cvoList, params.getId(), rootId, poList, share, b);
|
|
|
+ }
|
|
|
+ parentVoList.remove(parentVoList.get(i));
|
|
|
+ i--;
|
|
|
+ }
|
|
|
+ return poList;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<ScenePackageSublistPO> instShareListTreeLCW(List<ScenePackageSublistVO> parentVoList,
|
|
|
+ String scenePackageId, String rootId, List<ScenePackageSublistPO> poList
|
|
|
+ , String share, Integer level) {
|
|
|
+ //获取子节点集合
|
|
|
+ for (int i = 0; i < parentVoList.size(); i++) {
|
|
|
+ ScenePackageSublistPO params = new ScenePackageSublistPO();
|
|
|
+ BeanUtils.copyProperties(parentVoList.get(i), params);
|
|
|
+ params.setParentId(scenePackageId);
|
|
|
+ params.setRootId(rootId);
|
|
|
+ params.setSublistName(parentVoList.get(i).getSublistName());
|
|
|
+ params.setCreateTime(TimeUtil.getNowForMysql());
|
|
|
+ params.setModifyTime(TimeUtil.getNowForMysql());
|
|
|
+ params.setCreateUserId(AuthUtil.getCurrentUserId());
|
|
|
+ //添加泛化后处理 如果是泛化用返回值中的结果
|
|
|
+ String uuId = StringUtil.getRandomUUID();
|
|
|
+ params.setId(uuId); //主键ID
|
|
|
+ params.setIsDeleted("0");
|
|
|
+ params.setShare(share);
|
|
|
+ params.setPackageLevel(level);
|
|
|
+ params.setTreeNode(parentVoList.get(i).getTreeNode());
|
|
|
+ List<ScenePackageSublistVO> cvoList = parentVoList.get(i).getChildren();
|
|
|
+ poList.add(params);
|
|
|
+ if (cvoList != null && cvoList.size() > 0) {
|
|
|
+ //继续查找下一节点
|
|
|
+ int b = level + 1;
|
|
|
+ instShareListTreeLCW(cvoList, params.getId(), rootId, poList, share, b);
|
|
|
+ }
|
|
|
+ parentVoList.remove(parentVoList.get(i));
|
|
|
+ i--;
|
|
|
+ }
|
|
|
+ return poList;
|
|
|
+ }
|
|
|
+
|
|
|
}
|