虚拟清单更新log

This commit is contained in:
xiejunyu
2022-05-17 11:25:10 +08:00
parent 1cb0a4c89d
commit cc350fa830
3 changed files with 310 additions and 193 deletions
@@ -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<DummyLogEO, IDummyLogEO
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<DummyLogEO> queryWrapper = QueryGenerator.initQueryWrapper(dummyLogEO, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
Page<DummyLogEO> page = new Page<DummyLogEO>(pageNo, pageSize);
IPage<DummyLogEO> pageList = dummyLogEOService.page(page, queryWrapper);
return Result.OK(pageList);
@@ -281,133 +281,133 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
List<DummyContentChangeEO> 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<DummyInventoryBaseEO> baseCJList = JSONArray.parseArray(baseCJ, DummyInventoryBaseEO.class);//json转list
//3.2基础表数据对比
String baseCJ=dummyContentChangeEOBaseList.get(0).getContentJson();
List<DummyInventoryBaseEO> baseCJList = JSONArray.parseArray(baseCJ, DummyInventoryBaseEO.class);//json转list
//对比,获取值不同的字段
Map<String, String> 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<String, String> 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<String> addSerialNumberList =null;
List<String> deleteSerialNumberList =null;
//4.2详情表数据(一条基础数据可能对应多个详情数据---一对多)
//数据库里原来的详情数据
String addSerialNumber=null;
String deleteSerialNumber=null;
List<String> addSerialNumberList =null;
List<String> deleteSerialNumberList =null;
//获取数据库里保存的json
String infoCJ = dummyContentChangeEOInfoList.get(0).getContentJson();
List<DummyInventoryInfoEO> infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list
//获取数据库里保存的json
String infoCJ = dummyContentChangeEOInfoList.get(0).getContentJson();
List<DummyInventoryInfoEO> infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list
//翻译字典code值
disposeData(dummyInventoryInfoEOList);
//翻译字典code值
disposeData(dummyInventoryInfoEOList);
//获取数据库和传入同时存在的编号
//获取两个的编号
List<String> infoCJBaseSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList());
List<String> dummyInventoryInfoEOSerialNumberList = dummyInventoryInfoEOList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList());
//获取数据库和传入同时存在的编号
//获取两个的编号
List<String> infoCJBaseSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList());
List<String> dummyInventoryInfoEOSerialNumberList = dummyInventoryInfoEOList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList());
List<DummyInventoryInfoEO> sameDummyInventoryInfoEOList = new ArrayList<>();
List<DummyInventoryInfoEO> sameinfoCJList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(dummyInventoryInfoEOSerialNumberList)) {
//查询共有编号
List<String> sameSerialNumberList = infoCJBaseSerialNumberList.stream().filter(t -> dummyInventoryInfoEOSerialNumberList.contains(t)).collect(Collectors.toList());
List<DummyInventoryInfoEO> sameDummyInventoryInfoEOList = new ArrayList<>();
List<DummyInventoryInfoEO> sameinfoCJList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(dummyInventoryInfoEOSerialNumberList)) {
//查询共有编号
List<String> 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<String, String> infoDiff = null;
List<Map<String, String>> infoDiffList=new ArrayList<>();
//4.2.1处理现原共有有详情数据不同值字段
Map<String, String> infoDiff = null;
List<Map<String, String>> 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<String> 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<DummyContentChangeEO> 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<String> 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<DummyContentChangeEO> 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<DummyContentChangeEO> 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<DummyContentChangeEO> 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<DummyInventoryB
}
dummyInventoryInfoEO.setTechnologyTerritoryName(technologyTerritoryName);
}else{
dummyInventoryInfoEO.setTechnologyTerritoryName("");
dummyInventoryInfoEO.setTechnologyTerritoryName("");
}
//适用范围
@@ -639,7 +639,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
content = "The " + baseName + " virtual list you subscribed to has been updated.";
contentInfo = "The " + baseName + " virtual list you subscribed to has been updated as follows : " + "\r\n";
//拼接维护清单的消息
contentInfo = setContentInfo(contentInfo, baseDiff, infoDiffList, addSerialNumber, deleteSerialNumber,idTemp);
contentInfo = setContentInfo(contentInfo, baseDiff, infoDiffList, addSerialNumber, deleteSerialNumber,null);
}else{//撤回的消息
content = "The " + baseName + " virtual list you subscribed to has been withdrawn,please note.";
@@ -660,9 +660,9 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
}
//拼接维护清单的消息
public String setContentInfo(String contentInfo, Map<String, String> baseDiff, List<Map<String, String>> 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<DummyInventoryB
contentInfo += row + ". The serial Number " + infoDiff.get("serialNumber") + " has been updated as follows : " + "\r\n";
//技术领域
if (StringUtils.isNotBlank(infoDiff.get("technologyTerritoryName"))) {
List<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> list = Arrays.asList(infoDiff.get("dutyTerritory").split(","));
List<String> list = Arrays.asList(infoDiff.get("dutyTerritory").split("\\|"));
// List<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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<String> 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;
}
}
@@ -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<DummyInventoryI
public void editById(DummyInventoryInfoEO dummyInventoryInfoEO) {
Date now = new Date();
dummyInventoryInfoEO.setUpdateTime(now);
saveOrUpdate(dummyInventoryInfoEO);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String contentLog = username+"编辑了清单中的\""+dummyInventoryInfoEO.getSerialNumber()+"\",";
List<DummyInventoryInfoEO> infoEOList = new ArrayList<>();
infoEOList.add(dummyInventoryInfoEO);
//查询数据库里原来的数据
QueryWrapper<DummyInventoryInfoEO> queryWrapper = new QueryWrapper<>();
List<DummyInventoryInfoEO> dataList = list(queryWrapper.eq("id", dummyInventoryInfoEO.getId()));
saveOrUpdate(dummyInventoryInfoEO);
//翻译
dummyInventoryBaseEOService.disposeData(infoEOList);
dummyInventoryBaseEOService.disposeData(dataList);
//比对不同字段
Map<String, String> infoDiff = ListDiff.compareObject(dataList.get(0),dummyInventoryInfoEO);
//设置更新log
List<Map<String,String>> infoDiffList = new ArrayList<>();
infoDiffList.add(infoDiff);
contentLog = dummyInventoryBaseEOService.setContentInfo(null,null,infoDiffList,null,null,contentLog);
updateLog(contentLog, dummyInventoryInfoEO.getDummyInventoryBaseId());
}
/**