Explorar el Código

内蒙山洪运维系统-应急系统功能模块开发,增加旗县管理员角色

dylan hace 2 años
padre
commit
7809ae65b0

+ 3 - 5
src/main/java/org/springblade/modules/test/TestController.java

@@ -13,12 +13,10 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springblade.constant.BusinessConstant;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.jackson.JsonUtil;
-import org.springblade.modules.business.rtumanage.dto.RtuStatusDTO;
-import org.springblade.modules.yjxt.business.warn.vo.WarnDetailInfoVO;
+import org.springblade.modules.yjxt.business.warn.entity.WarnDetailInfoEntity;
 import org.springblade.utils.HttpRequestUtil;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -90,12 +88,12 @@ public class TestController extends BladeController {
 	@GetMapping("/warn/detail/{warnId}")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "获取配置项", notes = "获取配置项")
-	public R<WarnDetailInfoVO> getWarnDetail(@PathVariable(name = "warnId") String warnId) {
+	public R<WarnDetailInfoEntity> getWarnDetail(@PathVariable(name = "warnId") String warnId) {
 		String url =  "http://localhost:40005/galaxy-business/warn/detail/"+warnId;
 		JSONObject res = HttpRequestUtil.doHttpGetRequest("查询预警详情", url, null, null, 20 * 1000);
 		if (res.getIntValue("code") ==200 && res.getBooleanValue("success")){
 			JSONObject data = res.getJSONObject("data");
-			WarnDetailInfoVO vo = JsonUtil.parse(data.toJSONString(), WarnDetailInfoVO.class);
+			WarnDetailInfoEntity vo = JsonUtil.parse(data.toJSONString(), WarnDetailInfoEntity.class);
 			return R.data(vo);
 		}
 		return R.data(null);

+ 0 - 11
src/main/java/org/springblade/modules/yjxt/business/rain/controller/YjRainDataController.java

@@ -6,7 +6,6 @@
  */
 package org.springblade.modules.yjxt.business.rain.controller;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -23,7 +22,6 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.jackson.JsonUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.baseinfo.org.entity.DeptRegionEntity;
 import org.springblade.modules.baseinfo.org.service.IDeptRegionService;
@@ -32,26 +30,17 @@ import org.springblade.modules.baseinfo.region.yw.service.IRegionInfoService;
 import org.springblade.modules.baseinfo.stbase.entity.MvAttStBaseEntity;
 import org.springblade.modules.baseinfo.stbase.service.IMvAttStBaseService;
 import org.springblade.modules.business.data.dto.RtuDataRainDTO;
-import org.springblade.modules.yjxt.base.map.dto.DangerAreaLeaveLineDTO;
 import org.springblade.modules.yjxt.base.map.entity.DangerAreaEntity;
-import org.springblade.modules.yjxt.base.map.service.IDangerAreaLeaveLineService;
 import org.springblade.modules.yjxt.base.map.service.IDangerAreaService;
-import org.springblade.modules.yjxt.base.map.vo.DangerAreaLeaveLineVO;
 import org.springblade.modules.yjxt.business.rain.service.IYjRainDataService;
 import org.springblade.modules.yjxt.business.rain.vo.YjRainDataVO;
-import org.springblade.modules.yjxt.business.resident.dto.DangerAreaResidentInfoDTO;
-import org.springblade.modules.yjxt.business.resident.entity.DangerAreaResidentInfoEntity;
-import org.springblade.modules.yjxt.business.resident.service.IDangerAreaResidentService;
 import org.springblade.modules.yjxt.business.warn.entity.OriginalWarningInfoEntity;
 import org.springblade.modules.yjxt.business.warn.service.IOriginalWarningService;
-import org.springblade.modules.yjxt.business.warn.vo.WarnDetailInfoVO;
-import org.springblade.utils.HttpRequestUtil;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
-import java.util.ArrayList;
 import java.util.List;
 
 

+ 46 - 4
src/main/java/org/springblade/modules/yjxt/business/warn/controller/YjWarnController.java

@@ -25,14 +25,18 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.jackson.JsonUtil;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.modules.baseinfo.org.entity.DeptRegionEntity;
 import org.springblade.modules.baseinfo.org.service.IDeptRegionService;
 import org.springblade.modules.yjxt.business.warn.dto.OriginalWarningInfoDTO;
 import org.springblade.modules.yjxt.business.warn.entity.OriginalWarningInfoEntity;
+import org.springblade.modules.yjxt.business.warn.entity.WarnResponseInfoEntity;
 import org.springblade.modules.yjxt.business.warn.service.IOriginalWarningService;
 import org.springblade.modules.yjxt.business.warn.vo.OriginalWarningInfoVO;
+import org.springblade.modules.yjxt.business.warn.entity.WarnDetailInfoEntity;
 import org.springblade.modules.yjxt.business.warn.vo.WarnDetailInfoVO;
+import org.springblade.modules.yjxt.business.warn.vo.WarnResponseInfoVO;
 import org.springblade.modules.yjxt.business.warn.wrapper.OriginalWarningWrapper;
 import org.springblade.modules.yjxt.business.warn.wrapper.YjWarnInfoWrapper;
 import org.springblade.utils.HttpRequestUtil;
@@ -44,6 +48,8 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 
 /***
  * Date:2023/11/12
@@ -101,12 +107,12 @@ public class YjWarnController extends BladeController {
                     return R.fail("查询失败");
                 }
                 entity.setWarnAdcd(deptRegionEntity.getAdcd());
-            }else if(BusinessConstant.ROLE_QI_ADMIN.equals(user.getRoleName())){
+            } else if (BusinessConstant.ROLE_QI_ADMIN.equals(user.getRoleName())) {
                 LambdaQueryWrapper<DeptRegionEntity> wrapper = Wrappers.<DeptRegionEntity>query().lambda();
                 wrapper.eq(DeptRegionEntity::getDeptId, Func.toLong(user.getDeptId()));
                 wrapper.last("limit 1");
                 DeptRegionEntity deptRegionEntity = deptRegionService.getOne(wrapper);
-                if (Func.isNull(deptRegionEntity)){
+                if (Func.isNull(deptRegionEntity)) {
                     return R.fail("查询失败");
                 }
                 entity.setWarnAdcd(deptRegionEntity.getAdcd());
@@ -169,8 +175,44 @@ public class YjWarnController extends BladeController {
             JSONObject res = HttpRequestUtil.doHttpGetRequest("查询预警详情", url, null, null, 20 * 1000);
             if (res.getIntValue("code") == 200 && res.getBooleanValue("success")) {
                 JSONObject data = res.getJSONObject("data");
-                WarnDetailInfoVO vo = JsonUtil.parse(data.toJSONString(), WarnDetailInfoVO.class);
-                return R.data(vo);
+                if (Func.notNull(data)) {
+                    WarnDetailInfoEntity warnDetailInfoEntity = JsonUtil.parse(data.toJSONString(), WarnDetailInfoEntity.class);
+                    WarnDetailInfoVO vo = Objects.requireNonNull(BeanUtil.copy(warnDetailInfoEntity, WarnDetailInfoVO.class));
+                    if (Func.notNull(vo.getWarnResponseInfoList())) {
+                        List<WarnResponseInfoEntity> warnResponseInfoList = vo.getWarnResponseInfoList();
+                        List<WarnResponseInfoVO> voList = new ArrayList<>(warnResponseInfoList.size());
+                        for (WarnResponseInfoEntity warnResponseInfoEntity : warnResponseInfoList) {
+                            WarnResponseInfoVO warnResponseInfoVO = Objects.requireNonNull(BeanUtil.copy(warnResponseInfoEntity, WarnResponseInfoVO.class));
+                            if (Func.notNull(warnResponseInfoVO.getVariableOut())) {
+                                JSONObject json = JSONObject.parseObject(warnResponseInfoVO.getVariableOut());
+                                if (json.containsKey("DXJS")) {
+                                    warnResponseInfoVO.setDxjs(json.getString("DXJS"));
+                                }
+                                if (json.containsKey("RYSW")) {
+                                    warnResponseInfoVO.setRysw(json.getString("RYSW"));
+                                }
+                                if (json.containsKey("GDSH")) {
+                                    warnResponseInfoVO.setGdsh(json.getString("GDSH"));
+                                }
+                                if (json.containsKey("JYCX")) {
+                                    warnResponseInfoVO.setJycx(json.getString("JYCX"));
+                                }
+                                if (json.containsKey("SFCG")) {
+                                    warnResponseInfoVO.setSfcg(json.getString("SFCG"));
+                                }
+                                if (json.containsKey("RYZY")) {
+                                    warnResponseInfoVO.setRyzy(json.getString("RYZY"));
+                                }
+                                if (json.containsKey("SFQR")) {
+                                    warnResponseInfoVO.setSfqr(json.getString("SFQR"));
+                                }
+                            }
+                            voList.add(warnResponseInfoVO);
+                        }
+                        vo.setWarnResponseList(voList);
+                    }
+                    return R.data(vo);
+                }
             }
         } catch (Exception e) {
             log.error(e.getMessage());

+ 108 - 0
src/main/java/org/springblade/modules/yjxt/business/warn/entity/WarnDetailInfoEntity.java

@@ -0,0 +1,108 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/1/19
+ */
+package org.springblade.modules.yjxt.business.warn.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+import org.springblade.modules.yjxt.business.warn.entity.InsideWarnInfoEntity;
+import org.springblade.modules.yjxt.business.warn.entity.OutsideWarnInfoEntity;
+import org.springblade.modules.yjxt.business.warn.entity.WarnResponseInfoEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+
+/***
+ * Date:2024/1/19
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WarnDetailInfoEntity extends BaseEntity {
+
+    @ApiModelProperty("预警编码")
+    private String warnId;
+
+    @ApiModelProperty("预警发生时间")
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+    )
+    private Date warnTime;
+
+    @ApiModelProperty("预警名称")
+    private String warnName;
+
+    @ApiModelProperty("预警信息")
+    private String warnInfo;
+
+    /**
+     * 内部预警信息
+     */
+    @ApiModelProperty("内部预警信息")
+    private List<InsideWarnInfoEntity> insideWarnInfoList;
+
+    /**
+     * 0 没有,1 有
+     */
+    @ApiModelProperty("是否有外部预警")
+    private Integer ousideWarnStatus;
+
+    /**
+     * 外部预警时间
+     */
+    @ApiModelProperty("外部预警时间")
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+    )
+    private Date extTime;
+
+    /**
+     * 外部预警信息
+     */
+    @ApiModelProperty("外部预警信息")
+    private List<OutsideWarnInfoEntity> outsideWarnInfoList;
+
+
+    /**
+     * 0 没有,1 有
+     */
+    @ApiModelProperty("是否有预警响应")
+    private Integer warnResponseStatus;
+
+    /**
+     * 预警响应时间
+     */
+    @ApiModelProperty("预警响应时间")
+    @DateTimeFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss"
+    )
+    @JsonFormat(
+            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+    )
+    private Date replyTm;
+
+    /**
+     * 预警响应信息
+     */
+    @ApiModelProperty("预警响应信息")
+    private List<WarnResponseInfoEntity> warnResponseInfoList;
+
+}

