虚拟认证清单-维护清单中的-更新log开发

This commit is contained in:
cuijiaming
2023-03-20 16:26:33 +08:00
parent 9972d1571a
commit d42b5f9883
9 changed files with 817 additions and 1 deletions
@@ -399,6 +399,20 @@ INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `create_by`, `create_ti
ALTER TABLE `project_laws_inventory`
ADD COLUMN `design_flow_status` varchar(255) NULL COMMENT '设计符合性确认-流程状态' AFTER `design_due_date`,
ADD COLUMN `verify_flow_status` varchar(255) NULL COMMENT '验证符合性确认-流程状态' AFTER `verify_due_date`;
-- 认证虚拟清单log表 2023-03-17 未同步生产环境
CREATE TABLE `auth_dummy_log` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`auth_dummy_inventory_base_id` varchar(32) DEFAULT NULL COMMENT '虚拟认证清单基础表id',
`log_content` varchar(5000) DEFAULT NULL COMMENT 'log内容',
`is_en_log` varchar(50) DEFAULT NULL COMMENT 'log语言类别,cn中文,en英文',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 参数配置数据表,增加排序号字段sql 2023-1-31 未同步生产环境
ALTER TABLE `laws_weilai`.`params_config_data`
ADD COLUMN `order_num` int(10) NULL COMMENT '排序号' AFTER `params_collect_manifest_id`;
@@ -0,0 +1,173 @@
package com.jero.modules.authDummy.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.authDummy.entity.AuthDummyLog;
import com.jero.modules.authDummy.service.IAuthDummyLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.dummy.entity.DummyLogEO;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
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;
/**
* @Description: 虚拟认证清单log表
* @Author: jero-boot
* @Date: 2023-03-17
* @Version: V1.0
*/
@Api(tags="虚拟认证清单log表")
@RestController
@RequestMapping("/authDummy/authDummyLog")
@Slf4j
public class AuthDummyLogController extends JeroController<AuthDummyLog, IAuthDummyLogService> {
@Autowired
private IAuthDummyLogService authDummyLogService;
/**
* 分页列表查询
*
* @param authDummyLog
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "虚拟认证清单log表-分页列表查询")
@ApiOperation(value="虚拟认证清单log表-分页列表查询", notes="虚拟认证清单log表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(AuthDummyLog authDummyLog,String cut,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<AuthDummyLog> queryWrapper = QueryGenerator.initQueryWrapper(authDummyLog, req.getParameterMap());
queryWrapper.orderByDesc("create_time").eq("is_en_log",cut);
Page<AuthDummyLog> page = new Page<AuthDummyLog>(pageNo, pageSize);
IPage<AuthDummyLog> pageList = authDummyLogService.page(page, queryWrapper);
IPage<AuthDummyLog> disposeLogList = authDummyLogService.disposeLog(pageList,cut);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "虚拟认证清单log表-列表查询")
@ApiOperation(value="虚拟认证清单log表-列表查询", notes="虚拟认证清单log表-列表查询")
@GetMapping(value = "/list")
public Result<List<AuthDummyLog>> queryList() {
List<AuthDummyLog> list = authDummyLogService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param authDummyLog
* @return
*/
@AutoLog(value = "虚拟认证清单log表-添加")
@ApiOperation(value="虚拟认证清单log表-添加", notes="虚拟认证清单log表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody AuthDummyLog authDummyLog) {
authDummyLogService.add(authDummyLog);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param authDummyLog
* @return
*/
@AutoLog(value = "虚拟认证清单log表-编辑")
@ApiOperation(value="虚拟认证清单log表-编辑", notes="虚拟认证清单log表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody AuthDummyLog authDummyLog) {
authDummyLogService.editById(authDummyLog);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "虚拟认证清单log表-通过id删除")
@ApiOperation(value="虚拟认证清单log表-通过id删除", notes="虚拟认证清单log表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
authDummyLogService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "虚拟认证清单log表-批量删除")
@ApiOperation(value="虚拟认证清单log表-批量删除", notes="虚拟认证清单log表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.authDummyLogService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "虚拟认证清单log表-通过id查询")
@ApiOperation(value="虚拟认证清单log表-通过id查询", notes="虚拟认证清单log表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
AuthDummyLog authDummyLog = authDummyLogService.queryById(id);
if(authDummyLog==null) {
return Result.error("未找到对应数据");
}
return Result.OK(authDummyLog);
}
/**
* 导出excel
*
* @param request
* @param authDummyLog
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, AuthDummyLog authDummyLog) {
return super.exportXls(request, authDummyLog, AuthDummyLog.class, "虚拟认证清单log表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, AuthDummyLog.class);
}
}
@@ -0,0 +1,79 @@
package com.jero.modules.authDummy.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 虚拟认证清单log表
* @Author: jero-boot
* @Date: 2023-03-17
* @Version: V1.0
*/
@Data
@TableName("auth_dummy_log")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="auth_dummy_log对象", description="虚拟认证清单log表")
public class AuthDummyLog implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**虚拟认证清单基础表id*/
@Excel(name = "虚拟认证清单基础表id", width = 15)
@ApiModelProperty(value = "虚拟认证清单基础表id")
private java.lang.String authDummyInventoryBaseId;
/**log内容*/
@Excel(name = "log内容", width = 15)
@ApiModelProperty(value = "log内容")
private java.lang.String logContent;
/**log语言类别,cn中文,en英文*/
@Excel(name = "log语言类别,cn中文,en英文", width = 15)
@ApiModelProperty(value = "log语言类别,cn中文,en英文")
private java.lang.String isEnLog;
}
@@ -0,0 +1,17 @@
package com.jero.modules.authDummy.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.authDummy.entity.AuthDummyLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 虚拟认证清单log表
* @Author: jero-boot
* @Date: 2023-03-17
* @Version: V1.0
*/
public interface AuthDummyLogMapper extends BaseMapper<AuthDummyLog> {
}
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.authDummy.mapper.AuthDummyLogMapper">
<resultMap id="AuthDummyLogResultMap" type="com.jero.modules.authDummy.entity.AuthDummyLog">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="auth_dummy_inventory_base_id" property="authDummyInventoryBaseId" />
<result column="log_content" property="logContent" />
<result column="is_en_log" property="isEnLog" />
</resultMap>
</mapper>
@@ -128,4 +128,16 @@ public interface IAuthDummyInventoryInfoEOService extends IService<AuthDummyInve
*/
void importDisposeData(List<AuthDummyInventoryInfoEO> datas, String cut);
String getTreeNameImport(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList);
/**
* 翻译为中文名
* @param infoList
*/
void disposeDataToCn(List<AuthDummyInventoryInfoEO> infoList);
/**
* 翻译为英文
* @param infoListCopy
*/
void disposeDataToEn(List<AuthDummyInventoryInfoEO> infoListCopy);
}
@@ -0,0 +1,73 @@
package com.jero.modules.authDummy.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.authDummy.entity.AuthDummyLog;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 虚拟认证清单log表
* @Author: jero-boot
* @Date: 2023-03-17
* @Version: V1.0
*/
public interface IAuthDummyLogService extends IService<AuthDummyLog> {
/**
* 保存
*
* @param authDummyLog
* @return
*/
void add(AuthDummyLog authDummyLog);
/**
* 更新
*
* @param authDummyLog
* @return
*/
void editById(AuthDummyLog authDummyLog);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
AuthDummyLog queryById(String id);
/**
* 列表查询
*
* @return
*/
List<AuthDummyLog> queryList();
//翻译log数据
IPage<AuthDummyLog> disposeLog(IPage<AuthDummyLog> pageList, String cut);
/**
* 设置更新log
* @param contentLog
* @param authDummyInventoryBaseId
* @param value
*/
void updateLog(String contentLog, String authDummyInventoryBaseId, String value);
}
@@ -11,22 +11,28 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.authDummy.entity.AuthDummyInventoryBaseEO;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEO;
import com.jero.modules.authDummy.entity.AuthDummyInventoryInfoEOEn;
import com.jero.modules.authDummy.mapper.AuthDummyInventoryInfoEOMapper;
import com.jero.modules.authDummy.service.IAuthDummyInventoryBaseEOService;
import com.jero.modules.authDummy.service.IAuthDummyInventoryInfoEOService;
import com.jero.modules.authDummy.service.IAuthDummyLogService;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.service.impl.DummyLogEOServiceImpl;
import com.jero.modules.dummy.util.DeepCopyListUtil;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
import com.jero.modules.split.common.FileUnZip;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.mapper.SysCategoryMapper;
import com.jero.modules.system.mapper.SysDictItemMapper;
import com.jero.modules.system.service.ISysDictItemService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
@@ -45,6 +51,7 @@ import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
import org.aspectj.util.FileUtil;
import org.jeecgframework.poi.excel.ExcelExportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -112,6 +119,12 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
@Autowired
private IAuthDummyInventoryInfoEOService authDummyInventoryInfoEOService;
@Autowired
private IAuthDummyLogService authDummyLogService;
@Autowired
private SysDictItemMapper sysDictItemMapper;
/**
* 保存
*
@@ -137,6 +150,15 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
Date now = new Date();
authDummyInventoryInfoEO.setUpdateTime(now);
saveOrUpdate(authDummyInventoryInfoEO);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String serialNumber = authDummyInventoryInfoEO.getSerialNumber();
String contentLog = username+"编辑了清单中的“" + serialNumber + "”:</br>";
String enContentLog = username+" edited the “" + serialNumber + "” in the list:</br>";
authDummyLogService.updateLog(contentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
}
/**
@@ -158,7 +180,25 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
AuthDummyInventoryInfoEO infoEO = queryById(ids.get(0));
if(infoEO!=null){
LambdaQueryWrapper<AuthDummyInventoryInfoEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(AuthDummyInventoryInfoEO::getId,ids);
List<AuthDummyInventoryInfoEO> authDummyInventoryInfoEOList = this.list(wrapper);
removeByIds(ids);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String serialNumber = authDummyInventoryInfoEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
String contentLog = username+"删除了清单中的“"+serialNumber+"";
String enContentLog = username+" deleted “"+serialNumber+"” from the list";
authDummyLogService.updateLog(contentLog, authDummyInventoryInfoEOList.get(0).getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, authDummyInventoryInfoEOList.get(0).getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
}
}
/**
@@ -196,6 +236,16 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
authDummyInventoryInfoEO.setId(UUID.randomUUID().toString().replace("-", ""));
}
this.saveBatch(authDummyInventoryInfoEOList);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String projectId = authDummyInventoryInfoEOList.get(0).getAuthDummyInventoryBaseId();
String serialNumber = authDummyInventoryInfoEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
String contentLog = username+"复制了“"+serialNumber+"";
String enContentLog = username+" copied “"+serialNumber+"”.";
authDummyLogService.updateLog(contentLog, projectId,CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, projectId,CutEnum.EN.getValue());
}
} catch (Exception e) {
e.printStackTrace();
@@ -231,6 +281,11 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
throw new JeroBootException("至少选择一条数据进行批量设置!");
}
List<String> idList = Arrays.asList(ids.split(","));
QueryWrapper<AuthDummyInventoryInfoEO> queryWrapper = new QueryWrapper<>();
List<AuthDummyInventoryInfoEO> infoList = list(queryWrapper.in("id", idList));
String projectId = infoList.get(0).getAuthDummyInventoryBaseId();
List<AuthDummyInventoryInfoEO> updateList = new ArrayList<>();
for (String id : idList) {
AuthDummyInventoryInfoEO updateAuthDummyEO = new AuthDummyInventoryInfoEO();
@@ -268,10 +323,86 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(CollectionUtils.isNotEmpty(updateList)){
this.updateBatchById(updateList);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String contentLog = username+"批量设置了:“";
String enContentLog = username+" batch set :“";
List<AuthDummyInventoryInfoEO> infoListCopy = DeepCopyListUtil.depCopy(infoList);
//根据id查询数据库中完整信息,翻译
authDummyInventoryInfoEOService.disposeDataToCn(infoList);
authDummyInventoryInfoEOService.disposeDataToEn(infoListCopy);
//翻译传入的数据
List<AuthDummyInventoryInfoEO> inputList = new ArrayList<>();
inputList.add(authDummyInventoryInfoEO);
authDummyInventoryInfoEOService.disposeDataToCn(inputList);
AuthDummyInventoryInfoEO inputInfoEO = inputList.get(0);
for (String id : idList) {
AuthDummyInventoryInfoEO info = infoList.stream().filter(e -> id.equals(e.getId())).collect(Collectors.toList()).get(0);
AuthDummyInventoryInfoEO infoCopy = infoListCopy.stream().filter(e -> id.equals(e.getId())).collect(Collectors.toList()).get(0);
StringBuilder contentLogBuilder = new StringBuilder();
StringBuilder enContentLogBuilder = new StringBuilder();
contentLogBuilder.append(info.getSerialNumber() + ":");
enContentLogBuilder.append(infoCopy.getSerialNumber() + ":");
AuthDummyInventoryInfoEO authDummyInventoryInfoEOTemp = new AuthDummyInventoryInfoEO();
authDummyInventoryInfoEOTemp.setId(id);
//责任领域 dutyTerritory
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDutyTerritory())) {
if (!info.getDutyTerritory().equals(inputInfoEO.getDutyTerritory()) && !inputInfoEO.getDutyTerritory().equals("")){
setUpdateContentLog(contentLogBuilder, "责任领域", info.getDutyTerritory(), inputInfoEO.getDutyTerritory());
setUpdateEnContentLog(enContentLogBuilder, "Responsible Field", infoCopy.getDutyTerritory(), inputInfoEO.getDutyTerritory());
}
}
//交付物类型
if(StringUtils.isNotBlank(authDummyInventoryInfoEO.getDeliverable())) {
if (!info.getDeliverable().equals(inputInfoEO.getDeliverable()) && !inputInfoEO.getDeliverable().equals("")){
setUpdateContentLog(contentLogBuilder, "交付物类型", info.getDeliverable(), inputInfoEO.getDeliverable());
setUpdateEnContentLog(enContentLogBuilder, "Deliverable Type", infoCopy.getDeliverable(), inputInfoEO.getDeliverable());
}
}
//处理具体变动消息为空的contentLog
String contentInfoIndexStart = contentLogBuilder.substring(0,contentLogBuilder.lastIndexOf(":"));
String contentInfo= contentLogBuilder.substring(contentInfoIndexStart.length()+1,contentLogBuilder.length());
String enContentInfoIndexStart = enContentLogBuilder.substring(0,enContentLogBuilder.lastIndexOf(":"));
String enContentInfo= enContentLogBuilder.substring(enContentInfoIndexStart.length()+1,enContentLogBuilder.length());
if(StringUtils.isNotBlank(contentInfo) && StringUtils.isNotBlank(enContentInfo)){
contentLog += contentLogBuilder;
enContentLog += enContentLogBuilder ;
}
}
String contentIndexStart = contentLog.substring(0,contentLog.indexOf(""));
String content= contentLog.substring(contentIndexStart.length()+1,contentLog.length());
String enContentIndexStart = enContentLog.substring(0,enContentLog.indexOf(""));
String enContent= enContentLog.substring(enContentIndexStart.length()+1,enContentLog.length());
if(StringUtils.isNotBlank(content)){
contentLog = contentLog.substring(0, contentLog.length() - 5) + "";
authDummyLogService.updateLog(contentLog, projectId,CutEnum.CN.getValue());
}
if(StringUtils.isNotBlank(enContent)){
enContentLog = enContentLog.substring(0, enContentLog.length() - 5) + "";
authDummyLogService.updateLog(enContentLog, projectId,CutEnum.EN.getValue());
}
}
}
return Result.OK("批量设置成功!");
}
public StringBuilder setUpdateContentLog(StringBuilder contentLogBuilder,String fieldName,String oldValue,String newValue){
return contentLogBuilder.append("\'"+ fieldName + "\'由" + oldValue + "改为了" + newValue).append("</br>");
}
public StringBuilder setUpdateEnContentLog(StringBuilder contentLogBuilder,String fieldName,String oldValue,String newValue){
return contentLogBuilder.append("\'"+ fieldName + "\' changed from " + oldValue + " to " + newValue).append("</br>");
}
/**
* 导出数据
@@ -612,6 +743,15 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
if(CollectionUtils.isNotEmpty(authDummyInventoryInfoEOList)){
this.saveBatch(authDummyInventoryInfoEOList);
//更新log
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String serialNumber1 = authDummyInventoryInfoEOList.stream().map(e->e.getSerialNumber()).collect(Collectors.joining(","));
String contentLog = username+"向清单中添加了“"+serialNumber1+"";
String enContentLog = username+" added “"+serialNumber1+"” to the list.";
authDummyLogService.updateLog(contentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, authDummyInventoryInfoEO.getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
}
}catch (Exception ex){
throw new JeroBootException("添加失败!");
@@ -895,8 +1035,21 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}
List<AuthDummyInventoryInfoEO> list = new ArrayList<>();
list.add(data);
StringBuilder serialNumberBuilder = new StringBuilder();
if (list.size()>0) {
authDummyInventoryInfoEOService.saveBatch(list);
//更新log
for (AuthDummyInventoryInfoEO authDummyInventoryInfoEO : list){
serialNumberBuilder.append(authDummyInventoryInfoEO.getSerialNumber()).append(",");
}
String serialNumber = serialNumberBuilder.substring(0, serialNumberBuilder.length() - 1);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String username = sysUser.getUsername();
String contentLog = username+"向清单中导入了“"+serialNumber+"";
String enContentLog = username+" imported “"+serialNumber+"” into the list.";
authDummyLogService.updateLog(contentLog, list.get(0).getAuthDummyInventoryBaseId(),CutEnum.CN.getValue());
authDummyLogService.updateLog(enContentLog, list.get(0).getAuthDummyInventoryBaseId(),CutEnum.EN.getValue());
}
}
}
@@ -921,4 +1074,110 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
}
return technologyTerritoryId;
}
/**
* 翻译为中文名
* @param infoList
*/
@Override
public void disposeDataToCn(List<AuthDummyInventoryInfoEO> infoList) {
for(AuthDummyInventoryInfoEO authDummyInventoryInfoEO : infoList){
if(StringUtils.isBlank(authDummyInventoryInfoEO.getCategory())){
authDummyInventoryInfoEO.setCategory("");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getInspectionItem())){
authDummyInventoryInfoEO.setInspectionItem("");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getConfigItem())){
authDummyInventoryInfoEO.setConfigItem("");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getWvtaId())){
authDummyInventoryInfoEO.setWvtaId("");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getSerialNumber())){
authDummyInventoryInfoEO.setSerialNumber(authDummyInventoryInfoEO.getSerialNumber());
}
//责任领域
if (StringUtils.isNotBlank(authDummyInventoryInfoEO.getDutyTerritory())) {
List<SysDictItem> dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getValue());
List<String> dutyTerritoryList = Arrays.asList(authDummyInventoryInfoEO.getDutyTerritory().split(","));
StringBuilder dutyTerritoryBuilder = new StringBuilder();
for (String midDutyTerritory : dutyTerritoryList) {
String dutyTerritoryName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getItemText()).collect(Collectors.joining(","));
dutyTerritoryBuilder.append(dutyTerritoryName).append(",");
}
authDummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0, dutyTerritoryBuilder.toString().length() - 1));
}
else {
authDummyInventoryInfoEO.setDutyTerritory("");
}
//交付物类型
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getDeliverableType())){
List<SysCategory> categoryList = this.sysCategoryService.list();
List<String> deliverableList = Arrays.asList(authDummyInventoryInfoEO.getDeliverableType().split(","));
StringBuilder deliverableBuilder = new StringBuilder();
for(String midDeliverable : deliverableList){
String deliberableName = categoryList.stream().filter(e -> e.getId().equals(midDeliverable)).map(f ->f.getName()).collect(Collectors.joining(","));
deliverableBuilder.append(deliberableName).append(",");
}
authDummyInventoryInfoEO.setDeliverable(deliverableBuilder.substring(0, deliverableBuilder.toString().length() - 1));
}
else {
authDummyInventoryInfoEO.setDeliverable("");
}
}
}
/**
* 翻译为英文
* @param infoListCopy
*/
@Override
public void disposeDataToEn(List<AuthDummyInventoryInfoEO> infoListCopy) {
for(AuthDummyInventoryInfoEO authDummyInventoryInfoEO : infoListCopy){
if(StringUtils.isBlank(authDummyInventoryInfoEO.getCategory())){
authDummyInventoryInfoEO.setCategory("null");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getInspectionItem())){
authDummyInventoryInfoEO.setInspectionItem("null");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getConfigItem())){
authDummyInventoryInfoEO.setConfigItem("null");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getWvtaId())){
authDummyInventoryInfoEO.setWvtaId("null");
}
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getSerialNumber())){
authDummyInventoryInfoEO.setSerialNumber(authDummyInventoryInfoEO.getSerialNumber());
}
//责任领域
if (StringUtils.isNotBlank(authDummyInventoryInfoEO.getDutyTerritory())) {
List<SysDictItem> dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getValue());
List<String> dutyTerritoryList = Arrays.asList(authDummyInventoryInfoEO.getDutyTerritory().split(","));
StringBuilder dutyTerritoryBuilder = new StringBuilder();
for (String midDutyTerritory : dutyTerritoryList) {
String dutyTerritoryEnName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getEnName()).collect(Collectors.joining(","));
dutyTerritoryBuilder.append(dutyTerritoryEnName).append(",");
}
authDummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0, dutyTerritoryBuilder.toString().length() - 1));
}
else {
authDummyInventoryInfoEO.setDutyTerritory("null");
}
//交付物类型
if(StringUtils.isNotEmpty(authDummyInventoryInfoEO.getDeliverable())){
List<SysCategory> categoryList = this.sysCategoryService.list();
List<String> deliverableList = Arrays.asList(authDummyInventoryInfoEO.getDeliverableType().split(","));
StringBuilder deliverableBuilder = new StringBuilder();
for(String midDeliverable : deliverableList){
String deliberableEnName = categoryList.stream().filter(e -> e.getId().equals(midDeliverable)).map(f ->f.getEnName()).collect(Collectors.joining(","));
deliverableBuilder.append(deliberableEnName).append(",");
}
authDummyInventoryInfoEO.setDeliverable(deliverableBuilder.substring(0, deliverableBuilder.toString().length() - 1));
}
else {
authDummyInventoryInfoEO.setDeliverable("null");
}
}
}
}
@@ -0,0 +1,174 @@
package com.jero.modules.authDummy.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.authDummy.entity.AuthDummyLog;
import com.jero.modules.authDummy.mapper.AuthDummyLogMapper;
import com.jero.modules.authDummy.service.IAuthDummyLogService;
import com.jero.modules.dummy.entity.DummyLogEO;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 虚拟认证清单log表
* @Author: jero-boot
* @Date: 2023-03-17
* @Version: V1.0
*/
@Service
public class AuthDummyLogServiceImpl extends ServiceImpl<AuthDummyLogMapper, AuthDummyLog> implements IAuthDummyLogService {
/**
* 保存
*
* @param authDummyLog
* @return
*/
@Override
public void add(AuthDummyLog authDummyLog) {
Date now = new Date();
authDummyLog.setCreateTime(now);
authDummyLog.setUpdateTime(now);
save(authDummyLog);
}
/**
* 更新
*
* @param authDummyLog
* @return
*/
@Override
public void editById(AuthDummyLog authDummyLog) {
Date now = new Date();
authDummyLog.setUpdateTime(now);
saveOrUpdate(authDummyLog);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public AuthDummyLog queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<AuthDummyLog> queryList() {
return list();
}
//翻译log数据
@Override
public IPage<AuthDummyLog> disposeLog(IPage<AuthDummyLog> pageList, String cut) {
for(AuthDummyLog authDummyLog : pageList.getRecords()){
if(CutEnum.EN.getValue().equals(cut)){
//添加
//String contentLog = username+"向清单中添加了标准“"+serialNumber+"”";
if(authDummyLog.getLogContent().contains("向清单中添加了标准")){
String replaceLog = authDummyLog.getLogContent().replace("向清单中添加了标准"," added the standard ")
.replace("","” to the list.");
authDummyLog.setLogContent(replaceLog);
System.out.println(authDummyLog);
}
//编辑
//String contentLog = username+"编辑了清单中的“" + dummyInventoryInfoEO.getSerialNumber() + "”标准:";
else if(authDummyLog.getLogContent().contains("编辑了清单中的")){
String replaceLog = authDummyLog.getLogContent().replace("编辑了清单中的"," edited the ")
.replace("”标准","” standard in the list");
// replaceLog = transData(replaceLog);
authDummyLog.setLogContent(replaceLog);
System.out.println(authDummyLog);
}
//删除
//String contentLog = username+"删除了清单中的“"+serialNumber+"”标准";
else if(authDummyLog.getLogContent().contains("删除了清单中的")){
String replaceLog = authDummyLog.getLogContent().replace("删除了清单中的"," deleted the ")
.replace("”标准","” standard from the list");
authDummyLog.setLogContent(replaceLog);
System.out.println(authDummyLog);
}
//导入
//String contentLog = username+"向清单中导入了“"+serialNumber+"”标准";
/*else if(dummyLogEO.getLogContent().contains("向清单中导入了")){
String replaceLog = dummyLogEO.getLogContent().replace("向清单中添加了标准"," imported ")
.replace("”","” standard into the list.");
dummyLogEO.setLogContent(replaceLog);
System.out.println(dummyLogEO);
}*/
/*//复制
//String contentLog = username+"复制了“"+serialNumber+"”";
else if(dummyLogEO.getLogContent().contains("复制了")){
String replaceLog = dummyLogEO.getLogContent().replace("复制了"," copied ")
.replace("”","” to the list.");
dummyLogEO.setLogContent(replaceLog);
System.out.println(dummyLogEO);
}*/
/* //批量设置
//XXX批量设置了“标准号1:'字段名'由XXX改为了XXX ,标准号2:"字段名'由XXX改为了xXX”。
//XXX batch set "standard number 1:' field name' changed from XXX to XXX, standard number 2:' field name' changed from XXX to XXX".
else if(dummyLogEO.getLogContent().contains("批量设置了")){
String replaceLog = dummyLogEO.getLogContent().replace("批量设置了"," batch set ");
////////
dummyLogEO.setLogContent(replaceLog);
System.out.println(dummyLogEO);
}*/
}
}
return pageList;
}
/**
* 设置更新log
* @param contentLog
* @param authDummyInventoryBaseId
* @param value
*/
@Override
public void updateLog(String contentLog, String authDummyInventoryBaseId, String value) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (StringUtils.isNotBlank(contentLog)) {
AuthDummyLog authDummyLog = new AuthDummyLog();
authDummyLog.setAuthDummyInventoryBaseId(authDummyInventoryBaseId);
authDummyLog.setLogContent(contentLog);
authDummyLog.setCreateBy(sysUser.getUsername());
authDummyLog.setIsEnLog(value);
add(authDummyLog);
}
}
}