Commit bf0b818e authored by 李成龙's avatar 李成龙

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

# Conflicts: # amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/IFirefightersJacketService.java # amos-boot-module/amos-boot-module-api/amos-boot-module-jcs-api/src/main/java/com/yeejoin/amos/boot/module/jcs/api/service/ITemplateService.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/FirefightersJacketController.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/TemplateController.java
parents db4faf41 eacb80da
......@@ -28,5 +28,5 @@ public class BaseEntity implements Serializable{
* 是否删除
*/
@TableField(value = "is_delete")
private boolean isDelete;
private Boolean isDelete;
}
package com.yeejoin.amos.api.systemctl.generator;
package com.yeejoin.amos.boot.biz.common.utils;
import java.util.Map;
import java.util.HashMap;
......
......@@ -24,4 +24,9 @@ public class RedisKey {
public static final String THOUGHT_ID="thought_id";
//根据警情id查询警情详情记录
public static final String ALERTCALLED_ID="alertcalled_id";
/** 驼峰转下划线(简单写法,效率低于{@link #humpToLine2(String)}) */
public static String humpToLine(String str) {
return str.replaceAll("[A-Z]", "_$0").toLowerCase();
}
}
package com.yeejoin.amos.boot.module.jcs.api.client;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
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;
/**
* 装备服务feign
*
* @author Dell
*/
@FeignClient(name = "AMOS-EQUIPMANAGE", path = "equip", configuration = {MultipartSupportConfig.class})
public interface EquipFeignClient {
/**
* 获取未列装人员装备列表数据
*
* @return
*/
@RequestMapping(value = "/equipSpecific/getAirEquipSpecificPage", method = RequestMethod.POST)
ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(@RequestBody EquipSpecificDto var1) throws InnerInvokException;
/**
* 人员装备列装
*
* @return
*/
@RequestMapping(value = "/stock-detail/airport/person/bind", method = RequestMethod.POST)
ResponseModel<List<Object>> stockBindEquip(@RequestBody List<Long> ids) throws InnerInvokException;
/**
* 人员装备退装
*
* @return
*/
@RequestMapping(value = "/scrap/airport/person", method = RequestMethod.POST)
ResponseModel<Object> scrapEquip(@RequestBody String id) throws InnerInvokException;
/**
* 人员装备回库
*
* @return
*/
@RequestMapping(value = "/stock-detail/airport/person", method = RequestMethod.POST)
ResponseModel<Object> stockEquip(@RequestBody Map<String, Object> map) throws InnerInvokException;
/**
* 装备详情
*
* @return
*/
@RequestMapping(value = "/equipSpecific/getAirEquipSpecificDetail", method = RequestMethod.GET)
ResponseModel<Object> getAirEquipSpecificDetail(@RequestParam Long stockDetailId) throws InnerInvokException;
}
package com.yeejoin.amos.boot.module.jcs.api.client;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Author: xl
* @Description:
* @Date: 2020/3/30 16:26
*/
@Configuration
public class MultipartSupportConfig {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}
......@@ -68,6 +68,11 @@ public class ESAlertCalledDto extends BaseDto {
@ApiModelProperty(value = "警情类型")
private String alertType;
/**
* 警情类型code
*/
@ApiModelProperty(value = "警情类型code")
private String alertTypeCode;
/**
* 事发单位
*/
@ApiModelProperty(value = "事发单位")
......
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.Data;
/**
* @Author: xl
* @Description: 装备分页查询
* @Date: 2021/6/23 11:29
*/
@Data
public class EquipSpecificDto extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 名称
*/
private String like;
/**
* 状态,默认查询未列装数据
*/
private Integer status = 1;
/**
* 装备分类code(人员装备【10000000】)
*/
private String categoryCode = "10000000";
/**
* 队伍ID
*/
private Long teamId;
/**
* 分页
*/
private Page page;
}
package com.yeejoin.amos.boot.module.jcs.api.dto;
import lombok.Data;
import java.util.Date;
/**
* @Author: xl
* @Description: 装备返回实例
* @Date: 2021/6/23 11:29
*/
@Data
public class EquipmentOnCarDto {
/**
* 车辆ID
*/
private Long carId;
/**
* 设备模板ID
*/
private Long equipmentDetailId;
/**
* 库存详情id
*/
private Long stockDetailId;
/**
* 库存数量
*/
private Double amount;
/**
* 设备实例ID
*/
private Long equipmentSpecificId;
/**
* 设备名称
*/
private String equipmentSpecificName;
/**
* 设备编码
*/
private String equipmentSpecificCode;
/**
* 装备类型
*/
private String equipmentName;
/**
* 状态
*/
private String status;
private String area;
private Long warehouseId;
private Long warehouseStructureId;
private Long equipmentOnCarId;
/**
* 创建日期
*/
private Date createDate;
private String equipDefinitionName;
}
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 模板表扩展dto
*
* @author tb
* @date 2021-06-17
*/
@Data
@ApiModel(value = "TemplateExtendDto", description = "模板表扩展dto")
public class TemplateExtendDto extends TemplateDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "模板富文本内容")
private String richContent;
}
......@@ -66,9 +66,14 @@ public class ESAlertCalled {
/**
* 警情类型
*/
@Field(type = FieldType.Text)
@Field(type = FieldType.Text, index = false)
private String alertType;
/**
* 警情类型Code
*/
@Field(type = FieldType.Text)
private String alertTypeCode;
/**
* 事发单位
*/
@Field(type = FieldType.Text, searchAnalyzer = "ik_max_word", analyzer = "ik_max_word")
......
......@@ -20,8 +20,6 @@ import lombok.experimental.Accessors;
@ApiModel(value="Template对象", description="模板表")
public class Template extends BaseEntity {
@ApiModelProperty(value = "模板类型code")
private String typeCode;
......
package com.yeejoin.amos.boot.module.jcs.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 装备操作枚举
*
* @author DELL
*/
@Getter
@AllArgsConstructor
public enum EquipTypeEnum {
/**
* 退库,回库
*/
退装("scrap", "退装"),
回库("stock", "回库");
private String key;
private String name;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import java.util.List;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
/**
* 消防人员配装记录 服务类
*
......@@ -8,4 +17,11 @@ package com.yeejoin.amos.boot.module.jcs.api.service;
*/
public interface IFirefightersJacketService {
ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size);
boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos);
boolean update(String type, FirefightersJacket firefightersJacket);
ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId);
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.yeejoin.amos.boot.module.jcs.api.dto.TemplateExtendDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
/**
......@@ -11,10 +12,19 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
public interface ITemplateService {
/**
* 根据模板类型及模板格式类型获取模板信息
*
* @param type 模板类型
* @param format 模板格式类型(1:富文本,0:其他)
* @return
*/
Template getByTypeAndFormat(String type, String format);
/**
* 根据模板类型获取模板信息
*
* @param type
* @param type 模板类型
* @return
*/
Template getByType(String type);
TemplateExtendDto getByType(String type);
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.List;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.OrgUsr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 机构/部门/人员表
*
......@@ -18,21 +19,20 @@ import java.util.List;
*/
@Data
@Accessors(chain = true)
@TableName("cb_org_usr")
@ApiModel(value="OrgUsrVo", description="人员")
public class OrgPersonVo {
public class OrgPersonVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "人员基本信息")
private OrgUsr OrgUsr;
private OrgUsr orgUsr;
@ApiModelProperty(value = "动态表单值")
private List<AlertFormValue> alertFormValue;
public OrgPersonVo(OrgUsr orgUsr, List<AlertFormValue> alertFormValue) {
OrgUsr = orgUsr;
this.orgUsr = orgUsr;
this.alertFormValue = alertFormValue;
}
}
......@@ -224,7 +224,6 @@ public class AlertCalledController extends BaseController {
public ResponseModel<List<AlertCalled>> list(AlertCalled alertCalled) {
QueryWrapper<AlertCalled> alertCalledQueryWrapper = new QueryWrapper<>();
setQueryWrapper(alertCalledQueryWrapper, alertCalled,null);
List<AlertCalled> list = iAlertCalledService.list(alertCalledQueryWrapper);
return ResponseHelper.buildResponse(list);
}
......@@ -232,14 +231,16 @@ public class AlertCalledController extends BaseController {
private QueryWrapper<AlertCalled> setQueryWrapper(QueryWrapper<AlertCalled> queryWrapper, AlertCalled alertCalled,String sort){
Class<? extends AlertCalled> aClass = alertCalled.getClass();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("call_time");
if(sort!=null) {
String[] date= sort.split(",");
if(date[1].equals("ascend")) {
queryWrapper.orderByAsc(date[0]);
}else {
queryWrapper.orderByDesc(date[0]);
queryWrapper.orderByAsc(RedisKey.humpToLine(date[0]));
}else {
queryWrapper.orderByDesc(RedisKey.humpToLine(date[0]));
}
}else {
queryWrapper.orderByDesc("call_time");
}
if (alertCalled.getCallTimeStart() != null && alertCalled.getCallTimeEnd() != null) {
......
......@@ -68,13 +68,11 @@ public class AlertSubmittedController extends BaseController {
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增警情报送记录", notes = "新增警情报送记录")
public ResponseModel<Object> saveAlertSubmitted(HttpServletRequest request, @RequestBody AlertSubmittedDto alertSubmittedDto) {
return ResponseHelper.buildResponse(iAlertSubmittedService.save(alertSubmittedDto));
}
/**
......@@ -83,14 +81,11 @@ public class AlertSubmittedController extends BaseController {
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel<Boolean> deleteById(HttpServletRequest request, @PathVariable Long id){
return ResponseHelper.buildResponse(iAlertSubmittedService.removeById(id));
}
/**
......@@ -98,14 +93,11 @@ public class AlertSubmittedController extends BaseController {
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改警情报送记录", notes = "修改警情报送记录")
public ResponseModel<Boolean> updateByIdAlertSubmitted(HttpServletRequest request, @RequestBody AlertSubmitted alertSubmitted){
return ResponseHelper.buildResponse(iAlertSubmittedService.updateById(alertSubmitted));
}
/**
......@@ -114,15 +106,14 @@ public class AlertSubmittedController extends BaseController {
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<AlertSubmitted> selectById(HttpServletRequest request, @PathVariable Long id){
return ResponseHelper.buildResponse(iAlertSubmittedService.getById(id));
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/scheduling/list", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "根据警情id查询融合调度列表", notes = "根据警情id查询融合调度列表")
public ResponseModel<SchedulingReportingVo> listSchedulingByParam(@RequestBody AlertSubmittedDto queryParam) {
......@@ -130,14 +121,12 @@ public class AlertSubmittedController extends BaseController {
return ResponseHelper.buildResponse(iAlertSubmittedService.listSchedulingByParam(queryParam));
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/reporting/list", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "根据警情id查询警情报送列表", notes = "根据警情id查询警情报送列表")
public ResponseModel<SchedulingReportingVo> listReportingByParam(@RequestBody AlertSubmittedDto queryParam) {
queryParam.setSubmissionMethodCode(SubmissionMethodEnum.SMS.getCode());
return ResponseHelper.buildResponse(iAlertSubmittedService.listReportingByParam(queryParam));
}
/**
......@@ -145,11 +134,10 @@ public class AlertSubmittedController extends BaseController {
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public IPage<AlertSubmitted> listPage(String pageNum, String pageSize, AlertSubmitted alertSubmitted) {
Page<AlertSubmitted> pageBean;
QueryWrapper<AlertSubmitted> alertSubmittedQueryWrapper = new QueryWrapper<>();
Class<? extends AlertSubmitted> aClass = alertSubmitted.getClass();
......
......@@ -63,9 +63,6 @@ public class AlertSubmittedObjectController extends BaseController {
return iAlertSubmittedObjectService.removeById(id);
}
/**
* 修改报送对象
* @return
......@@ -77,8 +74,6 @@ public class AlertSubmittedObjectController extends BaseController {
return iAlertSubmittedObjectService.updateById(alertSubmittedObject);
}
/**
* 根据id查询
* @param id
......@@ -91,8 +86,6 @@ public class AlertSubmittedObjectController extends BaseController {
return iAlertSubmittedObjectService.getById(id);
}
/**
* 列表分页查询
* @return
......
......@@ -16,20 +16,23 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FirefightersJacketServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
/**
* 消防人员配装记录
......@@ -45,115 +48,141 @@ public class FirefightersJacketController extends BaseController {
@Autowired
FirefightersJacketServiceImpl iFirefightersJacketService;
/**
* 新增消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增消防人员配装记录", notes = "新增消防人员配装记录")
@Transactional
public ResponseModel<Object> saveFirefightersJacket(HttpServletRequest request,
@RequestBody List<FirefightersJacket> firefightersJacket) {
iFirefightersJacketService.saveOrUpdateBatch(firefightersJacket);
return ResponseHelper.buildResponse(null);
}
/**
* 根据id删除
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel<Object> deleteById(HttpServletRequest request, @PathVariable Long id) {
iFirefightersJacketService.update(new UpdateWrapper<FirefightersJacket>().eq("sequence_nbr", id).set("is_delete", 1));
return ResponseHelper.buildResponse(null);
}
/**
* 修改消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改消防人员配装记录", notes = "修改消防人员配装记录")
public ResponseModel<FirefightersJacket> updateByIdFirefightersJacket(HttpServletRequest request,
@RequestBody FirefightersJacket firefightersJacket) {
iFirefightersJacketService.updateById(firefightersJacket);
return ResponseHelper.buildResponse(firefightersJacket);
}
/**
* 根据id查询
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<FirefightersJacket> selectById(HttpServletRequest request, @PathVariable Long id) {
QueryWrapper<FirefightersJacket> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firefighters_id", id);
FirefightersJacket firefightersJacket = iFirefightersJacketService.getOne(queryWrapper);
return ResponseHelper.buildResponse(firefightersJacket);
}
/**
* 列表分页查询
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<IPage<FirefightersJacket>> listPage(String pageNum, String pageSize, FirefightersJacket firefightersJacket) {
Page<FirefightersJacket> pageBean;
QueryWrapper<FirefightersJacket> firefightersJacketQueryWrapper = new QueryWrapper<>();
Class<? extends FirefightersJacket> aClass = firefightersJacket.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(firefightersJacket);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(Date.class)) {
Date fileValue = (Date) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
}else {
String fileValue = (String) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
});
IPage<FirefightersJacket> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iFirefightersJacketService.page(pageBean, firefightersJacketQueryWrapper);
return ResponseHelper.buildResponse(page);
}
/**
* 新增消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save/{firefightersId}", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增消防人员配装记录", notes = "新增消防人员配装记录")
@Transactional
public ResponseModel<Object> saveFirefightersJacket(@ApiParam(value = "消防队员ID", required = true) @PathVariable Long firefightersId, @RequestBody List<EquipmentOnCarDto> equipmentOnCarDtos) {
boolean flag = iFirefightersJacketService.saveOrUpdateBatch(firefightersId, equipmentOnCarDtos);
if (!flag) {
throw new BadRequest("保存失败.");
}
return ResponseHelper.buildResponse(null);
}
/**
* 删除数据(退装|回库)
*
* @param
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{type}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "删除数据", notes = "删除数据")
public ResponseModel<Object> deleteById(@PathVariable String type, @RequestBody FirefightersJacket firefightersJacket) {
boolean flag = iFirefightersJacketService.update(type, firefightersJacket);
if (!flag) {
throw new BadRequest("删除失败.");
}
return ResponseHelper.buildResponse(null);
}
/**
* 修改消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改消防人员配装记录", notes = "修改消防人员配装记录")
public ResponseModel<FirefightersJacket> updateByIdFirefightersJacket(HttpServletRequest request,
@RequestBody FirefightersJacket firefightersJacket) {
iFirefightersJacketService.updateById(firefightersJacket);
return ResponseHelper.buildResponse(firefightersJacket);
}
/**
* 根据id查询
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<FirefightersJacket> selectById(HttpServletRequest request, @PathVariable Long id) {
QueryWrapper<FirefightersJacket> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firefighters_id", id);
FirefightersJacket firefightersJacket = iFirefightersJacketService.getOne(queryWrapper);
return ResponseHelper.buildResponse(firefightersJacket);
}
/**
* 列表分页查询
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<IPage<FirefightersJacket>> listPage(String pageNum, String pageSize, FirefightersJacket firefightersJacket) {
Page<FirefightersJacket> pageBean;
QueryWrapper<FirefightersJacket> firefightersJacketQueryWrapper = new QueryWrapper<>();
firefightersJacketQueryWrapper.eq("is_delete", 0);
Class<? extends FirefightersJacket> aClass = firefightersJacket.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(firefightersJacket);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(Date.class)) {
Date fileValue = (Date) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
} else {
String fileValue = (String) field.get(firefightersJacket);
firefightersJacketQueryWrapper.eq(name, fileValue);
}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
});
IPage<FirefightersJacket> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iFirefightersJacketService.page(pageBean, firefightersJacketQueryWrapper);
return ResponseHelper.buildResponse(page);
}
/**
* 分页查询设备列表(调用装备接口)
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "人员装备列表")
@RequestMapping(value = "/airEquipSpecificPage", method = RequestMethod.GET)
public ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(int current, int size,
EquipSpecificDto equipSpecificDto) throws Exception {
return iFirefightersJacketService.getAirEquipSpecificPage(equipSpecificDto, current, size);
}
/**
* 查询设备详情(调用装备接口)
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "人员装备详情")
@RequestMapping(value = "/getEquipByStockDetailId/{stockDetailId}", method = RequestMethod.GET)
public ResponseModel<Object> getEquipByStockDetailId(@PathVariable Long stockDetailId) throws Exception {
return iFirefightersJacketService.getEquipByStockDetailId(stockDetailId);
}
}
......@@ -183,7 +183,7 @@ public class OrgPersonController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public IPage<OrgUsr> listPage(String pageNum, String pageSize, OrgUsr orgUsr) {
public ResponseModel<Object> listPage(String pageNum, String pageSize, OrgUsr orgUsr) {
Page<OrgUsr> pageBean;
QueryWrapper<OrgUsr> orgUsrQueryWrapper = new QueryWrapper<>();
......@@ -219,7 +219,7 @@ public class OrgPersonController {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iOrgUsrService.page(pageBean, orgUsrQueryWrapper);
return page;
return ResponseHelper.buildResponse(page);
}
/**
......@@ -248,7 +248,7 @@ public class OrgPersonController {
* @return
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "download-template/{type}", method = RequestMethod.POST)
@RequestMapping(value = "download-template", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "导出人员模板", notes = "导出人员模板")
public ResponseModel downloadTemplate(HttpServletResponse response, @RequestBody List<OrgUsrDownloadTemplateVO> OrgUsrDownloadTemplateVO) throws UnsupportedEncodingException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
......
......@@ -13,12 +13,15 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
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.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.TemplateExtendDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.TemplateServiceImpl;
......@@ -94,8 +97,8 @@ public class TemplateController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/info/{type}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据模板类型查询", notes = "根据模板类型查询")
public Template getByType(@PathVariable String type){
return iTemplateService.getByType(type);
public ResponseModel<TemplateExtendDto> getByType(@PathVariable String type){
return ResponseHelper.buildResponse(iTemplateService.getByType(type));
}
/**
......
......@@ -53,7 +53,7 @@ public class ESAlertCalledService {
public void init()
{
//初始化ES,重建索引
initEs();
// initEs();
}
/**
......@@ -112,27 +112,40 @@ public class ESAlertCalledService {
/**
* 通用匹配规则,条件构建
*/
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
//接警时间,距离当前时间不超过半小时的
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 30*60*1000;
BoolQueryBuilder qb1 = QueryBuilders.boolQuery()
.must(QueryBuilders.rangeQuery("callTimeLong").gte(currentTime));
boolMust.should(qb1);
//报警人及报警电话一致
BoolQueryBuilder qb2 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("contactUser.keyword", alertCalled.getContactUser()))
.must(QueryBuilders.termQuery("contactPhone.keyword", alertCalled.getContactPhone()));
if (!ValidationUtil.isEmpty(alertCalled.getContactUser()) && !ValidationUtil.isEmpty(alertCalled.getContactPhone()))
{
BoolQueryBuilder qb2 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("contactUser.keyword", alertCalled.getContactUser()))
.must(QueryBuilders.termQuery("contactPhone.keyword", alertCalled.getContactPhone()));
boolMust.should(qb2);
}
//事发地点一致,或相距不超过200米的
BoolQueryBuilder qb3 = QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("address", alertCalled.getAddress()));
if (!ValidationUtil.isEmpty(alertCalled.getAddress()))
{
BoolQueryBuilder qb3 = QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("address", alertCalled.getAddress()));
boolMust.should(qb3);
}
//警情类型一致
BoolQueryBuilder qb4 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("alertType.keyword", alertCalled.getAlertType()));
.must(QueryBuilders.termQuery("alertTypeCode.keyword", alertCalled.getAlertTypeCode()));
boolMust.should(qb4);
//事发单位名称一致
BoolQueryBuilder qb5 = QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("unitInvolved", alertCalled.getUnitInvolved()));
if (!ValidationUtil.isEmpty(alertCalled.getUnitInvolved()))
{
BoolQueryBuilder qb5 = QueryBuilders.boolQuery()
.must(QueryBuilders.matchQuery("unitInvolved", alertCalled.getUnitInvolved()));
boolMust.should(qb5);
}
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
boolMust.should(qb1).should(qb2).should(qb3).should(qb4).should(qb5);
/**
* 一般火灾,条件构造
*/
......@@ -222,6 +235,7 @@ public class ESAlertCalledService {
ESAlertCalled esAlertCalled = new ESAlertCalled();
esAlertCalled.setSequenceNbr(alertCalled.getSequenceNbr());
esAlertCalled.setAlertType(alertCalled.getAlertType());
esAlertCalled.setAlertTypeCode(alertCalled.getAlertTypeCode());
esAlertCalled.setCallTime(alertCalled.getCallTime());
esAlertCalled.setCallTimeLong(alertCalled.getCallTime().getTime());
esAlertCalled.setContactUser(alertCalled.getContactUser());
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jcs.api.client.EquipFeignClient;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.FirefightersJacketDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.jcs.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.mapper.FirefightersJacketMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersJacketService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 消防人员配装记录 服务实现类
*
* @author tb
* @date 2021-06-07
*/
* 消防人员配装记录 服务实现类
*
* @author tb
* @date 2021-06-07
*/
@Service
public class FirefightersJacketServiceImpl extends BaseService<FirefightersJacketDto,FirefightersJacket,FirefightersJacketMapper> implements IFirefightersJacketService {
public class FirefightersJacketServiceImpl extends BaseService<FirefightersJacketDto, FirefightersJacket, FirefightersJacketMapper> implements IFirefightersJacketService {
@Autowired
private EquipFeignClient equipFeignClient;
@Override
public ResponseModel<Page<EquipmentOnCarDto>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size) {
Page page = new Page(current, size);
equipSpecificDto.setPage(page);
ResponseModel<Page<EquipmentOnCarDto>> airEquipSpecificPage = equipFeignClient.getAirEquipSpecificPage(equipSpecificDto);
return airEquipSpecificPage;
}
@Override
public boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos) {
List<Long> ids = equipmentOnCarDtos.stream().map(EquipmentOnCarDto::getStockDetailId).collect(Collectors.toList());
List<Object> result = equipFeignClient.stockBindEquip(ids).getResult();
if (result.size() > 0) {
List<FirefightersJacket> firefightersJackets = new ArrayList<>();
equipmentOnCarDtos.forEach(x -> {
FirefightersJacket firefightersJacket = new FirefightersJacket();
BeanUtils.copyProperties(x, firefightersJacket);
firefightersJacket.setEquipmentDetailId(x.getEquipmentSpecificId());
firefightersJacket.setEquipmentDetailName(x.getEquipmentSpecificName());
firefightersJacket.setEquipmentTypeName(x.getEquipDefinitionName());
firefightersJacket.setAllotmentTime(DateUtils.getDateNow());
firefightersJacket.setFirefightersId(firefightersId);
firefightersJackets.add(firefightersJacket);
});
saveOrUpdateBatch(firefightersJackets);
return true;
}
return false;
}
@Override
public boolean update(String type, FirefightersJacket firefightersJacket) {
ResponseModel<Object> objectResponseModel = null;
if (EquipTypeEnum.退装.getKey().equals(type)) {
objectResponseModel = equipFeignClient.scrapEquip(String.valueOf(firefightersJacket.getStockDetailId()));
} else if (EquipTypeEnum.回库.getKey().equals(type)) {
Map<String, Object> map = new HashMap<>();
map.put("stockDetailId", firefightersJacket.getStockDetailId());
objectResponseModel = equipFeignClient.stockEquip(map);
}
if (ValidationUtil.isEmpty(objectResponseModel)){
return false;
}
update(new UpdateWrapper<FirefightersJacket>().eq("sequence_nbr", firefightersJacket.getSequenceNbr()).set("is_delete", 1));
return true;
}
@Override
public ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId) {
return equipFeignClient.getAirEquipSpecificDetail(stockDetailId);
}
}
......@@ -2,12 +2,16 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.jcs.api.dto.TemplateDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.TemplateExtendDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.api.mapper.TemplateMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.ITemplateService;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
/**
* 模板表 服务实现类
*
......@@ -18,7 +22,21 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
public class TemplateServiceImpl extends BaseService<TemplateDto,Template,TemplateMapper> implements ITemplateService {
@Override
public Template getByType(String type) {
return this.baseMapper.selectOne(new QueryWrapper<Template>().eq("type_code", type));
public Template getByTypeAndFormat(String type, String format) {
return this.baseMapper.selectOne(new QueryWrapper<Template>().eq("type_code", type).eq("format", format));
}
@Override
public TemplateExtendDto getByType(String typeCode) {
TemplateExtendDto templateExtendDto = new TemplateExtendDto();
List<TemplateDto> templateDtoList = this.queryForList(null, false, typeCode);
templateDtoList.forEach(templateDto -> {
if (templateDto.getFormat()) {
templateExtendDto.setRichContent(templateDto.getContent());
} else {
templateExtendDto.setContent(templateDto.getContent());
}
});
return templateExtendDto;
}
}
......@@ -70,7 +70,7 @@ public class RescueStationController extends BaseController {
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel<Boolean> deleteById(@PathVariable Long id) {
RescueStation rescueStation = iRescueStationService.getById(id);
rescueStation.setDelete(true);
rescueStation.setIsDelete(true);
rescueStation.setRecUserId(getUserId());
rescueStation.setRecDate(new Date());
boolean remove = iRescueStationService.updateById(rescueStation);
......
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