Commit 938f976c authored by tangwei's avatar tangwei

增加单位接口

parent 0f52741f
......@@ -13,5 +13,9 @@
<artifactId>amos-boot-biz-common</artifactId>
<version>${amos-biz-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
</dependencies>
</project>
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Mapping;
/**
*
* <pre>
* 单位
* </pre>
*
*/
@Data
@Document(indexName = "orgdw", type = "_doc", shards = 1, replicas = 0)
public class ESOrgUsrDto {
/**部门主键 */
@Id
private Long sequenceNbr;
@Field(type = FieldType.Text, searchAnalyzer = "ik_max_word", analyzer = "ik_max_word")
private String bizOrgName;
}
......@@ -8,7 +8,9 @@ import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 机构/部门/人员表
......@@ -64,6 +66,35 @@ public class OrgUsrFormDto implements Serializable {
@ApiModelProperty(value = "单位人员信息值")
private List<OrgPersonFormDto> children;
public OrgUsrFormDto() {
public List<FormValue> getDynamicFormAlert() {
return dynamicFormAlert;
}
@ApiModelProperty(value = "转换动态表单")
private Map<String,Object> map=new HashMap<>();;
public void setDynamicFormAlert(List<FormValue> dynamicFormAlert) {
if(dynamicFormAlert!=null) {
dynamicFormAlert.forEach(formValue->{
this.map.put(formValue.getKey(), formValue.getValue());
});
}
this.dynamicFormAlert=dynamicFormAlert;
}
public OrgUsrFormDto() {
}
}
......@@ -58,5 +58,5 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
List<OrgUsrTreeDto> getCompanyAndCountDepartment();
OrgUsrzhDto getOrgUsrzhDto(@Param("id")Long id);
List< OrgUsrzhDto> getOrgUsrzhDto(@Param("bizOrgName")String bizOrgName);
}
......@@ -169,5 +169,8 @@ public interface IOrgUsrService {
* </PRE>
*/
OrgUsrzhDto getOrgUsrzhDto(Long id);
List<OrgUsrzhDto> getOrgUsrzhDto(String name);
List<ESOrgUsrDto> selectByIddata(String name);
}
......@@ -259,7 +259,7 @@ FROM
cb_org_usr a
LEFT JOIN cb_dynamic_form_instance b ON a.sequence_nbr = b.instance_id
WHERE
a.sequence_nbr = #{id}
a.biz_org_name = #{bizOrgName}
</select>
</mapper>
......@@ -21,10 +21,7 @@
<artifactId>amos-boot-module-common-api</artifactId>
<version>${amos-biz-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
</dependencies>
</project>
......@@ -162,8 +162,8 @@ public class CommandController extends BaseController {
@RequestMapping(value = "/ZDDW", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "保卫目标详情", notes = "保卫目标详情")
public ResponseModel<OrgUsrFormDto> selectZDDWById( Long id) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.selectCompanyById(id));
OrgUsrFormDto orgUsrFormDto= iOrgUsrService.selectCompanyById(id);
return ResponseHelper.buildResponse(orgUsrFormDto);
}
......@@ -292,8 +292,8 @@ public class CommandController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/linkageForce")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个联动单位", notes = "根据sequenceNbr查询单个联动单位")
public ResponseModel<LinkageUnitDto> selectlinkageForceOne( Long sequenceNbr) {
return ResponseHelper.buildResponse(iLinkageUnitService.queryOne(sequenceNbr));
public ResponseModel<LinkageUnitDto> selectlinkageForceOne( Long id) {
return ResponseHelper.buildResponse(iLinkageUnitService.queryOne(id));
}
......@@ -370,9 +370,9 @@ public class CommandController extends BaseController {
* @return
*/
@TycloudOperation( needAuth = true,ApiLevel = UserType.AGENCY)
@RequestMapping(value = "DW/{id}", method = RequestMethod.GET)
@RequestMapping(value = "/DW", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询队伍信息", notes = "根据id查询队伍信息")
public ResponseModel<FireTeam> selectById(HttpServletRequest request, @PathVariable Long id) {
public ResponseModel<FireTeam> selectById(HttpServletRequest request, Long id) {
return ResponseHelper.buildResponse(iFireTeamService.getFireTeamBySequenceNbr(id));
}
......@@ -681,19 +681,25 @@ public class CommandController extends BaseController {
@TycloudOperation( needAuth = true, ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getOrgUsrzhDto/{id}")
@ApiOperation(httpMethod = "GET", value = "处置对象单位详情", notes = "处置对象单位详情")
@ApiOperation(httpMethod = "GET", value = "根据灾情id处置对象单位详情", notes = "根据灾情id处置对象单位详情")
public ResponseModel<OrgusrDataxDto> getOrgUsrzhDto(@PathVariable Long id) {
id=1409796618831585282L;
AlertCalled AlertCalled=iAlertCalledService.getAlertCalledById(id);
String buildId=null;
OrgusrDataxDto orgusrDataxDto=new OrgusrDataxDto();
OrgUsrzhDto orgUsrzhDto= iOrgUsrService.getOrgUsrzhDto( id);
orgusrDataxDto.setOrgUsrzhDto(orgUsrzhDto);
if(AlertCalled.getUnitInvolved()!=null&&!"".equals(AlertCalled.getUnitInvolved())) {
List<OrgUsrzhDto> orgUsrzhDto= iOrgUsrService.getOrgUsrzhDto( AlertCalled.getUnitInvolved());
orgusrDataxDto.setOrgUsrzhDto(orgUsrzhDto!=null&&orgUsrzhDto.size()>0?orgUsrzhDto.get(0):null);
buildId=orgUsrzhDto!=null&&orgUsrzhDto.size()>0?orgUsrzhDto.get(0).getBuildId():null;
}
//现场照片 待完成,
orgUsrzhDto.setBuildId("1394543471569850369");;
//平面图。待完成orgUsrzhDto.getBuildId()
if(orgUsrzhDto!=null&&orgUsrzhDto.getBuildId()!=null) {
List<Map<String,Object>> list= equipFeignClient.findImgByFileCategory(orgUsrzhDto.getBuildId(),"fourImg").getResult();
if(buildId!=null) {
List<Map<String,Object>> list= equipFeignClient.findImgByFileCategory(buildId,"fourImg").getResult();
List<String> url=new ArrayList<>();
if(list!=null&&list.size()>0) {
list.stream().forEach(map->{
......
......@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -27,11 +28,13 @@ import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyPerson;
import com.yeejoin.amos.boot.module.common.api.dto.ESOrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgDepartmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgMenuDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrFormDto;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.biz.service.impl.ESOrgUsrService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import io.swagger.annotations.Api;
......@@ -51,7 +54,10 @@ public class OrgUsrController extends BaseController {
@Autowired
OrgUsrServiceImpl iOrgUsrService;
@Autowired
ESOrgUsrService eSOrgUsrService;
/**
* 新增单位信息
*
......@@ -78,6 +84,14 @@ public class OrgUsrController extends BaseController {
public ResponseModel<?> deleteById(HttpServletRequest request, @PathVariable Long id) {
// 删除时,只作逻辑删除
iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete", CommonConstant.IS_DELETE_01));
try {
eSOrgUsrService.deleteById(id);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
return ResponseHelper.buildResponse(null);
}
......@@ -278,4 +292,35 @@ public class OrgUsrController extends BaseController {
public ResponseModel<OrgUsrDto> selectCompany(@PathVariable String amosUserId) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.getOrg(amosUserId));
}
/**
* 根据名称模糊匹配
*
* @param id
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getList", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据名称模糊匹配", notes = "根据名称模糊匹配")
public ResponseModel<SearchHits<ESOrgUsrDto>> selectById(HttpServletRequest request, String name) throws Exception {
return ResponseHelper.buildResponse(eSOrgUsrService.queryByKeys(name));
}
/**
* 根据名称模糊匹配
*
* @param id
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getListdata", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据名称模糊匹配单位", notes = "根据名称模糊匹配单位")
public ResponseModel<List<ESOrgUsrDto>> selectByIddata(HttpServletRequest request, String name) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.selectByIddata(name));
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.common.biz.dao;
import com.yeejoin.amos.boot.module.common.api.dto.ESOrgUsrDto;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
/**
*
* <pre>
* 单位ES数据查询
* </pre>
*
*/
@Repository
public interface ESOrgUsrDtoRepository extends PagingAndSortingRepository<ESOrgUsrDto, Long> {
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.PostConstruct;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.core.SearchHits;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.common.api.dto.ESOrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.biz.dao.ESOrgUsrDtoRepository;
/**
*
* <pre>
* 警情信息ES检索服务
* </pre>
*
* @author gwb
* @version $Id: ESAlertCalledService.java, v 0.1 2021年6月19日 下午5:12:01 gwb Exp $
*/
@Service
public class ESOrgUsrService {
@Autowired
private ElasticsearchRestTemplate elasticsearchTemplate;
@Autowired
private ESOrgUsrDtoRepository esOrgUsrDtoRepository;
@Autowired
private OrgUsrServiceImpl orgUsrServiceImpl;
@PostConstruct
public void init() throws Exception
{
//初始化ES,重建索引
initEs();
}
/**
* 重建索引
*/
public Boolean initEs() throws Exception {
esOrgUsrDtoRepository.deleteAll();
//获取所有单位
QueryWrapper<OrgUsr> wrapper = new QueryWrapper<>();
wrapper.in("biz_org_type", "DEPARTMENT","COMPANY");
wrapper.eq("is_delete", 0);
List<OrgUsr> list = orgUsrServiceImpl.list(wrapper);
saveAll(list);
return true;
}
/**
*
* <pre>
* 批量保存
* </pre>
*
* @param list 警情信息列表
*/
public void saveAll( List<OrgUsr> orgUsrs) throws Exception{
if (!ValidationUtil.isEmpty(orgUsrs))
{
for (OrgUsr orgUsr : orgUsrs)
{
this.saveAlertCalledToES(orgUsr);
}
}
}
public ESOrgUsrDto saveAlertCalledToES(OrgUsr orgUsr) throws Exception
{
ESOrgUsrDto esOrgUsrDto = new ESOrgUsrDto();
esOrgUsrDto.setSequenceNbr(orgUsr.getSequenceNbr());
esOrgUsrDto.setBizOrgName(orgUsr.getBizOrgName());
esOrgUsrDtoRepository.save(esOrgUsrDto);
return esOrgUsrDto;
}
/**
*
* <pre>
* 从ES库批量删除
* </pre>
*/
public Boolean deleteById(Long sequenceNbr) throws Exception{
if (esOrgUsrDtoRepository.existsById(sequenceNbr)) {
esOrgUsrDtoRepository.deleteById(sequenceNbr);
}
return true;
}
/**
* 根据关键字查询文档,关键字
*
*/
@SuppressWarnings({ "rawtypes" })
public SearchHits<ESOrgUsrDto> queryByKeys(String name)
{
//创建builder
QueryBuilder queryBuilder =null;
//设置模糊搜索
if(name!=null) {
queryBuilder =QueryBuilders.fuzzyQuery("bizOrgName", name);
}
NativeSearchQueryBuilder queryBuilder1 = new NativeSearchQueryBuilder()
.withQuery(queryBuilder);
SearchHits<ESOrgUsrDto> searchHits =elasticsearchTemplate.search(queryBuilder1.build(), ESOrgUsrDto.class);
// Iterable<ESOrgUsrDto> search = esOrgUsrDtoRepository.search(queryBuilder);
// List<ESOrgUsrDto> list = new LinkedList<>();
// search.forEach(esOrgUsrDto->{
// list.add(esOrgUsrDto);
// });
return searchHits;
}
}
......@@ -53,6 +53,8 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
@Resource
OrgUsrMapper orgUsrMapper;
@Autowired
ESOrgUsrService eSOrgUsrService;
@Override
public String selectUpUnitByParam(String id) {
return this.baseMapper.selectUpUnitByParam(id);
......@@ -527,6 +529,11 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
orgUsr.setBizOrgCode(getOrgCodeStr());
}
saveOrgUsrDynamicFormInstance(orgUsr, OrgUsrVo.getDynamicFormValue());
/**
* 同步保存ES
*/
eSOrgUsrService.saveAlertCalledToES(orgUsr);
}
@Override
......@@ -560,6 +567,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
saveOrgUsr(orgUsr, oriOrgUsr);
// 保存动态表单数据
updateDynamicFormInstance(orgUsr.getSequenceNbr(), OrgUsrVo.getDynamicFormValue());
/**
* 同步保存ES
*/
eSOrgUsrService.saveAlertCalledToES(orgUsr);
}
@Override
......@@ -932,8 +943,30 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
@Override
public OrgUsrzhDto getOrgUsrzhDto(Long id) {
public List<OrgUsrzhDto> getOrgUsrzhDto(String name) {
// TODO Auto-generated method stub
return orgUsrMapper.getOrgUsrzhDto(id);
return orgUsrMapper.getOrgUsrzhDto(name);
}
@Override
public List<ESOrgUsrDto> selectByIddata(String name) {
//获取所有单位
QueryWrapper<OrgUsr> wrapper = new QueryWrapper<>();
wrapper.in("biz_org_type", "DEPARTMENT","COMPANY");
wrapper.eq("is_delete", 0);
if(name!=null&&!"".equals(name)) {
wrapper.like("biz_org_name", name);
}
List<OrgUsr> list = this.list(wrapper);
List<ESOrgUsrDto> lidataDtos=new ArrayList();
list.forEach(orgUsr->{
ESOrgUsrDto data=new ESOrgUsrDto();
data.setSequenceNbr(orgUsr.getSequenceNbr());
data.setBizOrgName(orgUsr.getBizOrgName());
lidataDtos.add(data);
});
return lidataDtos;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment