diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java index 098f5ef40..6697e9093 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectNameInfoEOController.java @@ -173,10 +173,10 @@ public class ProjectNameInfoEOController extends JeroController { - @Select("select pni.id,pni.project_name,pnyi.id as year_id,pyni.year_name,pni.vehicle_platform,pni.digital_platform\n" + + @Select("select pni.id,pni.project_name,pyni.id as year_id,pyni.year_name,pni.vehicle_platform,pni.digital_platform\n" + "from project_name_info as pni\n" + "left join project_year_name_info as pyni on pni.id=pyni.project_name_id;") List selectProjectNameAndYear(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectNameInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectNameInfoEOService.java index 4a6f9033d..1d430b3db 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectNameInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectNameInfoEOService.java @@ -61,5 +61,5 @@ public interface IProjectNameInfoEOService extends IService { - void getSpaceInfo(String cut); + //void getSpaceInfo(String cut); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ConditionAssessmentEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ConditionAssessmentEOServiceImpl.java index c2aa0db29..b47897179 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ConditionAssessmentEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ConditionAssessmentEOServiceImpl.java @@ -220,7 +220,7 @@ public class ConditionAssessmentEOServiceImpl extends ServiceImpl> result = new ArrayList<>(); if(CollectionUtils.isNotEmpty(projectLawsInventoryIdList)){ List conditionAssessmentList = this.baseMapper.getProjectStatusAssessListByConditionAssessment(projectLawsInventoryIdList, conditionAssessment); - List dutyTerritoryList = conditionAssessmentList.stream().distinct().map(ConditionAssessmentEO::getDutyTerritory).collect(Collectors.toList()); + List dutyTerritoryList = conditionAssessmentList.stream().map(ConditionAssessmentEO::getDutyTerritory).distinct().collect(Collectors.toList()); dutyTerritoryList.forEach(dutyTerritory -> { Map map = new HashMap<>(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 8b34e9960..fc564f4eb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -10,7 +10,6 @@ import com.jero.common.system.vo.LoginUser; import com.jero.modules.project.entity.ConditionAssessmentEO; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLibraryBase; -import com.jero.modules.project.entity.ProjectNameInfoEO; import com.jero.modules.project.enums.*; import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; @@ -77,6 +76,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl projectNameAndYear = projectNameInfoEOMapper.selectProjectNameAndYear(); -// projectNameAndYear.stream().filter("year_id") + checkExitData(projectLibraryBase); save(projectLibraryBase); //创建任务计划时间轴 projectTaskPlanningService.setProjectTaskPlanning(projectLibraryBase.getId()); } + + /**检查车型名称id,年款号,目标市场同时存在,报错*/ + public void checkExitData(ProjectLibraryBase projectLibraryBase){ + String projectNameId = projectLibraryBase.getProjectNameId(); + String yearNameId = projectLibraryBase.getYearNameId(); + String targetMarket = projectLibraryBase.getTargetMarket(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_name_id",projectNameId).eq("year_name_id",yearNameId).eq("target_market",targetMarket); + Integer count = projectLibraryBaseMapper.selectCount(queryWrapper); + if (count > 0) { + if(CutEnum.CN.getValue().equals(projectLibraryBase.getCut())) { + throw new JeroBootException("已存在车型名称,年款号,目标市场均同的数据"); + }else{ + throw new JeroBootException("There are data with the same model name, model number and target market."); + } + } + } /** * 更新 * @@ -117,6 +131,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl nameInfoEOQueryWrapper = new QueryWrapper<>(); + nameInfoEOQueryWrapper.eq("project_name",modelName) + .eq("vehicle_platform",hardwarePltName) + .eq("digital_platform",softwarePltName); + Integer nameInfoEOSameCount = projectNameInfoEOMapper.selectCount(nameInfoEOQueryWrapper); + + if(nameInfoEOSameCount == 0) {//没有重复的,保存 + String nameInfoId = UUID.randomUUID().toString().replace("-", ""); + + ProjectNameInfoEO projectNameInfoEO = new ProjectNameInfoEO(); + projectNameInfoEO.setId(nameInfoId); + projectNameInfoEO.setProjectName(modelName); + projectNameInfoEO.setVehiclePlatform(hardwarePltName); + projectNameInfoEO.setDigitalPlatform(softwarePltName); + //保存 + projectNameInfoEOService.save(projectNameInfoEO); + + + for (int j = 0; j < modelYearInfoJson.size(); j++) { + JSONObject modelYearInfo = modelYearInfoJson.getJSONObject(j); + String yearName = modelYearInfo.getString("yearName"); + + ProjectYearNameInfoEO projectYearNameInfoEO = new ProjectYearNameInfoEO(); + projectYearNameInfoEO.setProjectNameId(nameInfoId); + projectYearNameInfoEO.setYearName(yearName); + //保存 + projectYearNameInfoEOService.save(projectYearNameInfoEO); + } + }else {//有重复的,校验年款 + List projectNameInfoDataList = projectNameInfoEOService.list(nameInfoEOQueryWrapper); + String nameInfoId = projectNameInfoDataList.stream().map(e -> e.getId()).collect(Collectors.toList()).get(0); + List yearNameInfoEOList = new ArrayList<>(); + for (int j = 0; j < modelYearInfoJson.size(); j++) { + JSONObject modelYearInfo = modelYearInfoJson.getJSONObject(j); + String yearName = modelYearInfo.getString("yearName"); + ProjectYearNameInfoEO projectYearNameInfoEO = new ProjectYearNameInfoEO(); + projectYearNameInfoEO.setProjectNameId(nameInfoId); + projectYearNameInfoEO.setYearName(yearName); + yearNameInfoEOList.add(projectYearNameInfoEO); + } + + //同步过来的数据里的年款 + List yearNameList = yearNameInfoEOList.stream().filter(e -> e.getProjectNameId().equals(nameInfoId)).map(e -> e.getYearName()).collect(Collectors.toList()); + + //查数据里的年款 + QueryWrapper yearNameInfoEOQueryWrapper = new QueryWrapper<>(); + yearNameInfoEOQueryWrapper.eq("project_name_id",nameInfoId); + List yearNameInfoDataList = projectYearNameInfoEOService.list(yearNameInfoEOQueryWrapper); + List yearNameDataList = yearNameInfoDataList.stream().filter(e -> e.getProjectNameId().equals(nameInfoId)).map(e -> e.getYearName()).collect(Collectors.toList()); + + //获得不同年款 + yearNameList.remove(yearNameDataList); + + if(yearNameList.size()>0){//存在不同年款 + List diffYearNameList = new ArrayList<>(); + for (ProjectYearNameInfoEO projectYearNameInfoEO: yearNameInfoEOList) { + if(! yearNameList.contains(projectYearNameInfoEO.getYearName())) { + diffYearNameList.add(projectYearNameInfoEO); + } + } + projectYearNameInfoEOService.saveBatch(yearNameInfoDataList); + } + } +// if(CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("从Space获取项目名称相关数据,成功保存"); +// }else{ +// throw new JeroBootException("Get the data related to the project name from Space and save it successfully."); +// } + } + }else{ +// if(CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("从Space获取项目名称相关数据为空"); +// }else{ +// throw new JeroBootException("Data related to obtaining project name from Space is empty."); +// } + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java index ad3b26f61..df0f01d13 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/space/service/SpaceServiceImpl.java @@ -77,21 +77,12 @@ public class SpaceServiceImpl implements ISpaceService { String sign = sign(paramMap,appSecret);//签名字符串 paramMap.put("sign",sign);//签名字符串 -// paramMap.put("appId", appId);//在Program Space中注册的appId -// paramMap.put("bizData", "{\"module\":\"GRP\"}");//业务参数 -// paramMap.put("timestamp", "1652965354000");//请求时间 -// -//// String sign = sign(paramMap,appSecret);//签名字符串 -// paramMap.put("sign","148EF05BAB45F6D1213DA506D1D04E1B");//签名字符串 - -// String response = HttpUtil.post(domainUrl, paramMap); String response = HttpRequest.post(domainUrl) .header("Content-Type", "application/x-www-form-urlencoded") .form(paramMap)//表单内容 .timeout(20000)//超时,毫秒 .execute().body(); -// String response = HttpRequestUtil.getResponseOfPOST(domainUrl, headerMap, null); return response; } diff --git a/jero-web/src/views/projectManagement/components/deliverableStatusEchart.vue b/jero-web/src/views/projectManagement/components/deliverableStatusEchart.vue index f1d9a0b02..04f4dd81b 100644 --- a/jero-web/src/views/projectManagement/components/deliverableStatusEchart.vue +++ b/jero-web/src/views/projectManagement/components/deliverableStatusEchart.vue @@ -149,6 +149,13 @@ status: res.designFlowTaskStatus || res.prehomoFlowTaskStatus || res.verifyFlowTaskStatus }) color.push('#9DB9D4') + } else if (res.designFlowTaskStatus == 'Termination of task' || res.prehomoFlowTaskStatus == 'Termination of task' || res.verifyFlowTaskStatus == 'Termination of task') { + data.push({ + value: res.designFlowTaskStatusCount || res.prehomoFlowTaskStatusCount || res.verifyFlowTaskStatusCount, + name: this.$t('taskTermination'), + status: res.designFlowTaskStatus || res.prehomoFlowTaskStatus || res.verifyFlowTaskStatus + }) + color.push('#E83030') } } )