北京数据版本记录问题---fixbug 28898

yun-zuoyi
castle.zang 2 years ago
parent 749b72ae53
commit 1faa91e59b

@ -1,6 +1,10 @@
package cn.estsh.i3plus.core.api.iservice.busi; package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion;
import cn.estsh.i3plus.pojo.platform.model.SysVersionExportModel;
import cn.estsh.i3plus.pojo.platform.model.SysVersionModel;
import cn.estsh.impp.framework.base.service.ICrudService; import cn.estsh.impp.framework.base.service.ICrudService;
import java.util.List; import java.util.List;
@ -16,6 +20,14 @@ public interface ISysPojoVersionService extends ICrudService<SysPojoVersion> {
SysPojoVersion getPojoVersion(SysPojoVersion bean); SysPojoVersion getPojoVersion(SysPojoVersion bean);
List<SysPojoVersion> findPojoVersionByUserBetweenTime(String userName, String startDate, String endDate); List<SysPojoVersion> findPojoVersionByUserBetweenTime(SysVersionExportModel model);
/**
*
* @param model
* @param pager
* @return
*/
ListPager<SysPojoVersion> findPojoVersionByModel(SysVersionModel model, Pager pager);
} }

@ -73,4 +73,10 @@ public interface ISysRoleService extends ICrudService<SysRole> {
*/ */
@ApiOperation(value = "查询符合条件的角色") @ApiOperation(value = "查询符合条件的角色")
List<SysRole> findAllByRoleProperty(SysRole sysRole); List<SysRole> findAllByRoleProperty(SysRole sysRole);
/**
* +id
* @return
*/
List<SysRole> findAllCommonRoles();
} }

