From d42b5f988343541105d9bf1192c1ff2019032e46 Mon Sep 17 00:00:00 2001 From: cuijiaming <1410452759@qq.com> Date: Mon, 20 Mar 2023 16:26:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E8=AE=A4=E8=AF=81=E6=B8=85?= =?UTF-8?q?=E5=8D=95-=E7=BB=B4=E6=8A=A4=E6=B8=85=E5=8D=95=E4=B8=AD?= =?UTF-8?q?=E7=9A=84-=E6=9B=B4=E6=96=B0log=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 14 + .../controller/AuthDummyLogController.java | 173 ++++++++++++ .../authDummy/entity/AuthDummyLog.java | 79 ++++++ .../authDummy/mapper/AuthDummyLogMapper.java | 17 ++ .../mapper/xml/AuthDummyLogMapper.xml | 15 + .../IAuthDummyInventoryInfoEOService.java | 12 + .../service/IAuthDummyLogService.java | 73 +++++ .../AuthDummyInventoryInfoEOServiceImpl.java | 261 +++++++++++++++++- .../service/impl/AuthDummyLogServiceImpl.java | 174 ++++++++++++ 9 files changed, 817 insertions(+), 1 deletion(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyLogController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyLog.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/AuthDummyLogMapper.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/xml/AuthDummyLogMapper.xml create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyLogService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyLogServiceImpl.java diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index a02c58a71..37ad5c249 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -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`; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyLogController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyLogController.java new file mode 100644 index 000000000..1deebeb83 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/controller/AuthDummyLogController.java @@ -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 { + @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 queryWrapper = QueryGenerator.initQueryWrapper(authDummyLog, req.getParameterMap()); + queryWrapper.orderByDesc("create_time").eq("is_en_log",cut); + Page page = new Page(pageNo, pageSize); + IPage pageList = authDummyLogService.page(page, queryWrapper); + IPage disposeLogList = authDummyLogService.disposeLog(pageList,cut); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "虚拟认证清单log表-列表查询") + @ApiOperation(value="虚拟认证清单log表-列表查询", notes="虚拟认证清单log表-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List 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); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyLog.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyLog.java new file mode 100644 index 000000000..355ad187f --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/entity/AuthDummyLog.java @@ -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; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/AuthDummyLogMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/AuthDummyLogMapper.java new file mode 100644 index 000000000..7ec3134ac --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/AuthDummyLogMapper.java @@ -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 { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/xml/AuthDummyLogMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/xml/AuthDummyLogMapper.xml new file mode 100644 index 000000000..098643adb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/mapper/xml/AuthDummyLogMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java index c27ead70d..346f073c5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyInventoryInfoEOService.java @@ -128,4 +128,16 @@ public interface IAuthDummyInventoryInfoEOService extends IService datas, String cut); String getTreeNameImport(String cut, List categoryList, List technologyTerritoryList); + + /** + * 翻译为中文名 + * @param infoList + */ + void disposeDataToCn(List infoList); + + /** + * 翻译为英文 + * @param infoListCopy + */ + void disposeDataToEn(List infoListCopy); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyLogService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyLogService.java new file mode 100644 index 000000000..237e35382 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/IAuthDummyLogService.java @@ -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 { + + /** + * 保存 + * + * @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 ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + AuthDummyLog queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + //翻译log数据 + IPage disposeLog(IPage pageList, String cut); + + /** + * 设置更新log + * @param contentLog + * @param authDummyInventoryBaseId + * @param value + */ + void updateLog(String contentLog, String authDummyInventoryBaseId, String value); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java index af85c4577..8c584e443 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyInventoryInfoEOServiceImpl.java @@ -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"; + String enContentLog = username+" edited the “" + serialNumber + "” in the list:
"; + 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 ids) { - removeByIds(ids); + + AuthDummyInventoryInfoEO infoEO = queryById(ids.get(0)); + + if(infoEO!=null){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(AuthDummyInventoryInfoEO::getId,ids); + List 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 ServiceImple.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 idList = Arrays.asList(ids.split(",")); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + List infoList = list(queryWrapper.in("id", idList)); + String projectId = infoList.get(0).getAuthDummyInventoryBaseId(); + List updateList = new ArrayList<>(); for (String id : idList) { AuthDummyInventoryInfoEO updateAuthDummyEO = new AuthDummyInventoryInfoEO(); @@ -268,10 +323,86 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl infoListCopy = DeepCopyListUtil.depCopy(infoList); + + //根据id查询数据库中完整信息,翻译 + authDummyInventoryInfoEOService.disposeDataToCn(infoList); + authDummyInventoryInfoEOService.disposeDataToEn(infoListCopy); + + //翻译传入的数据 + List 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("
"); + } + public StringBuilder setUpdateEnContentLog(StringBuilder contentLogBuilder,String fieldName,String oldValue,String newValue){ + return contentLogBuilder.append("\'"+ fieldName + "\' changed from " + oldValue + " to " + newValue).append("
"); + } /** * 导出数据 @@ -612,6 +743,15 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImple.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 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 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 dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getValue()); + List 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 categoryList = this.sysCategoryService.list(); + List 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 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 dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.DUTY_TERRITORY.getValue()); + List 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 categoryList = this.sysCategoryService.list(); + List 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"); + } + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyLogServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyLogServiceImpl.java new file mode 100644 index 000000000..202e883af --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/authDummy/service/impl/AuthDummyLogServiceImpl.java @@ -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 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 ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public AuthDummyLog queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + //翻译log数据 + @Override + public IPage disposeLog(IPage 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); + } + } +}