From b06236449d3434d1e81e4eb0dda218cceb7f6816 Mon Sep 17 00:00:00 2001 From: xiejunyu Date: Fri, 6 May 2022 22:24:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95-=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E5=A4=84=E7=90=86=E6=95=B0=E6=8D=AE+=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/DummyInventoryBaseDictCodeEnum.java | 40 ++ .../impl/DummyInventoryBaseEOServiceImpl.java | 536 +++++++++++++----- .../com/jero/modules/dummy/util/ListDiff.java | 16 +- 3 files changed, 440 insertions(+), 152 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/DummyInventoryBaseDictCodeEnum.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/DummyInventoryBaseDictCodeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/DummyInventoryBaseDictCodeEnum.java new file mode 100644 index 000000000..3ce41303f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/DummyInventoryBaseDictCodeEnum.java @@ -0,0 +1,40 @@ +package com.jero.modules.dummy.enums; + + +public enum DummyInventoryBaseDictCodeEnum { + DUTY_TERRITORY("责任领域","duty_territory"), + IMPLEMENT_TYPE("实施类别","implement_type"), + ATTESTATION_TYPE("认证类型","attestation_type"), + ATTESTATION_RANK("认证级别","attestation_rank"), + DELIVERABLE_TEMPLATE("交付物类型","deliverable_template"), + FA1_QI3_REN2("发起人","fa1_qi3_ren2"), + ZE2_REN2_REN2("责任人","ze2_ren4_ren2"), + + ; + + + + String name; + String value; + + private DummyInventoryBaseDictCodeEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index c74e3b024..7ce170850 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -14,6 +14,7 @@ import com.jero.modules.dummy.entity.DummyContentChangeEO; import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.entity.DummyInventoryInfoEO; import com.jero.modules.dummy.entity.DummyReadEO; +import com.jero.modules.dummy.enums.DummyInventoryBaseDictCodeEnum; import com.jero.modules.dummy.enums.InventoryStateEnum; import com.jero.modules.dummy.enums.ReadFlagEnum; import com.jero.modules.dummy.mapper.DummyInventoryBaseEOMapper; @@ -23,11 +24,14 @@ import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import com.jero.modules.dummy.service.IDummyReadEOService; import com.jero.modules.dummy.util.ListDiff; import com.jero.modules.feishu.service.IFeishuService; -import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.system.entity.SysAnnouncement; +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.mapper.SysDictItemMapper; import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import org.apache.commons.collections.MapUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -70,8 +74,10 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl dummyReadIdList = dummyReadEOS.stream().map(DummyReadEO::getDummyInventoryBaseId).collect(Collectors.toList()); for (DummyInventoryBaseEO record : pageList.getRecords()) { //订阅标识 - if(dummyReadIdList.contains(record.getId())){ - record.setReadFlag(ReadFlagEnum.READ.getValue()); - }else{ - record.setReadFlag(ReadFlagEnum.CANCEL_READ.getValue()); - } + if(dummyReadIdList.contains(record.getId())){ + record.setReadFlag(ReadFlagEnum.READ.getValue()); + }else{ + record.setReadFlag(ReadFlagEnum.CANCEL_READ.getValue()); + } } } @@ -219,6 +225,9 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl不发消息,数据不处理 //先判断是发布还是撤回 1-->发布 2-->撤回 + //撤回需要发消息 + + if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){ //先判断第一次发布的时候是否保存过数据 LambdaQueryWrapper wrapper =new LambdaQueryWrapper<>(); @@ -285,57 +294,89 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl infoDiff = null; - List> infoDiffList=null; String addSerialNumber=null; String deleteSerialNumber=null; List addSerialNumberList =null; List deleteSerialNumberList =null; - //对比,获取值不同的字段 - for(DummyContentChangeEO dummyContentChangeEO : dummyContentChangeEOInfoList) { - String infoCJ = dummyContentChangeEO.getContentJson(); - List infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list - //获取数据库和传入同时存在的编号 - List infoCJBaseSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); - List dummyInventoryInfoEOSerialNumberList = dummyInventoryInfoEOList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(dummyInventoryInfoEOSerialNumberList)) { - dummyInventoryInfoEOSerialNumberList.removeIf(s -> !infoCJBaseSerialNumberList.contains(s)); + //获取数据库里保存的json + String infoCJ = dummyContentChangeEOInfoList.get(0).getContentJson(); + List infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list + + //翻译字典code值 + disposeData(infoCJList); + disposeData(dummyInventoryInfoEOList); + + //获取数据库和传入同时存在的编号 + //获取两个的编号 + List infoCJBaseSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); + + + List dummyInventoryInfoEOSerialNumberList = dummyInventoryInfoEOList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); + + + List sameDummyInventoryInfoEOList = new ArrayList<>(); + List sameinfoCJList = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(dummyInventoryInfoEOSerialNumberList)) { + //查询共有编号 + List sameSerialNumberList = infoCJBaseSerialNumberList.stream().filter(t -> dummyInventoryInfoEOSerialNumberList.contains(t)).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(sameSerialNumberList)) { + for (String sameSerialNumber : sameSerialNumberList) { + //查询传入里包含共有编号的数据 + for(DummyInventoryInfoEO dummyInventoryInfoEO :dummyInventoryInfoEOList){ + if (dummyInventoryInfoEO.getSerialNumber().equals(sameSerialNumber)) { + sameDummyInventoryInfoEOList.add(dummyInventoryInfoEO); + } + } + + //查询数据库里包含共有编号的数据 + for (DummyInventoryInfoEO midInfoCJ : infoCJList) { + if (midInfoCJ.getSerialNumber().equals(sameSerialNumber)) { + sameinfoCJList.add(midInfoCJ); + } + } + } } - System.out.println(dummyInventoryInfoEOSerialNumberList); + } - //4.2.1处理原有详情数据 - for (int i = 0; i < infoCJList.size(); i++) { - infoDiff = ListDiff.compareObject(infoCJList.get(i), dummyInventoryInfoEOList.get(i)); + + //4.2.1处理现原共有有详情数据不同值字段 + Map infoDiff = null; + List> infoDiffList=new ArrayList<>(); + + for (int i = 0; i < sameinfoCJList.size(); i++) { + infoDiff = ListDiff.compareObject(sameinfoCJList.get(i), sameDummyInventoryInfoEOList.get(i)); + if (MapUtils.isNotEmpty(infoDiff)) { infoDiffList.add(infoDiff); } - - //4.2.2处理新增数据 - List infoCJSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); - for (DummyInventoryInfoEO dummyInventoryInfoEO : infoCJList) { - addSerialNumberList = dummyInventoryInfoEOList.stream().filter(e -> !dummyInventoryInfoEO.equals(e.getId())) - .map(f -> f.getSerialNumber()).collect(Collectors.toList()); - } - //去掉发布时传入的和数据库同时有的数据 - for(String midSerialNumber:infoCJSerialNumberList){ - addSerialNumberList.remove(midSerialNumber); - } - addSerialNumber =StringUtils.join(addSerialNumberList,","); - - - //4.2.3处理删除的数据 - for (DummyInventoryInfoEO dummyInventoryInfoEO : infoCJList) { - deleteSerialNumberList = dummyInventoryInfoEOList.stream().filter(e -> !dummyInventoryInfoEO.equals(e.getId())) - .map(f -> f.getSerialNumber()).collect(Collectors.toList()); - - } - for(String midSerialNumber:deleteSerialNumberList){ - infoCJSerialNumberList.remove(midSerialNumber); - } - deleteSerialNumber=StringUtils.join(infoCJSerialNumberList,","); } + + //4.2.2处理新增数据 + List infoCJSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); + for (DummyInventoryInfoEO dummyInventoryInfoEO : infoCJList) { + addSerialNumberList = dummyInventoryInfoEOList.stream().filter(e -> !dummyInventoryInfoEO.equals(e.getId())) + .map(f -> f.getSerialNumber()).collect(Collectors.toList()); + } + //去掉发布时传入的和数据库同时有的数据 + for(String midSerialNumber:infoCJSerialNumberList){ + addSerialNumberList.remove(midSerialNumber); + } + addSerialNumber =StringUtils.join(addSerialNumberList,","); + + //4.2.3处理删除的数据 + for (DummyInventoryInfoEO dummyInventoryInfoEO : infoCJList) { + deleteSerialNumberList = dummyInventoryInfoEOList.stream().filter(e -> !dummyInventoryInfoEO.equals(e.getId())) + .map(f -> f.getSerialNumber()).collect(Collectors.toList()); + + } + for(String midSerialNumber:deleteSerialNumberList){ + infoCJSerialNumberList.remove(midSerialNumber); + } + deleteSerialNumber=StringUtils.join(infoCJSerialNumberList,","); + //向订阅该领域管理的人发消息和飞书 - sendMsg(baseDiff,dummyContentChangeEOBaseList.get(0).getConnectId(),infoDiff,addSerialNumber,deleteSerialNumber); + sendMsg(baseDiff,dummyContentChangeEOBaseList.get(0).getConnectId(),infoDiffList,addSerialNumber,deleteSerialNumber); //5.数据对比完成后.删除之前保存的dummy_inventory_info中的数据,重新保存最新的数据 @@ -352,7 +393,118 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl baseDiff, String idTemp,Map infoDiff,String addSerialNumber,String deleteSerialNumber) { + public void disposeData(List records) { + Set technologyTerritorySet = new HashSet<>(); + for (DummyInventoryInfoEO dummyInventoryInfoEO : records) { + //技术领域 + if(StringUtils.isNotBlank(dummyInventoryInfoEO.getTechnologyTerritory())){ + List list = Arrays.asList(dummyInventoryInfoEO.getTechnologyTerritory().split(",")); + technologyTerritorySet.addAll(list); + } + //树形结构数据字典(技术领域) + List categoryList = new ArrayList<>(); + if(technologyTerritorySet.size() != 0){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(SysCategory::getId, technologyTerritorySet); + categoryList = sysCategoryService.list(wrapper); + } + //技术领域 + if (categoryList.size() != 0 && StringUtils.isNotBlank(dummyInventoryInfoEO.getTechnologyTerritory())) { + List technologyTerritoryList = Arrays.asList(dummyInventoryInfoEO.getTechnologyTerritory().split(",")); + StringBuilder sb = new StringBuilder(); + for (String technologyTerritory : technologyTerritoryList) { + List collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ +// if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { + sb.append(collect.get(0).getName()+ ","); +// } else { +// sb.append(collect.get(0).getEnName()+ ","); +// } + } + } + String technologyTerritoryName = null; + if (StringUtils.isNotBlank(sb)) { + technologyTerritoryName = sb.substring(0, sb.length() - 1); + } + dummyInventoryInfoEO.setTechnologyTerritoryName(technologyTerritoryName); + } + //责任领域 + List dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.DUTY_TERRITORY.getValue()); + List dutyTerritoryList = Arrays.asList(dummyInventoryInfoEO.getDutyTerritory().split(",")); + StringBuilder dutyTerritoryBuilder =new StringBuilder(); + for(String midDutyTerritory : dutyTerritoryList){ + String dutyTerritoryName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dutyTerritoryBuilder.append(dutyTerritoryName).append(","); + + } + dummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0,dutyTerritoryBuilder.toString().length()-1)); + + //实施类别 + List implementType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.IMPLEMENT_TYPE.getValue()); + String implementTypeName = implementType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getImplementType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setImplementType(implementTypeName); + + //认证级别 + List attestationType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ATTESTATION_TYPE.getValue()); + String attestationTypeName = attestationType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setAttestationType(attestationTypeName); + + //认证级别 + List attestationRank = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ATTESTATION_RANK.getValue()); + String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setAttestationRank(attestationRankName); + + //交付物类型 + List deliverableTemplate = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.DELIVERABLE_TEMPLATE.getValue()); + //设计符合性确认-交付物类型 +// designDeliverableType; + String designDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setDesignDeliverableType(designDeliverableTypeName); + //prehomo确认-交付物类型 +// prehomoDeliverableType; + String prehomoDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setPrehomoDeliverableType(prehomoDeliverableTypeName); + //验证符合性确认-交付物类型 +// verifyDeliverableType; + String verifyDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setVerifyDeliverableType(verifyDeliverableTypeName); + + //发起人 + List fa1_qi3_ren2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.FA1_QI3_REN2.getValue()); + //设计符合性确认-发起人 +// designInitiator; + String designInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setDesignInitiator(designInitiatorName); + //prehomo确认-发起人 +// prehomoInitiator; + String prehomoInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setPrehomoInitiator(prehomoInitiatorName); + //验证符合性确认-发起人 +// verifyInitiator; + String verifyInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setVerifyInitiator(verifyInitiatorName); + + //责任人 + List ze2_ren4_ren2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ZE2_REN2_REN2.getValue()); + //设计符合性确认-责任人 + // designDuty; + String designDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDuty())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setDesignDuty(designDutyName); + //prehomo确认-责任人 + // prehomoDuty; + String prehomoDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDuty())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setPrehomoDuty(prehomoDutyName); + //验证符合性确认-责任人 + // verifyDuty; + String verifyDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDuty())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setVerifyDuty(verifyDutyName); + + + + } + } + //发送消息 + private void sendMsg(Map baseDiff, String idTemp,List> infoDiffList,String addSerialNumber,String deleteSerialNumber) { String baseName=queryById(idTemp).getName();//基础表id List userNameList = dummyReadEOService.queryReadUserInfo(idTemp); @@ -367,10 +519,11 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl baseDiff,Map infoDiff,String addSerialNumber,String deleteSerialNumber) { + ////拼接维护清单的消息 + public String setContentInfo(String contentInfo, Map baseDiff, List> infoDiffList + , String addSerialNumber, String deleteSerialNumber) { int row = 1; //设置虚拟清单列表的修改消息 if(MapUtils.isNotEmpty(baseDiff)) { @@ -419,99 +574,190 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl technologyTerritoryList = Arrays.asList(infoDiff.get("technologyTerritory").split(",")); - String infoDiffOldTechnologyTerritory = technologyTerritoryList.get(0); - String infoDiffNewTechnologyTerritory = technologyTerritoryList.get(1); - contentInfo += row + ". " + infoDiffOldTechnologyTerritory + " has been changed to" + infoDiffNewTechnologyTerritory + ".\r\n"; + if(CollectionUtils.isNotEmpty(infoDiffList)) { + for(Map infoDiff: infoDiffList) { + int infoDiffRow=1; + contentInfo += row + ". The serial Number " + infoDiff.get("serialNumber") + " has been updated as follows : " + "\r\n"; + //技术领域 + if (StringUtils.isNotBlank(infoDiff.get("technologyTerritoryName"))) { + + List list = Arrays.asList(infoDiff.get("technologyTerritoryName").split("\\|")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Technology territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //新车型实施日期 + if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1"))) { + List list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). The implementation date of new model has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //在产车实施日期 + if (StringUtils.isNotBlank(infoDiff.get("implementTime"))) { + List list = Arrays.asList(infoDiff.get("implementTime").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Implement time has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //WVTA ID + if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) { + List list = Arrays.asList(infoDiff.get("wvtaId").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). WVTA ID has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //子标题 + if (StringUtils.isNotBlank(infoDiff.get("subtitle"))) { + List list = Arrays.asList(infoDiff.get("subtitle").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Subtitle has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //实施类别 + if (StringUtils.isNotBlank(infoDiff.get("implementType"))) { + List list = Arrays.asList(infoDiff.get("implementType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Implement type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //认证类型 + if (StringUtils.isNotBlank(infoDiff.get("attestationType"))) { + List list = Arrays.asList(infoDiff.get("attestationType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Attestation type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //认证级别 + if (StringUtils.isNotBlank(infoDiff.get("attestationRank"))) { + List list = Arrays.asList(infoDiff.get("attestationRank").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Attestation rank has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //责任领域 + if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) { + List list = Arrays.asList(infoDiff.get("dutyTerritory").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Duty territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //备注 + if (StringUtils.isNotBlank(infoDiff.get("remark"))) { + List list = Arrays.asList(infoDiff.get("remark").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1); + contentInfo += "(" + infoDiffRow + "). Remark has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-交付物类型 + if (StringUtils.isNotBlank(infoDiff.get("designDeliverableType"))) { + List list = Arrays.asList(infoDiff.get("designDeliverableType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-交付物模板 + if (StringUtils.isNotBlank(infoDiff.get("designDeliverableTemplate"))) { + List list = Arrays.asList(infoDiff.get("designDeliverableTemplate").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-发起人 + if (StringUtils.isNotBlank(infoDiff.get("designInitiator"))) { + List list = Arrays.asList(infoDiff.get("designInitiator").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-责任人 + if (StringUtils.isNotBlank(infoDiff.get("designDuty"))) { + List list = Arrays.asList(infoDiff.get("designDuty").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-交付物类型 + if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableType"))) { + List list = Arrays.asList(infoDiff.get("prehomoDeliverableType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-交付物模板 + if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableTemplate"))) { + List list = Arrays.asList(infoDiff.get("prehomoDeliverableTemplate").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-发起人 + if (StringUtils.isNotBlank(infoDiff.get("prehomoInitiator"))) { + List list = Arrays.asList(infoDiff.get("prehomoInitiator").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-责任人 + if (StringUtils.isNotBlank(infoDiff.get("prehomoDuty"))) { + List list = Arrays.asList(infoDiff.get("prehomoDuty").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-交付物类型 + if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableType"))) { + List list = Arrays.asList(infoDiff.get("verifyDeliverableType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-交付物模板 + if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableTemplate"))) { + List list = Arrays.asList(infoDiff.get("verifyDeliverableTemplate").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-发起人 + if (StringUtils.isNotBlank(infoDiff.get("verifyInitiator"))) { + List list = Arrays.asList(infoDiff.get("verifyInitiator").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-责任人 + if (StringUtils.isNotBlank(infoDiff.get("verifyDuty"))) { + List list = Arrays.asList(infoDiff.get("verifyDuty").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } row++; } - //新车型实施日期 - if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1"))) { - List xin1Che1Xing2Shi2Shi1Ri4Qi1List = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1").split(",")); - String infoDiffOldXin1Che1Xing2Shi2Shi1Ri4Qi1 = xin1Che1Xing2Shi2Shi1Ri4Qi1List.get(0); - String infoDiffNewXin1Che1Xing2Shi2Shi1Ri4Qi1 = xin1Che1Xing2Shi2Shi1Ri4Qi1List.get(1); - contentInfo += row + ". " + infoDiffOldXin1Che1Xing2Shi2Shi1Ri4Qi1 + " has been changed to" + infoDiffNewXin1Che1Xing2Shi2Shi1Ri4Qi1 + ".\r\n"; - row++; - } - //在产车实施日期 - if (StringUtils.isNotBlank(infoDiff.get("implementTime"))) { - List implementTimeList = Arrays.asList(infoDiff.get("implementTime").split(",")); - String infoDiffOldImplementTime = implementTimeList.get(0); - String infoDiffNewImplementTime = implementTimeList.get(1); - contentInfo += row + ". " + infoDiffOldImplementTime + " has been changed to" + infoDiffNewImplementTime + ".\r\n"; - row++; - } - //WVTA ID - if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) { - List wvtaIdList = Arrays.asList(infoDiff.get("wvtaId").split(",")); - String infoDiffOldWvtaId = wvtaIdList.get(0); - String infoDiffNewWvtaId = wvtaIdList.get(1); - contentInfo += row + ". " + infoDiffOldWvtaId + " has been changed to" + infoDiffNewWvtaId + ".\r\n"; - row++; - } - //子标题 - if (StringUtils.isNotBlank(infoDiff.get("subtitle"))) { - List subtitleList = Arrays.asList(infoDiff.get("subtitle").split(",")); - String infoDiffOldSubtitle = subtitleList.get(0); - String infoDiffNewSubtitle = subtitleList.get(1); - contentInfo += row + ". " + infoDiffOldSubtitle + " has been changed to" + infoDiffNewSubtitle + ".\r\n"; - row++; - } - //实施类别 - if (StringUtils.isNotBlank(infoDiff.get("implementType"))) { - List implementTypeList = Arrays.asList(infoDiff.get("implementType").split(",")); - String infoDiffOldImplementType = implementTypeList.get(0); - String infoDiffNewImplementType = implementTypeList.get(1); - contentInfo += row + ". " + infoDiffOldImplementType + " has been changed to" + infoDiffNewImplementType + ".\r\n"; - row++; - } - //认证类型 - if (StringUtils.isNotBlank(infoDiff.get("attestationType"))) { - List attestationTypeList = Arrays.asList(infoDiff.get("attestationType").split(",")); - String infoDiffOldAttestationType = attestationTypeList.get(0); - String infoDiffNewAttestationType = attestationTypeList.get(1); - contentInfo += row + ". " + infoDiffOldAttestationType + " has been changed to" + infoDiffNewAttestationType + ".\r\n"; - row++; - } - - //认证级别 - //责任领域 - //备注 - //设计符合性确认-交付物类型 - //设计符合性确认-交付物模板 - //设计符合性确认-发起人 - //设计符合性确认-责任人 - //prehomo确认-交付物类型 - //prehomo确认-交付物模板 - //prehomo确认-发起人 - //prehomo确认-责任人 - //验证符合性确认-交付物类型 - //验证符合性确认-交付物模板 - //验证符合性确认-发起人 - //验证符合性确认-责任人 - - - - - - - - - - } - } - - public void setContent(String contentInfo,Map infoDiff, String field,int row){ - - if (StringUtils.isNotBlank(infoDiff.get(field))) { - List list = Arrays.asList(infoDiff.get(field).split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1); - contentInfo += row + ". " + infoDiffOld + " has been changed to" + infoDiffNew + ".\r\n"; - row++; } + return contentInfo; } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java index 2986bef8f..dfc3b1859 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java @@ -18,17 +18,19 @@ public class ListDiff { } catch (IllegalAccessException e) { e.printStackTrace(); } - + if(f.getName().equals("serialNumber")){ + result.put(f.getName(),v1.toString()); + } if( ! equals(v1, v2) && !f.getName().contains("create") - && !f.getName().contains("update") ){ + && !f.getName().contains("update") && !f.getName().equals("id")){ StringBuilder v1String= new StringBuilder(String.valueOf(v1)); StringBuilder v2String= new StringBuilder(String.valueOf(v2)); - - - - result.put(f.getName(), v1String.append(",").append(v2String).toString()); - + if(f.getName().contains("erritory") || f.getName().contains("emplate")){ + result.put(f.getName(), v1String.append("|").append(v2String).toString()); + }else { + result.put(f.getName(), v1String.append(",").append(v2String).toString()); + } } } return result;