@ -250,6 +250,10 @@
<artifactId>spring-boot-starter-data-elasticsearch</artifactId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>2.4.2</version> <version>2.4.2</version>
</dependency> </dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.apiservice.controller.base;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService; import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.SysLocaleLanguageService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.CommonConstWords;
@ -11,6 +12,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage; import cn.estsh.i3plus.pojo.platform.bean.SysLocaleLanguage;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.bean.SysRole;
import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.base.controller.CoreBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -56,6 +58,9 @@ public class AuthController extends CoreBaseController {
@Autowired @Autowired
private ISysMenuService sysMenuService; private ISysMenuService sysMenuService;
@Autowired
private ISysRoleService sysRoleService;
/** /**
* *
* *
@ -280,8 +285,19 @@ public class AuthController extends CoreBaseController {
return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在"); return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.FAIL.getCode()).setErrorMsg("菜单信息不存在");
} }
} }
/*------------------------数据版本记录功能查询------------------------------*/
@GetMapping("/role/query")
@ApiOperation(value = "获取所有的角色", notes = "获取所有的角色")
public ResultBean getAllRoles() {
List<SysRole> allCommonRoles;
try {
allCommonRoles = sysRoleService.findAllCommonRoles();
} catch (Exception e) {
return ResultBean.fail().setErrorMsg(e.getMessage());
}
return ResultBean.success().setResultList(allCommonRoles);
}
// /** // /**
// * 根据递归获取所有父节点 ID 获取所有 菜单 // * 根据递归获取所有父节点 ID 获取所有 菜单
// * @param list // * @param list

@ -6,9 +6,13 @@ import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.common.util.FileContentTypeTool; import cn.estsh.i3plus.platform.common.util.FileContentTypeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.common.CloudPagerModel; import cn.estsh.i3plus.pojo.model.common.CloudPagerModel;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion;
import cn.estsh.i3plus.pojo.platform.model.SysVersionExportModel;
import cn.estsh.i3plus.pojo.platform.model.SysVersionModel;
import cn.estsh.impp.framework.base.controller.CrudBaseController; import cn.estsh.impp.framework.base.controller.CrudBaseController;
import cn.estsh.impp.framework.base.service.ICrudService; import cn.estsh.impp.framework.base.service.ICrudService;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -21,20 +25,12 @@ import org.apache.commons.io.FileUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream; import java.io.*;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
@ -65,6 +61,18 @@ public class SysPojoVersionController extends CrudBaseController<SysPojoVersion>
return pojoVersionService; return pojoVersionService;
} }
@GetMapping("/list-all")
@ApiOperation(value = "查询版本记录对象", notes = "查询版本记录对象")
ResultBean queryByModel(SysVersionModel model, Pager pager) {
ListPager<SysPojoVersion> pojoVersionByModel;
try {
pojoVersionByModel = pojoVersionService.findPojoVersionByModel(model, pager);
return ResultBean.success().setListPager(pojoVersionByModel);
} catch (Exception e) {
return ResultBean.fail().setErrorMsg(e.getMessage());
}
}
@PostMapping("/cloud-query") @PostMapping("/cloud-query")
@ApiOperation(value = "查询数据", notes = "复杂查询,分页,排序") @ApiOperation(value = "查询数据", notes = "复杂查询,分页,排序")
BaseResultBean<SysPojoVersion> queryPojoVersionByPagerCloud(@RequestBody CloudPagerModel<SysPojoVersion> model) { BaseResultBean<SysPojoVersion> queryPojoVersionByPagerCloud(@RequestBody CloudPagerModel<SysPojoVersion> model) {
@ -83,14 +91,14 @@ public class SysPojoVersionController extends CrudBaseController<SysPojoVersion>
@GetMapping("/export-user-operation") @GetMapping("/export-user-operation")
@ApiOperation(value = "导出用户操作数据", notes = "导出用户操作数据") @ApiOperation(value = "导出用户操作数据", notes = "导出用户操作数据")
BaseResultBean<SysPojoVersion> exportUserOperation(HttpServletResponse response, String userName, String startDate, String endDate) { BaseResultBean<SysPojoVersion> exportUserOperation(HttpServletResponse response, @RequestBody SysVersionExportModel model) {
File file =null; File file =null;
try { try {
final String ZERO_TIME = " 00:00:00"; // final String ZERO_TIME = " 00:00:00";
startDate += ZERO_TIME; // startDate += ZERO_TIME;
endDate += ZERO_TIME; // endDate += ZERO_TIME;
List<SysPojoVersion> pojoVersions = pojoVersionService.findPojoVersionByUserBetweenTime(userName, startDate, endDate); List<SysPojoVersion> pojoVersions = pojoVersionService.findPojoVersionByUserBetweenTime(model);
ExcelTool excelTool = new ExcelTool(entityManager, redisRes); ExcelTool excelTool = new ExcelTool(entityManager, redisRes);
String fileName = "user-operation-" + System.currentTimeMillis() + ".xls"; String fileName = "user-operation-" + System.currentTimeMillis() + ".xls";

@ -102,18 +102,16 @@ public class PojoVersionQueueReceiver {
if (!"insert".equals(afterVersion.getVersionMethodName())) { // 不是新增数据的时候则需要查询历史记录 if (!"insert".equals(afterVersion.getVersionMethodName())) { // 不是新增数据的时候则需要查询历史记录
// 已存在数据封装 // 已存在数据封装
if (afterVersion != null) { afterVersion.setOrderByParam("createDatetime");
afterVersion.setOrderByParam("createDatetime"); afterVersion.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
afterVersion.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue()); beforeVersion = pojoVersionService.getPojoVersion(afterVersion);
beforeVersion = pojoVersionService.getPojoVersion(afterVersion); if (Objects.nonNull(beforeVersion)) {
if (Objects.nonNull(beforeVersion)) { beforeVersionDetail = pojoVersionDetailService.get(beforeVersion.getPojoDetailId());
beforeVersionDetail = pojoVersionDetailService.get(beforeVersion.getPojoDetailId()); if (Objects.nonNull(beforeVersionDetail)) {
if (Objects.nonNull(beforeVersionDetail)) { beforeMap.putAll(JsonUtilTool.decode(beforeVersionDetail.getPojoAfter(), Map.class));
beforeMap.putAll(JsonUtilTool.decode(beforeVersionDetail.getPojoAfter(), Map.class));
}
} }
operateType = CommonEnumUtil.DAO_OPERATE_TYPE.UPDATE;
} }
operateType = CommonEnumUtil.DAO_OPERATE_TYPE.UPDATE;
} }
// 不保存字段 数据剔除 // 不保存字段 数据剔除
@ -166,7 +164,6 @@ public class PojoVersionQueueReceiver {
} }
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("pojoVersion 消息处理失败{}", new String(message.getBody()), e); LOGGER.error("pojoVersion 消息处理失败{}", new String(message.getBody()), e);
e.printStackTrace();
isNack = true; isNack = true;
} finally { } finally {
try { try {

@ -3,20 +3,31 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionDetailService; import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionDetailService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService; import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan;
import cn.estsh.i3plus.pojo.platform.bean.SysRefUserRole;
import cn.estsh.i3plus.pojo.platform.model.SysVersionExportModel;
import cn.estsh.i3plus.pojo.platform.model.SysVersionModel;
import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionPlanRepository; import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionPlanRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionRepository; import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserRoleRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.base.service.CrudService; import cn.estsh.impp.framework.base.service.CrudService;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
/** /**
* @Description : * @Description :
@ -37,6 +48,9 @@ public class SysPojoVersionService extends CrudService<SysPojoVersion> implement
@Autowired @Autowired
private ISysPojoVersionDetailService pojoVersionDetailService; private ISysPojoVersionDetailService pojoVersionDetailService;
@Autowired
private SysRefUserRoleRepository refUserRoleRepository;
@Override @Override
public BaseRepository<SysPojoVersion, Long> getRepository() { public BaseRepository<SysPojoVersion, Long> getRepository() {
return pojoVersionRDao; return pojoVersionRDao;
@ -49,9 +63,22 @@ public class SysPojoVersionService extends CrudService<SysPojoVersion> implement
} }
@Override @Override
public List<SysPojoVersion> findPojoVersionByUserBetweenTime(String userName, String startDate, String endDate) { public List<SysPojoVersion> findPojoVersionByUserBetweenTime(SysVersionExportModel model) {
String endDate = model.getEndDate();
String startDate = model.getStartDate();
String userName = model.getUserName();
Long roleId = model.getRoleId();
DdlPackBean packBean = DdlPackBean.getDdlPackBean(); DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getStringEqualPack(userName, "modifyUser", packBean); if (Strings.isNotBlank(userName)){
DdlPreparedPack.getStringEqualPack(userName, "modifyUser", packBean);
}
if (!Objects.isNull(roleId) && Strings.isBlank(userName)){
DdlPackBean roleRefPackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(roleId,"roleId",roleRefPackBean);
List<SysRefUserRole> refUserRoles = refUserRoleRepository.findByHqlWhere(roleRefPackBean);
List<String> userNameList = refUserRoles.stream().map(SysRefUserRole::getRoleNameRdd).collect(Collectors.toList());
DdlPreparedPack.getInPackList(userNameList,"modifyUser",packBean);
}
DdlPreparedPack.timeBuilder(startDate, endDate, "modifyDatetime", true, false, packBean); DdlPreparedPack.timeBuilder(startDate, endDate, "modifyDatetime", true, false, packBean);
List<SysPojoVersion> pojoVersions = pojoVersionRDao.findByHqlWhere(packBean); List<SysPojoVersion> pojoVersions = pojoVersionRDao.findByHqlWhere(packBean);
@ -67,6 +94,48 @@ public class SysPojoVersionService extends CrudService<SysPojoVersion> implement
} }
@Override @Override
public ListPager<SysPojoVersion> findPojoVersionByModel(SysVersionModel model, Pager pager) {
// String organizeCode = AuthUtil.getOrganizeCode();
Long roleId = model.getRoleId();
List<SysRefUserRole> sysRefUserRoleList = new ArrayList<>();
if (!Objects.isNull(roleId)){
//查询角色查询出所有的拥有该角色的人员名称
DdlPackBean rolePackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(roleId,"roleId",rolePackBean);
sysRefUserRoleList.addAll(refUserRoleRepository.findByHqlWhere(rolePackBean));
}
DdlPackBean versionPackBean = DdlPackBean.getDdlPackBean();
Long planId = model.getPlanId();
String pojoCompare = model.getPojoCompare();
Long refId = model.getRefId();
String modifyDateTimeStart = model.getModifyDateTimeStart();
String modifyDateTimeEnd = model.getModifyDateTimeEnd();
if (!Objects.isNull(planId)){
DdlPreparedPack.getNumEqualPack(planId,"planId",versionPackBean);
}
if (Strings.isNotBlank(pojoCompare)){
DdlPreparedPack.getStringRightLikerPack(pojoCompare,"pojoCompare",versionPackBean);
}
if (!Objects.isNull(refId)){
DdlPreparedPack.getNumEqualPack(refId,"refId",versionPackBean);
}
if (Strings.isNotBlank(modifyDateTimeStart) && Strings.isNotBlank(modifyDateTimeEnd)){
DdlPreparedPack.timeBuilder(modifyDateTimeStart,modifyDateTimeEnd,"createDatetime",versionPackBean,true);
}
if (sysRefUserRoleList.size() > 0){
List<String> userNameList = sysRefUserRoleList.stream().map(SysRefUserRole::getUserNameRdd).collect(Collectors.toList());
DdlPreparedPack.getInPackList(userNameList,"createUser",versionPackBean);
}
int count = pojoVersionRDao.findByHqlWhereCount(versionPackBean);
pager = PagerHelper.getPager(pager, count);
List<SysPojoVersion> sysPojoVersionList = pojoVersionRDao.findByHqlWherePage(versionPackBean, pager);
return new ListPager<>(sysPojoVersionList,pager);
}
@Override
public SysPojoVersion packGetBean(SysPojoVersion bean) { public SysPojoVersion packGetBean(SysPojoVersion bean) {
if (Objects.nonNull(bean)) { if (Objects.nonNull(bean)) {
bean.setVersionDetail(pojoVersionDetailService.get(bean.getPojoDetailId())); bean.setVersionDetail(pojoVersionDetailService.get(bean.getPojoDetailId()));

@ -312,6 +312,13 @@ public class SysRoleService extends CrudService<SysRole> implements ISysRoleServ
return roleRDao.findByHqlWhere(packBean); return roleRDao.findByHqlWhere(packBean);
} }
@Override
public List<SysRole> findAllCommonRoles() {
String organizeCode = AuthUtil.getOrganizeCode();
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
return roleRDao.findByHqlWhere(ddlPackBean);
}
// @Override // @Override
// public void packAfterRefreshCache() { // public void packAfterRefreshCache() {

@ -38,7 +38,7 @@
<app.charset>UTF-8</app.charset> <app.charset>UTF-8</app.charset>
<app.jdk.version>1.8</app.jdk.version> <app.jdk.version>1.8</app.jdk.version>
<!-- <project.dependency.version>1.0-TEST-SNAPSHOT</project.dependency.version>--> <!-- <project.dependency.version>1.0-TEST-SNAPSHOT</project.dependency.version>-->
<log4j2.version>2.18.0</log4j2.version> <log4j2.version>2.19.0</log4j2.version>
<qms.icloud.version>1.0.0.1</qms.icloud.version> <qms.icloud.version>1.0.0.1</qms.icloud.version>
<eam.icloud.version>1.0.0.1</eam.icloud.version> <eam.icloud.version>1.0.0.1</eam.icloud.version>
<jackson.databind.version>2.13.2.2</jackson.databind.version> <jackson.databind.version>2.13.2.2</jackson.databind.version>
@ -46,7 +46,8 @@
<jackson.annotation.version>2.13.2</jackson.annotation.version> <jackson.annotation.version>2.13.2</jackson.annotation.version>
<project.patch.version>1.0.0.1-patch</project.patch.version> <project.patch.version>1.0.0.1-patch</project.patch.version>
<xstream.version>1.4.19</xstream.version> <xstream.version>1.4.19</xstream.version>
<impp.framework.boot.version>1.0.0.3</impp.framework.boot.version> <impp.framework.boot.version>1.0-TEST-SNAPSHOT</impp.framework.boot.version>
<!-- <impp.framework.boot.version>1.0.0.2</impp.framework.boot.version>-->
<i3plus.core.icloud.version>1.0.0.1</i3plus.core.icloud.version> <i3plus.core.icloud.version>1.0.0.1</i3plus.core.icloud.version>
<i3plus.wms.icloud.version>1.0.0.1</i3plus.wms.icloud.version> <i3plus.wms.icloud.version>1.0.0.1</i3plus.wms.icloud.version>
<i3plus.mes.icloud.version>1.0.0.1</i3plus.mes.icloud.version> <i3plus.mes.icloud.version>1.0.0.1</i3plus.mes.icloud.version>

Loading…
Cancel
Save