+ 65 - 28
src/main/java/org/springblade/modules/yjxt/business/warn/entity/WarnResponseInfoEntity.java

@@ -37,16 +37,53 @@ public class WarnResponseInfoEntity extends BaseEntity {
     private String warnId;
 
     /**
-     * 叫应时间
+     * 联系电话
      */
-    @ApiModelProperty("响应时间")
+    @ApiModelProperty("联系电话")
+    private String pcaPhone;
+
+    /**
+     * 联系人
+     */
+    @ApiModelProperty("联系人")
+    private String pcaName;
+
+
+    /**
+     * 反馈信息
+     */
+    @ApiModelProperty("反馈信息")
+    private String variableOut;
+
+    /**
+     * 呼叫时间
+     */
+    @ApiModelProperty("呼叫时间")
     @DateTimeFormat(
             pattern = "yyyy-MM-dd HH:mm:ss"
     )
     @JsonFormat(
             pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
     )
-    private Date reacTm;
+    private Date callTm;
+
+    /**
+     * 负责人类型
+     */
+    @ApiModelProperty("负责人类型")
+    private String commType;
+
+    /**
+     * 响应时间
+     */
+//    @ApiModelProperty("响应时间")
+//    @DateTimeFormat(
+//            pattern = "yyyy-MM-dd HH:mm:ss"
+//    )
+//    @JsonFormat(
+//            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+//    )
+//    private Date reacTm;
 
     /**
      * 反馈时间
@@ -63,66 +100,66 @@ public class WarnResponseInfoEntity extends BaseEntity {
     /**
      * 危险区负责人ID
      */
-    @ApiModelProperty("危险区负责人ID")
-    private String pcaId;
+//    @ApiModelProperty("危险区负责人ID")
+//    private String pcaId;
 
     /**
      * 叫应次数
      */
-    @ApiModelProperty("叫应次数")
-    private Integer reacTimes;
+//    @ApiModelProperty("叫应次数")
+//    private Integer reacTimes;
 
     /**
      * -1 未叫应 0 未反馈 1已反馈
      */
     @ApiModelProperty("状态")
-    private String repltStatus;
+    private Integer repltStatus;
 
     /**
      * 响应时间
      */
-    @ApiModelProperty("响应时间")
-    @DateTimeFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss"
-    )
-    @JsonFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
-    )
-    private Date responTm;
+//    @ApiModelProperty("响应时间")
+//    @DateTimeFormat(
+//            pattern = "yyyy-MM-dd HH:mm:ss"
+//    )
+//    @JsonFormat(
+//            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
+//    )
+//    private Date responTm;
 
     /**
      * 是否收到预警信息 0 是 1否
      */
