diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyLogEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyLogEOController.java index 4fa917a17..3f41da883 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyLogEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyLogEOController.java @@ -1,25 +1,26 @@ package com.jero.modules.dummy.controller; -import java.util.Arrays; -import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import com.jero.common.api.vo.Result; -import com.jero.common.system.query.QueryGenerator; -import com.jero.modules.dummy.entity.DummyLogEO; -import com.jero.modules.dummy.service.IDummyLogEOService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.dummy.entity.DummyLogEO; +import com.jero.modules.dummy.service.IDummyLogEOService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; /** @@ -53,6 +54,7 @@ public class DummyLogEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(dummyLogEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = dummyLogEOService.page(page, queryWrapper); return Result.OK(pageList); 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 5fe194ce3..08cb55726 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 @@ -281,133 +281,133 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl dummyContentChangeEOInfoList = iDummyContentChangeEOService.list(wrapperInfo); if(CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)){ - //3.对比基础表数据 - //3.1截止到现在发布,期间修改的数据(基础) - //最新的数据为-->dummyInventoryBaseEOList + //3.对比基础表数据 + //3.1截止到现在发布,期间修改的数据(基础) + //最新的数据为-->dummyInventoryBaseEOList - //3.2基础表数据对比 - String baseCJ=dummyContentChangeEOBaseList.get(0).getContentJson(); - List baseCJList = JSONArray.parseArray(baseCJ, DummyInventoryBaseEO.class);//json转list + //3.2基础表数据对比 + String baseCJ=dummyContentChangeEOBaseList.get(0).getContentJson(); + List baseCJList = JSONArray.parseArray(baseCJ, DummyInventoryBaseEO.class);//json转list - //对比,获取值不同的字段 - Map baseDiff = null; - for(int i=0;i< baseCJList.size();i++) { - baseCJList.get(i); - dummyInventoryBaseEOList.get(i); - baseDiff = ListDiff.compareObject(baseCJList.get(i), dummyInventoryBaseEOList.get(i)); - } + //对比,获取值不同的字段 + Map baseDiff = null; + for(int i=0;i< baseCJList.size();i++) { + baseCJList.get(i); + dummyInventoryBaseEOList.get(i); + baseDiff = ListDiff.compareObject(baseCJList.get(i), dummyInventoryBaseEOList.get(i)); + } - //4.对比详情表数据 - //4.1截止到现在发布,期间修改的数据(详情) - //现在的数据为-->dummyInventoryInfoEOList + //4.对比详情表数据 + //4.1截止到现在发布,期间修改的数据(详情) + //现在的数据为-->dummyInventoryInfoEOList - //4.2详情表数据(一条基础数据可能对应多个详情数据---一对多) - //数据库里原来的详情数据 - String addSerialNumber=null; - String deleteSerialNumber=null; - List addSerialNumberList =null; - List deleteSerialNumberList =null; + //4.2详情表数据(一条基础数据可能对应多个详情数据---一对多) + //数据库里原来的详情数据 + String addSerialNumber=null; + String deleteSerialNumber=null; + List addSerialNumberList =null; + List deleteSerialNumberList =null; - //获取数据库里保存的json - String infoCJ = dummyContentChangeEOInfoList.get(0).getContentJson(); - List infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list + //获取数据库里保存的json + String infoCJ = dummyContentChangeEOInfoList.get(0).getContentJson(); + List infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list - //翻译字典code值 - disposeData(dummyInventoryInfoEOList); + //翻译字典code值 + 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 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()); + 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)) { + if(CollectionUtils.isNotEmpty(sameSerialNumberList)) { - for (String sameSerialNumber : sameSerialNumberList) { - //查询传入里包含共有编号的数据 - DummyInventoryInfoEO sameInfoEO = dummyInventoryInfoEOList.stream().filter(e->e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0); - sameDummyInventoryInfoEOList.add(sameInfoEO); - //查询数据库里包含共有编号的数据 - DummyInventoryInfoEO sameInfoCJ = infoCJList.stream().filter(e -> e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0); - sameinfoCJList.add(sameInfoCJ); + for (String sameSerialNumber : sameSerialNumberList) { + //查询传入里包含共有编号的数据 + DummyInventoryInfoEO sameInfoEO = dummyInventoryInfoEOList.stream().filter(e->e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0); + sameDummyInventoryInfoEOList.add(sameInfoEO); + //查询数据库里包含共有编号的数据 + DummyInventoryInfoEO sameInfoCJ = infoCJList.stream().filter(e -> e.getSerialNumber().equals(sameSerialNumber)).collect(Collectors.toList()).get(0); + sameinfoCJList.add(sameInfoCJ); + } } } - } - //4.2.1处理现原共有有详情数据不同值字段 - Map infoDiff = null; - List> infoDiffList=new ArrayList<>(); + //4.2.1处理现原共有有详情数据不同值字段 + Map infoDiff = null; + List> infoDiffList=new ArrayList<>(); - for (int i = 0; i < sameinfoCJList.size(); i++) { + for (int i = 0; i < sameinfoCJList.size(); i++) { infoDiff = ListDiff.compareObject(sameinfoCJList.get(i), sameDummyInventoryInfoEOList.get(i)); - if (MapUtils.isNotEmpty(infoDiff)) { - if(infoDiff.size() > 1) { - infoDiffList.add(infoDiff); + if (MapUtils.isNotEmpty(infoDiff)) { + if(infoDiff.size() > 1) { + 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,","); - - //列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理 - if(MapUtils.isNotEmpty(baseDiff) || CollectionUtils.isNotEmpty(infoDiffList) - || StringUtils.isNotEmpty(addSerialNumber) || StringUtils.isNotEmpty(deleteSerialNumber)) { - //向订阅该领域管理的人发消息和飞书 - sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), infoDiffList, addSerialNumber, deleteSerialNumber,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); - - - - Date now=new Date(); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //5.数据对比完成后.更新之前保存的dummy_inventory_info中的content_json数据,重新保存最新的数据 - if(MapUtils.isNotEmpty(baseDiff)){//列表有不同字段 - String base = JSONArray.toJSONString(dummyInventoryBaseEOList); - UpdateWrapper baseUpdateWrapper=new UpdateWrapper<>(); - baseUpdateWrapper.set("content_json",base) - .set("update_by",sysUser.getUsername()) - .set("update_time",now) - .eq("connect_id",dummyInventoryBaseEOList.get(0).getId()); - dummyContentChangeEOMapper.update(null,baseUpdateWrapper); + //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()); } - if(CollectionUtils.isNotEmpty(infoDiffList) || StringUtils.isNotEmpty(addSerialNumber) - || StringUtils.isNotEmpty(deleteSerialNumber)){//维护清单有不同字段,addSerialNumber,deleteSerialNumber也有数据 - String info = JSONArray.toJSONString(dummyInventoryInfoEOList); - UpdateWrapper infoUpdateWrapper=new UpdateWrapper<>(); - infoUpdateWrapper.set("content_json",info) - .set("update_by",sysUser.getUsername()) - .set("update_time",now) - .eq("parent_id",dummyInventoryBaseEOList.get(0).getId()); - dummyContentChangeEOMapper.update(null,infoUpdateWrapper); + //去掉发布时传入的和数据库同时有的数据 + for(String midSerialNumber:infoCJSerialNumberList){ + addSerialNumberList.remove(midSerialNumber); } - } - }else{ + 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,","); + + //列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理 + if(MapUtils.isNotEmpty(baseDiff) || CollectionUtils.isNotEmpty(infoDiffList) + || StringUtils.isNotEmpty(addSerialNumber) || StringUtils.isNotEmpty(deleteSerialNumber)) { + //向订阅该领域管理的人发消息和飞书 + sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), infoDiffList, addSerialNumber, deleteSerialNumber,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); + + + + Date now=new Date(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //5.数据对比完成后.更新之前保存的dummy_inventory_info中的content_json数据,重新保存最新的数据 + if(MapUtils.isNotEmpty(baseDiff)){//列表有不同字段 + String base = JSONArray.toJSONString(dummyInventoryBaseEOList); + UpdateWrapper baseUpdateWrapper=new UpdateWrapper<>(); + baseUpdateWrapper.set("content_json",base) + .set("update_by",sysUser.getUsername()) + .set("update_time",now) + .eq("connect_id",dummyInventoryBaseEOList.get(0).getId()); + dummyContentChangeEOMapper.update(null,baseUpdateWrapper); + } + if(CollectionUtils.isNotEmpty(infoDiffList) || StringUtils.isNotEmpty(addSerialNumber) + || StringUtils.isNotEmpty(deleteSerialNumber)){//维护清单有不同字段,addSerialNumber,deleteSerialNumber也有数据 + String info = JSONArray.toJSONString(dummyInventoryInfoEOList); + UpdateWrapper infoUpdateWrapper=new UpdateWrapper<>(); + infoUpdateWrapper.set("content_json",info) + .set("update_by",sysUser.getUsername()) + .set("update_time",now) + .eq("parent_id",dummyInventoryBaseEOList.get(0).getId()); + dummyContentChangeEOMapper.update(null,infoUpdateWrapper); + } + } + }else{ if(CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) { throw new JeroBootException("维护清单为空,发布失败"); }else{ @@ -456,7 +456,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl baseDiff, List> infoDiffList - , String addSerialNumber, String deleteSerialNumber,String idTemp) { + , String addSerialNumber, String deleteSerialNumber,String contentLog) { int row = 1; - String contentLog = null; + //设置虚拟清单列表的修改消息 if(MapUtils.isNotEmpty(baseDiff)) { //虚拟清单名称 @@ -703,188 +703,278 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl 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++; - + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Technology territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.TECHNOLOGY_TERRITORY.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //新车型实施日期 if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String"))) { List list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String").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++; - + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). The implementation date of new model has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //在产车实施日期 if (StringUtils.isNotBlank(infoDiff.get("implementTimeString"))) { List list = Arrays.asList(infoDiff.get("implementTimeString").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++; - + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Implement time has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.IMPLEMENT_TIME.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). WVTA ID has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.WVTA_ID.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //子标题 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Subtitle has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.SUBTITLE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //实施类别 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Implement type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.IMPLEMENT_TYPE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //认证类型 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Attestation type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.ATTESTATION_TYPE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //认证级别 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Attestation rank has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.ATTESTATION_RANK.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //责任领域 if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) { - List list = Arrays.asList(infoDiff.get("dutyTerritory").split(",")); + List list = Arrays.asList(infoDiff.get("dutyTerritory").split("\\|")); +// 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Duty territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } + //备注 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.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Remark has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.REMARK.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //设计符合性确认-交付物类型 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Design deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.DESIGN_DELIVERABLE_TYPE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //设计符合性确认-交付物模板 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Design deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.DESIGN_DELIVERABLE_TEMPLATE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //设计符合性确认-发起人 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Design initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.DESIGN_INITIATOR.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //设计符合性确认-责任人 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Design duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.DESIGN_DUTY.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Prehomo deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.PREHOMO_DELIVERABLE_TYPE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Prehomo deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.PREHOMO_DELIVERABLE_TEMPLATE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Prehomo initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.PREHOMO_INITIATOR.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Prehomo duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.PREHOMO_DUTY.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //验证符合性确认-交付物类型 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Verify deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.VERIFY_DELIVERABLE_TYPE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //验证符合性确认-交付物模板 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Verify deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + }else{ + contentLog += DummyInventoryBaseFieldEnum.VERIFY_DELIVERABLE_TEMPLATE.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //验证符合性确认-发起人 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Verify initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.VERIFY_INITIATOR.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } //验证符合性确认-责任人 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++; + String infoDiffNew = list.get(1); + if (StringUtils.isBlank(contentLog)) { + contentInfo += "(" + infoDiffRow + "). Verify duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } else{ + contentLog += DummyInventoryBaseFieldEnum.VERIFY_DUTY.getName() + "由" + infoDiffOld + "改为" + infoDiffNew + ","; + } } row++; } } } + if(StringUtils.isNotBlank(contentLog)) { + contentInfo = contentLog; + } + contentInfo.substring(0, contentInfo.length() - 1); return contentInfo; } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index 5aabcb80d..baff61dc5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -20,6 +20,7 @@ import com.jero.modules.dummy.entity.DummyLogEO; import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; import com.jero.modules.dummy.mapper.DummyInventoryInfoEOMapper; import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; +import com.jero.modules.dummy.util.ListDiff; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.split.common.FileUnZip; @@ -177,7 +178,31 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl infoEOList = new ArrayList<>(); + infoEOList.add(dummyInventoryInfoEO); + //查询数据库里原来的数据 + QueryWrapper queryWrapper = new QueryWrapper<>(); + List dataList = list(queryWrapper.eq("id", dummyInventoryInfoEO.getId())); + + saveOrUpdate(dummyInventoryInfoEO); + //翻译 + dummyInventoryBaseEOService.disposeData(infoEOList); + dummyInventoryBaseEOService.disposeData(dataList); + //比对不同字段 + Map infoDiff = ListDiff.compareObject(dataList.get(0),dummyInventoryInfoEO); + + //设置更新log + List> infoDiffList = new ArrayList<>(); + infoDiffList.add(infoDiff); + contentLog = dummyInventoryBaseEOService.setContentInfo(null,null,infoDiffList,null,null,contentLog); + + updateLog(contentLog, dummyInventoryInfoEO.getDummyInventoryBaseId()); + } /**