diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 61597413..f11eb9d5 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -246,15 +246,15 @@ public class SearchCenterServiceImpl implements SearchCenterService { sortField2 = "lawsYear"; sortField3 = "lawsType.keyword"; } else if("bussstand".equals(searchInfoEO.getSelectIndex())) { - sortField1 = "put_time_data"; - sortField2 = "standNumber"; - sortField3 = "standYear"; - sortField4 = "standSort.keyword"; +// sortField1 = "put_time_data"; + sortField1 = "standNumber"; + sortField2 = "standYear"; + sortField3 = "standSort.keyword"; } else if ("stand".equals(searchInfoEO.getSelectIndex())) { sortField1 = "SSRQName"; - sortField2 = "standNumber"; - sortField3 = "standYear"; - sortField4 = "standSort.keyword"; +// sortField2 = "standNumber"; +// sortField3 = "standYear"; +// sortField4 = "standSort.keyword"; } else { sortField1 = "standNumber"; sortField2 = "standYear"; @@ -305,15 +305,19 @@ public class SearchCenterServiceImpl implements SearchCenterService { } searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex()) - .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) - .addSort(new ScoreSortBuilder().order(SortOrder.DESC)) - .addSort(sortField1, SortOrder.DESC) + .setSearchType(SearchType.DFS_QUERY_THEN_FETCH); + if ("stand".equals(searchInfoEO.getSelectIndex())) { + searchRequestBuilder.addSort(sortField1,SortOrder.DESC); + } else { + searchRequestBuilder.addSort(new ScoreSortBuilder().order(SortOrder.DESC)) .addSort("standSortOrder", SortOrder.ASC) - .addSort(sortField2, SortOrder.ASC) - .addSort(sortField3, SortOrder.DESC) - .addSort(sortField4, SortOrder.ASC) - .addSort("issue_time_data", SortOrder.DESC) - .setFrom((searchInfoEO.getPage()-1) * searchInfoEO.getPageSize()) + .addSort(sortField1, SortOrder.ASC) + .addSort(sortField2, SortOrder.DESC) + .addSort(sortField3, SortOrder.ASC) + .addSort("issue_time_data", SortOrder.DESC); + } + + searchRequestBuilder.setFrom((searchInfoEO.getPage()-1) * searchInfoEO.getPageSize()) .setSize(searchInfoEO.getPageSize()); if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java index c2ee042c..851df083 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendBussMQService.java @@ -1,12 +1,17 @@ package com.adc.da.mq; import com.adc.da.slrs.otSvpps.service.IOtSvppsService; +import com.adc.da.slrs.sarBussStandMenu.entity.SarBussStandMenu; +import com.adc.da.slrs.sarBussStandMenu.service.ISarBussStandMenuService; import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand; +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.sys.entity.DicTypeEO; import com.adc.da.utils.util.InitStandAttrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; @@ -22,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -33,6 +39,12 @@ public class SendBussMQService { @Autowired private ISarStandardsInfoService sarStandardsInfoService; + @Resource + private ISarBussStandMenuService sarBussMenusService; + + @Resource + private ITsResourceService tsResourceService; + @Autowired private SysInfoEOService sysInfoEOService; @@ -103,7 +115,7 @@ public class SendBussMQService { if (issue_time_data != null) { saveMap.put("issue_time_data",issue_time_data.getTime()); }else{ - saveMap.put("issue_time_data",-1000000000000000000L); + saveMap.put("issue_time_data",-100000000L); } //实施日期 高级查询 @@ -117,11 +129,34 @@ public class SendBussMQService { } } if (put_time_data != null) { - saveMap.put("put_time_data",put_time_data.getTime()); + // ES对比按照字符串比较,因此9位时间戳前加0 + Date putTime = null; + try { + putTime = sdf.parse(infoEO.getPutTime()); + String putTimeStr = String.valueOf(putTime.getTime()); + saveMap.put("putDate",sdf.format(putTime)); + if (putTimeStr.length() > 12) { + saveMap.put("put_time_data",putTimeStr); + } else { + saveMap.put("put_time_data","0" + putTimeStr); + logger.info("前面加零的put_time_data:"+saveMap.get("put_time_data")); + } + } catch (ParseException e) { + saveMap.put("put_time_data",-100000000L); + saveMap.put("putDate",null); + } }else{ - saveMap.put("put_time_data",-1000000000000000000L); + saveMap.put("put_time_data",-100000000L); + saveMap.put("putDate",null); } + logger.info("saveMap实施日期:"+saveMap.get("put_time_data")); saveMap.put("warehousingTime",sdf.format(infoEO.getCreationTime())); // 入库时间 + if (infoEO.getCreationTime().getTime() > 12) { + saveMap.put("warehousingTimeStamp",infoEO.getCreationTime().getTime()); // 入库时间戳 + }else { + saveMap.put("warehousingTimeStamp", "0" + infoEO.getCreationTime().getTime()); // 入库时间戳 + } + //查询字典表,形成Hash映射提升速度 List dicInfo = dicTypeEODao.getDicInfo("dic_id","dic_type_code", "dic_type_name","show_index"); @@ -140,8 +175,10 @@ public class SendBussMQService { saveMap.put("id",infoEO.getId()); saveMap.put("standSortOrder",esStateOrder(String.valueOf(infoEO.getStandSort()),dicMap)); - saveMap.put("standSort",infoEO.getStandSort()); - saveMap.put("stand_sort",infoEO.getStandSort()); +// saveMap.put("standSort",infoEO.getStandSort()); +// saveMap.put("stand_sort",infoEO.getStandSort()); + saveMap.put("standSort",convertStandSort(infoEO.getId())); + saveMap.put("stand_sort",convertStandSort(infoEO.getId())); if(StringUtils.isNotEmpty(infoEO.getStandSort())){ String codeName = sysInfoEOService.getDicNamesByCodes(infoEO.getStandSort(),"JKSADFH564S"); saveMap.put("standSortShow",codeName); @@ -314,4 +351,38 @@ public class SendBussMQService { return saveMap; } + public String convertStandSort(String standId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("BUSS_STAND_ID", standId); + wrapper.gt("length(MENU_ID)", 0); + wrapper.select("MENU_ID"); + List sarStandMenuList = sarBussMenusService.list(wrapper); + if (sarStandMenuList.isEmpty()) { + return null; + } + List standMenuIdSet = sarStandMenuList.stream().map(SarBussStandMenu::getMenuId).collect(Collectors.toList()); + List standMenuList = new ArrayList<>(); + for (String menuId : standMenuIdSet) { + List result = new ArrayList<>(); + recursivelyFetchParentNodes(menuId, result); + standMenuList.add(String.join("/", result)); + } + return String.join(",", standMenuList); + } + + private void recursivelyFetchParentNodes(String currentId, List result) { + TsResource menu = null; + try { + menu = tsResourceService.getById(currentId); + if (menu != null) { + result.add(0,menu.getMenuName()); + if (StringUtils.isNotEmpty(menu.getParentId())) { + recursivelyFetchParentNodes(menu.getParentId(), result); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java index 197d402b..57c2ee7f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendStandMQService.java @@ -1,6 +1,10 @@ package com.adc.da.mq; import com.adc.da.slrs.otSvpps.service.IOtSvppsService; +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarResource.service.ITsResourceService; +import com.adc.da.slrs.sarStandMenu.entity.SarStandMenu; +import com.adc.da.slrs.sarStandMenu.service.ISarStandMenuService; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.slrs.sysInfo.service.SysInfoEOService; @@ -8,6 +12,7 @@ import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.sys.entity.DicTypeEO; import com.adc.da.utils.util.InitStandAttrUtil; import com.adc.da.utils.util.Utils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.rabbitmq.client.Channel; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; @@ -23,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -34,6 +40,12 @@ public class SendStandMQService { @Autowired private ISarStandardsInfoService sarStandardsInfoService; + @Resource + private ISarStandMenuService sarStandMenuService; + + @Resource + private ITsResourceService tsResourceService; + @Autowired private SysInfoEOService sysInfoEOService; @@ -120,8 +132,10 @@ public class SendStandMQService { saveMap.put("countryShow",codeName); } saveMap.put("standSortOrder",esStateOrder(String.valueOf(infoEO.getStandSort()),dicMap)); - saveMap.put("standSort",infoEO.getStandSort()); - saveMap.put("stand_sort",infoEO.getStandSort()); +// saveMap.put("standSort",infoEO.getStandSort()); +// saveMap.put("stand_sort",infoEO.getStandSort()); + saveMap.put("standSort",convertStandSort(infoEO.getId())); + saveMap.put("stand_sort",convertStandSort(infoEO.getId())); if (StringUtils.isNotEmpty(infoEO.getStandSort())) { String codeName = sysInfoEOService.getDicNamesByCodes(infoEO.getStandSort(),"JKSADFH564S"); saveMap.put("standSortShow",codeName); @@ -154,7 +168,7 @@ public class SendStandMQService { if (issue_time_data != null) { saveMap.put("issue_time_data",issue_time_data.getTime()); }else{ - saveMap.put("issue_time_data",-1000000000000000000L); + saveMap.put("issue_time_data",-100000000L); } String standNatureName = ""; if(infoEO.getStandNature() != null && StringUtils.isNotBlank(infoEO.getStandNature())){ @@ -196,6 +210,11 @@ public class SendStandMQService { saveMap.put("CHJL",infoEO.getCHJL()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); saveMap.put("warehousingTime",sdf.format(infoEO.getCreationTime())); // 入库时间 + if (infoEO.getCreationTime().getTime() > 12) { + saveMap.put("warehousingTimeStamp",infoEO.getCreationTime().getTime()); // 入库时间戳 + }else { + saveMap.put("warehousingTimeStamp", "0" + infoEO.getCreationTime().getTime()); // 入库时间戳 + } String fieldInfo = InitStandAttrUtil.queryField; List fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList()); @@ -217,6 +236,20 @@ public class SendStandMQService { if(fieldValue.contains("null")){ fieldValue = fieldValue.replace("null",""); } + if ("SSRQ".equals(field)) { + if (infoMap.get(field) != null && StringUtils.isNotBlank(infoMap.get(field).toString())) { + try { + Date parse = sdf.parse(infoMap.get(field).toString()); + fieldValue = String.valueOf(parse.getTime()); + // ES中的排序问题,时间戳需要补0 + if (fieldValue.length() <= 12) { + fieldValue = "0" + fieldValue; + } + } catch (ParseException e) { + fieldValue = ""; + } + } + } } saveMap.put(field+"Name",fieldValue); }catch (Exception e){ @@ -301,12 +334,50 @@ public class SendStandMQService { if (!valArr.isEmpty()) { value = dicTypeEODao.getDicNamesByCodes(valArr, ""); } + if ("SSRQ".equals(name)) { + if (entry.getValue() != null && StringUtils.isNotBlank(entry.getValue().toString())) { + try { + Date parse = sdf.parse(entry.getValue().toString()); + value = String.valueOf(parse.getTime()); + // ES中的排序问题,时间戳需要补0 + if (value.length() <= 12) { + value = "0" + value; + } + } catch (ParseException e) { + value = ""; + } + } + } } saveMap.put(name + "Name",value); } } } } + // 确保SSRQ字段加入ES中 + Map attrInfoCaseMap = infoEO.getAttrInfoCaseMap(); + logger.info("saveMap.get(SSRQ) = " + saveMap.get("SSRQ")); + if (attrInfoCaseMap.get("SSRQ") != null && StringUtils.isNotBlank(attrInfoCaseMap.get("SSRQ").toString())) { + String ssrqName = ""; + try { + Date parse = sdf.parse(attrInfoCaseMap.get("SSRQ").toString()); + ssrqName = String.valueOf(parse.getTime()); + saveMap.put("putDate", sdf.format(parse)); + // ES中的排序问题,时间戳需要补0 + if (ssrqName.length() <= 12) { + ssrqName = "0" + ssrqName; + } + } catch (ParseException e) { + saveMap.put("putDate", null); + ssrqName = ""; + } + logger.info("SSRQName="+ ssrqName); + saveMap.put("SSRQName", ssrqName); + }else { + saveMap.put("putDate", null); + } + logger.info("attrInfoCaseMap:"+ attrInfoCaseMap); + logger.info("SSRQName转换结束"); if("add".equals(addOrUpdate)){ sarStandardsInfoService.insertIntoIndexForMap(saveMap); } else { @@ -379,5 +450,36 @@ public class SendStandMQService { return saveMap; } + public String convertStandSort(String standId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarStandMenu::getStandId,standId); + wrapper.select(SarStandMenu::getMenuId); + List sarStandMenuList = sarStandMenuService.list(wrapper); + if (sarStandMenuList.isEmpty()) { + return null; + } + List standMenuIdSet = sarStandMenuList.stream().map(SarStandMenu::getMenuId).collect(Collectors.toList()); + List standMenuList = new ArrayList<>(); + for (String menuId : standMenuIdSet) { + List result = new ArrayList<>(); + recursivelyFetchParentNodes(menuId, result); + standMenuList.add(String.join("/", result)); + } + return String.join(",", standMenuList); + } + private void recursivelyFetchParentNodes(String currentId, List result) { + TsResource menu = null; + try { + menu = tsResourceService.getById(currentId); + if (menu != null) { + result.add(0,menu.getMenuName()); + if (StringUtils.isNotEmpty(menu.getParentId())) { + recursivelyFetchParentNodes(menu.getParentId(), result); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java index 377c6226..51a39bc9 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java @@ -92,6 +92,21 @@ public class UserEOController extends BaseController { return Result.success(userVO); } + @ApiOperation(value = "|UserEO|详情接口包含被禁用用户") + @GetMapping("/getByIdWithDisabled") + public ResponseMessage getByIdFeignClientWithDisabled(String id) throws Exception { + UserEO userEO = userEOService.getUserWithRolesWithDisabled(id); + UserVO userVO= new UserVO(); + if(userEO!=null){ + userVO = BeanUtil.toBean(userEO,UserVO.class); + userVO.setRoles(userEO.getRoleEOList()); + userVO.setOrgsstr(userEO.getOrgIdList()); + userVO.setOrgs(userEO.getOrgEOList()); + userVO.setPassword(userEO.getPassword()); + } + return Result.success(userVO); + } + /** * @return com.adc.da.util.http.ResponseMessage> * @Author liwenxuan diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/UserEODao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/UserEODao.java index e2e8a56f..3d07f90e 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/dao/UserEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/UserEODao.java @@ -96,6 +96,11 @@ public interface UserEODao extends BaseMapper { */ public UserEO getUserWithRoles(String id); + /** + * 查询用户及用户所对应的角色包含已禁用的用户 + */ + public UserEO getUserWithRolesWithDisabled(String id); + public UserEO getUserWithRolesAll(String id); public UserEO get(String id); diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/IUserEOService.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/IUserEOService.java index 133c493e..fa8f0f80 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/IUserEOService.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/IUserEOService.java @@ -30,6 +30,8 @@ public interface IUserEOService extends IService { public UserEO getUserWithRoles(String id); + public UserEO getUserWithRolesWithDisabled(String id); + public UserEO getUserWithRolesAll(String id); public int saveUserRole(UserEO userEO); diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/UserEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/UserEOServiceImpl.java index e6cb41ea..2c3ba906 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/UserEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/impl/UserEOServiceImpl.java @@ -248,6 +248,16 @@ public class UserEOServiceImpl extends ServiceImpl implements return this.baseMapper.getUserWithRoles(id); } + /** + * 查询用户及用户所对应的角色,包含已禁用用户 + * @param id + * @return + */ + @Transactional(readOnly = true, rollbackFor = Exception.class) + public UserEO getUserWithRolesWithDisabled(String id) { + return this.baseMapper.getUserWithRolesWithDisabled(id); + } + @Transactional(readOnly = true, rollbackFor = Exception.class) public UserEO getUserWithRolesAll(String id) { return this.baseMapper.getUserWithRolesAll(id); diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/UserEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/UserEOMapper.xml index 256369c5..0e9ed209 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/UserEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/UserEOMapper.xml @@ -427,6 +427,18 @@ where u.usid = #{id} and u.DISABLE_FLAG = '0' + + +