-    @ApiModelProperty("是否收到预警信息")
-    private String isReceive;
+//    @ApiModelProperty("是否收到预警信息")
+//    private String isReceive;
 
     /**
      * 是否发生山洪灾害 0 是 1 否
      */
-    @ApiModelProperty("是否发生山洪灾害")
-    private String isFloodBoot;
+//    @ApiModelProperty("是否发生山洪灾害")
+//    private String isFloodBoot;
 
     /**
      * 是否降雨持续 0 是 1 否
      */
-    @ApiModelProperty("是否降雨持续")
-    private String isRainContu;
+//    @ApiModelProperty("是否降雨持续")
+//    private String isRainContu;
 
     /**
      * 是否发生人员转移 0 是 1 否
      */
-    @ApiModelProperty("是否发生人员转移")
-    private String isTrans;
+//    @ApiModelProperty("是否发生人员转移")
+//    private String isTrans;
 
     /**
      * 是否有人员伤亡 0 是 1无
      */
-    @ApiModelProperty("是否有人员伤亡")
-    private String isDeady;
+//    @ApiModelProperty("是否有人员伤亡")
+//    private String isDeady;
 
     /**
      * 山洪是否已出沟 0 是 1 否
      */
-    @ApiModelProperty("山洪是否已出沟")
-    private String isFloodOut;
+//    @ApiModelProperty("山洪是否已出沟")
+//    private String isFloodOut;
 }

