Commit b0cd536e authored by changxiangyu's avatar changxiangyu

Merge remote-tracking branch 'origin/develop_tzs_register' into develop_tzs_register

parents 4c6b5817 c670b726
......@@ -167,4 +167,10 @@ public class ESEquipmentCategoryDto {
@Field(type = FieldType.Keyword)
private String PROJECT_CONTRAPTION;
/**
* 信息化
*/
@Field(type = FieldType.Text)
private String INFORMATION_SITUATION;
}
......@@ -3049,6 +3049,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
esEquipmentDto.setEQU_DEFINE_CODE(equipInfoDto.getEquDefineCode());
esEquipmentDto.setSUPERVISORY_CODE(otherInfo.getSupervisoryCode());
esEquipmentDto.setEQU_DEFINE(equipInfoDto.getEquDefine());
esEquipmentDto.setINFORMATION_SITUATION(otherInfo.getInformationSituation());
esEquipmentDto.setSTATUS("已认领");
// 使用单位信息
......
package com.yeejoin.amos.boot.module.statistics.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.*;
@AllArgsConstructor
@Getter
public enum InformationManageTypeEnum {
/**
* 信息化管理情况枚举
*/
TYPE_QR_CODE("1", "二维码"),
TYPE_STAMP("2", "电子标签"),
TYPE_NO("99", "无");
private String code;
private String name;
public static String getName(String code) {
Optional<String> op = Arrays.stream(InformationManageTypeEnum.values()).filter(e -> e.getCode().equals(code)).map(InformationManageTypeEnum::getName).findFirst();
return op.orElse("");
}
public static List<Map<String, Object>> getEnumList() {
List<Map<String, Object>> list = new ArrayList<>();
for (InformationManageTypeEnum testEnum : EnumSet.allOf(InformationManageTypeEnum.class)) {
HashMap<String, Object> map = new HashMap<>();
map.put("name", testEnum.name);
map.put("code", testEnum.code);
list.add(map);
}
return list;
}
}
package com.yeejoin.amos.boot.module.statistics.api.feign;
import com.yeejoin.amos.boot.biz.common.feign.FeignConfiguration;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
import java.util.Map;
@FeignClient(name = "TZS-YMT", path = "/ymt", configuration =
{FeignConfiguration.class})
public interface TzsServiceFeignClient {
/**
* 创建监管码及96333
*
* @param map 请求体
* @return
*/
@RequestMapping(value = "/equipment-category/createSupervisorCode", method = RequestMethod.POST)
ResponseModel<Map<String, Object>> createCode(@RequestBody Map<String, Object> map);
/**
* 创建监管码及96333
*
* @param paramMap 请求体
* @return
*/
@RequestMapping(value = "/equipment-category/commonUpdateEsData", method = RequestMethod.POST)
ResponseModel<Map<String, Object>> commonUpdateEsDataByIds(@RequestBody Map<String, Map<String, Object>> paramMap);
/**
* 申请单编号生成
* @param type 参考ApplicationFormTypeEnum中的枚举
* @param batchSize batchSize
* @return List
*/
@RequestMapping(value = "/generate-code/applicationFormCode", method = RequestMethod.POST)
ResponseModel<List<String>> applicationFormCode(@RequestParam("type") String type,
@RequestParam("batchSize") int batchSize);
/**
* 生成设备注册编码
* @param key 16位
* @return 生成设备注册编码(20位)
*/
@RequestMapping(value = "/generate-code/deviceRegistrationCode", method = RequestMethod.POST)
ResponseModel<String> deviceRegistrationCode(@RequestParam("key") String key);
/**
* 使用登记证生成
* @param key 起11陕C
* @return 生成使用登记证编号(13位,起11陕C00001(23))
*/
@RequestMapping(value = "/generate-code/useRegistrationCode", method = RequestMethod.POST)
ResponseModel<String> useRegistrationCode(@RequestParam("key") String key);
}
package com.yeejoin.amos.boot.module.statistics.api.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -39,4 +41,7 @@ public interface ZLStatisticsMapper {
Page<Map<String, Object>> getPersonPage(Page page, @Param("paramDto") DPFilterParamDto paramDto, @Param("orgCode") String orgCode, @Param("unitTypeList") List<String> unitTypeList);
Integer count();
IPage<IdxBizJgOtherInfo> getEquipInfoPage(IPage<IdxBizJgOtherInfo> idxBizJgOtherInfoPage);
}
......@@ -145,6 +145,12 @@
AND tui.unit_name LIKE concat ( '%', #{paramDto.unitName}, '%' )
</if>
</select>
<select id="count" resultType="java.lang.Integer">
select count(1) from idx_biz_jg_other_info where INFORMATION_SITUATION NOTNULL
</select>
<select id="getEquipInfoPage" resultType="com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo">
select * from idx_biz_jg_other_info where INFORMATION_SITUATION NOTNULL
</select>
</mapper>
......@@ -124,6 +124,21 @@ public class ZLDPStatisticsController {
return ResponseHelper.buildResponse(statisticsService.viewEquipPage(paramDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/updateEquipInfo")
@ApiOperation(httpMethod = "GET", value = "更新es设备信息化字段", notes = "更新es设备信息化字段")
public ResponseModel<Object> updateEquipInfo() {
return ResponseHelper.buildResponse(statisticsService.updateEquipInfo());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "获取信息化下拉接口", notes = "获取信息化下拉接口")
@GetMapping(value = "/getInformationManageType")
public ResponseModel<List<Map<String, Object>>> getInformationManageType() {
return ResponseHelper.buildResponse(statisticsService.getInformationManageType());
}
/**
* 根据设备种类code获取设备类别下拉
*
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.statistcs.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
......@@ -13,11 +14,14 @@ import com.yeejoin.amos.boot.module.common.api.entity.AlertStatistics;
import com.yeejoin.amos.boot.module.common.api.enums.UnitTypeEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserPostEnum;
import com.yeejoin.amos.boot.module.statistcs.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.statistics.api.enums.InformationManageTypeEnum;
import com.yeejoin.amos.boot.module.statistics.api.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.statistics.api.mapper.AlertStatisticsMapper;
import com.yeejoin.amos.boot.module.statistics.api.mapper.ZLStatisticsMapper;
import com.yeejoin.amos.boot.module.statistics.api.vo.EquCategoryVo;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
......@@ -39,6 +43,7 @@ import org.elasticsearch.search.aggregations.Aggregations;
import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.sort.SortOrder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;
......@@ -58,6 +63,7 @@ import java.util.stream.Collectors;
@Service
public class ZLDPStatisticsServiceImpl {
private static final String EQU_STATE = "EQU_STATE";
private final ZLStatisticsMapper screenMapper;
......@@ -74,10 +80,15 @@ public class ZLDPStatisticsServiceImpl {
// 设备纳管 纳管:true 未纳管:false
public static final String IS_INTO_MANAGEMENT = "IS_INTO_MANAGEMENT";
// 信信息化管理情况:1-二维码;2-电子标签;99-无
public static final String INFORMATION_SITUATION = "INFORMATION_SITUATION";
@Value("classpath:/json/equipCategory.json")
private Resource equipCategory;
@Autowired
private TzsServiceFeignClient tzsServiceFeignClient;
public ZLDPStatisticsServiceImpl(ZLStatisticsMapper screenMapper, DataDictionaryServiceImpl iDataDictionaryService, AlertStatisticsMapper alertStatisticsMapper, RestHighLevelClient restHighLevelClient, StCommonServiceImpl stCommonService, EquipmentCategoryMapper equipmentCategoryMapper) {
this.screenMapper = screenMapper;
this.iDataDictionaryService = iDataDictionaryService;
......@@ -876,6 +887,13 @@ public class ZLDPStatisticsServiceImpl {
boolMust.must(meBuilder);
}
if (!ObjectUtils.isEmpty(map.getString(INFORMATION_SITUATION))) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(INFORMATION_SITUATION));
meBuilder.must(QueryBuilders.matchPhraseQuery(INFORMATION_SITUATION, "*" + test + "*"));
boolMust.must(meBuilder);
}
if (!ObjectUtils.isEmpty(map.getString("EQU_CODE"))) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString("EQU_CODE"));
......@@ -927,6 +945,10 @@ public class ZLDPStatisticsServiceImpl {
String status = EquimentEnum.getName.get(integer);
dto2.put(EQU_STATE, status);
}
if (!ValidationUtil.isEmpty(dto2.get(INFORMATION_SITUATION))) {
String informationSituation = InformationManageTypeEnum.getName(dto2.get(INFORMATION_SITUATION).toString());
dto2.put(INFORMATION_SITUATION, informationSituation);
}
list.add(dto2);
}
totle = response.getInternalResponse().hits().getTotalHits().value;
......@@ -1078,4 +1100,38 @@ public class ZLDPStatisticsServiceImpl {
public List<Map<String, String>> getPersonType(String companyType) {
return UserPostEnum.getEnumListByType(companyType);
}
public Object updateEquipInfo() {
IPage<IdxBizJgOtherInfo> idxBizJgOtherInfoPage = new Page<>();
Integer count = screenMapper.count();
Integer times = 0;
if (ValidationUtil.isEmpty(count) && count != 0) {
times = count / 500;
int last = count % 500;
if (last > 0) {
times++;
}
} else if (count == 0) {
return "不存在需要更新信息化字段的数据";
}
for(int i = 0; i <= times ; i ++ ) {
idxBizJgOtherInfoPage.setCurrent(i);
idxBizJgOtherInfoPage.setSize(500);
idxBizJgOtherInfoPage = screenMapper.getEquipInfoPage(idxBizJgOtherInfoPage);
Map<String,Map<String,Object>> updataMap = new HashMap<>();
if (idxBizJgOtherInfoPage.getTotal() > 0) {
idxBizJgOtherInfoPage.getRecords().forEach(e->{
Map<String,Object> map = new HashMap<>();
map.put(INFORMATION_SITUATION, e.getInformationSituation());
updataMap.put(e.getRecord(), map);
});
}
tzsServiceFeignClient.commonUpdateEsDataByIds(updataMap);
}
return "信息化字段更新完成";
}
public List<Map<String, Object>> getInformationManageType() {
return InformationManageTypeEnum.getEnumList();
}
}
package com.yeejoin.amos.boot.module.ys.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -45,28 +47,30 @@ public class YsEmergencyCaseDto extends BaseDto {
private Integer disasterTypeId;
@ApiModelProperty(value = "灾情结束时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date disasterEndTime;
@ApiModelProperty(value = "灾情开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date disasterStartTime;
@ApiModelProperty(value = "灾情细分类型id")
private Integer disasterSubdivideId;
@ApiModelProperty(value = "视频信息")
private String videoInfo;
private JSONArray videoInfo;
@ApiModelProperty(value = "图片信息")
private String picInfo;
private JSONArray picInfo;
@ApiModelProperty(value = "文档信息")
private String fileInfo;
private JSONArray fileInfo;
@ApiModelProperty(value = "音频信息")
@TableField("Audio_info")
private String audioInfo;
private JSONArray audioInfo;
@ApiModelProperty(value = "立案时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date filingTime;
@ApiModelProperty(value = "灾情发生地点")
......
......@@ -104,7 +104,7 @@ public class YsEmergencyCase extends BaseEntity {
/**
* 音频信息
*/
@TableField("Audio_info")
@TableField("audio_info")
private String audioInfo;
/**
......
......@@ -3,6 +3,9 @@ package com.yeejoin.amos.boot.module.ys.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.transaction.annotation.Transactional;
/**
* 救援案例管理接口类
......@@ -12,7 +15,13 @@ import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto;
*/
public interface IYsEmergencyCaseService {
@Transactional(rollbackFor = Exception.class)
Boolean saveOrUpdate(YsEmergencyCaseDto dto, AgencyUserModel userModel);
Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page, YsEmergencyCaseDto dto);
Boolean deleteById(String sequenceNbr);
YsEmergencyCaseDto queryBySequenceNbr (String sequenceNbr);
}
......@@ -5,9 +5,12 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyPlanDto;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyExpertsService;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyCaseService;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyRehearsalService;
import com.yeejoin.amos.boot.module.ys.biz.service.impl.YsEmergencyCaseServiceImpl;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -49,6 +52,20 @@ public class YsEmergencyCaseController extends BaseController {
}
/**
* 新增或者更新
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveOrUpdate")
@ApiOperation(httpMethod = "POST", value = "新增或者更新", notes = "新增或者更新")
public ResponseModel<Boolean> saveOrUpdate(@RequestBody YsEmergencyCaseDto model) {
AgencyUserModel userModel = getSelectedOrgInfo().getUserModel();
return ResponseHelper.buildResponse(iYsEmergencyCaseService.saveOrUpdate(model, userModel));
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
......@@ -68,12 +85,13 @@ public class YsEmergencyCaseController extends BaseController {
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(ysEmergencyCaseServiceImpl.removeById(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/deleteById")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") String sequenceNbr){
return ResponseHelper.buildResponse(iYsEmergencyCaseService.deleteById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
......@@ -88,6 +106,8 @@ public class YsEmergencyCaseController extends BaseController {
return ResponseHelper.buildResponse(iYsEmergencyCaseService.queryBySequenceNbr(sequenceNbr));
}
/**
* 列表分页查询
*
......
......@@ -3,17 +3,22 @@ package com.yeejoin.amos.boot.module.ys.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyCase;
import com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyCaseMapper;
import com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyCaseService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.Date;
import java.util.List;
/**
......@@ -42,10 +47,38 @@ public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto,Y
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean saveOrUpdate(YsEmergencyCaseDto dto, AgencyUserModel userModel) {
YsEmergencyCase emergencyCase = new YsEmergencyCase();
if (ValidationUtil.isEmpty(dto.getSequenceNbr())) {//新增
dto.setCreateDate(new Date());
dto.setCreateUserId(userModel.getUserId());
dto.setCreateUserName(userModel.getUserName());
}
emergencyCase.setVideoInfo(JSON.toJSONString(dto.getVideoInfo()));
emergencyCase.setPicInfo(JSON.toJSONString(dto.getPicInfo()));
emergencyCase.setFileInfo(JSON.toJSONString(dto.getFileInfo()));
emergencyCase.setAudioInfo(JSON.toJSONString(dto.getAudioInfo()));
BeanUtils.copyProperties(dto, emergencyCase);
return this.saveOrUpdate(emergencyCase);
}
@Override
public Page<YsEmergencyCaseDto> queryForYsEmergencyCasePage(Page<YsEmergencyCaseDto> page, YsEmergencyCaseDto dto) {
return ysEmergencyCaseMapper.queryForYsEmergencyCasePage(page, dto);
}
@Override
public Boolean deleteById(String sequenceNbr) {
LambdaUpdateWrapper<YsEmergencyCase> lambda = new UpdateWrapper<YsEmergencyCase>().lambda();
lambda.eq(YsEmergencyCase::getSequenceNbr, sequenceNbr);
lambda.set(YsEmergencyCase::getIsDelete, Boolean.TRUE);
return this.update(lambda);
}
@Override
public YsEmergencyCaseDto queryBySequenceNbr(String sequenceNbr) {
YsEmergencyCaseDto caseDto = new YsEmergencyCaseDto();
......@@ -55,11 +88,21 @@ public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto,Y
if (emergencyCase != null) {
BeanUtils.copyProperties(emergencyCase, caseDto);
// 如果案例有相关的图片或者其他特殊处理字段,可以在此进行处理
// if (!ValidationUtil.isEmpty(emergencyCase.getPicInfo())) {
// caseDto.setPicInfo(JSON.parseArray(emergencyCase.getPicInfo()));
// }
if (!ValidationUtil.isEmpty(emergencyCase.getPicInfo())) {
caseDto.setPicInfo(JSON.parseArray(emergencyCase.getPicInfo()));
}
if (!ValidationUtil.isEmpty(emergencyCase.getVideoInfo())) {
caseDto.setVideoInfo(JSON.parseArray(emergencyCase.getVideoInfo()));
}
if (!ValidationUtil.isEmpty(emergencyCase.getFileInfo())) {
caseDto.setFileInfo(JSON.parseArray(emergencyCase.getFileInfo()));
}
if (!ValidationUtil.isEmpty(emergencyCase.getAudioInfo())) {
caseDto.setAudioInfo(JSON.parseArray(emergencyCase.getAudioInfo()));
}
}
return caseDto;
}
}
\ No newline at end of file
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