From f73dbcd6c21d28ab1e98840eee73c6d09bd0f929 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Tue, 27 Aug 2024 17:31:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jtdev' into jtdev
---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java | 2
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/controller/DbReportController.java | 39 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java | 9
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java | 36 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/IExtremumService.java | 17
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java | 11
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/WaterDataTermitesVO.java | 12
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/mapper/ExtremumMapper.java | 8
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/impl/ExtremumServiceImpl.java | 43 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/entity/ExtremumDO.java | 76 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java | 29 +
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/message/entity/MessageRecord.java | 18
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStepReportVO.java | 1
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgTypeVO.java | 1
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java | 9
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java | 4
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml | 3
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProgressReportDO.java | 25 +
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisDeviceVO.java | 10
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/WaterDataTermitesController.java | 49 ++
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/WaterDataTermites.java | 35 +
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java | 37 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.java | 14
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java | 5
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/WaterDataTermitesServiceImpl.java | 19
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java | 3
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java | 4
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml | 1
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java | 4
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java | 5
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PtypeVO.java | 22 +
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml | 192 ++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java | 3
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java | 2
skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java | 6
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java | 8
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.xml | 10
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisProVO.java | 26 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java | 6
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml | 11
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml | 44 ++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java | 8
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java | 37 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java | 2
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java | 24 +
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java | 3
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java | 204 +++++++--
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java | 13
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IWaterDataTermitesService.java | 16
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml | 90 +++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java | 47 +
51 files changed, 1,201 insertions(+), 102 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java
index db8a8dc..c8db663 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/entity/SmsRecord.java
@@ -91,4 +91,15 @@
@ApiModelProperty("是否已删除")
private Integer isDeleted;
+ /**
+ * 水库guid
+ */
+ @ApiModelProperty("水库guid")
+ private String resGuid;
+
+ /**
+ * 告警规则id
+ */
+ private Long alarmRuleId;
+
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java
index 8366ec0..3db65e7 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/sms/vo/SmsRecordVO.java
@@ -14,4 +14,41 @@
* 是否导出,不为空是导出,不分页
*/
private Integer isExport;
+
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
+ /**
+ * 消息记录类型 1:短信 2:站内信
+ */
+ private String type;
+
+
+ /**
+ * 消息类型
+ */
+ private String smsType;
+
+ /**
+ * 水库名称
+ */
+ private String resName;
+
+ /**
+ * 规则名称
+ */
+ private String ruleName;
+
+ /**
+ * 用户名
+ */
+ private String userName;
+
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
index 4a36894..b1378a3 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/intelligentCall/vo/CallTaskStatistic.java
@@ -50,6 +50,11 @@
private String executeTime;
/**
+ * 任务最后修改时间
+ */
+ private String gmtModified;
+
+ /**
* 被叫号码量
*/
private String calleeNumberCount;
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/message/entity/MessageRecord.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/message/entity/MessageRecord.java
index 695b0d3..0f5792f 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/message/entity/MessageRecord.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/message/entity/MessageRecord.java
@@ -46,10 +46,24 @@
*/
private String source;
+ /**
+ * 水库guid
+ */
private String resGuid;
+ /**
+ * 反馈
+ */
private String feedback;
- //是否异常 1是 2 否
- private String alertStatus;
+ /**
+ * 告警规则id
+ */
+ private Long alarmRuleId;
+
+ /**
+ * 告警模板id
+ */
+ private String templateId;
+
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProgressReportDO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProgressReportDO.java
index ba79567..0f552dd 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProgressReportDO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProgressReportDO.java
@@ -103,6 +103,25 @@
*/
private String videoUrls;
+ /**
+ * 文件附件
+ */
+ private String fileUrls;
+
+ /**
+ * 图片附件
+ */
+ private String imageName;
+
+ /**
+ * 视频附件
+ */
+ private String videoName;
+
+ /**
+ * 文件附件
+ */
+ private String fileName;
/**
* 审核意见
*/
@@ -123,4 +142,10 @@
*是否重新提交 0是 ,1否
*/
private Integer resubmit;
+
+ /**
+ * 重新上报单据ID
+ */
+ @TableField(exist = false)
+ private String resubmitId;
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
index daee394..37ff7b7 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
@@ -1,6 +1,7 @@
package cn.gistack.sm.sg.DO;
import cn.gistack.sm.sg.VO.PreAcceVO;
+import cn.gistack.sm.sg.VO.PtypeVO;
import cn.gistack.sm.sg.VO.SgTypeVO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -172,7 +173,7 @@
@TableField(exist = false)
- private List<SgTypeVO> sgGxDOS;
+ private List<PtypeVO> ptypeVOS;
@TableField(exist = false)
private List<PreAcceVO> preAcce;
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
index 931554a..acd6166 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ProjectSearchDTO.java
@@ -64,5 +64,10 @@
* 项目排序 0状态 , 1进度 ,2注册码
*/
private Integer projectSort;
+ private String auditPerson;
+
+ private List<String> sgCodeS;
+
+
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PtypeVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PtypeVO.java
new file mode 100644
index 0000000..7479dc9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/PtypeVO.java
@@ -0,0 +1,22 @@
+package cn.gistack.sm.sg.VO;
+
+import cn.gistack.sm.sg.DO.SgDeviceDO;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * 工序父类型 进度实体类
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class PtypeVO {
+ private String pTypeName;
+ private String pTypeProgress;
+ private List<SgTypeVO> sgTypeVOS;
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java
index 49e8492..08976a6 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgProjectInfoVO.java
@@ -29,4 +29,7 @@
private Integer deviceStatus;
private Integer projectStatus;
private String progressName;
+ private String Ptype;
+ private String PtypeName;
+ private Integer resubmit;
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisDeviceVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisDeviceVO.java
new file mode 100644
index 0000000..ed8fb97
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisDeviceVO.java
@@ -0,0 +1,10 @@
+package cn.gistack.sm.sg.VO;
+
+import lombok.Data;
+
+@Data
+public class SgStatisDeviceVO {
+ private Integer deviceCount;
+ private Integer deviceStart;
+ private String pType;
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisProVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisProVO.java
index af2ffd3..3be61f8 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisProVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStatisProVO.java
@@ -20,6 +20,32 @@
private int commenceNum;
private String projectProgress;
+ /**
+ * 表面变形
+ */
+ private int surfaceNum;
+ private String surfaceProgress;
+
+ /**
+ * 视频
+ */
+ private int videoNum;
+ private String videoProgress;
+
+ /**
+ * 渗流压力
+ */
+ private int transNum;
+ private String transProgress;
+
+ /**
+ * 渗流量
+ */
+ private int seepageNum;
+ private String seepageProgress;
+
+ private String proIds;
+
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStepReportVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStepReportVO.java
index 28796bc..b1d8e9f 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStepReportVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgStepReportVO.java
@@ -13,4 +13,5 @@
private String stepNum;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date reportTime;
+private Integer resubmit;
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgTypeVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgTypeVO.java
index 44cea36..87e5606 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgTypeVO.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/VO/SgTypeVO.java
@@ -16,5 +16,6 @@
public class SgTypeVO {
private String typeName;
private String typeProgress;
+ private String progress;
private List<SgDeviceDO> deviceDOS;
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/WaterDataTermites.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/WaterDataTermites.java
new file mode 100644
index 0000000..d608c7d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/entity/WaterDataTermites.java
@@ -0,0 +1,35 @@
+package cn.gistack.sm.sjztods.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@TableName("\"water_data_termites\"")
+@ApiModel(value = "白蚁监测数据表", description = "白蚁监测数据表")
+public class WaterDataTermites {
+
+ /**
+ * 白蚁蚁情状态
+ */
+ @ApiModelProperty(value = "白蚁蚁情状态 白蚁蚁情状态,有白蚁入侵为1")
+ @TableField("\"status\"")
+ private Integer status;
+
+ /**
+ * 设备id
+ */
+ @ApiModelProperty(value = "设备id")
+ @TableField("\"device_id\"")
+ private Integer deviceId;
+
+ /**
+ * 设备id
+ */
+ @ApiModelProperty(value = "设备id")
+ @TableField("\"order\"")
+ private String order;
+
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/WaterDataTermitesVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/WaterDataTermitesVO.java
new file mode 100644
index 0000000..7cc8668
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztods/vo/WaterDataTermitesVO.java
@@ -0,0 +1,12 @@
+package cn.gistack.sm.sjztods.vo;
+
+import cn.gistack.sm.sjztods.entity.WaterDataTermites;
+import lombok.Data;
+
+@Data
+public class WaterDataTermitesVO extends WaterDataTermites {
+
+ private String startTime;
+ private String endTime;
+
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
index c7da819..d902fcb 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
@@ -110,6 +110,12 @@
@ApiModelProperty(value = "区划名称")
private String adCode;
+ /**
+ * 工程区划
+ */
+ @ApiModelProperty(value = "工程区划")
+ private String sgCode;
+
private String adGrad;
private String resGuid;
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
index 273d338..cbbebf5 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -1003,6 +1003,8 @@
messageRecord.setSender(AuthUtil.getUserId().toString());
messageRecord.setSource("智能告警");
messageRecord.setStatus(0);
+ messageRecord.setAlarmRuleId(alarmRule.getId());
+ messageRecord.setTemplateId(smsTemplate.getTemplateId());
// 设置告警记录信息
AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail();
alarmRecordDetail.setReservoirNumber(list.get(0));
@@ -1087,6 +1089,8 @@
messageRecord.setSource("智能告警");
messageRecord.setStatus(0);
messageRecord.setRecipient(phone);
+ messageRecord.setTemplateId(smsTemplate.getTemplateId());
+ messageRecord.setAlarmRuleId(alarmRule.getId());
StringBuilder builder = new StringBuilder();
@@ -1165,6 +1169,8 @@
messageRecord.setSource("智能告警");
messageRecord.setStatus(0);
messageRecord.setRecipient(phone);
+ messageRecord.setTemplateId(smsTemplate.getTemplateId());
+ messageRecord.setAlarmRuleId(alarmRule.getId());
List<String> resCdList = new ArrayList<>();
Map<String, List<Temp>> resCollect = temps.stream().collect(Collectors.groupingBy(Temp::getReservoirCode));
@@ -1237,6 +1243,8 @@
messageRecord.setSource("智能告警");
messageRecord.setStatus(0);
messageRecord.setRecipient(phone);
+ messageRecord.setTemplateId(smsTemplate.getTemplateId());
+ messageRecord.setAlarmRuleId(alarmRule.getId());
List<String> contentList = new ArrayList<>();
//因为只能按编号分组,名称会有重复,所以拿第一条数据的名称就行
temps.forEach(info -> {
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
index 2954f56..ebbffc8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -218,7 +218,7 @@
// 遍历
for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
if (alarmRuleDetail.getAlarmMode().equals("短信")) {
- asyncNoticeHandle.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterFirstOverList, true, adCode, true);
+ asyncNoticeHandle.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterFirstOverList, true, adCode, false);
}
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
index d2cb092..b10746b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
@@ -89,7 +89,7 @@
// 记录发送记录操作
SmsResult smsResult = smsService.saveSendResult(null,resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
if (null != smsResult){
- smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
+ smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId(),smsResult.getAlarmRuleId(),null);
}
// 返回发送信息
return R.data(resultComResult);
@@ -119,7 +119,7 @@
// 记录发送记录操作
SmsResult smsResult = smsService.saveSendResult(null,resultComResult.getCode().toString(),resultComResult.getMsg(),request, 1);
if (null != smsResult){
- smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId());
+ smsService.saveSendRecord(request, resultComResult.getCode().toString(),resultComResult.getMsg(),smsResult.getId(),smsResult.getAlarmRuleId(),null);
}
// 保存验证码到 redis
saveCodeForRedis(request.getUserNumber(), randNumber);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java
index 375f64f..9185291 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsRecordController.java
@@ -108,4 +108,17 @@
return R.data(SmsRecord);
}
+
+ /**
+ * 自定义分页列表查询
+ * @param query 分页查询对象
+ * @param smsRecord
+ * @return
+ */
+ @ApiOperation(value="短信发送记录-自定义分页列表查询", notes="短信发送记录-自定义分页列表查询")
+ @GetMapping(value = "/msgPage")
+ public R msgPage(SmsRecordVO smsRecord, Query query) {
+ return R.data(smsRecordService.msgPage(Condition.getPage(query), smsRecord));
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
index fb31821..671c5cd 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/feign/SmsRecordClient.java
@@ -62,7 +62,7 @@
// 记录发送记录操作
SmsResult smsResult = smsService.saveSendResult(null,code,msg,request, number);
if (null != smsResult){
- smsService.saveSendRecord(request, code,msg,smsResult.getId());
+ smsService.saveSendRecord(request, code,msg,smsResult.getId(),null,null);
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java
index 58d2715..80f12ae 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.java
@@ -2,6 +2,7 @@
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.vo.SmsRecordVO;
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -28,4 +29,40 @@
* @return
*/
int batchSaveSendRecord(@Param("list") List<SmsRecord> list);
+
+ /**
+ * 短信消息记录查询
+ * @param page
+ * @param smsRecord
+ * @param list
+ * @return
+ */
+ @InterceptorIgnore(tenantLine = "1")
+ List<SmsRecordVO> smsPage(IPage<SmsRecordVO> page,
+ @Param("smsRecord") SmsRecordVO smsRecord,
+ @Param("list") List<String> list);
+
+ /**
+ * 站内信消息记录查询
+ * @param page
+ * @param smsRecord
+ * @param list
+ * @return
+ */
+ @InterceptorIgnore(tenantLine = "1")
+ List<SmsRecordVO> msgPage(IPage<SmsRecordVO> page,
+ @Param("smsRecord") SmsRecordVO smsRecord,
+ @Param("list") List<String> list);
+
+ /**
+ * 短信和站内信消息记录查询 @InterceptorIgnore(tenantLine = "1") 等价 @SqlParser(filter = true)已过期
+ * @param page
+ * @param smsRecord
+ * @param list
+ * @return
+ */
+ @InterceptorIgnore(tenantLine = "1")
+ List<SmsRecordVO> smsAndMsgPage(IPage<SmsRecordVO> page,
+ @Param("smsRecord") SmsRecordVO smsRecord,
+ @Param("list") List<String> list);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml
index b363a02..00f6b7d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/mapper/SmsRecordMapper.xml
@@ -39,4 +39,196 @@
</foreach>
</insert>
+
+ <!--站内信消息记录列表查询-->
+ <select id="msgPage" resultType="cn.gistack.alerts.sms.vo.SmsRecordVO">
+ select
+ smr.id,smr.content,smr.create_time,'发送成功' as responseMsg,smr.template_id,
+ a."name" as resName,
+ bu.name as userName,bu.phone as tel,
+ 2 as type,
+ sar.rule_name as ruleName,sst.sms_type as smsType
+ from YWXT.sm_message_record smr
+ left join SJZT_MD."att_res_base" a on a."guid" = smr.res_guid
+ left join YWXT.blade_user bu on CAST(bu.id AS VARCHAR) = smr.recipient and bu.is_deleted = 0
+ left join YWXT.sm_alarm_rule sar on sar.id = smr.alarm_rule_id
+ left join YWXT.sm_sms_template sst on sst.template_id = smr.template_id and sst.is_deleted = 0
+ <where>
+ <if test="smsRecord.templateId!=null and smsRecord.templateId!=''">
+ and smr.template_id = #{smsRecord.templateId}
+ </if>
+ <if test="smsRecord.smsType!=null and smsRecord.smsType!=''">
+ and sst.sms_type = #{smsRecord.smsType}
+ </if>
+ <if test="smsRecord.tel!=null and smsRecord.tel!=''">
+ and bu.phone = #{smsRecord.tel}
+ </if>
+ <if test="smsRecord.content!=null and smsRecord.content!=''">
+ and smr.content like concat(concat('%',#{smsRecord.content}),'%')
+ </if>
+ <if test="smsRecord.userName!=null and smsRecord.userName!=''">
+ and bu.name like concat(concat('%',#{smsRecord.userName}),'%')
+ </if>
+ <if test="smsRecord.resName!=null and smsRecord.resName!=''">
+ and a."name" like concat(concat('%',#{smsRecord.resName}),'%')
+ </if>
+ <if test="smsRecord.startTime!=null and smsRecord.startTime!=''">
+ and DATE_FORMAT(smr.create_time,'%Y-%m-%d') >= #{smsRecord.startTime}
+ </if>
+ <if test="smsRecord.endTime!=null and smsRecord.endTime!=''">
+ and DATE_FORMAT(smr.create_time,'%Y-%m-%d') <= #{smsRecord.endTime}
+ </if>
+ <if test="list!=null and list.size()>0">
+ and smr.template_id in
+ <foreach collection="list" item="id" separator ="," open="(" close=")">
+ #{id}
+ </foreach>
+ </if>
+ </where>
+ order by smr.id desc
+ </select>
+
+ <!--短信消息记录列表查询-->
+ <select id="smsPage" resultType="cn.gistack.alerts.sms.vo.SmsRecordVO">
+ select
+ ssr.id,ssr.tel,ssr.content,ssr.create_time,ssr.response_msg,ssr.template_id,
+ a."name" as resName,
+ bu.name as userName,
+ 1 as type,
+ sar.rule_name as ruleName,sst.sms_type as smsType
+ from YWXT.sm_sms_record ssr
+ left join SJZT_MD."att_res_base" a on a."guid" = ssr.res_guid
+ left join YWXT.blade_user bu on bu.account = ssr.tel and bu.is_deleted = 0
+ left join YWXT.sm_alarm_rule sar on sar.id = ssr.alarm_rule_id
+ left join YWXT.sm_sms_template sst on sst.template_id = ssr.template_id and sst.is_deleted = 0
+ <where>
+ <if test="smsRecord.templateId!=null and smsRecord.templateId!=''">
+ and ssr.template_id = #{smsRecord.templateId}
+ </if>
+ <if test="smsRecord.smsType!=null and smsRecord.smsType!=''">
+ and sst.sms_type = #{smsRecord.smsType}
+ </if>
+ <if test="smsRecord.tel!=null and smsRecord.tel!=''">
+ and ssr.tel = #{smsRecord.tel}
+ </if>
+ <if test="smsRecord.content!=null and smsRecord.content!=''">
+ and ssr.content like concat(concat('%',#{smsRecord.content}),'%')
+ </if>
+ <if test="smsRecord.userName!=null and smsRecord.userName!=''">
+ and bu.name like concat(concat('%',#{smsRecord.userName}),'%')
+ </if>
+ <if test="smsRecord.resName!=null and smsRecord.resName!=''">
+ and a."name" like concat(concat('%',#{smsRecord.resName}),'%')
+ </if>
+ <if test="smsRecord.startTime!=null and smsRecord.startTime!=''">
+ and DATE_FORMAT(ssr.create_time,'%Y-%m-%d') >= #{smsRecord.startTime}
+ </if>
+ <if test="smsRecord.endTime!=null and smsRecord.endTime!=''">
+ and DATE_FORMAT(ssr.create_time,'%Y-%m-%d') <= #{smsRecord.endTime}
+ </if>
+ <if test="list!=null and list.size()>0">
+ and ssr.template_id in
+ <foreach collection="list" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ </if>
+ </where>
+ order by ssr.id desc
+ </select>
+
+
+ <!--短信和站内信消息记录列表查询-->
+ <select id="smsAndMsgPage" resultType="cn.gistack.alerts.sms.vo.SmsRecordVO">
+ (select
+ ssr.id,ssr.tel,ssr.content,ssr.create_time,ssr.response_msg,ssr.template_id,
+ a."name" as resName,
+ bu.name as userName,
+ 1 as type,
+ sar.rule_name as ruleName,sst.sms_type as smsType
+ from YWXT.sm_sms_record ssr
+ left join SJZT_MD."att_res_base" a on a."guid" = ssr.res_guid
+ left join YWXT.blade_user bu on bu.account = ssr.tel and bu.is_deleted = 0
+ left join YWXT.sm_alarm_rule sar on sar.id = ssr.alarm_rule_id
+ left join YWXT.sm_sms_template sst on sst.template_id = ssr.template_id and sst.is_deleted = 0
+ <where>
+ <if test="smsRecord.templateId!=null and smsRecord.templateId!=''">
+ and ssr.template_id = #{smsRecord.templateId}
+ </if>
+ <if test="smsRecord.smsType!=null and smsRecord.smsType!=''">
+ and sst.sms_type = #{smsRecord.smsType}
+ </if>
+ <if test="smsRecord.tel!=null and smsRecord.tel!=''">
+ and ssr.tel = #{smsRecord.tel}
+ </if>
+ <if test="smsRecord.content!=null and smsRecord.content!=''">
+ and ssr.content like concat(concat('%',#{smsRecord.content}),'%')
+ </if>
+ <if test="smsRecord.userName!=null and smsRecord.userName!=''">
+ and bu.name like concat(concat('%',#{smsRecord.userName}),'%')
+ </if>
+ <if test="smsRecord.resName!=null and smsRecord.resName!=''">
+ and a."name" like concat(concat('%',#{smsRecord.resName}),'%')
+ </if>
+ <if test="smsRecord.startTime!=null and smsRecord.startTime!=''">
+ and DATE_FORMAT(ssr.create_time,'%Y-%m-%d') >= #{smsRecord.startTime}
+ </if>
+ <if test="smsRecord.endTime!=null and smsRecord.endTime!=''">
+ and DATE_FORMAT(ssr.create_time,'%Y-%m-%d') <= #{smsRecord.endTime}
+ </if>
+ <if test="list!=null and list.size()>0">
+ and ssr.template_id in
+ <foreach collection="list" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ </if>
+ </where>
+ )
+ union all
+ (
+ select
+ smr.id,smr.content,smr.create_time,'发送成功' as responseMsg,smr.template_id,
+ a."name" as resName,
+ bu.name as userName,bu.phone as tel,
+ 2 as type,
+ sar.rule_name as ruleName,sst.sms_type as smsType
+ from YWXT.sm_message_record smr
+ left join SJZT_MD."att_res_base" a on a."guid" = smr.res_guid
+ left join YWXT.blade_user bu on CAST(bu.id AS VARCHAR) = smr.recipient and bu.is_deleted = 0
+ left join YWXT.sm_alarm_rule sar on sar.id = smr.alarm_rule_id
+ left join YWXT.sm_sms_template sst on sst.template_id = smr.template_id and sst.is_deleted = 0
+ <where>
+ <if test="smsRecord.templateId!=null and smsRecord.templateId!=''">
+ and smr.template_id = #{smsRecord.templateId}
+ </if>
+ <if test="smsRecord.smsType!=null and smsRecord.smsType!=''">
+ and sst.sms_type = #{smsRecord.smsType}
+ </if>
+ <if test="smsRecord.tel!=null and smsRecord.tel!=''">
+ and bu.phone = #{smsRecord.tel}
+ </if>
+ <if test="smsRecord.content!=null and smsRecord.content!=''">
+ and smr.content like concat(concat('%',#{smsRecord.content}),'%')
+ </if>
+ <if test="smsRecord.userName!=null and smsRecord.userName!=''">
+ and bu.name like concat(concat('%',#{smsRecord.userName}),'%')
+ </if>
+ <if test="smsRecord.resName!=null and smsRecord.resName!=''">
+ and a."name" like concat(concat('%',#{smsRecord.resName}),'%')
+ </if>
+ <if test="smsRecord.startTime!=null and smsRecord.startTime!=''">
+ and DATE_FORMAT(smr.create_time,'%Y-%m-%d') >= #{smsRecord.startTime}
+ </if>
+ <if test="smsRecord.endTime!=null and smsRecord.endTime!=''">
+ and DATE_FORMAT(smr.create_time,'%Y-%m-%d') <= #{smsRecord.endTime}
+ </if>
+ <if test="list!=null and list.size()>0">
+ and smr.template_id in
+ <foreach collection="list" item="id" separator ="," open="(" close=")">
+ #{id}
+ </foreach>
+ </if>
+ </where>
+ )
+ </select>
+
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java
index 84246bd..9e0bbb0 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/ISmsRecordService.java
@@ -22,4 +22,12 @@
* @param list
*/
int batchSaveSendRecord(List<SmsRecord> list);
+
+ /**
+ * 自定义分页列表查询
+ * @param page 分页查询对象
+ * @param smsRecord
+ * @return
+ */
+ Object msgPage(IPage<SmsRecordVO> page, SmsRecordVO smsRecord);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
index aa1c17d..07ac318 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
@@ -55,9 +55,11 @@
* @param code
* @param sendMsg
* @param resultId
+ * @param alarmRuleId
+ * @param resGuid
* @return
*/
- SmsRecord saveSendRecord(SMSSendRequest request,String code, String sendMsg, Long resultId);
+ SmsRecord saveSendRecord(SMSSendRequest request,String code, String sendMsg, Long resultId,Long alarmRuleId,String resGuid);
/**
* 发送降雨短信
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java
index e373aac..f65d1fc 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsRecordServiceImpl.java
@@ -1,13 +1,18 @@
package cn.gistack.alerts.sms.service.impl;
+import cn.gistack.alerts.alarmRule.service.AlarmRuleService;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.mapper.SmsRecordMapper;
import cn.gistack.alerts.sms.service.ISmsRecordService;
import cn.gistack.alerts.sms.vo.SmsRecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.logging.log4j.util.Strings;
+import org.springblade.core.log.exception.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -16,6 +21,9 @@
*/
@Service
public class SmsRecordServiceImpl extends ServiceImpl<SmsRecordMapper, SmsRecord> implements ISmsRecordService {
+
+ @Autowired
+ private AlarmRuleService alarmRuleService;
/**
* 自定义分页列表查询
@@ -42,4 +50,32 @@
public int batchSaveSendRecord(List<SmsRecord> list) {
return baseMapper.batchSaveSendRecord(list);
}
+
+ /**
+ * 自定义分页列表查询
+ * @param page 分页查询对象
+ * @param smsRecord
+ * @return
+ */
+ @Override
+ public Object msgPage(IPage<SmsRecordVO> page, SmsRecordVO smsRecord) {
+ List<String> list = new ArrayList<>();
+ // 判断是否为一级目录
+ if (null!=smsRecord.getSmsType() && smsRecord.getSmsType().length()>1){
+ // 查询对应的短信模板ID 集合
+ list = alarmRuleService.getAlarmRuleDetailList(smsRecord.getSmsType());
+ // 设置类型为null
+ smsRecord.setSmsType("");
+ }
+ if (!Strings.isBlank(smsRecord.getType()) && smsRecord.getType().equals("1")){
+ // 查询短信
+ return page.setRecords(baseMapper.smsPage(page,smsRecord,list));
+ }
+ if (!Strings.isBlank(smsRecord.getType()) && smsRecord.getType().equals("2")){
+ // 查询站内信
+ return page.setRecords(baseMapper.msgPage(page,smsRecord,list));
+ }
+ // 查询全部返回
+ return page.setRecords(baseMapper.smsAndMsgPage(page,smsRecord,list));
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
index 14ee9e2..7cb010a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -2,7 +2,6 @@
import cn.com.flaginfo.sdk.cmc.api.result.ComResult;
import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendDataResult;
-import cn.com.flaginfo.sdk.cmc.api.sms.dynsend.DynSMSSendRequest;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendDataResult;
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.alarmRule.entity.AlarmRecordDetail;
@@ -28,25 +27,21 @@
import cn.gistack.alerts.sms.vo.SmsResponseVO;
import cn.gistack.alerts.sms.vo.Temp;
import cn.gistack.sm.intelligentCall.entity.CallNotFillRecord;
-import cn.gistack.sm.intelligentCall.excel.CallExcel;
import cn.gistack.sm.intelligentCall.feign.OutCallClient;
import cn.gistack.sm.message.entity.MessageRecord;
import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
+import org.apache.logging.log4j.util.Strings;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-
-import java.lang.reflect.Array;
import java.text.SimpleDateFormat;
import java.util.*;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -111,7 +106,7 @@
ComResult<SMSSendDataResult> result = SmsUtils.sendMsg(request);
if(null != smsResult) {
// 保存记录
- saveSendRecord(request, result.getCode().toString(), result.getMsg(), smsResult.getId());
+ saveSendRecord(request, result.getCode().toString(), result.getMsg(), smsResult.getId(),null,null);
}
list.add(result);
}
@@ -291,6 +286,8 @@
messageRecord.setSender(AuthUtil.getUserId().toString());
messageRecord.setSource("智能告警");
messageRecord.setStatus(0);
+ messageRecord.setTemplateId(smsTemplate.getTemplateId());
+ messageRecord.setAlarmRuleId(alarmRule.getId());
// 设置告警记录信息
AlarmRecordDetail alarmRecordDetail = new AlarmRecordDetail();
alarmRecordDetail.setReservoirNumber(list.get(0));
@@ -318,7 +315,7 @@
messageRecord.setContent(format);
messageRecordList.add(messageRecord);
// 保存短信发送记录
- smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId());
+ smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId(),alarmRule.getId(),alarmRecordDetail.getReservoirNumber());
if (null != smsRecord) {
alarmRecordDetail.setAlarmContent(format);
alarmRecordDetail.setSendRecordId(smsRecord.getId());
@@ -449,10 +446,18 @@
* @param request
* @param code 响应code
* @param sendMsg 响应消息
- * @param resultId
+ * @param resultId 短信发送结果id
+ * @param alarmRuleId 告警规则id
+ * @param resGuid 水库guid
*/
@Override
- public SmsRecord saveSendRecord(SMSSendRequest request, String code, String sendMsg, Long resultId) {
+ public SmsRecord saveSendRecord(SMSSendRequest request,
+ String code,
+ String sendMsg,
+ Long resultId,
+ Long alarmRuleId,
+ String resGuid
+ ) {
// 在保存明细
SmsRecord smsRecord = new SmsRecord();
smsRecord.setTel(request.getUserNumber());
@@ -461,6 +466,8 @@
smsRecord.setResultId(resultId);
smsRecord.setResponseStatus(code);
smsRecord.setResponseMsg(sendMsg);
+ smsRecord.setResGuid(resGuid);
+ smsRecord.setAlarmRuleId(alarmRuleId);
//插入记录
smsRecordService.save(smsRecord);
// 返回
@@ -800,8 +807,10 @@
List<List<Temp>> lists = Lists.partition(new ArrayList<>(temps), 30);
for (List<Temp> list : lists) {
List<AlarmRecordDetailVO> alarmRecordDetailList = new ArrayList<>();
+ List<String> resGuidList = new ArrayList<>();
// 遍历
for (Temp temp : list) {
+ resGuidList.add(temp.getReservoirCode());
builder.append(temp.getReservoirName()).append(",");
smsRecordBuilder.append(temp.getReservoirName()).append(",");
AlarmRecordDetailVO alarmRecordDetail = new AlarmRecordDetailVO();
@@ -835,7 +844,8 @@
// 设置内容
request.setMessageContent(format);
// 保存短信发送记录
- SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId());
+ String resGuid = resGuidList.size()>0?Strings.join(resGuidList,','):"";
+ SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId(),smsResult.getAlarmRuleId(),resGuid);
//保存告警记录详情信息
if (null != smsRecord) {
List<AlarmRecordDetail> alarmRecordDetailArrayList = new ArrayList<>();
@@ -914,8 +924,10 @@
List<List<Temp>> lists = Lists.partition(new ArrayList<>(infoList), 30);
for (List<Temp> list : lists) {
List<AlarmRecordDetailVO> alarmRecordDetailList = new ArrayList<>();
+ List<String> resGuidList = new ArrayList<>();
// 遍历
for (Temp temp : list) {
+ resGuidList.add(temp.getReservoirCode());
builder.append(temp.getReservoirName()+"("+temp.getCdNm() +")").append(",");
smsRecordBuilder.append(temp.getReservoirName()+"("+temp.getCdNm() +")").append(",");
AlarmRecordDetailVO alarmRecordDetail = new AlarmRecordDetailVO();
@@ -948,8 +960,9 @@
String format = String.format(str, substring.split(","));
// 设置内容
request.setMessageContent(format);
+ String resGuid = resGuidList.size()>0? Strings.join(resGuidList,','):"";
// 保存短信发送记录
- SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId());
+ SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId(),smsResult.getAlarmRuleId(),resGuid);
//保存告警记录详情信息
if (null != smsRecord) {
List<AlarmRecordDetail> alarmRecordDetailArrayList = new ArrayList<>();
@@ -1034,12 +1047,14 @@
});
- // 如果一人对应水库数量超过30个,则分批发送
+ // 如果一人对应水库数量超过15个,则分批发送
List<List<Temp>> lists = Lists.partition(new ArrayList<>(infoList), 15);
for (List<Temp> list : lists) {
+ List<String> resGuidList = new ArrayList<>();
List<AlarmRecordDetailVO> alarmRecordDetailList = new ArrayList<>();
// 遍历
for (Temp temp : list) {
+ resGuidList.add(temp.getReservoirCode());
builder.append(temp.getReservoirName()+"("+temp.getCdNm() +")").append(",");
smsRecordBuilder.append(temp.getReservoirName()+"("+temp.getCdNm() +")").append(",");
AlarmRecordDetailVO alarmRecordDetail = new AlarmRecordDetailVO();
@@ -1072,8 +1087,10 @@
String format = String.format(str, substring.split(","));
// 设置内容
request.setMessageContent(format);
+ // 转resGuid
+ String resGuid = resGuidList.size()>0? Strings.join(resGuidList,','):"";
// 保存短信发送记录
- SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId());
+ SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId(),smsResult.getAlarmRuleId(),resGuid);
//保存告警记录详情信息
if (null != smsRecord) {
List<AlarmRecordDetail> alarmRecordDetailArrayList = new ArrayList<>();
@@ -1191,7 +1208,7 @@
// 设置内容
request.setMessageContent(formatContent);
// 保存短信发送记录
- SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId());
+ SmsRecord smsRecord = saveSendRecord(request, resultComResult.getCode().toString(), resultComResult.getMsg(), smsResult.getId(),smsResult.getAlarmRuleId(),null);
AlarmRecordDetail alarmRecordDetail1 = new AlarmRecordDetail();
// 短信内容拼接(完成发送的结果信息)
alarmRecordDetail1.setAlarmContent(formatContent);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
index 3e129ca..0e15667 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/intelligentCall/mapper/CallTaskMapper.xml
@@ -10,6 +10,7 @@
date_format(ct."gmt_create",'%Y-%m-%d %H:%i:%s') as createTime,
ct."task_status" as taskStatus,
date_format(ct."task_schedule_time",'%Y-%m-%d %H:%i:%s') as executeTime,
+ date_format(ct."gmt_modified",'%Y-%m-%d %H:%i:%s') as gmtModified,
ctr."calling_number" as callingNumber,
ctra."callee_number_count" as calleeNumberCount,
if(ifnull(scnfr.task_id,0)='0',ctra."connection_count",(ctra."connection_count"+scnfr.num)) as connectionCount,
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/controller/DbReportController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/controller/DbReportController.java
index 6f85bbf..ba6c4ba 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/controller/DbReportController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/controller/DbReportController.java
@@ -3,9 +3,12 @@
import cn.gistack.sm.jcsb.entity.DbReport;
import cn.gistack.sm.jcsb.entity.DbReport;
import cn.gistack.sm.jcsb.entity.DeviceReport;
+import cn.gistack.sm.jcsb.entity.ExtremumDO;
import cn.gistack.sm.jcsb.service.IDbReportService;
+import cn.gistack.sm.jcsb.service.IExtremumService;
import cn.gistack.sm.jcsb.vo.DangerReportVO;
import cn.gistack.sm.jcsb.vo.DbReportVO;
+import cn.gistack.sm.sg.DO.SgDeviceDO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -33,7 +36,7 @@
public class DbReportController extends BladeController {
private final IDbReportService dbReportService;
-
+ private final IExtremumService extremumService;
@GetMapping("/page")
@ApiOperation(value = "列表", notes = "传入实体类参数")
public R<IPage<DbReportVO>> pageList(DbReportVO dbReport, Query query) {
@@ -83,4 +86,38 @@
public R getLatestList(DbReportVO dbReport){
return R.data(dbReportService.getLatestList(dbReport));
}
+
+
+ /**
+ * 新增或修改 类型极值
+ */
+ @PostMapping("/addExtremum")
+ @ApiOperation(value = "新增或修改类型极值", notes = "传入实体类参数")
+ public R submit(@RequestBody ExtremumDO extremumDO) {
+
+ if(extremumDO!=null&&extremumDO.getId()!=null){
+ return R.data(extremumService.updateById(extremumDO));
+ }else {
+
+ String type = extremumDO.getType();
+ String skId = extremumDO.getSkId();
+ ExtremumDO extremum = extremumService.getExtremum(type, skId);
+ if(extremum!=null){
+ extremumDO.setId(extremum.getId());
+ return R.data(extremumService.updateById(extremumDO));
+ }
+
+ return R.data(extremumService.saveOrUpdate(extremumDO));
+ }
+
+
+
+ }
+
+
+ @GetMapping(value = "/getExtremum")
+ public R getExtremumList(@RequestParam(name="skId",required=true) String skId,String type) {
+ List<ExtremumDO> page = extremumService.getExtremumList(skId,type);
+ return R.data(page);
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/entity/ExtremumDO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/entity/ExtremumDO.java
new file mode 100644
index 0000000..2b9e749
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/entity/ExtremumDO.java
@@ -0,0 +1,76 @@
+package cn.gistack.sm.jcsb.entity;
+
+import cn.gistack.sm.sg.DO.SgGxStepDO;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 类型极值
+ * </p>
+ *
+ * @author shenyijian
+ * @since 2024-06-13 11:51:20
+ */
+@Data
+@TableName("SM_EXTREMUMVALUE")
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class ExtremumDO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(type = IdType.AUTO)
+
+ private Long id;
+
+ /**
+ * 类型
+ */
+ private String type;
+
+ /**
+ * y左极值
+ */
+ private String lMax;
+ private String lMin;
+ /**
+ * y右极值
+ */
+ private String rMax;
+ private String rMin;
+
+
+ /**
+ *
+ * 水库id
+ */
+ private String skId;
+
+ /**
+ * 人员id
+ */
+ private String userId;
+
+ /**
+ * 创建时间
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date time;
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/mapper/ExtremumMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/mapper/ExtremumMapper.java
new file mode 100644
index 0000000..dd2f15c
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/mapper/ExtremumMapper.java
@@ -0,0 +1,8 @@
+package cn.gistack.sm.jcsb.mapper;
+
+import cn.gistack.sm.jcsb.entity.ExtremumDO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface ExtremumMapper extends BaseMapper<ExtremumDO> {
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/IExtremumService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/IExtremumService.java
new file mode 100644
index 0000000..1022f71
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/IExtremumService.java
@@ -0,0 +1,17 @@
+package cn.gistack.sm.jcsb.service;
+
+import cn.gistack.sm.jcsb.entity.ExtremumDO;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.core.mp.base.BaseService;
+
+import java.util.List;
+
+
+public interface IExtremumService extends IService<ExtremumDO> {
+
+ List<ExtremumDO> getExtremumList(String skId, String type);
+
+
+ ExtremumDO getExtremum(String type, String skId);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/impl/ExtremumServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/impl/ExtremumServiceImpl.java
new file mode 100644
index 0000000..cf18117
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/impl/ExtremumServiceImpl.java
@@ -0,0 +1,43 @@
+package cn.gistack.sm.jcsb.service.impl;
+
+import cn.gistack.sm.jcsb.entity.DbReport;
+import cn.gistack.sm.jcsb.entity.ExtremumDO;
+import cn.gistack.sm.jcsb.mapper.DbReportMapper;
+import cn.gistack.sm.jcsb.mapper.ExtremumMapper;
+import cn.gistack.sm.jcsb.service.IDbReportService;
+import cn.gistack.sm.jcsb.service.IExtremumService;
+import cn.gistack.sm.jcsb.vo.DbReportVO;
+import cn.gistack.sm.sg.DO.SgDeviceDO;
+import cn.gistack.sm.sg.mapper.SgDeviceMapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class ExtremumServiceImpl extends ServiceImpl<ExtremumMapper, ExtremumDO> implements IExtremumService {
+
+ @Override
+ public List<ExtremumDO> getExtremumList(String skId, String type) {
+ QueryWrapper<ExtremumDO> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("SK_ID", skId);
+ queryWrapper.eq(!StringUtils.isEmpty(type),"TYPE", type);
+ return baseMapper.selectList(queryWrapper);
+
+
+ }
+
+ @Override
+ public ExtremumDO getExtremum(String type, String skId) {
+ QueryWrapper<ExtremumDO> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("SK_ID", skId);
+ queryWrapper.eq(!StringUtils.isEmpty(type),"TYPE", type);
+ return baseMapper.selectOne(queryWrapper);
+ }
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java
index 25207cf..59beb62 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.java
@@ -1,6 +1,7 @@
package cn.gistack.sm.sg.mapper;
import cn.gistack.sm.sg.DO.SgProgressReportDO;
+import cn.gistack.sm.sg.DO.SgReportUserDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.VO.SgProgressReportVO;
import cn.gistack.sm.sg.VO.SgStepReportVO;
@@ -39,4 +40,6 @@
List<SgProgressReportVO> queryPageListAll(@Param("page") IPage<SgProgressReportVO> page, @Param("dto") ProjectSearchDTO searchDTO);
Long selectProframId(Long deviceId);
+
+ List<SgReportUserDO> selectProcessUserByProjectId(@Param("programId") Long programId);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
index eade863..84077d9 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -99,13 +99,13 @@
and userR.user_id = #{dto.userId} and userR.approval_order != 0
</if>
<if test="dto.approvalStatus != null and dto.approvalStatus ==0">
- and userR.approval_status = 0 and report.audit_person = #{dto.userId} and (report."STATUS" = 0 or report."STATUS" = 1)
+ and userR.approval_status = 0 and report.audit_person = #{dto.auditPerson} and (report."STATUS" = 0 or report."STATUS" = 1)
</if>
<if test="dto.approvalStatus != null and dto.approvalStatus ==1">
and userR.approval_status = 1
</if>
<if test="dto.approvalStatus != null and dto.approvalStatus ==2">
- AND userR.approval_order = 2
+ AND userR.approval_status = 2
</if>
<if test="dto.startTime != null and dto.startTime !='' ">
and report.report_time >= #{dto.startTime}
@@ -148,7 +148,8 @@
step.gx_step_name AS stepName,
step.gx_step_num AS stepNum,
re.STATUS AS approvalStatus,
- re.report_time
+ re.report_time,
+ re.resubmit
FROM
ywxt.sg_gx_step step
LEFT JOIN ywxt.sg_gx gx ON step.gx_info_id = gx.id
@@ -190,4 +191,8 @@
<select id="selectProframId" resultType="java.lang.Long">
select program_id from ywxt.sg_device where id = #{deviceId}
</select>
+ <select id="selectProcessUserByProjectId" resultType="cn.gistack.sm.sg.DO.SgReportUserDO">
+ select u.* from ywxt.sg_report_user u left join ywxt.sg_progresss_report r on u.report_id = r.id
+ where 1=1 and r.profram_id = #{programId}
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
index 58b33c8..50193e7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.java
@@ -3,10 +3,7 @@
import cn.gistack.sm.sg.DO.SgGxStepDO;
import cn.gistack.sm.sg.DO.SgProjectInfoDO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
-import cn.gistack.sm.sg.VO.SgProjectInfoVO;
-import cn.gistack.sm.sg.VO.SgStatisProVO;
-import cn.gistack.sm.sg.VO.SgStatistccVO;
-import cn.gistack.sm.sg.VO.SgStatisticsVO;
+import cn.gistack.sm.sg.VO.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -51,5 +48,9 @@
SgProjectInfoVO selectVOById(@Param("proframId") Long proframId);
+ String getSgCodeByUser(String id);
+
+ List<SgStatisDeviceVO> getDeviceTypes(@Param("s") String s);
+
//List<String> getProjectIds(String code,@Param("grad") String grad );
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
index 24c0609..13b2dde 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -42,6 +42,24 @@
#{id}
</foreach>
</if>
+ <if test="dto.sgCodeS != null and dto.sgCodeS.size > 0">
+ and (dria."province_cd" in
+ <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ or dria."city_cd" in
+ <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ or dria."county_cd" in
+ <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>
+ or dria."town_cd" in
+ <foreach collection="dto.sgCodeS" item="id" separator="," open="(" close=")">
+ #{id}
+ </foreach>)
+ </if>
<if test="dto.projectSort == null or dto.projectSort ==0">
ORDER BY info.status desc ,info.project_progress desc
</if>
@@ -52,6 +70,20 @@
ORDER BY info.sk_id asc
</if>
</select>
+
+ <sql id="sgCodeCondition">
+ <if test="dto.sgCodeS != null and dto.sgCodeS.size() > 0">
+ AND (
+ <foreach collection="dto.sgCodeS" item="id" separator="OR" open="(" close=")">
+ dria.province_cd = #{id}
+ OR dria.city_cd = #{id}
+ OR dria.county_cd = #{id}
+ or dria.town_cd = #{id}
+ </foreach>
+ )
+ </if>
+ </sql>
+
<select id="queryStepByProject" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO">
SELECT
@@ -60,6 +92,8 @@
gx.id AS gxId,
gx.gx_name,
d.device_name,
+ Pdict.dict_key as Ptype,
+ Pdict.dict_value as PtypeName,
d.device_type,
dict."DICT_VALUE" AS typeName,
d.id AS dId,
@@ -70,12 +104,13 @@
d.STATUS AS deviceStatus,
pro.STATUS AS projectStatus,
re.id AS reportId,
- pro.lon_lat
+ pro.lon_lat,
+ re.resubmit
FROM
ywxt.sg_project_info pro
LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id
- LEFT JOIN YWXT."BLADE_DICT_BIZ" AS dict ON d.device_type = dict.DICT_KEY
- AND dict.CODE = 'SG_DEVICE_TYPE'
+ LEFT JOIN YWXT."BLADE_DICT_BIZ" AS dict ON d.device_type = dict.DICT_KEY AND dict.CODE = 'SG_DEVICE_TYPE'
+ LEFT JOIN YWXT."BLADE_DICT_BIZ" Pdict on dict.parent_id = Pdict.id
LEFT JOIN ywxt.sg_gx gx ON d.device_type = gx.gx_type
LEFT JOIN ywxt.sg_gx_step step ON gx.id = step.gx_info_id
LEFT JOIN ywxt.sg_progress_report re ON re.gx_step_id = step.id
@@ -96,6 +131,8 @@
#{id}
</foreach>
</if>
+ ORDER BY pro.status desc ,pro.project_progress desc
+
</select>
<select id="progressList" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO">
SELECT
@@ -144,14 +181,16 @@
a."ad_code" CODE,
a."ad_name" NAME,
SUM( CASE WHEN b.STATUS IN ( 1, 2 ) THEN 1 ELSE 0 END ) AS commenceNum,
- count( b.STATUS ) projectSum
+ count( b.STATUS ) projectSum,
+ LISTAGG(b.id, ',') as proIds
FROM
(
SELECT
dria."county_cd" AS countyCode,
att."guid" AS cityCode,
ad."ad_code" AS provinceCode,
- info.STATUS
+ info.STATUS,
+ info.id
FROM
YWXT.SG_PROJECT_INFO info
LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
@@ -174,8 +213,9 @@
SELECT
dria."city_cd" code, dria."city_nm" name ,
sum( CASE WHEN info.STATUS IN ( 1, 2 ) THEN 1 ELSE 0 END ) AS commenceNum,
- count( info.STATUS ) projectSum
- FROM
+ count( info.STATUS ) projectSum,
+ LISTAGG(info.id, ',') as proIds
+ FROM
YWXT.SG_PROJECT_INFO info
LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
WHERE
@@ -196,7 +236,8 @@
info.lot as code,
info.lot as name,
sum( CASE WHEN info.STATUS IN ( 1, 2 ) THEN 1 ELSE 0 END ) AS commenceNum,
- count( info.STATUS ) AS projectSum
+ count( info.STATUS ) AS projectSum,
+ LISTAGG(info.id, ',') as proIds
FROM
YWXT.SG_PROJECT_INFO info
LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
@@ -307,8 +348,9 @@
pro.deviceStatus,
pro.projectStatus,
pro.reportId,
- pro.lon_lat
- from
+ pro.lon_lat,
+ pro.project_progress
+ from
(SELECT
pro.id,
pro.project_name,
@@ -328,7 +370,8 @@
pro.lon_lat,
dria."county_cd" AS countyCode,
att."guid" AS cityCode,
- ad."ad_code" AS provinceCode
+ ad."ad_code" AS provinceCode,
+ pro.project_progress
FROM
ywxt.sg_project_info pro
LEFT JOIN ywxt.sg_device d ON pro.id = d.program_id
@@ -362,11 +405,32 @@
#{id}
</foreach>
</if>
+ ORDER BY pro.projectStatus desc ,pro.project_progress desc
</select>
<select id="selectVOById" resultType="cn.gistack.sm.sg.VO.SgProjectInfoVO">
select * from ywxt.sg_project_info pro where pro.id = #{proframId}
</select>
- <!-- <select id="getProjectIds" resultType="java.lang.String">-->
-<!-- </select>-->
+ <select id="getDeviceTypes" resultType="cn.gistack.sm.sg.VO.SgStatisDeviceVO">
+ SELECT
+ count( d.id) AS deviceCount,
+ sum( CASE WHEN d.STATUS IN ( 1, 2 ) THEN 1 ELSE 0 END) deviceStart,
+ Pdict.DICT_KEY as pType
+ FROM
+ ywxt.sg_device d
+ LEFT JOIN ywxt.blade_dict_biz dict ON d.device_type = dict.DICT_KEY
+ LEFT JOIN YWXT."BLADE_DICT_BIZ" Pdict ON dict.parent_id = Pdict.id
+ WHERE program_id IN ${s}
+ GROUP BY
+ Pdict.DICT_KEY
+ </select>
+ <select id="getSgCodeByUser" resultType="java.lang.String">
+ SELECT
+ dp."SG_CODE"
+ FROM
+ ywxt.BLADE_USER u
+ LEFT JOIN ywxt.blade_dept dp ON u.dept_id = cast( dp.id AS VARCHAR )
+ WHERE u.id = #{userId}
+
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
index 57ef6a0..1e0ec2d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgGxServiceImpl.java
@@ -106,6 +106,6 @@
if (CollectionUtils.isNotEmpty(list)){
throw new ServiceException("此工序存在工序步骤,不允许删除");
}
- this.delete(id);
+ sgGxMapper.deleteById(id);
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
index ff965e4..ecdc57a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -80,6 +80,10 @@
@Override
@Transactional
public void add(SgProgressReportDO sgProgressReportDO) {
+ String resubmitId = sgProgressReportDO.getResubmitId();
+ if (StringUtils.isNotBlank(resubmitId)){
+ new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId,resubmitId).set(SgProgressReportDO::getResubmit,1).update();
+ }
Long userId = AuthUtil.getUserId();
sgProgressReportDO.setReportUser(userId);
Date now = DateUtil.now();
@@ -120,7 +124,7 @@
if (sgProgressReportDOS1!= null && sgProgressReportDOS1.size() > 0) {
for (SgProgressReportDO sgProgressReportDO1 : sgProgressReportDOS1) {
- if (sgProgressReportDO1.getStatus()!= 2) {
+ if (sgProgressReportDO1.getStatus()!= 2 && sgProgressReportDO1.getStatus()!= 3) {
throw new ServiceException("请先完成施工准备的审批!");
}
}
@@ -132,13 +136,23 @@
SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId);
List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(sgGxStepDO.getGxInfoId());
QueryWrapper<SgProgressReportDO> wrapper = new QueryWrapper<>();
+ wrapper.in("status",Arrays.asList(0,1,2,3));
if(sgProgressReportDO.getGxDeviceId()==998 || sgProgressReportDO.getGxDeviceId()==999){
wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4).eq("profram_id",sgProgressReportDO.getProframId());
}else {
wrapper.eq("gx_step_id", gxStepId).eq("gx_device_id",gxDeviceId).ne("status",4);
}
List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(wrapper);
- if ( sgProgressReportDOS!=null && sgProgressReportDOS.size()>0){
+
+ if (CollectionUtils.isNotEmpty(sgProgressReportDOS)){
+ for (SgProgressReportDO reportDO : sgProgressReportDOS) {
+ if (reportDO.getStatus()==3 && reportDO.getResubmit()!=null && reportDO.getResubmit()==0){
+ throw new ServiceException("此工序已存在审批!");
+ }
+ }
+ }
+ List<SgProgressReportDO> reportDOS = sgProgressReportDOS.stream().filter(s -> s.getStatus() != 3).collect(Collectors.toList());
+ if ( reportDOS!=null && reportDOS.size()>0){
throw new ServiceException("此工序已存在审批!");
}
for (SgGxStepDO gxStepDO : list) {
@@ -147,6 +161,7 @@
wrapper1.eq("gx_step_id", gxStepDO.getId());
wrapper1.eq("gx_device_id",gxDeviceId);
wrapper1.ne("status",4);
+ wrapper1.ne("status",3);
SgProgressReportDO one = sgProgressReportMapper.selectOne(wrapper1);
if (one == null || one.getStatus() != 2) {
throw new ServiceException("请先完成" + gxStepDO.getGxStepName() + "的审批!");
@@ -228,6 +243,7 @@
}
sgProgressReportVO.setSgReportUserDOS(list);
List<SgStepReportVO> sgStepReportVOS = sgProgressReportMapper.selectByDeviceId(sgProgressReportVO.getGxDeviceId());
+ sgStepReportVOS = sgStepReportVOS.stream().filter(s -> s.getApprovalStatus() == null || (s.getApprovalStatus() != 4 && !(s.getApprovalStatus() == 3 && s.getResubmit() != 0))).collect(Collectors.toList());
sgProgressReportVO.setSgStepReportVOS(sgStepReportVOS);
return sgProgressReportVO;
}
@@ -408,6 +424,7 @@
public Map<String, Long> countList(ProjectSearchDTO searchDTO) {
Long userId = AuthUtil.getUserId();
searchDTO.setUserId(userId);
+ searchDTO.setAuditPerson(userId.toString());
List<SgProgressReportVO> all = sgProgressReportMapper.queryList(searchDTO);
searchDTO.setApprovalStatus(0);
List<SgProgressReportVO> pending = sgProgressReportMapper.queryList(searchDTO);
@@ -482,6 +499,9 @@
public IPage<SgProgressReportVO> progressPage(IPage<SgProgressReportVO> page, ProjectSearchDTO searchDTO) {
Long userId = AuthUtil.getUserId();
searchDTO.setUserId(userId);
+ if (searchDTO.getApprovalStatus()!=null && searchDTO.getApprovalStatus() ==0){
+ searchDTO.setAuditPerson(String.valueOf(userId));
+ }
List<SgProgressReportVO> list = sgProgressReportMapper.queryList(page, searchDTO);
return page.setRecords(list);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
index be99689..400d558 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -18,11 +18,13 @@
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jetbrains.annotations.NotNull;
+import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StopWatch;
+import javax.security.auth.login.LoginContext;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
@@ -53,17 +55,31 @@
@Override
public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) {
+ List<String> sgCodeS = getSgCodeByUser();
+ searchDTO.setSgCodeS(sgCodeS);
List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO);
- /*List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
+ List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
if (CollectionUtils.isNotEmpty(projectProgress)){
Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
sgProjectInfoDOS.forEach(s->{
s.setProjectProgress(progressMap.get(s.getId()));
});
- }*/
+ }
return page.setRecords(sgProjectInfoDOS);
}
+ /**
+ * 获取当前用户的工程编码
+ */
+ public List<String> getSgCodeByUser(){
+ Long userId = AuthUtil.getUserId();
+ String sgCode = sgProjectInfoMapper.getSgCodeByUser(userId.toString());
+ if (StringUtils.isNotBlank(sgCode)){
+ List<String> list = List.of(sgCode.split(","));
+ return list;
+ }
+ return null;
+ }
/**
* 获取项目及项目下设备及设备下工序进度
* @param searchDTO
@@ -103,54 +119,72 @@
}
SgProjectInfoVO sgProjectInfoVO = value.get(0);
SgProjectInfoDO sgProjectInfoDO = SgProjectInfoDO.builder().id(porId).lonLat(sgProjectInfoVO.getLonLat()).status(sgProjectInfoVO.getProjectStatus()).projectName(sgProjectInfoVO.getProjectName()).build();
- List<SgTypeVO> sgGxDOS = new ArrayList<>();
- //类型分组
- Map<String, List<SgProjectInfoVO>> GxMap = value.stream().filter(s->s.getDeviceType()!=null).collect(Collectors.groupingBy(SgProjectInfoVO::getDeviceType));
- for (Map.Entry<String, List<SgProjectInfoVO>> ty : GxMap.entrySet()) {
- String type = ty.getKey();
- List<SgProjectInfoVO> gxList = ty.getValue();
- if (CollectionUtils.isEmpty(gxList)){
+ //父类型分组
+ List<PtypeVO> pTypes = new ArrayList();
+ Map<String, List<SgProjectInfoVO>> pTypeMap = value.stream().filter(s->s.getPtype()!=null).collect(Collectors.groupingBy(SgProjectInfoVO::getPtype));
+ for (Map.Entry<String, List<SgProjectInfoVO>> pty : pTypeMap.entrySet()) {
+ List<SgProjectInfoVO> ptyValue = pty.getValue();
+ if (CollectionUtils.isEmpty(ptyValue)){
continue;
}
- SgTypeVO typeVO = SgTypeVO.builder().typeName(gxList.get(0).getTypeName()).build();
- List<SgDeviceDO> deviceDOS = new ArrayList<>();
- //设备分组
- Map<Long, List<SgProjectInfoVO>> dMap = gxList.stream().collect(Collectors.groupingBy(SgProjectInfoVO::getDId));
- for (Map.Entry<Long, List<SgProjectInfoVO>> device : dMap.entrySet()) {
- Long dId = device.getKey();
- List<SgProjectInfoVO> deList = device.getValue();
- SgDeviceDO sgDeviceDO = new SgDeviceDO();
- sgDeviceDO.setId(dId);
- sgDeviceDO.setDeviceName(deList.get(0).getDeviceName());
- List<SgGxStepDO> stepDOS = deList.stream().filter(s->s.getReportStatus()==null || s.getReportStatus()!=4).map(s -> SgGxStepDO.builder().id(s.getStepId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).deviceId(s.getDId()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList());
- List<SgGxStepDO> stepOver = stepDOS.stream().filter(s -> s.getApprovalStatus() != null && s.getApprovalStatus() == 2).collect(Collectors.toList());
- BigDecimal stepSize = BigDecimal.valueOf(stepDOS.size());
- BigDecimal stepOverSize = BigDecimal.ZERO;
- if (!stepOver.isEmpty()){
- stepOverSize = BigDecimal.valueOf(stepOver.size());
+ PtypeVO ptypeVO = PtypeVO.builder().pTypeName(ptyValue.get(0).getPtypeName()).build();
+ List<SgTypeVO> sgGxDOS = new ArrayList<>();
+ //类型分组
+ Map<String, List<SgProjectInfoVO>> GxMap = ptyValue.stream().filter(s->s.getDeviceType()!=null).collect(Collectors.groupingBy(SgProjectInfoVO::getDeviceType));
+ for (Map.Entry<String, List<SgProjectInfoVO>> ty : GxMap.entrySet()) {
+ String type = ty.getKey();
+ List<SgProjectInfoVO> gxList = ty.getValue();
+ if (CollectionUtils.isEmpty(gxList)){
+ continue;
}
- BigDecimal divide = stepOverSize.divide(stepSize, 2, RoundingMode.HALF_UP);
- sgDeviceDO.setStatus(divide.compareTo(new BigDecimal(1)) == 0?2:deList.get(0).getDeviceStatus());
- sgDeviceDO.setProgress(divide.toString());
- sgDeviceDO.setDeviceProgress(getBigDecimalPercent(divide));
- sgDeviceDO.setStepDOList(stepDOS);
- deviceDOS.add(sgDeviceDO);
- allDevice.add(sgDeviceDO);
+ SgTypeVO typeVO = SgTypeVO.builder().typeName(gxList.get(0).getTypeName()).build();
+ List<SgDeviceDO> deviceDOS = new ArrayList<>();
+ //设备分组
+ Map<Long, List<SgProjectInfoVO>> dMap = gxList.stream().collect(Collectors.groupingBy(SgProjectInfoVO::getDId));
+ for (Map.Entry<Long, List<SgProjectInfoVO>> device : dMap.entrySet()) {
+ Long dId = device.getKey();
+ List<SgProjectInfoVO> deList = device.getValue();
+ SgDeviceDO sgDeviceDO = new SgDeviceDO();
+ sgDeviceDO.setId(dId);
+ sgDeviceDO.setDeviceName(deList.get(0).getDeviceName());
+ List<SgGxStepDO> stepDOS = deList.stream().filter(s -> s.getReportStatus() == null || (s.getReportStatus() != 4 && !(s.getReportStatus() == 3 && s.getResubmit() != 0))).map(s -> SgGxStepDO.builder().id(s.getStepId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).deviceId(s.getDId()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList());
+ List<SgGxStepDO> stepOver = stepDOS.stream().filter(s -> s.getApprovalStatus() != null && s.getApprovalStatus() == 2).collect(Collectors.toList());
+ BigDecimal stepSize = BigDecimal.valueOf(stepDOS.size());
+ BigDecimal stepOverSize = BigDecimal.ZERO;
+ if (!stepOver.isEmpty()){
+ stepOverSize = BigDecimal.valueOf(stepOver.size());
+ }
+ BigDecimal divide = stepOverSize.divide(stepSize, 2, RoundingMode.HALF_UP);
+ sgDeviceDO.setStatus(divide.compareTo(new BigDecimal(1)) == 0?2:deList.get(0).getDeviceStatus());
+ sgDeviceDO.setProgress(divide.toString());
+ sgDeviceDO.setDeviceProgress(getBigDecimalPercent(divide));
+ sgDeviceDO.setStepDOList(stepDOS);
+ deviceDOS.add(sgDeviceDO);
+ allDevice.add(sgDeviceDO);
+ }
+ BigDecimal deviceSize = BigDecimal.valueOf(deviceDOS.size());
+ double sum = deviceDOS.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
+ BigDecimal deviceOver = BigDecimal.valueOf(sum);
+ BigDecimal divideDevice = deviceOver.divide(deviceSize, 2, RoundingMode.HALF_UP);
+ typeVO.setDeviceDOS(deviceDOS);
+ typeVO.setTypeProgress(getBigDecimalPercent(divideDevice));
+ typeVO.setProgress(divideDevice.toString());
+ sgGxDOS.add(typeVO);
}
- BigDecimal deviceSize = BigDecimal.valueOf(deviceDOS.size());
- double sum = deviceDOS.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
- BigDecimal deviceOver = BigDecimal.valueOf(sum);
- BigDecimal divideDevice = deviceOver.divide(deviceSize, 2, RoundingMode.HALF_UP);
- typeVO.setDeviceDOS(deviceDOS);
- typeVO.setTypeProgress(getBigDecimalPercent(divideDevice));
- sgGxDOS.add(typeVO);
+ BigDecimal sgGxSize = BigDecimal.valueOf(sgGxDOS.size());
+ double sum = sgGxDOS.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
+ BigDecimal sgGxOver = BigDecimal.valueOf(sum);
+ BigDecimal divideSgGx = sgGxOver.divide(sgGxSize, 2, RoundingMode.HALF_UP);
+ ptypeVO.setPTypeProgress(getBigDecimalPercent(divideSgGx));
+ ptypeVO.setSgTypeVOS(sgGxDOS);
+ pTypes.add(ptypeVO);
}
BigDecimal allDeviceSize = BigDecimal.valueOf(allDevice.size());
if (!allDeviceSize.equals(BigDecimal.ZERO)){
double sum = allDevice.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
BigDecimal allDeviceOver = BigDecimal.valueOf(sum);
BigDecimal allDivideDevice = allDeviceOver.divide(allDeviceSize, 2, RoundingMode.HALF_UP);
- sgProjectInfoDO.setSgGxDOS(sgGxDOS);
+ sgProjectInfoDO.setPtypeVOS(pTypes);
sgProjectInfoDO.setProjectProgress( getBigDecimalPercent(allDivideDevice));
sgProjectInfoDO.setProjectProgressNum(allDivideDevice);
}
@@ -251,17 +285,90 @@
//片区
if (ywxtAdDetail == null) {
sgStatisProVOS = sgProjectInfoMapper.getsgStatisticsZero(code);
+ getDeviceTypes(sgStatisProVOS);
// String getname = sgProjectInfoMapper.getname(code);
String getname = code;
updateProjectProgress(sgStatisProVOS, code, getname, "2");
} else if (ywxtAdDetail.getAdGrad().equals("1")) {//默认
sgStatisProVOS = sgProjectInfoMapper.getsgStatisticsOne(code);
+ getDeviceTypes(sgStatisProVOS);
updateProjectProgress(sgStatisProVOS, ywxtAdDetail.getPAdCode(), ywxtAdDetail.getPAdName(), "0");
} else {//区县
sgStatisProVOS = sgProjectInfoMapper.getsgStatisticsList(code);
+ getDeviceTypes(sgStatisProVOS);
updateProjectProgress(sgStatisProVOS, ywxtAdDetail.getAdCode(), ywxtAdDetail.getAdName(), "3");
}
return sgStatisProVOS;
+ }
+
+ /**
+ * 统计设备类型开工率
+ * @param sgStatisProVOS
+ */
+ private void getDeviceTypes(List<SgStatisProVO> sgStatisProVOS) {
+ if (CollectionUtils.isNotEmpty(sgStatisProVOS)){
+ for (SgStatisProVO vo : sgStatisProVOS) {
+ String proIds = vo.getProIds();
+ if (StringUtils.isNotBlank(proIds)){
+ List<SgStatisDeviceVO> deviceVOS = sgProjectInfoMapper.getDeviceTypes("("+proIds+")");
+ if(CollectionUtils.isNotEmpty(deviceVOS)){
+ Map<String, SgStatisDeviceVO> map = deviceVOS.stream().collect(Collectors.toMap(SgStatisDeviceVO::getPType, Function.identity()));
+ //表面变形
+ SgStatisDeviceVO sg108 = map.get("sg108");
+ if (Objects.nonNull(sg108)){
+ Integer deviceCount = sg108.getDeviceCount();
+ Integer deviceStart = sg108.getDeviceStart();
+ vo.setSurfaceNum(deviceCount);
+ if (deviceCount != 0){
+ BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
+ vo.setSeepageProgress(getBigDecimalPercent(divide));
+ }else {
+ vo.setSeepageProgress("0%");
+ }
+ }
+ //视频
+ SgStatisDeviceVO sg104 = map.get("sg104");
+ if (Objects.nonNull(sg104)){
+ Integer deviceCount = sg104.getDeviceCount();
+ Integer deviceStart = sg104.getDeviceStart();
+ vo.setVideoNum(deviceCount);
+ if (deviceCount != 0){
+ BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
+ vo.setVideoProgress(getBigDecimalPercent(divide));
+ }else {
+ vo.setVideoProgress("0%");
+ }
+ }
+ //渗压
+ SgStatisDeviceVO sg101 = map.get("sg101");
+ if (Objects.nonNull(sg101)){
+ Integer deviceCount = sg101.getDeviceCount();
+ Integer deviceStart = sg101.getDeviceStart();
+ vo.setTransNum(deviceCount);
+ if (deviceCount != 0){
+ BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
+ vo.setTransProgress(getBigDecimalPercent(divide));
+ }else {
+ vo.setTransProgress("0%");
+ }
+ }
+ //渗流
+ SgStatisDeviceVO sg102 = map.get("sg102");
+ if (Objects.nonNull(sg102)){
+ Integer deviceCount = sg102.getDeviceCount();
+ Integer deviceStart = sg102.getDeviceStart();
+ vo.setSeepageNum(deviceCount);
+ if (deviceCount != 0){
+ BigDecimal divide = BigDecimal.valueOf(deviceStart).divide(BigDecimal.valueOf(deviceCount), 2, BigDecimal.ROUND_UP);
+ vo.setSeepageProgress(getBigDecimalPercent(divide));
+ }else {
+ vo.setSeepageProgress("0%");
+ }
+ }
+ }
+ }
+ }
+ }
}
private void updateProjectProgress(List<SgStatisProVO> sgStatisProVOS, String pcode, String pname, String adGrad) {
@@ -314,11 +421,11 @@
List<SgProjectInfoDO> projectProgress = getProjectProgress(list);
projectProgress.forEach(p -> {
- List<SgTypeVO> sgGxDOS = p.getSgGxDOS();
- sgGxDOS.forEach(sgTypeVO -> {
- String typeProgress = sgTypeVO.getTypeProgress().replace("%", "");
+ List<PtypeVO> ptypeVOS = p.getPtypeVOS();
+ ptypeVOS.forEach(sgTypeVO -> {
+ String typeProgress = sgTypeVO.getPTypeProgress().replace("%", "");
BigDecimal percentageBigDecimal = new BigDecimal(typeProgress).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
- bigDecimals.merge(sgTypeVO.getTypeName(), percentageBigDecimal, BigDecimal::add);
+ bigDecimals.merge(sgTypeVO.getPTypeName(), percentageBigDecimal, BigDecimal::add);
});
});
@@ -384,8 +491,15 @@
QueryWrapper<SgProgressReportDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("gx_step_id", stepIdForNull)
.eq("profram_id", programId);
- SgProgressReportDO sgProgressReportDO = sgProgressReportMapper.selectOne(queryWrapper);
+ SgProgressReportDO sgProgressReportDO = null;
+ List<SgProgressReportDO> sgProgressReportDOS = sgProgressReportMapper.selectList(queryWrapper);
+ if (CollectionUtils.isNotEmpty(sgProgressReportDOS)) {
+ List<SgProgressReportDO> collect = sgProgressReportDOS.stream().filter(s -> s.getStatus() == null || (s.getStatus() != 4 && !(s.getStatus() == 3 && s.getResubmit() != 0))).collect(Collectors.toList());
+ if (!collect.isEmpty()){
+ sgProgressReportDO = collect.get(0);
+ }
+ }
PreAcceVO preAcceVO = new PreAcceVO();
if (sgProgressReportDO!= null) {
preAcceVO.setId(sgProgressReportDO.getId().toString());
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
index 0e404b2..21569e7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectPersonConfigServiceImpl.java
@@ -3,11 +3,14 @@
import cn.gistack.sm.sg.DO.SgProgressReportDO;
import cn.gistack.sm.sg.DO.SgProjectPersonConfigDO;
import cn.gistack.sm.sg.DO.SgProjectRolePersonV0;
+import cn.gistack.sm.sg.DO.SgReportUserDO;
import cn.gistack.sm.sg.DTO.AddSgProjectPersonConfigDTO;
import cn.gistack.sm.sg.DTO.ProjectSearchDTO;
import cn.gistack.sm.sg.mapper.SgProgressReportMapper;
import cn.gistack.sm.sg.mapper.SgProjectPersonConfigMapper;
+import cn.gistack.sm.sg.mapper.SgReportUserMapper;
import cn.gistack.sm.sg.service.SgProjectPersonConfigService;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +36,9 @@
private SgProjectPersonConfigMapper projectPersonConfigMapper;
@Autowired
private SgProgressReportMapper sgProgressReportMapper;
+
+ @Autowired
+ private SgReportUserMapper sgReportUserMapper;
@Override
public List<String> getRoleList(ProjectSearchDTO searchDTO) {
List<String> list = projectPersonConfigMapper.getRoleList(searchDTO);
@@ -48,17 +54,26 @@
projectPersonConfigMapper.insert(sgProjectPersonConfigDO);
}else {
SgProjectPersonConfigDO old = projectPersonConfigMapper.selectById(id);
- boolean isReport = !new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getProframId, old.getProgramId()).list().isEmpty();
+ List<SgReportUserDO> reportUserDOS = sgProgressReportMapper.selectProcessUserByProjectId(old.getProgramId());
if (Objects.isNull(userId)){
- if (isReport){
- throw new ServiceException("此项目配置存在审批,不允许修改");
- }
projectPersonConfigMapper.deleteById(id);
- }else if (!old.getUserId().equals(sgProjectPersonConfigDO.getUserId())){
- if (isReport){
- throw new ServiceException("此项目配置存在审批,不允许修改");
+ if (!CollectionUtils.isEmpty(reportUserDOS)){
+ reportUserDOS.forEach(s->{
+ if (Objects.equals(old.getUserId(), s.getUserId())){
+// sgReportUserMapper.deleteById(s.getId());
+ }
+ });
}
+ }else if (!old.getUserId().equals(sgProjectPersonConfigDO.getUserId())){
projectPersonConfigMapper.updateById(sgProjectPersonConfigDO);
+ if (!CollectionUtils.isEmpty(reportUserDOS)){
+ reportUserDOS.forEach(s->{
+ if (Objects.equals(old.getUserId(), s.getUserId())){
+ s.setUserId(sgProjectPersonConfigDO.getUserId());
+ sgReportUserMapper.updateById(s);
+ }
+ });
+ }
}
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
index efd6612..f043d33 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResBaseMapper.xml
@@ -343,7 +343,8 @@
case
when b."ad_grad" = 2 THEN b."ad_code"
when c."ad_grad" = 2 THEN c."ad_code"
- ELSE d."ad_code" END AS cityCode
+ ELSE d."ad_code" END AS cityCode,
+ a."eng_scal" AS engScal
FROM sjzt_md."att_res_base" a
LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."guid"
LEFT JOIN sjzt_md."att_ad_base" c ON b."p_ad_code" = c."guid"
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
index 011c452..2c11e97 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
@@ -64,6 +64,10 @@
@Param("cityCode") String cityCode,
@Param("type") String type);
+ List<PersonVO> getCityCountyPersonListNewByResGuid(@Param("countyCode") String countyCode,
+ @Param("cityCode") String cityCode,
+ @Param("type") String type);
+
List<PatrolResponsiblePerson> getPatrolResponsiblePersonByResCdList(@Param("ids") List<String> reservoirList);
/**
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
index 3c3da41..1615af3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
@@ -233,6 +233,50 @@
)
</select>
+ <select id="getCityCountyPersonListNewByResGuid" resultType="cn.gistack.sm.sjztmd.vo.PersonVO">
+ select * from (
+ (
+ select real_name as name, phone, '预警短信发送人员' as type
+ from YWXT.blade_user bu
+ left join YWXT.blade_dept bd on locate(bd.id, bu.dept_id) > 0 and bd.is_deleted = 0
+ left join YWXT.blade_role br on locate(br.id, bu.role_id) > 0 and br.is_deleted = 0
+ where bu.is_deleted = 0
+ and br.role_alias = 'xjyjdxfsry'
+ and bd.ad_code = #{countyCode} limit 1
+ )
+ union
+ (
+ select real_name as name, phone, '预警短信发送人员' as type
+ from YWXT.blade_user bu
+ left join YWXT.blade_dept bd on locate(bd.id, bu.dept_id) > 0 and bd.is_deleted = 0
+ left join YWXT.blade_role br on locate(br.id, bu.role_id) > 0 and br.is_deleted = 0
+ where bu.is_deleted = 0
+ and br.role_alias = 'qxswjgly'
+ and bd.ad_code = #{countyCode} limit 1
+ )
+ union
+ (
+ select real_name as name, phone, '预警短信发送人员' as type
+ from YWXT.blade_user bu
+ left join YWXT.blade_dept bd on locate(bd.id, bu.dept_id) > 0 and bd.is_deleted = 0
+ left join YWXT.blade_role br on locate(br.id, bu.role_id) > 0 and br.is_deleted = 0
+ where bu.is_deleted = 0
+ and br.role_alias = 'sjyjdxfsry'
+ and bd.ad_code = #{cityCode} limit 1
+ )
+ union
+ (
+ select real_name as name, phone, '预警短信发送人员' as type
+ from YWXT.blade_user bu
+ left join YWXT.blade_dept bd on locate(bd.id, bu.dept_id) > 0 and bd.is_deleted = 0
+ left join YWXT.blade_role br on locate(br.id, bu.role_id) > 0 and br.is_deleted = 0
+ where bu.is_deleted = 0
+ and br.role_alias = 'dsswjgly'
+ and bd.ad_code = #{cityCode} limit 1
+ )
+ ) limit 1
+ </select>
+
<select id="getPatrolResponsiblePersonByResCdList"
resultType="cn.gistack.sm.sjztmd.entity.PatrolResponsiblePerson">
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
index d3c8c79..e90b56f 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -160,6 +160,15 @@
// 查询当前水库对应的市级编号和县区编号
AttResBaseVO attResBaseVO = attResBaseService.getCityCountyCodeByResGuid(res_cd);
if (null!= attResBaseVO) {
+
+ //如果是小型水库只发县级短信预警角色或者县级管理员
+ if (attResBaseVO.getEngScal().equals("小(2)型") || attResBaseVO.getEngScal().equals("小(1)型")) {
+ // 通过编号查询对应的人员
+ List<PersonVO> personListByResGuid = baseMapper.getCityCountyPersonListNewByResGuid(attResBaseVO.getCountyCode(), attResBaseVO.getCityCode(), "");
+ personVOList.addAll(personListByResGuid);
+ return personVOList;
+ }
+
// 通过编号查询对应的人员
List<PersonVO> personListByResGuid = baseMapper.getCityCountyPersonListByResGuid(attResBaseVO.getCountyCode(), attResBaseVO.getCityCode(), "");
personVOList.addAll(personListByResGuid);
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
index 330a502..8c64478 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/word/vo/TbWordVO.java
@@ -327,8 +327,10 @@
String holeText = "";
if (norspi.getIsGate().equals("是")) {
gateText = "有闸控制";
- String hole = norspi.getGateNum() == 1 ? "单" : String.valueOf(norspi.getGateNum());
- holeText = StringUtil.format(",{}孔", hole);
+ if (null != norspi.getGateNum()) {
+ String hole = norspi.getGateNum() == 1 ? "单" : String.valueOf(norspi.getGateNum());
+ holeText = StringUtil.format(",{}孔", hole);
+ }
} else {
gateText = "无闸控制";
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/WaterDataTermitesController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/WaterDataTermitesController.java
new file mode 100644
index 0000000..46e88b9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/controller/WaterDataTermitesController.java
@@ -0,0 +1,49 @@
+package cn.gistack.sm.sjztods.controller;
+
+import cn.gistack.sm.sjztods.entity.SkxsQkTj;
+import cn.gistack.sm.sjztods.entity.WaterDataTermites;
+import cn.gistack.sm.sjztods.service.IWaterDataTermitesService;
+import cn.gistack.sm.sjztods.vo.WaterDataTermitesVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@Api(tags = "白蚁监测数据表")
+@RestController
+@RequestMapping("/sjztods/waterDataTermites")
+@AllArgsConstructor
+public class WaterDataTermitesController {
+
+ private final IWaterDataTermitesService waterDataTermitesService;
+
+ /**
+ * 修改状态
+ * @param waterDataTermites
+ * @return
+ */
+ @ApiOperation(value = "修改状态", notes = "修改状态")
+ @PostMapping(value = "/updateStatus")
+ public R updateStatus(@RequestBody WaterDataTermitesVO waterDataTermites) {
+ if (StringUtil.isAllBlank(waterDataTermites.getStartTime(),
+ waterDataTermites.getEndTime(),
+ waterDataTermites.getOrder()) ||
+ null == waterDataTermites.getStatus()) {
+ return R.fail("非法参数");
+ }
+
+ boolean ret = waterDataTermitesService.updateWaterDataTermites(waterDataTermites.getStartTime(),
+ waterDataTermites.getEndTime(),
+ waterDataTermites.getStatus(),
+ waterDataTermites.getOrder());
+ return R.status(ret);
+ }
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.java
new file mode 100644
index 0000000..c432672
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.java
@@ -0,0 +1,14 @@
+package cn.gistack.sm.sjztods.mapper;
+
+import cn.gistack.sm.sjztods.entity.WaterDataTermites;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+public interface WaterDataTermitesMapper extends BaseMapper<WaterDataTermites> {
+
+ int updateWaterDataTermites(@Param("startTime") String startTime,
+ @Param("endTime") String endTime,
+ @Param("status") Integer status,
+ @Param("order") String order);
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.xml
new file mode 100644
index 0000000..d6fa169
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/mapper/WaterDataTermitesMapper.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.gistack.sm.sjztods.mapper.WaterDataTermitesMapper">
+
+ <update id="updateWaterDataTermites">
+ update SJZT_ODS."water_data_termites" set "status" = #{status}
+ WHERE "order" = #{order} and "ob_date" >= #{startTime} and "ob_date" <= #{endTime}
+ </update>
+
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IWaterDataTermitesService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IWaterDataTermitesService.java
new file mode 100644
index 0000000..8e78c06
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/IWaterDataTermitesService.java
@@ -0,0 +1,16 @@
+package cn.gistack.sm.sjztods.service;
+
+import cn.gistack.sm.sjztods.entity.WaterDataTermites;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 白蚁监测数据
+ */
+public interface IWaterDataTermitesService extends IService<WaterDataTermites> {
+
+ boolean updateWaterDataTermites(String startTime,
+ String endTime,
+ Integer status,
+ String order);
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/WaterDataTermitesServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/WaterDataTermitesServiceImpl.java
new file mode 100644
index 0000000..042c566
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztods/service/impl/WaterDataTermitesServiceImpl.java
@@ -0,0 +1,19 @@
+package cn.gistack.sm.sjztods.service.impl;
+
+import cn.gistack.sm.sjztods.entity.WaterDataTermites;
+import cn.gistack.sm.sjztods.mapper.WaterDataTermitesMapper;
+import cn.gistack.sm.sjztods.service.IWaterDataTermitesService;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+@DS("ztznwh")
+public class WaterDataTermitesServiceImpl extends ServiceImpl<WaterDataTermitesMapper, WaterDataTermites> implements IWaterDataTermitesService {
+
+
+ @Override
+ public boolean updateWaterDataTermites(String startTime, String endTime, Integer status, String order) {
+ return baseMapper.updateWaterDataTermites(startTime, endTime, status, order) > 0;
+ }
+}
--
Gitblit v1.9.3