+ 5 - 81
src/main/java/org/springblade/modules/yjxt/business/warn/vo/WarnDetailInfoVO.java

@@ -2,26 +2,21 @@
  * Copyright 2019 DH
  * All right reserved.
  * 项目名称: 大恒泰山系统
- * 创建日期:2024/1/19
+ * 创建日期:2024/4/22
  */
 package org.springblade.modules.yjxt.business.warn.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.core.mp.base.BaseEntity;
-import org.springblade.modules.yjxt.business.warn.entity.InsideWarnInfoEntity;
-import org.springblade.modules.yjxt.business.warn.entity.OutsideWarnInfoEntity;
+import org.springblade.modules.yjxt.business.warn.entity.WarnDetailInfoEntity;
 import org.springblade.modules.yjxt.business.warn.entity.WarnResponseInfoEntity;
-import org.springframework.format.annotation.DateTimeFormat;
 
-import java.util.Date;
 import java.util.List;
 
 
 /***
- * Date:2024/1/19
+ * Date:2024/4/22
  * Title:文件所属模块(必须填写)
  * Description:对本文件的详细描述,原则上不能少于30字
  * @author dylan
@@ -30,78 +25,7 @@ import java.util.List;
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-public class WarnDetailInfoVO extends BaseEntity {
-
-    @ApiModelProperty("预警编码")
-    private String warnId;
-
-    @ApiModelProperty("预警发生时间")
-    @DateTimeFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss"
-    )
-    @JsonFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
-    )
-    private Date warnTime;
-
-    @ApiModelProperty("预警名称")
-    private String warnName;
-
-    @ApiModelProperty("预警信息")
-    private String warnInfo;
-
-    /**
-     * 内部预警信息
-     */
-    @ApiModelProperty("内部预警信息")
-    private List<InsideWarnInfoEntity> insideWarnInfoList;
-
-    /**
-     * 0 没有,1 有
-     */
-    @ApiModelProperty("是否有外部预警")
-    private Integer ousideWarnStatus;
-
-    /**
-     * 外部预警时间
-     */
-    @ApiModelProperty("外部预警时间")
-    @DateTimeFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss"
-    )
-    @JsonFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
-    )
-    private Date extTime;
-
-    /**
-     * 外部预警信息
-     */
-    @ApiModelProperty("外部预警信息")
-    private List<OutsideWarnInfoEntity> outsideWarnInfoList;
-
-
-    /**
-     * 0 没有,1 有
-     */
-    @ApiModelProperty("是否有预警响应")
-    private Integer warnResponseStatus;
-
-    /**
-     * 预警响应时间
-     */
-    @ApiModelProperty("预警响应时间")
-    @DateTimeFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss"
-    )
-    @JsonFormat(
-            pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8"
-    )
-    private Date replyTm;
-
-    /**
-     * 预警响应信息
-     */
+public class WarnDetailInfoVO extends WarnDetailInfoEntity {
     @ApiModelProperty("预警响应信息")
-    private List<WarnResponseInfoEntity> warnResponseInfoList;
+    private List<WarnResponseInfoVO> warnResponseList;
 }

