合并分支 'master' 到 'dev_third_stage'

Master

查看合并请求 laws-nio/laws-weilai!117
This commit is contained in:
李雪涛
2022-07-31 10:43:13 +08:00
15 changed files with 529 additions and 195 deletions
@@ -4770,9 +4770,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String content = sysUser.getUsername() + " pushed " + StringUtils.join(serialNumberList, ",") + " to you. Please be reminded to check it out.";
String contentInfo = sysUser.getUsername() + " pushed " + StringUtils.join(hrefList, ",") + " to you. Please be reminded to check it out.";
String title = StringUtils.join(serialNumberList, ",") + " has been pushed to you, please check";
String content = StringUtils.join(serialNumberList, ",") + " has been shared with you, please be reminded to check it out.";
String contentInfo = sysUser.getUsername() + " shared " + StringUtils.join(hrefList, ",") + " with you, please be reminded to check it out.";
String title = StringUtils.join(serialNumberList, ",") + " has been shared with you, please check.";
// String content = sysUser.getUsername() + " pushed " + StringUtils.join(serialNumberList, ",") + " to you. Please be reminded to check it out.";
// String contentInfo = sysUser.getUsername() + " pushed " + StringUtils.join(hrefList, ",") + " to you. Please be reminded to check it out.";
// String title = StringUtils.join(serialNumberList, ",") + " has been pushed to you, please check";
//封装消息的实体类
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.PUSH.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
@@ -4788,7 +4792,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
list.add(serialNumber);
}
});
String contentTemp = sysUser.getUsername() + " pushed " + StringUtils.join(list, ",") + " to you. Please be reminded to check it out.";
String contentTemp = sysUser.getUsername() + " shared " + StringUtils.join(list, ",") + " with you, please be reminded to check it out.";
// String contentTemp = sysUser.getUsername() + " pushed " + StringUtils.join(list, ",") + " to you. Please be reminded to check it out.";
// FeishuMsgVo feishuMsgVo = getFeishuMsgVo(MessageTypeEnum.PUSH.getName(),null, contentTemp, encode);
// iFeishuService.sendCardMsg(thirdIdList.toArray(new String[]{}), feishuMsgVo);
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode);
@@ -13,7 +13,11 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
import com.jero.modules.domain.service.DomainUserRelService;
import com.jero.modules.dummy.entity.*;
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.DummyLogEO;
import com.jero.modules.dummy.entity.DummyReadEO;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.enums.InventoryStateEnum;
import com.jero.modules.dummy.enums.ReadFlagEnum;
@@ -23,7 +27,6 @@ import com.jero.modules.dummy.service.IDummyContentChangeEOService;
import com.jero.modules.dummy.service.IDummyInventoryBaseEOService;
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.dummy.vo.VirtualCreaterVo;
import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.oss.entity.OSSFile;
@@ -48,7 +51,13 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
@@ -351,33 +360,22 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
LambdaQueryWrapper<DummyContentChangeEO> wrapper =new LambdaQueryWrapper<>();
wrapper.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId());
List<DummyContentChangeEO> dummyContentChangeEOList = iDummyContentChangeEOService.list(wrapper);
//基础数据
LambdaQueryWrapper<DummyInventoryBaseEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(DummyInventoryBaseEO::getId,dummyInventoryBaseEO.getId());
List<DummyInventoryBaseEO> dummyInventoryBaseEOList = this.list(queryWrapper);
//详情数据
LambdaQueryWrapper<DummyInventoryInfoEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,dummyInventoryBaseEO.getId());
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = iDummyInventoryInfoEOService.list(lambdaQueryWrapper);
String contentLog = "";
String contentLog = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows" + "</br>";
String contentLogFeishu = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows" + " ";
if(dummyContentChangeEOList.size() == 0){
//没有添加过需要进行第一次添加
Date thisTime = new Date();
List<DummyContentChangeEO> list = new ArrayList<>();
if(dummyInventoryBaseEOList.size() != 0){
String base = JSONArray.toJSONString(dummyInventoryBaseEOList);
DummyContentChangeEO dummyContentChangeEOBase = new DummyContentChangeEO();
dummyContentChangeEOBase.setConnectId(dummyInventoryBaseEO.getId());
dummyContentChangeEOBase.setContentJson(base);
dummyContentChangeEOBase.setUpdateTime(thisTime);
list.add(dummyContentChangeEOBase);
}
if(dummyInventoryInfoEOList.size() != 0){
disposeDataToEn(dummyInventoryInfoEOList);
String info = JSONArray.toJSONString(dummyInventoryInfoEOList);
DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO();
dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId());
dummyContentChangeEOInfo.setConnectId(dummyInventoryBaseEO.getId());
dummyContentChangeEOInfo.setContentJson(info);
dummyContentChangeEOInfo.setUpdateTime(thisTime);
list.add(dummyContentChangeEOInfo);
@@ -386,132 +384,338 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
iDummyContentChangeEOService.saveBatch(list);
}
}else{
//1.查询之前保存过的基础数据
LambdaQueryWrapper<DummyContentChangeEO> wrapperBase =new LambdaQueryWrapper<>();
wrapperBase.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId());
List<DummyContentChangeEO> dummyContentChangeEOBaseList = iDummyContentChangeEOService.list(wrapperBase);
//2. 查询之前保存过的详情数据
LambdaQueryWrapper<DummyContentChangeEO> wrapperInfo =new LambdaQueryWrapper<>();
wrapperInfo.in(DummyContentChangeEO::getParentId,dummyInventoryBaseEO.getId());
List<DummyContentChangeEO> dummyContentChangeEOInfoList = iDummyContentChangeEOService.list(wrapperInfo);
if(dummyContentChangeEOInfoList.size() != 0){
String contentJson = dummyContentChangeEOInfoList.get(0).getContentJson();
List<DummyInventoryInfoEO> baseCJList = JSONArray.parseArray(contentJson, DummyInventoryInfoEO.class);
List<String> serialNumberOldList = baseCJList.stream().map(DummyInventoryInfoEO::getSerialNumber).collect(Collectors.toList());
//变更后的数据
if(dummyInventoryInfoEOList.size() != 0){
List<String> serialNumberNewList = dummyInventoryInfoEOList.stream().map(DummyInventoryInfoEO::getSerialNumber).collect(Collectors.toList());
//新增的法规
List<DummyInventoryInfoEO> collectAdd = dummyInventoryInfoEOList.stream()
.filter(e -> !serialNumberOldList.contains(e.getSerialNumber())).collect(Collectors.toList());
Date lastIssueTime = null;
List<String> serialNumberAddList = serialNumberNewList.stream().filter(e->!serialNumberOldList.contains(e)).collect(Collectors.toList());
//删除的法规
List<DummyInventoryInfoEO> collectDelete = baseCJList.stream()
.filter(e -> !serialNumberNewList.contains(e.getSerialNumber())).collect(Collectors.toList());
List<String> serialNumberDeleteList = serialNumberOldList.stream().filter(e->!serialNumberNewList.contains(e)).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)) {
lastIssueTime = dummyContentChangeEOInfoList.get(0).getUpdateTime();
if(CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)){
//3.对比基础表数据
//3.1截止到现在发布,期间修改的数据(基础)
//最新的数据为-->dummyInventoryBaseEOList
//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));
//发消息
int count = 1;
if(serialNumberAddList.size() != 0){
List<String> hrefList = new ArrayList<>();
for (DummyInventoryInfoEO dummyInventoryInfoEO : collectAdd) {
String href = "<a href='/docManage/library/detail?id=" + dummyInventoryInfoEO.getBussDocumentLibraryId() +
"&title=" + dummyInventoryInfoEO.getTitle() +
"&serial_number=" + dummyInventoryInfoEO.getSerialNumber() + "'" + " target='_blank'>" + dummyInventoryInfoEO.getSerialNumber() + "</a>";
hrefList.add(href);
}
contentLog += count+". New regulations: " + StringUtils.join(hrefList,",") + "</br>";
contentLogFeishu += count+". New regulations: " + StringUtils.join(serialNumberAddList,",") + " ";
count++;
}
if(serialNumberDeleteList.size() != 0){
List<String> hrefList = new ArrayList<>();
for (DummyInventoryInfoEO dummyInventoryInfoEO : collectDelete) {
String href = "<a href='/docManage/library/detail?id=" + dummyInventoryInfoEO.getBussDocumentLibraryId() +
"&title=" + dummyInventoryInfoEO.getTitle() +
"&serial_number=" + dummyInventoryInfoEO.getSerialNumber() + "'" + " target='_blank'>" + dummyInventoryInfoEO.getSerialNumber() + "</a>";
hrefList.add(href);
}
contentLog += count + ". Remove regulations: " + StringUtils.join(hrefList,",") + "</br>";
contentLogFeishu += count + ". Remove regulations: " + StringUtils.join(serialNumberDeleteList,",") + " ";
}
//4.查详情表两次发布的时间之间的数据
if(lastIssueTime != now){
QueryWrapper<DummyLogEO> logEOQueryWrapper = new QueryWrapper<>();
logEOQueryWrapper.orderByAsc("create_time")
.between("create_time",lastIssueTime,now)
.eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId())
.eq("is_en_log",CutEnum.EN.getValue());
List<DummyLogEO> updateLogList = dummyLogEOService.list(logEOQueryWrapper);
if(CollectionUtils.isNotEmpty(updateLogList)){
List<String> contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList());
for(int i=0 ; i < contentLogList.size() ;i++){
String content = contentLogList.get(i);
if(StringUtils.isNotBlank(content) && content.endsWith("</br>")){
content = content.substring(0,content.length()-5);
}
contentLog += ""+ (i+1) +"" + content + "</br>";
if(serialNumberAddList.size() != 0 || serialNumberDeleteList.size() != 0){
List<String> userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId());
List<String> thirdIdList = new ArrayList<>();
if(userNameList.size() != 0){
List<String> userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList());
thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList());
if(userIdList.size() != 0){
//封装消息的实体类
String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated.";
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, title, contentLog,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title);
}
}
//飞书
if(thirdIdList.size() != 0){
String href = backUrl + "/virtualListDetails?name=" + baseEO.getName() + "&useExplain=" + baseEO.getUseExplain() +"&id=" + baseEO.getId() +"&title=维护虚拟清单";
try {
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentLogFeishu, MessageTypeEnum.PUSH.getName(), href);
} catch (IOException e) {
e.printStackTrace();
}
}
}
if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("</br>")){
contentLog = contentLog.substring(0,contentLog.length()-5);
}
//列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理
if(MapUtils.isNotEmpty(baseDiff) || StringUtils.isNotEmpty(contentLog)) {
//向订阅该领域管理的人发消息和飞书
sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), contentLog,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
//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{//基础数据发布过,详情原为空-->有新增,再次发布
List<DummyContentChangeEO> list = new ArrayList<>();
if(dummyInventoryInfoEOList.size() != 0){
disposeDataToEn(dummyInventoryInfoEOList);
String info = JSONArray.toJSONString(dummyInventoryInfoEOList);
DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO();
dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId());
dummyContentChangeEOInfo.setContentJson(info);
list.add(dummyContentChangeEOInfo);
}
if(list.size() != 0){//原详情为空,查所有数据,不限时间
QueryWrapper<DummyLogEO> logEOQueryWrapper = new QueryWrapper<>();
logEOQueryWrapper.orderByAsc("create_time")
// .between("create_time",lastIssueTime,now)
.eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId())
.eq("is_en_log",CutEnum.EN.getValue());
List<DummyLogEO> updateLogList = dummyLogEOService.list(logEOQueryWrapper);
//删除之前保存的变更的数据
iDummyContentChangeEOService.deleteById(dummyContentChangeEOInfoList.get(0).getId());
List<String> contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList());
for(int i=0 ; i < contentLogList.size() ;i++){
String content = contentLogList.get(i);
if(StringUtils.isNotBlank(content) && content.endsWith("</br>")){
content = content.substring(0,content.length()-5);
}
contentLog += ""+ (i+1) +"" + content + "</br>";
}
if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("</br>")){
contentLog = contentLog.substring(0,contentLog.length()-5);
}
iDummyContentChangeEOService.saveBatch(list);
sendMsg(null,dummyInventoryInfoEOList.get(0).getDummyInventoryBaseId(),contentLog ,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
}
//重新保存
DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO();
String contentJsonTemp = JSONArray.toJSONString(dummyInventoryInfoEOList);
dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId());
dummyContentChangeEOInfo.setConnectId(dummyInventoryBaseEO.getId());
dummyContentChangeEOInfo.setContentJson(contentJsonTemp);
dummyContentChangeEOInfo.setUpdateTime(new Date());
iDummyContentChangeEOService.save(dummyContentChangeEOInfo);
}
}
}else{
//撤回,需要发消息
try {
sendMsg(null, dummyInventoryBaseEO.getId(),null,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
List<String> userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId());
List<String> thirdIdList = new ArrayList<>();
if(userNameList.size() != 0){
List<String> userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList());
thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList());
if(userIdList.size() != 0){
//封装消息的实体类 The XX virtual list you subscribed to has been withdrawn
String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn.";
//Please note that the XX virtual list you subscribed to has been withdrawn.
String contentLog = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn.";
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, title, contentLog,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title);
}
}
//飞书
if(thirdIdList.size() != 0){
String contentInfoTemp = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn.";
String href = backUrl + "/virtualListDetails?name=" + baseEO.getName() + "&useExplain=" + baseEO.getUseExplain() +"&id=" + baseEO.getId() +"&title=维护虚拟清单";
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentInfoTemp, MessageTypeEnum.PUSH.getName(), href);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
// /**
// * 发布
// * 发布与撤回均需要发消息
// * 首次发布不发消息
// *
// * @param dummyInventoryBaseEO
// */
// @Override
// @Transactional
// public void issue(DummyInventoryBaseEO dummyInventoryBaseEO){
// // 增加创建者校验
// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// String loginUserName = sysUser.getUsername();
//
// DummyInventoryBaseEO baseEO = queryById(dummyInventoryBaseEO.getId());
// List<String> createByNameList =new ArrayList<>();
// if (StringUtils.isNotBlank(baseEO.getCreateBy())) {
// createByNameList = Arrays.asList(baseEO.getCreateBy().split(","));
//
// if (CollectionUtils.isNotEmpty(createByNameList)){
// if (!createByNameList.contains(loginUserName)) {
// if (CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) {
// throw new JeroBootException("当前用户非创建者,无法发布");
// } else {
// throw new JeroBootException("The current user is not the creator and cannot be issued.");
// }
// }
// }
// }
// Date now = new Date();
// UpdateWrapper<DummyInventoryBaseEO> baseWrapper=new UpdateWrapper<>();
// baseWrapper.set("state",dummyInventoryBaseEO.getState());
//
// if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){
// baseWrapper.set("update_by",sysUser.getUsername())
// .set("update_time",now);
// }
// baseWrapper.eq("id",dummyInventoryBaseEO.getId());
// dummyInventoryBaseEOMapper.update(null,baseWrapper);
//// this.updateById(dummyInventoryBaseEO);
// //不管有没有维护清单,都返回操作成功
// //发布与撤回均需要发消息(向订阅的人员发消息)
// //首次发布不发消息
// //(1)首次发布将虚拟清单的基础数据和详情数据存入维护清单内容变更表_dummy_content_change
// //(2)撤回再次编辑完后再次发布,发消息
// //A. 分别判断基础数据和详情数据同上次发布的数据是否发生变化
// //发生变化-->发消息,删除dummy_content_change中上一次存入的数据,将本次数据存入
// //没有变化-->不发消息,数据不处理
//
// //先判断是发布还是撤回 1-->发布 2-->撤回
// //撤回需要发消息
//
// if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){
// //先判断第一次发布的时候是否保存过数据
// LambdaQueryWrapper<DummyContentChangeEO> wrapper =new LambdaQueryWrapper<>();
// wrapper.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId());
// List<DummyContentChangeEO> dummyContentChangeEOList = iDummyContentChangeEOService.list(wrapper);
// //基础数据
// LambdaQueryWrapper<DummyInventoryBaseEO> queryWrapper = new LambdaQueryWrapper<>();
// queryWrapper.in(DummyInventoryBaseEO::getId,dummyInventoryBaseEO.getId());
// List<DummyInventoryBaseEO> dummyInventoryBaseEOList = this.list(queryWrapper);
// //详情数据
// LambdaQueryWrapper<DummyInventoryInfoEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,dummyInventoryBaseEO.getId());
// List<DummyInventoryInfoEO> dummyInventoryInfoEOList = iDummyInventoryInfoEOService.list(lambdaQueryWrapper);
// String contentLog = "";
//
// if(dummyContentChangeEOList.size() == 0){
// //没有添加过需要进行第一次添加
// Date thisTime = new Date();
// List<DummyContentChangeEO> list = new ArrayList<>();
// if(dummyInventoryBaseEOList.size() != 0){
// String base = JSONArray.toJSONString(dummyInventoryBaseEOList);
// DummyContentChangeEO dummyContentChangeEOBase = new DummyContentChangeEO();
// dummyContentChangeEOBase.setConnectId(dummyInventoryBaseEO.getId());
// dummyContentChangeEOBase.setContentJson(base);
// dummyContentChangeEOBase.setUpdateTime(thisTime);
// list.add(dummyContentChangeEOBase);
// }
// if(dummyInventoryInfoEOList.size() != 0){
// disposeDataToEn(dummyInventoryInfoEOList);
// String info = JSONArray.toJSONString(dummyInventoryInfoEOList);
// DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO();
// dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId());
// dummyContentChangeEOInfo.setContentJson(info);
// dummyContentChangeEOInfo.setUpdateTime(thisTime);
// list.add(dummyContentChangeEOInfo);
// }
// if(list.size() != 0){
// iDummyContentChangeEOService.saveBatch(list);
// }
// }else{
// //1.查询之前保存过的基础数据
// LambdaQueryWrapper<DummyContentChangeEO> wrapperBase =new LambdaQueryWrapper<>();
// wrapperBase.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId());
// List<DummyContentChangeEO> dummyContentChangeEOBaseList = iDummyContentChangeEOService.list(wrapperBase);
// //2. 查询之前保存过的详情数据
// LambdaQueryWrapper<DummyContentChangeEO> wrapperInfo =new LambdaQueryWrapper<>();
// wrapperInfo.in(DummyContentChangeEO::getParentId,dummyInventoryBaseEO.getId());
// List<DummyContentChangeEO> dummyContentChangeEOInfoList = iDummyContentChangeEOService.list(wrapperInfo);
//
// Date lastIssueTime = null;
//
//
// if (CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)) {
// lastIssueTime = dummyContentChangeEOInfoList.get(0).getUpdateTime();
//
// if(CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)){
// //3.对比基础表数据
// //3.1截止到现在发布,期间修改的数据(基础)
// //最新的数据为-->dummyInventoryBaseEOList
//
// //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));
// }
//
// //4.查详情表两次发布的时间之间的数据
// if(lastIssueTime != now){
// QueryWrapper<DummyLogEO> logEOQueryWrapper = new QueryWrapper<>();
// logEOQueryWrapper.orderByAsc("create_time")
// .between("create_time",lastIssueTime,now)
// .eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId())
// .eq("is_en_log",CutEnum.EN.getValue());
// List<DummyLogEO> updateLogList = dummyLogEOService.list(logEOQueryWrapper);
// if(CollectionUtils.isNotEmpty(updateLogList)){
// List<String> contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList());
// for(int i=0 ; i < contentLogList.size() ;i++){
// String content = contentLogList.get(i);
// if(StringUtils.isNotBlank(content) && content.endsWith("</br>")){
// content = content.substring(0,content.length()-5);
// }
// contentLog += ""+ (i+1) +"" + content + "</br>";
// }
// }
// }
// if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("</br>")){
// contentLog = contentLog.substring(0,contentLog.length()-5);
// }
//
// //列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理
// if(MapUtils.isNotEmpty(baseDiff) || StringUtils.isNotEmpty(contentLog)) {
// //向订阅该领域管理的人发消息和飞书
// sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), contentLog,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
//
// //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{//基础数据发布过,详情原为空-->有新增,再次发布
// List<DummyContentChangeEO> list = new ArrayList<>();
// if(dummyInventoryInfoEOList.size() != 0){
// disposeDataToEn(dummyInventoryInfoEOList);
// String info = JSONArray.toJSONString(dummyInventoryInfoEOList);
// DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO();
// dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId());
// dummyContentChangeEOInfo.setContentJson(info);
// list.add(dummyContentChangeEOInfo);
// }
// if(list.size() != 0){//原详情为空,查所有数据,不限时间
// QueryWrapper<DummyLogEO> logEOQueryWrapper = new QueryWrapper<>();
// logEOQueryWrapper.orderByAsc("create_time")
//// .between("create_time",lastIssueTime,now)
// .eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId())
// .eq("is_en_log",CutEnum.EN.getValue());
// List<DummyLogEO> updateLogList = dummyLogEOService.list(logEOQueryWrapper);
//
// List<String> contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList());
// for(int i=0 ; i < contentLogList.size() ;i++){
// String content = contentLogList.get(i);
// if(StringUtils.isNotBlank(content) && content.endsWith("</br>")){
// content = content.substring(0,content.length()-5);
// }
// contentLog += ""+ (i+1) +"" + content + "</br>";
// }
// if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("</br>")){
// contentLog = contentLog.substring(0,contentLog.length()-5);
// }
// iDummyContentChangeEOService.saveBatch(list);
// sendMsg(null,dummyInventoryInfoEOList.get(0).getDummyInventoryBaseId(),contentLog ,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
//
// }
// }
// }
// }else{
// //撤回,需要发消息
// try {
// sendMsg(null, dummyInventoryBaseEO.getId(),null,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
// }catch (Exception e){
// e.printStackTrace();
// }
// }
// }
//翻译成中文名
public void disposeData(List<DummyInventoryInfoEO> records) {
@@ -1501,6 +1501,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
dummyInventoryInfoEO.setShi4Yong4Fan4Wei2(collect.get(0).getShi4Yong4Fan4Wei2());
dummyInventoryInfoEO.setImplementTime(collect.get(0).getImplementTime());
dummyInventoryInfoEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(collect.get(0).getXin1Che1Xing2Shi2Shi1Ri4Qi1());
dummyInventoryInfoEO.setBussDocumentLibraryId(collect.get(0).getId());
}
}
}
@@ -360,6 +360,17 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
//校验文件格式
int pos = file.getOriginalFilename().lastIndexOf(".");
String fileSuffixStr = file.getOriginalFilename().substring(pos+1).toLowerCase();
String title = "";
String verifyTemplateMsg = "";
if (CutEnum.CN.getValue().equals(cut)) {
title = "条款号,条款名称,条款内容";
verifyTemplateMsg = "模板不正确,请下载正确的模板导入!";
} else {
title = "Item num,Item name,Item Contents";
verifyTemplateMsg = "The template is not correct, please download the correct template to import!";
}
if(!StringUtils.equals(fileSuffixStr,"xls")){
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
throw new JeroBootException("请上传xls文件");
@@ -377,6 +388,23 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
if (workbook != null) {
Sheet sheet = workbook.getSheetAt(0);
if (sheet != null) {
Row firstRow = sheet.getRow(0);
List<String> titleList = Arrays.asList(title.split(","));
//校验模板
for (int cellIndex = 0; cellIndex < 3; cellIndex++){
boolean flag = false;
Cell cell = firstRow.getCell(cellIndex);
for (String titl : titleList) {
if(StringUtils.equals(titl,cell.toString())){
flag = true;
break;
}
}
if(!flag){
throw new JeroBootException(verifyTemplateMsg);
}
}
int rowNos = sheet.getPhysicalNumberOfRows();// 得到excel的总记录条数
for (int i = 0; i < rowNos ; i++) {
Row row = sheet.getRow(i + 1);
@@ -4,11 +4,13 @@ public enum ProjectTaskPlanningNameEnum {
LIST_CONFIRMATION("清单确认"," Checklist confirmation"),
LEGAL_TASK_CONFIRMATION("任务确认","Task confirmation"),
DESIGN_DEADLINE("设计符合性","Design compliance"),
PREHOMO_DEADLINE("Pre-Homo","Pre-Homo"),
ATTESTATION_START_TIME("认证开始","Certification begins"),
ATTESTATION_END_TIME("认证结束"," End of certification"),
// PREHOMO_DEADLINE("Pre-Homo","Pre-Homo"),
// ATTESTATION_START_TIME("认证开始","Certification begins"),
// ATTESTATION_END_TIME("认证结束"," End of certification"),
PREHOMO_DEADLINE("摸底试验结束","Pre-Homo Completion"), // name:Pre-Homo value:Pre-Homo
ATTESTATION_START_TIME("认证试验结束","Homo Test Completion"),// name:认证开始 value:Certification begins
ATTESTATION_END_TIME("认证批准","Type Approval"),// name:认证结束 value:End of certification
VERIFY_DEADLINE("验证符合性","Verify compliance"),
;
String name;
String value;
@@ -2831,49 +2831,76 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//法规工程师
if (StringUtils.isNotBlank(projectLawsInventoryEO.getRegulationOwnerId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getRegulationOwnerId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setRegulationOwnerName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getRegulationOwnerId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setRegulationOwnerName(userName);
}
}
//认证工程师
if (StringUtils.isNotBlank(projectLawsInventoryEO.getHomologationEngineerId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getHomologationEngineerId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setHomologationEngineerName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getHomologationEngineerId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setHomologationEngineerName(userName);
}
}
//工程接口人
if (StringUtils.isNotBlank(projectLawsInventoryEO.getEngineeringInterfacePerson())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getEngineeringInterfacePerson())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setEngineeringInterfacePersonName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getEngineeringInterfacePerson())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setEngineeringInterfacePersonName(userName);
}
}
//发起人
if (StringUtils.isNotBlank(projectLawsInventoryEO.getDesignInitiatorId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setDesignInitiatorName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setDesignInitiatorName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoInitiatorId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setPrehomoInitiatorName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setPrehomoInitiatorName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyInitiatorId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setVerifyInitiatorName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setVerifyInitiatorName(userName);
}
}
//责任人
if (StringUtils.isNotBlank(projectLawsInventoryEO.getDesignDutyId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignDutyId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setDesignDutyName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignDutyId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setDesignDutyName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoDutyId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoDutyId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setPrehomoDutyName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoDutyId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setPrehomoDutyName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyDutyId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyDutyId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setVerifyDutyName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyDutyId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setVerifyDutyName(userName);
}
}
}
@@ -3197,49 +3224,76 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//法规工程师
if (StringUtils.isNotBlank(projectLawsInventoryEO.getRegulationOwnerId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getRegulationOwnerId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setRegulationOwnerName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getRegulationOwnerId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setRegulationOwnerName(userName);
}
}
//认证工程师
if (StringUtils.isNotBlank(projectLawsInventoryEO.getHomologationEngineerId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getHomologationEngineerId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setHomologationEngineerName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getHomologationEngineerId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setHomologationEngineerName(userName);
}
}
//工程接口人
if (StringUtils.isNotBlank(projectLawsInventoryEO.getEngineeringInterfacePerson())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getEngineeringInterfacePerson())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setEngineeringInterfacePersonName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getEngineeringInterfacePerson())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setEngineeringInterfacePersonName(userName);
}
}
//发起人
if (StringUtils.isNotBlank(projectLawsInventoryEO.getDesignInitiatorId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setDesignInitiatorName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setDesignInitiatorName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoInitiatorId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setPrehomoInitiatorName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setPrehomoInitiatorName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyInitiatorId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setVerifyInitiatorName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyInitiatorId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setVerifyInitiatorName(userName);
}
}
//责任人
if (StringUtils.isNotBlank(projectLawsInventoryEO.getDesignDutyId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignDutyId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setDesignDutyName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignDutyId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setDesignDutyName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoDutyId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoDutyId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setPrehomoDutyName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoDutyId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setPrehomoDutyName(userName);
}
}
if (StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyDutyId())) {
String userName = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyDutyId())).map(f -> f.getUsername()).collect(Collectors.toList()).get(0);
projectLawsInventoryEO.setVerifyDutyName(userName);
List<String> collect = userList.stream().filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyDutyId())).map(f -> f.getUsername()).collect(Collectors.toList());
if(collect.size() != 0){
String userName = collect.get(0);
projectLawsInventoryEO.setVerifyDutyName(userName);
}
}
}
@@ -3576,6 +3630,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
queryWrapper.in("id",Arrays.asList(projectLawsInventoryEO.getIds().split(",")));
}
queryWrapper.orderByDesc("create_time");
int isProjectRole = Integer.parseInt(projectLawsInventoryEO.getRoleCode());
if(isProjectRole != Integer.parseInt(ProjectRoleEnum.STUDIO_ENGINEER.getValue())
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.MANAGER.getValue())
&& isProjectRole != Integer.parseInt(ProjectRoleEnum.ADMIN.getValue())){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
queryWrapper.and(q ->{
q.eq("regulation_owner_id",currentUser.getId()).
or().eq("homologation_engineer_id",currentUser.getId());
});
}
//导出的数据
dataList = this.list(queryWrapper);
@@ -4029,13 +4094,15 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String projectLawsInventoryIds = ids;
String pIds = "";
QueryWrapper<ProjectLawsInventoryEO> updateLawsInventoryWrapper = new QueryWrapper<>();
updateLawsInventoryWrapper.lambda().in(ProjectLawsInventoryEO::getId,idList);
ProjectLawsInventoryEO projectLawsInventoryEO = new ProjectLawsInventoryEO();
projectLawsInventoryEO.setInventoryAffirmStatus(InventoryAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryEO.setTaskAffirmStatus(TaskAffirmStatusEnum.NOT_STARTED.getValue());
//清单任务确认初始化
this.baseMapper.update(projectLawsInventoryEO,updateLawsInventoryWrapper);
LambdaUpdateWrapper<ProjectLawsInventoryEO> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(ProjectLawsInventoryEO::getId,idList);
updateWrapper.set(ProjectLawsInventoryEO::getRegulationOwnerSubmitStatus,null);
updateWrapper.set(ProjectLawsInventoryEO::getHomologationEngineerSubmitStatus,null);
super.update(projectLawsInventoryEO, updateWrapper);
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
taskInventoryQueryWrapper.lambda().in(ProjectTaskInventoryEO::getProjectLawsInventoryId,idList);
@@ -4061,8 +4128,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
pIds = actiProcInstIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
}
QueryWrapper<ProjectLawsInventoryEO> queryLawsInventoryWrapper = new QueryWrapper<>();
queryLawsInventoryWrapper.lambda().in(ProjectLawsInventoryEO::getId,idList);
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.baseMapper.selectList(updateLawsInventoryWrapper);
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.baseMapper.selectList(queryLawsInventoryWrapper);
projectLawsInventoryEOList.forEach(projectLawsInventory -> {
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
@@ -4562,6 +4632,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryEO.setRegion(collect.get(0).getRegion());//适用地区
projectLawsInventoryEO.setImplementTime(collect.get(0).getImplementTime());//在产车实施日期
projectLawsInventoryEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(collect.get(0).getXin1Che1Xing2Shi2Shi1Ri4Qi1());//新车实施日期
projectLawsInventoryEO.setStandId(collect.get(0).getId());//新车实施日期
}
}
+3 -2
View File
@@ -713,8 +713,9 @@ module.exports = {
confirmationOfRegulationsList: 'Regulation List Confirmation',
regulatoryTaskConfirmation: 'Regulation Task Confirmation',
certificationStart: 'Homo KO',
certificationEnd: 'Homo Completion',
certificationStart: 'Homo Test Completion',
preHomoCompletion:'Pre-Homo Completion',
certificationEnd: 'Type Approval',
directoryName: 'Catalogue Name',
batch: 'Batch',
uploadTime: 'Upload Time',
+3 -2
View File
@@ -729,8 +729,9 @@ module.exports = {
time: '时间',
confirmationOfRegulationsList: '法规清单确认',
regulatoryTaskConfirmation: '法规任务确认',
certificationStart: '认证开始',
certificationEnd: '认证结束',
certificationStart: '认证试验结束',
preHomoCompletion:'摸底试验结束',
certificationEnd: '认证批准',
directoryName: '目录名称',
batch: '批次',
uploadTime: '上传时间',
@@ -31,7 +31,7 @@
</div>
<a-form-model-item class="itemModel" prop="title">
<a-input class="box-input"
:disabled="true"
:disabled="false"
v-model="formInline.title"
:placeholder="$t('PleaseEnter')+$t('title')"/>
</a-form-model-item>
@@ -31,7 +31,7 @@
</div>
<a-form-model-item class="itemModel" prop="title">
<a-input class="box-input"
:disabled="true"
:disabled="formInline.roleCodeIndex == 0 ? false : true"
v-model="formInline.title"
:placeholder="$t('PleaseEnter')+$t('title')"/>
</a-form-model-item>
@@ -994,7 +994,7 @@
// } else if (row.designInitiator == 0) {
// this.designInitiatorList = res.result.studioPersonList || []
// } else if (!row.designInitiator || row.designInitiator == '') {
this.designInitiatorList = res.result.allPersonList || []
this.designInitiatorList = res.result.allPersonList || []
// }
//设计符合性确认-责任人
// if (row.designDuty == 1) {
@@ -1006,7 +1006,7 @@
// } else if (row.designInitiator == 0) {
// this.designDutyList = res.result.studioPersonList || []
// } else if (!row.designDuty || row.designDuty == '') {
this.designDutyList = res.result.allPersonList || []
this.designDutyList = res.result.allPersonList || []
// }
//prehomo确认-发起人
// if (row.prehomoInitiator == 1) {
@@ -1018,7 +1018,7 @@
// } else if (row.designInitiator == 0) {
// this.prehomoInitiatorList = res.result.studioPersonList || []
// } else if (!row.prehomoInitiator || row.prehomoInitiator == '') {
this.prehomoInitiatorList = res.result.allPersonList || []
this.prehomoInitiatorList = res.result.allPersonList || []
// }
//prehomo确认-责任人
// if (row.prehomoDuty == 1) {
@@ -1030,7 +1030,7 @@
// } else if (row.designInitiator == 0) {
// this.prehomoDutyList = res.result.studioPersonList || []
// } else if (!row.prehomoDuty || row.prehomoDuty == '') {
this.prehomoDutyList = res.result.allPersonList || []
this.prehomoDutyList = res.result.allPersonList || []
// }
//验证符合性确认-发起人
// if (row.verifyInitiator == 1) {
@@ -1042,7 +1042,7 @@
// } else if (row.designInitiator == 0) {
// this.verifyInitiatorList = res.result.studioPersonList || []
// } else if (!row.verifyInitiator || row.verifyInitiator == '') {
this.verifyInitiatorList = res.result.allPersonList || []
this.verifyInitiatorList = res.result.allPersonList || []
// }
//验证符合性确认-责任人
// if (row.verifyDuty == 1) {
@@ -1054,7 +1054,7 @@
// } else if (row.designInitiator == 0) {
// this.verifyDutyList = res.result.studioPersonList || []
// } else if (!row.verifyDuty || row.verifyDuty == '') {
this.verifyDutyList = res.result.allPersonList || []
this.verifyDutyList = res.result.allPersonList || []
// }
callback()
},
@@ -169,6 +169,11 @@
</div>
</div>
<div v-if="!isDisplay" style="float: right;margin-top: 1px;margin-bottom: 0px">
<div @click="handleExport" v-has="'projectLawsInventory:exportData'" v-if="isRoleSwitching"
class="operator-text">
<a-icon type="export" :rotate="-90"/>
{{ $t('export') }}
</div>
<div class="operator-text" @click="submitClick(0)" v-if="isRoleSwitching">
<a-icon type="check-circle"/>
{{ $t('submit') }}
@@ -1061,11 +1066,21 @@
}
},
handleExport() {
let roleCodeIndex
if (this.isDisplay) {
roleCodeIndex = 0
} else {
roleCodeIndex = 4
}
if (this.formInlineRoleSwitching.roleSwitchingCode == '11' || this.formInlineRoleSwitching.roleSwitchingCode == '12') {
roleCodeIndex = 0
}
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let query = {
...this.queryParam,
ids: selectedRowKeys.join(','),
...this.queryParamQuery,
roleCode:roleCodeIndex,
projectLibraryId: this.$route.query.id
}
downloadFile(this.url.exportData, this.$route.query.projectName + this.$t('listOfRegulations') + '.zip', query, this.Deselect)
@@ -1733,7 +1748,7 @@
} else if (!dataSource[i].designDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('confirmationOfDesignConformity') + this.$t('theDeadlineEmpty') } < /div>)
continue
}else if (!dataSource[i].designDeliverableType) {
} else if (!dataSource[i].designDeliverableType) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('confirmationOfDesignConformity') + this.$t('theDeliveryTypeCannotBeEmpty') } < /div>)
continue
}
@@ -1751,7 +1766,7 @@
} else if (!dataSource[i].prehomoDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('PrehomoConfirmation') + this.$t('theDeadlineEmpty') } < /div>)
continue
}else if (!dataSource[i].prehomoDeliverableType) {
} else if (!dataSource[i].prehomoDeliverableType) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('PrehomoConfirmation') + this.$t('theDeliveryTypeCannotBeEmpty') } < /div>)
continue
}
@@ -1769,7 +1784,7 @@
} else if (!dataSource[i].verifyDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('verificationAndConformityconfirmation') + this.$t('theDeadlineEmpty') } < /div>)
continue
}else if (!dataSource[i].verifyDeliverableType) {
} else if (!dataSource[i].verifyDeliverableType) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('verificationAndConformityconfirmation') + this.$t('theDeliveryTypeCannotBeEmpty') } < /div>)
continue
}
@@ -1864,7 +1879,7 @@
_this.getRowKeys(selectedRowKeys, 2, function() {
_this.visibleComment = true
_this.formInlineComment = {}
_this.$nextTick(()=>{
_this.$nextTick(() => {
_this.$refs.ruleFormComment.clearValidate()
})
})
@@ -1886,7 +1901,7 @@
})
}
let query = {
commentContent: this.$t('For')+content.join(',') + this.$t('markedRejection')+'' + this.formInlineComment.commentContent,
commentContent: this.$t('For') + content.join(',') + this.$t('markedRejection') + '' + this.formInlineComment.commentContent,
projectLibraryId: this.$route.query.id
}
this.confirmLoadingComment = true
@@ -71,12 +71,12 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('PrehomoConfirmation')">
{{$t('PrehomoConfirmation')}}</span>
<span class="title-text-text" :title="$t('preHomoCompletion')">
{{$t('preHomoCompletion')}}</span>
</div>
<a-form-model-item class="itemModel" prop="prehomoDeadline">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('PrehomoConfirmation')"
:placeholder="$t('PleaseSelect')+$t('preHomoCompletion')"
@change="dateChange({db_field_name:'prehomoDeadline'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
@@ -187,7 +187,7 @@
prehomoDeadline: [
{
required: true,
message: this.$t('PrehomoConfirmation') + this.$t('cannotEmpty'),
message: this.$t('preHomoCompletion') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
@@ -497,7 +497,7 @@
.process-content-right-top {
font-size: 12px;
color: #040B29;
width: 70px;
width: 75px;
background: #fff;
display: inline-block;
overflow: hidden;
@@ -509,7 +509,7 @@
.process-content-right-button{
font-size: 12px;
color: #040B29;
width: 70px;
width: 75px;
background: #fff;
display: inline-block;
overflow: hidden;
@@ -519,7 +519,7 @@
transform: translate(-50%, -50%);
}
.process-content-right-button {
width: 70px;
width: 75px;
font-size: 12px;
font-weight: 400;
color: #6F7385;
@@ -648,7 +648,7 @@
.process-content-right-top {
font-size: 12px;
color: #040B29;
width: 70px;
width: 75px;
background: #fff;
display: inline-block;
overflow: hidden;
@@ -660,7 +660,7 @@
.process-content-right-button{
font-size: 12px;
color: #040B29;
width: 70px;
width: 75px;
background: #fff;
display: inline-block;
overflow: hidden;
@@ -670,7 +670,7 @@
transform: translate(-50%, -50%);
}
.process-content-right-button {
width: 70px;
width: 75px;
font-size: 12px;
font-weight: 400;
color: #6F7385;
@@ -59,6 +59,7 @@
<a-select
mode="multiple"
style="width: 100%"
class="selectUserRole"
:placeholder="$t('selectUserRole')"
optionFilterProp="children"
v-model="selectedRole"
@@ -736,4 +737,9 @@
background: #fff;
border-radius: 0 0 2px 2px;
}
</style>
<style>
.selectUserRole .ant-select-selection--multiple {
height: 100px!important;
}
</style>