+ 73 - 0
src/main/java/org/springblade/modules/yjxt/business/warn/vo/WarnResponseInfoVO.java

@@ -0,0 +1,73 @@
+/**
+ * Copyright 2019 DH
+ * All right reserved.
+ * 项目名称: 大恒泰山系统
+ * 创建日期:2024/4/22
+ */
+package org.springblade.modules.yjxt.business.warn.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import org.springblade.modules.yjxt.business.warn.entity.WarnResponseInfoEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/***
+ * Date:2024/4/22
+ * Title:文件所属模块(必须填写)
+ * Description:对本文件的详细描述,原则上不能少于30字
+ * @author dylan
+ * @version 1.0
+ * Remark:认为有必要的其他信息
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class WarnResponseInfoVO extends WarnResponseInfoEntity {
+
+
+    /**
+     * 是否收到预警信息
+     */
+    @ApiModelProperty("是否收到预警信息")
+    private String dxjs;
+
+    /**
+     * 是否发生山洪灾害
+     */
+    @ApiModelProperty("是否发生山洪灾害")
+    private String gdsh;
+
+    /**
+     * 是否降雨持续 0 是 1 否
+     */
+    @ApiModelProperty("是否降雨持续")
+    private String jycx;
+
+    /**
+     * 是否发生人员转移
+     */
+    @ApiModelProperty("是否发生人员转移")
+    private String ryzy;
+
+    /**
+     * 是否有人员伤亡
+     */
+    @ApiModelProperty("是否有人员伤亡")
+    private String rysw;
+
+    /**
+     * 山洪是否已出沟
+     */
+    @ApiModelProperty("山洪是否已出沟")
+    private String sfcg;
+
+    /**
+     * SFQR
+     */
+    @ApiModelProperty("SFQR")
+    private String sfqr;
+}