diff --git a/hzims-service-api/basic-api/pom.xml b/hzims-service-api/basic-api/pom.xml
new file mode 100644
index 0000000..ab3c5b0
--- /dev/null
+++ b/hzims-service-api/basic-api/pom.xml
@@ -0,0 +1,13 @@
+
+
+
+ hzims-service-api
+ com.hnac.hzims
+ 4.0.0-SNAPSHOT
+
+ 4.0.0
+ basic-api
+ jar
+
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/constants/BasicConstants.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/constants/BasicConstants.java
new file mode 100644
index 0000000..b317c7b
--- /dev/null
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/constants/BasicConstants.java
@@ -0,0 +1,11 @@
+package com.hnac.hzims.basic.constants;
+
+/**
+ * @author ysj
+ */
+public interface BasicConstants {
+
+ String APP_NAME = "hzims-basic";
+
+
+}
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetEntity.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetEntity.java
new file mode 100644
index 0000000..be0f26a
--- /dev/null
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetEntity.java
@@ -0,0 +1,65 @@
+package com.hnac.hzims.basic.entity;
+
+import com.baomidou.mybatisplus.annotation.SqlCondition;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.support.QueryField;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+
+/**
+ * 实体类
+ * @author Chill
+ */
+@Data
+@TableName("hzims_certificatet")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "证书管理表", description = "证书管理表")
+public class CertificatetEntity extends TenantEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户ID
+ */
+ @ApiModelProperty(value = "用户ID")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String personId;
+ /**
+ * 档案类型
+ */
+ @ApiModelProperty(value = "证书类型")
+ @QueryField(condition = SqlCondition.LIKE)
+ private String type;
+ /**
+ * 到期时间
+ */
+ @DateTimeFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @ApiModelProperty(value = "到期时间")
+ private Date deadTime;
+ /**
+ * 图片地址
+ */
+ @ApiModelProperty(value = "图片地址")
+ private String pic;
+ /**
+ * 是否过期
+ */
+ @TableField(exist = false)
+ @ApiModelProperty(value = "是否过期")
+ private String isDead;
+
+}
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java
new file mode 100644
index 0000000..056acc8
--- /dev/null
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java
@@ -0,0 +1,44 @@
+package com.hnac.hzims.basic.entity;
+
+import com.baomidou.mybatisplus.annotation.SqlCondition;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.support.QueryField;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+
+
+/**
+ * 实体类
+ * @author Chill
+ */
+@Data
+@TableName("hzims_certificatet_notice")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "证书通知配置表", description = "证书通知配置表")
+public class CertificatetNoticeEntity extends TenantEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 通知类型
+ */
+ @ApiModelProperty(value = "通知类型")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String sendType;
+ /**
+ * 距离过期前几天通知
+ */
+ @ApiModelProperty(value = "距离过期前几天通知")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private Integer safeTime;
+ /**
+ * 通知用户
+ */
+ @ApiModelProperty(value = "通知用户")
+ @QueryField(condition = SqlCondition.LIKE)
+ private String noticeUsers;
+}
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java
new file mode 100644
index 0000000..7dec2fa
--- /dev/null
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/PersonManagemetEntity.java
@@ -0,0 +1,68 @@
+package com.hnac.hzims.basic.entity;
+
+import com.baomidou.mybatisplus.annotation.SqlCondition;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.support.QueryField;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+
+/**
+ * 实体类
+ * @author Chill
+ */
+@Data
+@TableName("hzims_person_managemet")
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "人员管理表", description = "人员管理表")
+public class PersonManagemetEntity extends TenantEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户ID
+ */
+ @ApiModelProperty(value = "用户ID")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String userId;
+ /**
+ * 用户名称
+ */
+ @ApiModelProperty(value = "用户名称")
+ @QueryField(condition = SqlCondition.LIKE)
+ private String name;
+ /**
+ * 单位名称
+ */
+ @ApiModelProperty(value = "单位名称")
+ @QueryField(condition = SqlCondition.LIKE)
+ private String unitName;
+ /**
+ * 性别
+ */
+ @ApiModelProperty(value = "性别")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String sex;
+ /**
+ * 性别
+ */
+ @ApiModelProperty(value = "职位")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String job;
+ /**
+ * 职称
+ */
+ @ApiModelProperty(value = "职称")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String academicTitle;
+ /**
+ * 电话号码
+ */
+ @ApiModelProperty(value = "电话号码")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String phone;
+
+}
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetVo.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetVo.java
new file mode 100644
index 0000000..6a32ae0
--- /dev/null
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetVo.java
@@ -0,0 +1,82 @@
+package com.hnac.hzims.basic.vo;
+
+import com.baomidou.mybatisplus.annotation.SqlCondition;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.support.QueryField;
+import org.springblade.core.tenant.mp.TenantEntity;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 实体类
+ * @author Chill
+ */
+@Data
+@ApiModel(value = "档案管理实体类",description = "档案管理实体类")
+public class PersonManagemetVo extends PersonManagemetEntity {
+
+ private static final long serialVersionUID = 1L;
+ /**
+ * 用户ID
+ */
+ @ApiModelProperty(value = "用户ID")
+ @QueryField(condition = SqlCondition.EQUAL)
+ private String personId;
+ /**
+ * 档案类型
+ */
+ @ApiModelProperty(value = "档案类型")
+ @QueryField(condition = SqlCondition.LIKE)
+ private String type;
+ /**
+ * 到期开始时间
+ */
+ @DateTimeFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @ApiModelProperty(value = "到期开始时间")
+ private Date deadStartTime;
+ /**
+ * 到期时间
+ */
+ @DateTimeFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @ApiModelProperty(value = "到期时间")
+ private Date deadTime;
+
+ /**
+ * 档案编号
+ */
+ @ApiModelProperty(value = "档案编号")
+ private List certificatetIds;
+ /**
+ * 用户ID
+ */
+ @ApiModelProperty(value = "用户IDs")
+ private List personIds;
+ /**
+ * 档案
+ */
+ @ApiModelProperty(value = "档案")
+ private List certificatetEntityList;
+
+}
diff --git a/hzims-service-api/common-api/src/main/java/com/hnac/hzims/vo/VoteChartVo.java b/hzims-service-api/common-api/src/main/java/com/hnac/hzims/vo/VoteChartVo.java
index 788f4cd..adbf9b0 100644
--- a/hzims-service-api/common-api/src/main/java/com/hnac/hzims/vo/VoteChartVo.java
+++ b/hzims-service-api/common-api/src/main/java/com/hnac/hzims/vo/VoteChartVo.java
@@ -36,4 +36,7 @@ public class VoteChartVo {
@ApiModelProperty(value = "完成id")
@ExcelIgnore
private List finishIds;
+ @ApiModelProperty(value = "完成率")
+ @ExcelProperty(value = "完成率", index = 3)
+ private Double finishRate;
}
diff --git a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java
index 1edaf29..5e1572d 100644
--- a/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java
+++ b/hzims-service-api/hzims-operational-api/src/main/java/com/hnac/hzims/operational/main/constant/MainConstants.java
@@ -87,6 +87,7 @@ public interface MainConstants {
String LOAD_PHOTOVOLTAIC_REAL = "loadPhotovoltaicReal";
String DUTY_NOTICE = "dutyNotice";
+ String CERTIFICATET_DEAD_LINE_NOTICE = "certificatetDeadLineNotice";
String PROJECT_MANAGER = "projectManager";
diff --git a/hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/MessageConstants.java b/hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/MessageConstants.java
index 0f0f9a1..86b931f 100644
--- a/hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/MessageConstants.java
+++ b/hzims-service-api/message-api/src/main/java/com/hnac/hzims/message/MessageConstants.java
@@ -60,6 +60,7 @@ public class MessageConstants {
OPERATIONTICKETMESSAGE("operation-ticket-message","操作票消息"),
ROUTINEMAINTENANCE("operation-maintenance-message","日常维护消息"),
OPERATIONDEFECTMESSAGE("operation-defect-message","消缺消息"),
+ CERTIFICATETNOTICE("certificatet-notice-message","证书消息"),
OVERHAUL_PLAN("overhaul-plan","检修计划"),
diff --git a/hzims-service-api/middle-api/src/main/java/com/hnac/hzims/middle/process/constant/TicketProcessConstant.java b/hzims-service-api/middle-api/src/main/java/com/hnac/hzims/middle/process/constant/TicketProcessConstant.java
index 83c9aaa..5a7d5d3 100644
--- a/hzims-service-api/middle-api/src/main/java/com/hnac/hzims/middle/process/constant/TicketProcessConstant.java
+++ b/hzims-service-api/middle-api/src/main/java/com/hnac/hzims/middle/process/constant/TicketProcessConstant.java
@@ -52,4 +52,9 @@ public class TicketProcessConstant {
* 值班计划
*/
public static final String DUTY_REC = "duty_rec";
+
+ /**
+ * 线下工作票
+ */
+ public static final String OFFLINE_WORK_TICKET = "offlineWorkTicket";
}
diff --git a/hzims-service-api/pom.xml b/hzims-service-api/pom.xml
index 531ec3f..745a48f 100644
--- a/hzims-service-api/pom.xml
+++ b/hzims-service-api/pom.xml
@@ -19,6 +19,7 @@
topvision-api
equipment-api
+ basic-api
safeproduct-api
hzims-operational-api
inspect-api
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java
new file mode 100644
index 0000000..bcfb2fb
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/constants/SafeProductConstant.java
@@ -0,0 +1,18 @@
+package com.hnac.hzims.safeproduct.constants;
+
+/**
+ * safeproduct 常量类
+ *
+ * @author liwen
+ * @date 2023-12-25
+ */
+public interface SafeProductConstant {
+
+ String TENANT_ID = "200000";
+
+ int SUCCESS = 1;
+ int FAILURE = 0;
+
+ int TRAIN_PLAN_HAS_TEST = 1;
+ int TRAIN_PLAN_HAS_NO_TEST = 0;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalYearDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/AnalysisYearDTO.java
similarity index 83%
rename from hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalYearDTO.java
rename to hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/AnalysisYearDTO.java
index 6ce369d..3c09840 100644
--- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalYearDTO.java
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/AnalysisYearDTO.java
@@ -9,8 +9,8 @@ import lombok.Data;
* @date 2023-12-14
*/
@Data
-@ApiModel(value = "演练年度统计DTO类")
-public class RehearsalYearDTO {
+@ApiModel(value = "年度数据统计DTO类")
+public class AnalysisYearDTO {
@ApiModelProperty("单位")
private String unit;
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java
new file mode 100644
index 0000000..3f3e951
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/ConferenceExportDTO.java
@@ -0,0 +1,59 @@
+package com.hnac.hzims.safeproduct.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-27
+ */
+@Data
+@ExcelIgnoreUnannotated
+@ApiModel(value = "会议数据导出DTO类")
+public class ConferenceExportDTO {
+
+ @ApiModelProperty("单位")
+ @ExcelProperty(value = "单位", index = 0)
+ private String unit;
+
+ @ApiModelProperty("会议计划开始时间")
+ @ExcelProperty(value = "会议计划开始时间", index = 1)
+ private Date scheduledStartTime;
+
+ @ApiModelProperty("会议计划结束时间")
+ @ExcelProperty(value = "会议计划结束时间", index = 2)
+ private Date scheduledEndTime;
+
+ @ApiModelProperty("会议主题")
+ @ExcelProperty(value = "会议主题", index = 3)
+ private String theme;
+
+ @ApiModelProperty("会议地点")
+ @ExcelProperty(value = "会议地点", index = 4)
+ private String location;
+
+ @ApiModelProperty("会议方式")
+ @ExcelProperty(value = "会议方式", index = 5)
+ private String conferenceMethod;
+
+ @ApiModelProperty("主持人")
+ @ExcelProperty(value = "主持人", index = 6)
+ private String host;
+
+ @ApiModelProperty("会议实际开始时间")
+ @ExcelProperty(value = "会议实际开始时间", index = 7)
+ private Date actualStartTime;
+
+ @ApiModelProperty("会议实际结束时间")
+ @ExcelProperty(value = "会议实际结束时间", index = 8)
+ private Date actualEndTime;
+
+ @ApiModelProperty("会议状态")
+ @ExcelProperty(value = "会议状态", index = 9)
+ private String conferenceStatus;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/HygieneExportDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/HygieneExportDTO.java
new file mode 100644
index 0000000..4e8298e
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/HygieneExportDTO.java
@@ -0,0 +1,21 @@
+package com.hnac.hzims.safeproduct.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liwen
+ * @date 2023-12-27
+ */
+@Data
+@ExcelIgnoreUnannotated
+@ApiModel(value = "卫生自查数据导出DTO类")
+public class HygieneExportDTO {
+
+ @ApiModelProperty("卫生自查状态")
+ @ExcelProperty(value = "卫生自查状态", index = 8)
+ private String hygieneStatus;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalExportDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalExportDTO.java
new file mode 100644
index 0000000..1f2903b
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalExportDTO.java
@@ -0,0 +1,55 @@
+package com.hnac.hzims.safeproduct.dto;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-27
+ */
+@Data
+@ExcelIgnoreUnannotated
+@ApiModel(value = "演练数据导出DTO类")
+public class RehearsalExportDTO {
+
+ @ApiModelProperty("单位")
+ @ExcelProperty(value = "单位", index = 0)
+ private String unit;
+
+ @ApiModelProperty("演练科目")
+ @ExcelProperty(value = "演练科目", index = 1)
+ private String subject;
+
+ @ApiModelProperty("演练计划开始时间")
+ @ExcelProperty(value = "演练计划开始时间", index = 2)
+ private Date scheduledStartTime;
+
+ @ApiModelProperty("演练计划结束时间")
+ @ExcelProperty(value = "演练计划结束时间", index = 3)
+ private Date scheduledEndTime;
+
+ @ApiModelProperty("演练地点")
+ @ExcelProperty(value = "演练地点", index = 4)
+ private String location;
+
+ @ApiModelProperty("参演人数")
+ @ExcelProperty(value = "参演人数", index = 5)
+ private Integer peopleNum;
+
+ @ApiModelProperty("演练实际开始时间")
+ @ExcelProperty(value = "演练实际开始时间", index = 6)
+ private Date actualStartTime;
+
+ @ApiModelProperty("演练实际结束时间")
+ @ExcelProperty(value = "演练实际结束时间", index = 7)
+ private Date actualEndTime;
+
+ @ApiModelProperty("演练状态")
+ @ExcelProperty(value = "演练状态", index = 8)
+ private String rehearsalStatus;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TestDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TestDTO.java
new file mode 100644
index 0000000..6b55684
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TestDTO.java
@@ -0,0 +1,20 @@
+package com.hnac.hzims.safeproduct.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@ApiModel(value = "考试记录DTO类")
+public class TestDTO {
+
+ @ApiModelProperty("考试记录id")
+ private Long id;
+
+ @ApiModelProperty("考试记录名称")
+ private String testName;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TestScoreDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TestScoreDTO.java
new file mode 100644
index 0000000..ab7b651
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TestScoreDTO.java
@@ -0,0 +1,23 @@
+package com.hnac.hzims.safeproduct.dto;
+
+import com.hnac.hzims.safeproduct.vo.TestScoreVO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@ApiModel(value = "考试成绩DTO类")
+public class TestScoreDTO {
+
+ @ApiModelProperty("考试记录id")
+ private Long testId;
+
+ @ApiModelProperty("考试成绩列表")
+ private List scoreList;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TrainRecordDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TrainRecordDTO.java
new file mode 100644
index 0000000..f077f0c
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/TrainRecordDTO.java
@@ -0,0 +1,20 @@
+package com.hnac.hzims.safeproduct.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@ApiModel(value = "培训记录DTO类")
+public class TrainRecordDTO {
+
+ @ApiModelProperty("培训记录id")
+ private Long id;
+
+ @ApiModelProperty("培训记录名称")
+ private String trainRecordName;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/ConferencePlanEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/ConferencePlanEntity.java
new file mode 100644
index 0000000..a7261a9
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/ConferencePlanEntity.java
@@ -0,0 +1,60 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("hzims_conference_plan")
+@ApiModel(value = "会议计划实体类")
+public class ConferencePlanEntity extends BaseEntity {
+
+ @NotNull
+ @Size(max = 50, message = "单位字段长度不能超过50")
+ @ApiModelProperty("单位")
+ private String unit;
+
+ @NotNull
+ @Size(max = 50, message = "会议主题字段长度不能超过50")
+ @ApiModelProperty("会议主题")
+ private String theme;
+
+ @NotNull
+ @ApiModelProperty("会议计划开始时间")
+ private Date scheduledStartTime;
+
+ @NotNull
+ @ApiModelProperty("会议计划结束时间")
+ private Date scheduledEndTime;
+
+ @NotNull
+ @Size(max = 255, message = "演练地点字段长度不能超过255")
+ @ApiModelProperty("会议地点")
+ private String location;
+
+ @NotNull
+ @Size(max = 10, message = "总指挥字段长度不能超过10")
+ @ApiModelProperty("主持人")
+ private String host;
+
+ @Size(max = 20, message = "会议方式字段长度不能超过20")
+ @ApiModelProperty("会议方式")
+ private String conferenceMethod;
+
+ @NotNull
+ @Size(max = 20, message = "会议状态字段长度不能超过20")
+ @ApiModelProperty("会议状态")
+ private String conferenceStatus;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/ConferenceRecordEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/ConferenceRecordEntity.java
new file mode 100644
index 0000000..1aa0309
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/ConferenceRecordEntity.java
@@ -0,0 +1,55 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("hzims_conference_record")
+@ApiModel(value = "会议记录实体类")
+public class ConferenceRecordEntity extends BaseEntity {
+
+ @ApiModelProperty("会议计划id")
+ private Long conferencePlanId;
+
+ @Size(max = 50, message = "编码字段长度不能超过50")
+ @ApiModelProperty("编码")
+ private String code;
+
+ @Size(max = 5000, message = "参会人员字段长度超出限制范围")
+ @ApiModelProperty("参会人员")
+ private String peopleName;
+
+ @ApiModelProperty("会议实际开始时间")
+ private Date actualStartTime;
+
+ @ApiModelProperty("会议实际结束时间")
+ private Date actualEndTime;
+
+ @Size(max = 20, message = "记录人字段长度不能超过20")
+ @ApiModelProperty("记录人")
+ private String recorder;
+
+ @Size(max = 250, message = "会议内容字段长度不能超过250")
+ @ApiModelProperty("会议内容")
+ private String content;
+
+ @Size(max = 1000, message = "会议图片字段长度不能超过1000")
+ @ApiModelProperty("会议图片")
+ private String imgPath;
+
+ @Size(max = 1000, message = "会议附件字段长度不能超过1000")
+ @ApiModelProperty("会议附件")
+ private String filePath;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/HygienePlanEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/HygienePlanEntity.java
new file mode 100644
index 0000000..84d558f
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/HygienePlanEntity.java
@@ -0,0 +1,59 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("hzims_hygiene_plan")
+@ApiModel(value = "卫生自查计划实体类")
+public class HygienePlanEntity extends BaseEntity {
+
+ @NotNull
+ @Size(max = 50, message = "单位字段长度不能超过50")
+ @ApiModelProperty("单位")
+ private String unit;
+
+ @ApiModelProperty("责任区")
+ private String zone;
+
+ @ApiModelProperty("责任人")
+ private String principal;
+
+ @ApiModelProperty("检查项")
+ private String checkItem;
+
+ @ApiModelProperty("检查项分值")
+ private String checkItemScore;
+
+ @ApiModelProperty("标准总分值")
+ private Integer standardScore;
+
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty("计划开始时间")
+ private Date scheduledStartTime;
+
+ @NotNull
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty("计划结束时间")
+ private Date scheduledEndTime;
+
+ @NotNull
+ @Size(max = 20, message = "卫生自查状态字段长度不能超过20")
+ @ApiModelProperty("卫生自查状态")
+ private String hygieneStatus;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/HygieneRecordEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/HygieneRecordEntity.java
new file mode 100644
index 0000000..9122e7e
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/HygieneRecordEntity.java
@@ -0,0 +1,51 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("hzims_hygiene_record")
+@ApiModel(value = "卫生自查记录实体类")
+public class HygieneRecordEntity extends BaseEntity {
+
+ @ApiModelProperty("卫生自查计划id")
+ private Long hygienePlanId;
+
+ @Size(max = 50, message = "编码字段长度不能超过50")
+ @ApiModelProperty("编码")
+ private String code;
+
+ @ApiModelProperty("实际开始时间")
+ private Date actualStartTime;
+
+ @ApiModelProperty("实际结束时间")
+ private Date actualEndTime;
+
+ @ApiModelProperty("检查人")
+ private String checkUser;
+
+ @ApiModelProperty("检查结果")
+ private String checkResult;
+
+ @ApiModelProperty("综合评分")
+ private Integer comprehensiveScore;
+
+ @ApiModelProperty("周数")
+ private Integer weekNum;
+
+ @Size(max = 1000, message = "检查图片字段长度不能超过1000")
+ @ApiModelProperty("检查图片")
+ private String imgPath;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalRecordDTO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalPlanEntity.java
similarity index 50%
rename from hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalRecordDTO.java
rename to hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalPlanEntity.java
index 4500ea5..bdff1a1 100644
--- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/dto/RehearsalRecordDTO.java
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalPlanEntity.java
@@ -1,29 +1,25 @@
-package com.hnac.hzims.safeproduct.dto;
+package com.hnac.hzims.safeproduct.entity;
+import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
/**
* @author liwen
- * @date 2023-12-15
+ * @date 2023-12-27
*/
@Data
@EqualsAndHashCode(callSuper = true)
-@ApiModel(value = "演练记录DTO类")
-public class RehearsalRecordDTO extends BaseEntity {
-
- @Size(max = 50, message = "编码字段长度不能超过50")
- @ApiModelProperty("编码")
- private String code;
+@TableName("hzims_rehearsal_plan")
+@ApiModel(value = "演练计划实体类")
+public class RehearsalPlanEntity extends BaseEntity {
@NotNull
@Size(max = 50, message = "单位字段长度不能超过50")
@@ -48,34 +44,11 @@ public class RehearsalRecordDTO extends BaseEntity {
@ApiModelProperty("演练地点")
private String location;
- @Min(value = 0, message = "参演人数不能小于0")
- @Max(value = 1000, message = "参演人数字段长度超出限制范围")
- @ApiModelProperty("参演人数")
- private Integer peopleNum;
-
- @Size(max = 5000, message = "参演人员字段长度超出限制范围")
- @ApiModelProperty("参演人员")
- private String[] people;
-
@NotNull
@Size(max = 10, message = "总指挥字段长度不能超过10")
@ApiModelProperty("总指挥")
private String commander;
- @ApiModelProperty("演练实际开始时间")
- private Date actualStartTime;
-
- @ApiModelProperty("演练实际结束时间")
- private Date actualEndTime;
-
- @Size(max = 250, message = "演练记录字段长度不能超过250")
- @ApiModelProperty("演练记录")
- private String record;
-
- @Size(max = 250, message = "演练评价字段长度不能超过250")
- @ApiModelProperty("演练评价")
- private String comment;
-
@Size(max = 20, message = "演练方式字段长度不能超过20")
@ApiModelProperty("演练方式")
private String rehearsalMethod;
@@ -84,12 +57,4 @@ public class RehearsalRecordDTO extends BaseEntity {
@Size(max = 20, message = "演练状态字段长度不能超过20")
@ApiModelProperty("演练状态")
private String rehearsalStatus;
-
- @Size(max = 1000, message = "演练图片字段长度不能超过1000")
- @ApiModelProperty("演练图片")
- private String[] images;
-
- @Size(max = 1000, message = "演练附件字段长度不能超过1000")
- @ApiModelProperty("演练附件")
- private String[] files;
}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalRecordEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalRecordEntity.java
index 28d15e8..1bcf594 100644
--- a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalRecordEntity.java
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/RehearsalRecordEntity.java
@@ -1,7 +1,5 @@
package com.hnac.hzims.safeproduct.entity;
-import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
-import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -11,7 +9,6 @@ import org.springblade.core.mp.base.BaseEntity;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
@@ -21,65 +18,30 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = true)
-@ExcelIgnoreUnannotated
@TableName("hzims_rehearsal_record")
@ApiModel(value = "演练记录实体类")
public class RehearsalRecordEntity extends BaseEntity {
+ @ApiModelProperty("演练计划id")
+ private Long rehearsalPlanId;
+
@Size(max = 50, message = "编码字段长度不能超过50")
@ApiModelProperty("编码")
- @ExcelProperty(value = "编码", index = 0)
private String code;
- @NotNull
- @Size(max = 50, message = "单位字段长度不能超过50")
- @ApiModelProperty("单位")
- @ExcelProperty(value = "单位", index = 1)
- private String unit;
-
- @NotNull
- @Size(max = 50, message = "演练科目字段长度不能超过50")
- @ApiModelProperty("演练科目")
- @ExcelProperty(value = "演练科目", index = 2)
- private String subject;
-
- @NotNull
- @ApiModelProperty("演练计划开始时间")
- @ExcelProperty(value = "演练计划开始时间", index = 3)
- private Date scheduledStartTime;
-
- @NotNull
- @ApiModelProperty("演练计划结束时间")
- @ExcelProperty(value = "演练计划结束时间", index = 4)
- private Date scheduledEndTime;
-
- @NotNull
- @Size(max = 255, message = "演练地点字段长度不能超过255")
- @ApiModelProperty("演练地点")
- @ExcelProperty(value = "演练地点", index = 5)
- private String location;
-
@Min(value = 0, message = "参演人数不能小于0")
@Max(value = 1000, message = "参演人数字段长度超出限制范围")
@ApiModelProperty("参演人数")
- @ExcelProperty(value = "参演人数", index = 6)
private Integer peopleNum;
@Size(max = 5000, message = "参演人员字段长度超出限制范围")
@ApiModelProperty("参演人员")
private String peopleName;
- @NotNull
- @Size(max = 10, message = "总指挥字段长度不能超过10")
- @ApiModelProperty("总指挥")
- private String commander;
-
@ApiModelProperty("演练实际开始时间")
- @ExcelProperty(value = "演练实际开始时间", index = 7)
private Date actualStartTime;
@ApiModelProperty("演练实际结束时间")
- @ExcelProperty(value = "演练实际结束时间", index = 8)
private Date actualEndTime;
@Size(max = 250, message = "演练记录字段长度不能超过250")
@@ -90,16 +52,6 @@ public class RehearsalRecordEntity extends BaseEntity {
@ApiModelProperty("演练评价")
private String comment;
- @Size(max = 20, message = "演练方式字段长度不能超过20")
- @ApiModelProperty("演练方式")
- private String rehearsalMethod;
-
- @NotNull
- @Size(max = 20, message = "演练状态字段长度不能超过20")
- @ApiModelProperty("演练状态")
- @ExcelProperty(value = "演练状态", index = 9)
- private String rehearsalStatus;
-
@Size(max = 1000, message = "演练图片字段长度不能超过1000")
@ApiModelProperty("演练图片")
private String imgPath;
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TestEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TestEntity.java
new file mode 100644
index 0000000..0736f88
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TestEntity.java
@@ -0,0 +1,77 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("hzims_test")
+@ApiModel(value = "考试记录实体类")
+public class TestEntity extends BaseEntity {
+
+ @ApiModelProperty("培训计划id")
+ private Long trainPlanId;
+
+ @ApiModelProperty("培训记录id")
+ private Long trainRecordId;
+
+ @Size(max = 50, message = "名称字段长度不能超过50")
+ @ApiModelProperty("考试记录名称")
+ private String testName;
+
+ @Size(max = 50, message = "编码字段长度不能超过50")
+ @ApiModelProperty("编码")
+ private String code;
+
+ @NotNull
+ @Size(max = 50, message = "单位字段长度不能超过50")
+ @ApiModelProperty("单位")
+ private String unit;
+
+ @NotNull
+ @ApiModelProperty("考试开始时间")
+ private Date testStartTime;
+
+ @NotNull
+ @ApiModelProperty("考试结束时间")
+ private Date testEndTime;
+
+ @NotNull
+ @Size(max = 255, message = "考试地点字段长度不能超过255")
+ @ApiModelProperty("考试地点")
+ private String location;
+
+ @NotNull
+ @Size(max = 50, message = "考试科目字段长度不能超过50")
+ @ApiModelProperty("考试科目")
+ private String subject;
+
+ @NotNull
+ @Size(max = 20, message = "监考人字段长度不能超过20")
+ @ApiModelProperty("监考人")
+ private String proctor;
+
+ @Size(max = 1000, message = "参考人员字段长度超出限制范围")
+ @ApiModelProperty("参考人员")
+ private String peopleName;
+
+ @Size(max = 1000, message = "考试图片字段长度不能超过1000")
+ @ApiModelProperty("考试图片")
+ private String imgPath;
+
+ @Size(max = 1000, message = "考试附件字段长度不能超过1000")
+ @ApiModelProperty("考试附件")
+ private String filePath;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TestScoreEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TestScoreEntity.java
new file mode 100644
index 0000000..a95020e
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TestScoreEntity.java
@@ -0,0 +1,37 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("hzims_test_score")
+@ApiModel(value = "考试记录实体类")
+public class TestScoreEntity extends BaseEntity {
+
+ @ApiModelProperty("考试记录id")
+ private Long testId;
+
+ @Size(max = 50, message = "姓名字段长度不能超过50")
+ @ApiModelProperty("姓名")
+ private String name;
+
+ @NotNull
+ @Min(value = 0, message = "成绩必须大于等于0")
+ @Max(value = 100, message = "成绩必须小于等于100")
+ @ApiModelProperty("成绩")
+ private Integer score;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TrainPlanEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TrainPlanEntity.java
new file mode 100644
index 0000000..9b1b0fb
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TrainPlanEntity.java
@@ -0,0 +1,80 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+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;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ExcelIgnoreUnannotated
+@TableName("hzims_train_plan")
+@ApiModel(value = "培训计划实体类")
+public class TrainPlanEntity extends BaseEntity {
+
+ @NotNull
+ @Size(max = 50, message = "单位字段长度不能超过50")
+ @ApiModelProperty("单位")
+ @ExcelProperty(value = "单位", index = 0)
+ private String unit;
+
+ @NotNull
+ @ApiModelProperty("计划培训开始时间")
+ @ExcelProperty(value = "计划开始时间", index = 6)
+ private Date scheduledStartTime;
+
+ @NotNull
+ @ApiModelProperty("计划培训结束时间")
+ @ExcelProperty(value = "计划结束时间", index = 7)
+ private Date scheduledEndTime;
+
+ @NotNull
+ @Size(max = 255, message = "单位字段长度不能超过255")
+ @ApiModelProperty("培训课程")
+ @ExcelProperty(value = "培训课程", index = 1)
+ private String lesson;
+
+ @NotNull
+ @Size(max = 255, message = "培训地点字段长度不能超过255")
+ @ApiModelProperty("培训地点")
+ @ExcelProperty(value = "培训地点", index = 2)
+ private String location;
+
+ @Size(max = 20, message = "培训方式字段长度不能超过20")
+ @ApiModelProperty("培训方式")
+ private String trainMethod;
+
+ @NotNull
+ @Size(max = 20, message = "培训讲师字段长度不能超过20")
+ @ApiModelProperty("培训讲师")
+ @ExcelProperty(value = "培训讲师", index = 4)
+ private String teacher;
+
+ @NotNull
+ @Size(max = 20, message = "培训状态字段长度不能超过20")
+ @ApiModelProperty("培训状态")
+ @ExcelProperty(value = "培训状态", index = 3)
+ private String trainStatus;
+
+ @NotNull
+ @ApiModelProperty("关联考试:0-否,1-是")
+ private Integer isTest;
+
+ @TableField(exist = false)
+ @ApiModelProperty("是否考试")
+ @ExcelProperty(value = "是否考试", index = 5)
+ private String hasTest;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TrainRecordEntity.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TrainRecordEntity.java
new file mode 100644
index 0000000..24f2e2f
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/entity/TrainRecordEntity.java
@@ -0,0 +1,69 @@
+package com.hnac.hzims.safeproduct.entity;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.mp.base.BaseEntity;
+
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ExcelIgnoreUnannotated
+@TableName("hzims_train_record")
+@ApiModel(value = "培训记录实体类")
+public class TrainRecordEntity extends BaseEntity {
+
+ @ApiModelProperty("培训计划id")
+ private Long trainPlanId;
+
+ @Size(max = 50, message = "名称字段长度不能超过50")
+ @ApiModelProperty("培训记录名称")
+ @ExcelProperty(value = "培训记录名称", index = 1)
+ private String trainRecordName;
+
+ @Size(max = 50, message = "编码字段长度不能超过50")
+ @ApiModelProperty("编码")
+ @ExcelProperty(value = "编码", index = 0)
+ private String code;
+
+ @Size(max = 5000, message = "培训学员字段长度超出限制范围")
+ @ApiModelProperty("培训学员")
+ @ExcelProperty(value = "培训学员", index = 3)
+ private String peopleName;
+
+ @Size(max = 5000, message = "培训内容字段长度超出限制范围")
+ @ApiModelProperty("培训内容")
+ @ExcelProperty(value = "培训内容", index = 2)
+ private String content;
+
+ @ApiModelProperty("实际培训开始时间")
+ @ExcelProperty(value = "实际开始时间", index = 5)
+ private Date actualStartTime;
+
+ @ApiModelProperty("实际培训结束时间")
+ @ExcelProperty(value = "实际结束时间", index = 6)
+ private Date actualEndTime;
+
+ @Size(max = 250, message = "培训评价字段长度不能超过250")
+ @ApiModelProperty("培训评价")
+ @ExcelProperty(value = "培训评价", index = 4)
+ private String command;
+
+ @Size(max = 1000, message = "培训图片字段长度不能超过1000")
+ @ApiModelProperty("培训图片")
+ private String imgPath;
+
+ @Size(max = 1000, message = "培训附件字段长度不能超过1000")
+ @ApiModelProperty("培训附件")
+ private String filePath;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/ConferenceMethodEnum.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/ConferenceMethodEnum.java
new file mode 100644
index 0000000..b459dde
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/ConferenceMethodEnum.java
@@ -0,0 +1,31 @@
+package com.hnac.hzims.safeproduct.enums;
+
+/**
+ * 会议方式枚举类
+ *
+ * @author liwen
+ * @date 2023-12-27
+ */
+public enum ConferenceMethodEnum {
+
+ ONLINE("ONLINE", "线上"),
+ OFFLINE("OFFLINE", "线下"),
+ MIXED("MIXED", "线上+线下");
+
+ private final String value;
+
+ private final String desc;
+
+ ConferenceMethodEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/ConferenceStatusEnum.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/ConferenceStatusEnum.java
new file mode 100644
index 0000000..ea68dfc
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/ConferenceStatusEnum.java
@@ -0,0 +1,31 @@
+package com.hnac.hzims.safeproduct.enums;
+
+/**
+ * 会议状态枚举类
+ *
+ * @author liwen
+ * @date 2023-12-27
+ */
+public enum ConferenceStatusEnum {
+
+ WAITING("WAITING", "未开始"),
+ UNFINISHED("UNFINISHED", "未完成"),
+ FINISHED("FINISHED", "已完成");
+
+ private final String value;
+
+ private final String desc;
+
+ ConferenceStatusEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/HygieneStatusEnum.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/HygieneStatusEnum.java
new file mode 100644
index 0000000..2c86fcb
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/HygieneStatusEnum.java
@@ -0,0 +1,31 @@
+package com.hnac.hzims.safeproduct.enums;
+
+/**
+ * 卫生自查状态枚举类
+ *
+ * @author liwen
+ * @date 2023-12-29
+ */
+public enum HygieneStatusEnum {
+
+ WAITING("WAITING", "未开始"),
+ UNFINISHED("UNFINISHED", "未完成"),
+ FINISHED("FINISHED", "已完成");
+
+ private final String value;
+
+ private final String desc;
+
+ HygieneStatusEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/TrainStatusEnum.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/TrainStatusEnum.java
new file mode 100644
index 0000000..bb156f0
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/enums/TrainStatusEnum.java
@@ -0,0 +1,31 @@
+package com.hnac.hzims.safeproduct.enums;
+
+/**
+ * 培训计划状态枚举类
+ *
+ * @author liwen
+ * @date 2023-12-27
+ */
+public enum TrainStatusEnum {
+
+ WAITING("WAITING", "未开始"),
+ UNFINISHED("UNFINISHED", "未完成"),
+ FINISHED("FINISHED", "已完成");
+
+ private final String value;
+
+ private final String desc;
+
+ TrainStatusEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public String getDesc() {
+ return desc;
+ }
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/HygieneMonthVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/HygieneMonthVO.java
new file mode 100644
index 0000000..62b1c2b
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/HygieneMonthVO.java
@@ -0,0 +1,31 @@
+package com.hnac.hzims.safeproduct.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author liwen
+ * @date 2023-12-27
+ */
+@Data
+@ApiModel(value = "卫生自查月度统计VO类")
+public class HygieneMonthVO {
+
+ @ApiModelProperty("单位")
+ private String unit;
+
+ @ApiModelProperty("应检查次数")
+ private Long scheduledCheckNum;
+
+ @ApiModelProperty("已检查次数")
+ private Long finishedCheckNum;
+
+ @ApiModelProperty("未检查次数")
+ private Long unfinishedCheckNum;
+
+ @ApiModelProperty("完成率")
+ private BigDecimal completionRate;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/HygieneRecordDetailVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/HygieneRecordDetailVO.java
new file mode 100644
index 0000000..341b402
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/HygieneRecordDetailVO.java
@@ -0,0 +1,46 @@
+package com.hnac.hzims.safeproduct.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author liwen
+ * @date 2023-12-29
+ */
+@Data
+@ApiModel(value = "卫生自查记录详情VO类")
+public class HygieneRecordDetailVO {
+
+ @ApiModelProperty("责任区")
+ private String zone;
+
+ @ApiModelProperty("责任人")
+ private String principal;
+
+ @ApiModelProperty("检查项")
+ private String checkItem;
+
+ @ApiModelProperty("检查项分值")
+ private String checkItemScore;
+
+ @ApiModelProperty("编码")
+ private String code;
+
+ @ApiModelProperty("检查时间")
+ private Date checkTime;
+
+ @ApiModelProperty("检查人")
+ private String checkUser;
+
+ @ApiModelProperty("检查结果")
+ private String checkResult;
+
+ @ApiModelProperty("综合评分")
+ private Integer comprehensiveScore;
+
+ @ApiModelProperty("周数")
+ private Integer weekNum;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TestScoreVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TestScoreVO.java
new file mode 100644
index 0000000..019d7b0
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TestScoreVO.java
@@ -0,0 +1,23 @@
+package com.hnac.hzims.safeproduct.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@ApiModel(value = "考试成绩VO类")
+public class TestScoreVO {
+
+ @ApiModelProperty("考试成绩id")
+ private Long id;
+
+ @ApiModelProperty("姓名")
+ private String name;
+
+ @ApiModelProperty("成绩")
+ private Integer score;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TrainMonthVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TrainMonthVO.java
new file mode 100644
index 0000000..e121988
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TrainMonthVO.java
@@ -0,0 +1,31 @@
+package com.hnac.hzims.safeproduct.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@ApiModel(value = "培训月度统计VO类")
+public class TrainMonthVO {
+
+ @ApiModelProperty("单位")
+ private String unit;
+
+ @ApiModelProperty("应完成次数")
+ private Long scheduledTrainNum;
+
+ @ApiModelProperty("已完成次数")
+ private Long finishedTrainNum;
+
+ @ApiModelProperty("未完成次数")
+ private Long unfinishedTrainNum;
+
+ @ApiModelProperty("完成率")
+ private BigDecimal completionRate;
+}
diff --git a/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TrainYearVO.java b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TrainYearVO.java
new file mode 100644
index 0000000..227b355
--- /dev/null
+++ b/hzims-service-api/safeproduct-api/src/main/java/com/hnac/hzims/safeproduct/vo/TrainYearVO.java
@@ -0,0 +1,53 @@
+package com.hnac.hzims.safeproduct.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liwen
+ * @date 2023-12-25
+ */
+@Data
+@ApiModel(value = "培训年度统计VO类")
+public class TrainYearVO {
+
+ @ApiModelProperty("单位")
+ private String unit;
+
+ @ApiModelProperty("1月完成数")
+ private Long januaryNum;
+
+ @ApiModelProperty("2月完成数")
+ private Long februaryNum;
+
+ @ApiModelProperty("3月完成数")
+ private Long marchNum;
+
+ @ApiModelProperty("4月完成数")
+ private Long aprilNum;
+
+ @ApiModelProperty("5月完成数")
+ private Long mayNum;
+
+ @ApiModelProperty("6月完成数")
+ private Long juneNum;
+
+ @ApiModelProperty("7月完成数")
+ private Long julyNum;
+
+ @ApiModelProperty("8月完成数")
+ private Long augustNum;
+
+ @ApiModelProperty("9月完成数")
+ private Long septemberNum;
+
+ @ApiModelProperty("10月完成数")
+ private Long octoberNum;
+
+ @ApiModelProperty("11月完成数")
+ private Long novemberNum;
+
+ @ApiModelProperty("12月完成数")
+ private Long decemberNum;
+}
diff --git a/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/ticketprocess/feign/IOfflineTicketProcessClient.java b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/ticketprocess/feign/IOfflineTicketProcessClient.java
new file mode 100644
index 0000000..58452e0
--- /dev/null
+++ b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/ticketprocess/feign/IOfflineTicketProcessClient.java
@@ -0,0 +1,24 @@
+package com.hnac.hzims.ticket.ticketprocess.feign;
+
+import com.hnac.hzims.middle.process.to.ProcessWorkFlowResponse;
+import com.hnac.hzims.ticket.constants.TicketConstants;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = TicketConstants.APP_NAME,fallback = OfflineTicketProcessClientFallback.class)
+public interface IOfflineTicketProcessClient {
+
+ String API = "/offlineTicket";
+ String FIND_PENDING = API + "/findPending";
+
+ /**
+ * 线下工作票处理
+ * @param response 流程信息
+ * @return 处理结果
+ */
+ @PostMapping(FIND_PENDING)
+ R findPending(@RequestBody ProcessWorkFlowResponse response);
+
+}
diff --git a/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/ticketprocess/feign/OfflineTicketProcessClientFallback.java b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/ticketprocess/feign/OfflineTicketProcessClientFallback.java
new file mode 100644
index 0000000..11b12dc
--- /dev/null
+++ b/hzims-service-api/ticket-api/src/main/java/com/hnac/hzims/ticket/ticketprocess/feign/OfflineTicketProcessClientFallback.java
@@ -0,0 +1,15 @@
+package com.hnac.hzims.ticket.ticketprocess.feign;
+
+import com.hnac.hzims.middle.process.to.ProcessWorkFlowResponse;
+import org.springblade.core.tool.api.R;
+import org.springframework.stereotype.Component;
+
+@Component
+public class OfflineTicketProcessClientFallback implements IOfflineTicketProcessClient {
+
+ @Override
+ public R findPending(ProcessWorkFlowResponse response) {
+ return R.fail("工作票处理流程失败!");
+ }
+
+}
diff --git a/hzims-service/hzims-basic/pom.xml b/hzims-service/hzims-basic/pom.xml
new file mode 100644
index 0000000..a542199
--- /dev/null
+++ b/hzims-service/hzims-basic/pom.xml
@@ -0,0 +1,173 @@
+
+
+
+ com.hnac.hzims
+ hzims-service
+ 4.0.0-SNAPSHOT
+
+ 4.0.0
+ hzims-basic
+ jar
+
+
+ 1.8
+ UTF-8
+ UTF-8
+ 2.6.13
+ 1.9.6
+
+
+
+
+ org.springblade
+ blade-common
+
+
+
+ org.springblade
+ blade-core-boot
+
+
+ org.springblade
+ blade-starter-redis
+
+
+
+
+
+
+ org.springblade
+ blade-starter-redis
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ io.lettuce
+ lettuce-core
+
+
+
+
+
+
+ redis.clients
+ jedis
+
+
+
+ org.springblade
+ blade-starter-swagger
+
+
+ org.springblade
+ blade-core-test
+ test
+
+
+ org.springblade
+ blade-core-auto
+ provided
+
+
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+ org.java-websocket
+ Java-WebSocket
+
+
+
+ com.baomidou
+ mybatis-plus-generator
+
+
+
+
+ org.apache.velocity
+ velocity-engine-core
+ 2.2
+
+
+
+
+
+ com.github.xiaoymin
+ swagger-bootstrap-ui
+ ${swagger-bootstrap-ui.version}
+
+
+ com.hnac.hzims
+ alarm-api
+ 4.0.0-SNAPSHOT
+ compile
+
+
+ com.hnac.hzims
+ basic-api
+ 4.0.0-SNAPSHOT
+ compile
+
+
+ com.hnac.hzims
+ equipment-api
+
+
+ com.hnac.hzims
+ hzims-operational-api
+
+
+ com.hnac.hzims
+ message-api
+
+
+ com.xuxueli
+ xxl-job-core
+
+
+ org.eclipse.paho
+ org.eclipse.paho.client.mqttv3
+
+
+
+
+ ${project.name}-${project.version}
+
+
+ com.spotify
+ dockerfile-maven-plugin
+
+ ${docker.username}
+ ${docker.password}
+ ${docker.registry.url}/${docker.namespace}/${project.artifactId}
+ ${project.version}
+ true
+
+ target/${project.build.finalName}.jar
+
+ false
+
+
+
+
+
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/BasicApplication.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/BasicApplication.java
new file mode 100644
index 0000000..3962111
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/BasicApplication.java
@@ -0,0 +1,32 @@
+package com.hnac.hzims.basic;
+
+import com.hnac.hzims.basic.constants.BasicConstants;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springblade.core.cloud.feign.EnableBladeFeign;
+import org.springblade.core.launch.BladeApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.cloud.client.SpringCloudApplication;
+import org.springframework.context.annotation.ComponentScan;
+
+import javax.annotation.Resource;
+
+/**
+ * @author ty
+ */
+@EnableBladeFeign
+@SpringCloudApplication
+@MapperScan("com.hnac.hzims.**.mapper.**")
+@ComponentScan(basePackages = {"com.hnac.hzims.basic.*"})
+@Resource
+public class BasicApplication extends SpringBootServletInitializer {
+ public static void main(String[] args) {
+ BladeApplication.run(BasicConstants.APP_NAME, BasicApplication.class, args);
+}
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
+ return BladeApplication.createSpringApplicationBuilder(builder, BasicConstants.APP_NAME, BasicApplication.class);
+ }
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java
new file mode 100644
index 0000000..90cd677
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java
@@ -0,0 +1,63 @@
+package com.hnac.hzims.basic.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+import com.hnac.hzims.basic.service.IImsCertificatetNoticeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springframework.web.bind.annotation.*;
+
+
+/**
+ * 控制器
+ *
+ * @author Chill
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/certificatetNotice")
+@Api(value = "档案通知配置页面", tags = "档案通知配置页面")
+public class CertificatetNoticeController extends BladeController {
+
+
+ private final IImsCertificatetNoticeService iImsCertificatetNoticeService;
+
+
+ /**
+ * 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "增加", notes = "传入imsDutyClass")
+ public R submit(@RequestBody CertificatetNoticeEntity certificatetNoticeEntity) {
+ Boolean submit = iImsCertificatetNoticeService.saveOrUpdate(certificatetNoticeEntity);
+ if (submit) {
+ return R.success("保存成功");
+ }
+ return R.fail("保存失败");
+
+ }
+
+ /**
+ * 新增或修改
+ */
+ @PostMapping("/getCertificatetNotice")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "增加", notes = "传入imsDutyClass")
+ public R getCertificatetNotice() {
+ CertificatetNoticeEntity res = iImsCertificatetNoticeService.getOne(Wrappers.lambdaQuery()
+ .eq(CertificatetNoticeEntity::getIsDeleted, 0)
+ .last("limit 1;"));
+ if (ObjectUtil.isNotEmpty(res)) {
+ return R.data(res);
+ }
+ return R.data("");
+
+ }
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java
new file mode 100644
index 0000000..c68768d
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java
@@ -0,0 +1,87 @@
+package com.hnac.hzims.basic.controller;
+
+import com.alibaba.spring.util.BeanUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.service.IImsPresonManagementService;
+import com.hnac.hzims.basic.vo.PersonManagemetVo;
+import com.hnac.hzims.common.logs.annotation.OperationAnnotation;
+import com.hnac.hzims.common.logs.enums.BusinessType;
+import com.hnac.hzims.common.logs.enums.OperatorType;
+import com.hnac.hzims.operational.duty.entity.ImsDutyClassEntity;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.CollectionUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+
+/**
+ * 控制器
+ *
+ * @author Chill
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/presonManagement")
+@Api(value = "人员档案", tags = "人员档案页面")
+public class PresonManagementController extends BladeController {
+
+ private final IImsPresonManagementService iImsPresonManagementService;
+
+ /**
+ * 分页 代码自定义代号
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入imsDutyClass")
+ @OperationAnnotation(moduleName = "档案管理",title = "档案管理",operatorType = OperatorType.MOBILE,businessType =
+ BusinessType.GENCODE,action
+ = "档案管理")
+ public R> list(PersonManagemetVo personManagemetVo, Query query) {
+ IPage page=iImsPresonManagementService.getPersonManagemetEntity(personManagemetVo,query);
+ return R.data(page);
+ }
+
+ /**
+ * 新增或修改
+ */
+ @PostMapping ("/submit")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "增加", notes = "传入imsDutyClass")
+ public R submit(@RequestBody PersonManagemetVo personManagemetVo) {
+ Boolean submit = iImsPresonManagementService.submit(personManagemetVo);
+ if (submit){
+ return R.success("保存成功");
+ }
+ return R.fail("保存失败");
+ }
+
+ /**
+ * 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "删除", notes = "传入imsDutyClass")
+ public R remove(@RequestBody PersonManagemetVo personManagemetVo) {
+ Boolean flag = iImsPresonManagementService.removeByPersonManagemetVo(personManagemetVo);
+ if (flag){
+ return R.success("删除成功");
+ }
+ return R.fail("删除失败");
+ }
+
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetMapper.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetMapper.java
new file mode 100644
index 0000000..79c2c5b
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetMapper.java
@@ -0,0 +1,15 @@
+package com.hnac.hzims.basic.mapper;
+
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
+
+/**
+ * Mapper 接口
+ *
+ * @author Chill
+ */
+@Mapper
+public interface CertificatetMapper extends UserDataScopeBaseMapper {
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetMapper.xml b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetMapper.xml
new file mode 100644
index 0000000..d12ecfc
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetNoticeMapper.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetNoticeMapper.java
new file mode 100644
index 0000000..fb767da
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetNoticeMapper.java
@@ -0,0 +1,15 @@
+package com.hnac.hzims.basic.mapper;
+
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
+
+/**
+ * Mapper 接口
+ *
+ * @author Chill
+ */
+@Mapper
+public interface CertificatetNoticeMapper extends UserDataScopeBaseMapper {
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetNoticeMapper.xml b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetNoticeMapper.xml
new file mode 100644
index 0000000..e75a8ab
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/CertificatetNoticeMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java
new file mode 100644
index 0000000..708bb7f
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java
@@ -0,0 +1,30 @@
+package com.hnac.hzims.basic.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.vo.PersonManagemetVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Mapper 接口
+ *
+ * @author Chill
+ */
+@Mapper
+public interface PersonManagemetMapper extends UserDataScopeBaseMapper {
+
+ List getPersonManagemetEntity(
+ @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime,
+ @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job,
+ @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status, @Param(value = "current")Integer current, @Param(value = "size")Integer size) ;
+ Integer getCountByPersonManagemetEntity(
+ @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime,
+ @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job,
+ @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status, @Param(value = "current")Integer current, @Param(value = "size")Integer size) ;
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml
new file mode 100644
index 0000000..ca4e02d
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsCertificatetNoticeService.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsCertificatetNoticeService.java
new file mode 100644
index 0000000..121419a
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsCertificatetNoticeService.java
@@ -0,0 +1,13 @@
+package com.hnac.hzims.basic.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+
+/**
+ * 服务类
+ *
+ * @author Chill
+ */
+public interface IImsCertificatetNoticeService extends IService {
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsCertificatetService.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsCertificatetService.java
new file mode 100644
index 0000000..5042f15
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsCertificatetService.java
@@ -0,0 +1,13 @@
+package com.hnac.hzims.basic.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+
+/**
+ * 服务类
+ *
+ * @author Chill
+ */
+public interface IImsCertificatetService extends IService {
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java
new file mode 100644
index 0000000..928b01d
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java
@@ -0,0 +1,21 @@
+package com.hnac.hzims.basic.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.vo.PersonManagemetVo;
+import org.springblade.core.mp.support.Query;
+
+/**
+ * 服务类
+ *
+ * @author Chill
+ */
+public interface IImsPresonManagementService extends IService {
+
+ IPage getPersonManagemetEntity(PersonManagemetVo personManagemetVo, Query query);
+
+ Boolean submit(PersonManagemetVo personManagemetVo);
+
+ Boolean removeByPersonManagemetVo(PersonManagemetVo personManagemetVo);
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/CertificatetNoticeServiceImpl.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/CertificatetNoticeServiceImpl.java
new file mode 100644
index 0000000..d31c2f2
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/CertificatetNoticeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.hnac.hzims.basic.service.impl;
+
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+import com.hnac.hzims.basic.mapper.CertificatetNoticeMapper;
+import com.hnac.hzims.basic.service.IImsCertificatetNoticeService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 证书实现类
+ * @author ty
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class CertificatetNoticeServiceImpl extends BaseServiceImpl implements IImsCertificatetNoticeService {
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/CertificatetServiceImpl.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/CertificatetServiceImpl.java
new file mode 100644
index 0000000..bbd8081
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/CertificatetServiceImpl.java
@@ -0,0 +1,21 @@
+package com.hnac.hzims.basic.service.impl;
+
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import com.hnac.hzims.basic.mapper.CertificatetMapper;
+import com.hnac.hzims.basic.service.IImsCertificatetService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+
+/**
+ * 证书实现类
+ * @author ty
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class CertificatetServiceImpl extends BaseServiceImpl implements IImsCertificatetService {
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java
new file mode 100644
index 0000000..4bfb77d
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java
@@ -0,0 +1,124 @@
+package com.hnac.hzims.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.mapper.PersonManagemetMapper;
+import com.hnac.hzims.basic.service.IImsCertificatetService;
+import com.hnac.hzims.basic.service.IImsPresonManagementService;
+import com.hnac.hzims.basic.vo.PersonManagemetVo;
+import com.hnac.hzims.common.logs.utils.StringUtils;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.CollectionUtil;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.feign.ISysClient;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.List;
+import java.util.stream.Collectors;
+
+
+/**
+ * 人员信息实现类
+ *
+ * @author ty
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class PresonManagementServiceImpl extends BaseServiceImpl implements IImsPresonManagementService {
+
+
+ private ISysClient sysClient;
+ private final IImsCertificatetService certificatetService;
+
+
+ @Override
+ public IPage getPersonManagemetEntity(PersonManagemetVo personManagemetVo, Query query) {
+ List personManagemetEntity = baseMapper.getPersonManagemetEntity(personManagemetVo.getType(), personManagemetVo.getDeadStartTime(), personManagemetVo.getDeadTime(),
+ personManagemetVo.getName(), personManagemetVo.getUnitName(), personManagemetVo.getSex(), personManagemetVo.getJob(),
+ personManagemetVo.getAcademicTitle(), personManagemetVo.getStatus(), (query.getCurrent()-1)*query.getSize(), query.getSize());
+ Integer count = baseMapper.getCountByPersonManagemetEntity(personManagemetVo.getType(), personManagemetVo.getDeadStartTime(), personManagemetVo.getDeadTime(),
+ personManagemetVo.getName(), personManagemetVo.getUnitName(), personManagemetVo.getSex(), personManagemetVo.getJob(),
+ personManagemetVo.getAcademicTitle(), personManagemetVo.getStatus(), (query.getCurrent()-1)*query.getSize(), query.getSize());
+ IPage res = new Page<>();
+ res.setCurrent(query.getCurrent());
+ res.setSize(query.getSize());
+ res.setTotal(Long.valueOf(count));
+ res.setRecords(personManagemetEntity);
+ return res;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean submit(PersonManagemetVo personManagemetVo) {
+ try {
+ if (ObjectUtil.isNotEmpty(personManagemetVo)) {
+ PersonManagemetEntity personManagemetEntity = new PersonManagemetEntity();
+ BeanUtil.copy(personManagemetVo, personManagemetEntity);
+ if (StringUtils.isBlank(personManagemetEntity.getUnitName())){
+ String deptId = AuthUtil.getDeptId();
+ R deptName = sysClient.getDeptName(Long.valueOf(deptId));
+ if (deptName.isSuccess()&&StringUtils.isBlank(deptName.getData())){
+ personManagemetEntity.setUnitName(deptName.getData());
+ }
+ }
+ if (ObjectUtil.isNotEmpty(personManagemetEntity)) {
+ this.saveOrUpdate(personManagemetEntity);
+ }
+ if (CollectionUtil.isNotEmpty(personManagemetVo.getCertificatetEntityList())) {
+ List certificatetList = personManagemetVo.getCertificatetEntityList().stream().map(
+ s -> {
+ s.setPersonId(personManagemetEntity.getId().toString());
+ if (System.currentTimeMillis() > s.getDeadTime().getTime()){
+ s.setStatus(2);
+ }else {
+ s.setStatus(1);
+ }
+ return s;
+ }
+ ).collect(Collectors.toList());
+ certificatetService.saveOrUpdateBatch(certificatetList);
+ }
+ return true;
+ }
+ return false;
+ } catch (Exception e) {
+ log.error("入参 personManagemetVo" + personManagemetVo + ":" + e);
+ return false;
+ }
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean removeByPersonManagemetVo(PersonManagemetVo personManagemetVo) {
+ try {
+ if (ObjectUtil.isNotEmpty(personManagemetVo)) {
+ if (ObjectUtil.isNotEmpty(personManagemetVo.getPersonIds())) {
+ this.removeByIds(personManagemetVo.getPersonIds());
+ certificatetService.remove(new LambdaQueryWrapper() {{
+ in(CertificatetEntity::getPersonId, personManagemetVo.getPersonIds());
+ }});
+ }
+ if (CollectionUtil.isNotEmpty(personManagemetVo.getCertificatetIds())) {
+ certificatetService.removeByIds(personManagemetVo.getCertificatetIds());
+ }
+ return true;
+ }
+ return false;
+ } catch (Exception e) {
+ log.error("removeByPersonManagemetVo 入参 personManagemetVo" + personManagemetVo + ":" + e);
+ return false;
+ }
+ }
+
+
+}
diff --git a/hzims-service/hzims-basic/src/main/resources/application.yml b/hzims-service/hzims-basic/src/main/resources/application.yml
new file mode 100644
index 0000000..71b4cf6
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/resources/application.yml
@@ -0,0 +1,41 @@
+#服务器端口
+server:
+ port: 8430
+
+
+#数据源配置
+spring:
+ main:
+ allow-bean-definition-overriding: true
+ #排除DruidDataSourceAutoConfigure
+ autoconfigure:
+ exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
+ datasource:
+ url: jdbc:mysql://192.168.60.34:3576/hzims_basic?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: hzinfo
+ password: 1qaz2WSX!
+
+
+#mybatis-plus配置
+mybatis-plus:
+ mapper-locations: classpath:com/hnac/hzims/**/mapper/*Mapper.xml
+ #实体扫描,多个package用逗号或者分号分隔
+ typeAliasesPackage: com.hnac.hzims.**.entity
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+#swagger扫描路径配置
+swagger:
+ base-packages:
+ - org.springbalde
+ - com.hnac
+
+blade:
+ data-scope:
+ enabled: false
+ lock:
+ enabled: true
+ address: redis://192.168.1.20:3577
+ password: 1qaz2WSX@redis
+ database: 0
+ ssl: false
diff --git a/hzims-service/hzims-basic/src/main/resources/bootstrap.yml b/hzims-service/hzims-basic/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..0abf99a
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/resources/bootstrap.yml
@@ -0,0 +1,7 @@
+spring:
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 175.6.40.67:10042
+
+
diff --git a/hzims-service/hzims-basic/src/test/java/com/hnac/hzims/basic/BasicApplicationTests.java b/hzims-service/hzims-basic/src/test/java/com/hnac/hzims/basic/BasicApplicationTests.java
new file mode 100644
index 0000000..97918a4
--- /dev/null
+++ b/hzims-service/hzims-basic/src/test/java/com/hnac/hzims/basic/BasicApplicationTests.java
@@ -0,0 +1,15 @@
+package com.hnac.hzims.basic;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest(classes = BasicApplication.class)
+class BasicApplicationTests {
+
+ @Test
+ void contextLoads() {
+
+ System.out.println("1");
+ }
+
+}
diff --git a/hzims-service/hzims-middle/src/main/java/com/hnac/hzims/middle/processflow/strategy/serviceimpl/OfflineTicketProcessImpl.java b/hzims-service/hzims-middle/src/main/java/com/hnac/hzims/middle/processflow/strategy/serviceimpl/OfflineTicketProcessImpl.java
new file mode 100644
index 0000000..b6be99a
--- /dev/null
+++ b/hzims-service/hzims-middle/src/main/java/com/hnac/hzims/middle/processflow/strategy/serviceimpl/OfflineTicketProcessImpl.java
@@ -0,0 +1,41 @@
+package com.hnac.hzims.middle.processflow.strategy.serviceimpl;
+
+
+import com.hnac.hzims.middle.process.to.ProcessWorkFlowResponse;
+import com.hnac.hzims.middle.processflow.service.ProcessDictService;
+import com.hnac.hzims.middle.processflow.strategy.abstracts.ProcessAbstractService;
+import com.hnac.hzims.middle.processflow.strategy.entity.WorkflowQueue;
+import com.hnac.hzims.ticket.ticketprocess.feign.IOfflineTicketProcessClient;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.api.R;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import static com.hnac.hzims.middle.process.constant.TicketProcessConstant.OFFLINE_WORK_TICKET;
+
+@Slf4j
+@Service
+@AllArgsConstructor
+public class OfflineTicketProcessImpl extends ProcessAbstractService {
+
+ private final ProcessDictService processDictService;
+ private final IOfflineTicketProcessClient offlineTicketProcessClient;
+
+ @Override
+ public Boolean isWorkflowProcess(WorkflowQueue flowQueue) {
+ String dictValue = processDictService.selectDictValueByKey(OFFLINE_WORK_TICKET);
+ return dictValue.equals(flowQueue.getProcessDefinitionKey());
+ }
+
+ @Override
+ public void calculate(ProcessWorkFlowResponse response) {
+ log.info("线下工作票调用fein接口消费开始---param",response);
+ R result = offlineTicketProcessClient.findPending(response);
+ Assert.isTrue(result.isSuccess(),() -> {
+ throw new ServiceException("线下工作票处理失败!");
+ });
+ log.info("线下工作票调用fein接口消费结束---");
+ }
+}
diff --git a/hzims-service/hzims-middle/src/main/resources/db/1.0.2.sql b/hzims-service/hzims-middle/src/main/resources/db/1.0.2.sql
new file mode 100644
index 0000000..ec8d18f
--- /dev/null
+++ b/hzims-service/hzims-middle/src/main/resources/db/1.0.2.sql
@@ -0,0 +1 @@
+INSERT INTO `process_dict` (`dict_code`, `dict_sort`, `dict_key`, `dict_value`, `dict_label`, `dict_type`, `is_default`, `status`, `create_dept`, `create_time`, `update_time`, `remark`) VALUES (9, 9, 'offlineWorkTicket', 'offlineWorkTicket', '线下工作票', '线下工作票', 'Y', 0, NULL, '2023-12-28 16:35:10', '2023-12-28 16:35:14', '线下工作票流程');
diff --git a/hzims-service/hzims-scheduled/pom.xml b/hzims-service/hzims-scheduled/pom.xml
index 3e004f3..f28251e 100644
--- a/hzims-service/hzims-scheduled/pom.xml
+++ b/hzims-service/hzims-scheduled/pom.xml
@@ -167,6 +167,10 @@
weather-api
+ com.hnac.hzims
+ basic-api
+
+
com.alibaba
fastjson
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetMapper.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetMapper.java
new file mode 100644
index 0000000..40f4273
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetMapper.java
@@ -0,0 +1,15 @@
+package com.hnac.hzims.scheduled.mapper.basic;
+
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
+
+/**
+ * Mapper 接口
+ *
+ * @author Chill
+ */
+@Mapper
+public interface CertificatetMapper extends UserDataScopeBaseMapper {
+
+}
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetMapper.xml b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetMapper.xml
new file mode 100644
index 0000000..6941d55
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetNoticeMapper.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetNoticeMapper.java
new file mode 100644
index 0000000..a2286ae
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetNoticeMapper.java
@@ -0,0 +1,15 @@
+package com.hnac.hzims.scheduled.mapper.basic;
+
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
+
+/**
+ * Mapper 接口
+ *
+ * @author Chill
+ */
+@Mapper
+public interface CertificatetNoticeMapper extends UserDataScopeBaseMapper {
+
+}
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetNoticeMapper.xml b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetNoticeMapper.xml
new file mode 100644
index 0000000..c951079
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/CertificatetNoticeMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/PersonManagemetMapper.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/PersonManagemetMapper.java
new file mode 100644
index 0000000..b44102a
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/PersonManagemetMapper.java
@@ -0,0 +1,29 @@
+package com.hnac.hzims.scheduled.mapper.basic;
+
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.vo.PersonManagemetVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Mapper 接口
+ *
+ * @author Chill
+ */
+@Mapper
+public interface PersonManagemetMapper extends UserDataScopeBaseMapper {
+
+ List getPersonManagemetEntity(
+ @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime,
+ @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job,
+ @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status, @Param(value = "current")Integer current, @Param(value = "size")Integer size) ;
+ Integer getCountByPersonManagemetEntity(
+ @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime,
+ @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job,
+ @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status, @Param(value = "current")Integer current, @Param(value = "size")Integer size) ;
+
+}
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/PersonManagemetMapper.xml b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/PersonManagemetMapper.xml
new file mode 100644
index 0000000..409cbfb
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/mapper/basic/PersonManagemetMapper.xml
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/basicScheduledTask.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/basicScheduledTask.java
new file mode 100644
index 0000000..9b72730
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/scheduled/basicScheduledTask.java
@@ -0,0 +1,141 @@
+package com.hnac.hzims.scheduled.scheduled;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.message.MessageConstants;
+import com.hnac.hzims.message.dto.BusinessMessageDTO;
+import com.hnac.hzims.message.entity.config.SmsConfigEntity;
+import com.hnac.hzims.message.fegin.IMessageClient;
+import com.hnac.hzims.message.fegin.IMessageConfigClient;
+import com.hnac.hzims.scheduled.mapper.basic.PersonManagemetMapper;
+import com.hnac.hzims.scheduled.service.basic.IImsCertificatetNoticeService;
+import com.hnac.hzims.scheduled.service.basic.IImsCertificatetService;
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.CollectionUtil;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.feign.ISysClient;
+import org.springblade.system.user.cache.UserCache;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.hnac.hzims.operational.main.constant.MainConstants.*;
+
+
+/**
+ * 排班到期定时任务通知
+ *
+ * @author ty
+ */
+@Slf4j
+@Component
+public class basicScheduledTask {
+
+ @Autowired
+ private IImsCertificatetService iImsCertificatetService;
+ @Autowired
+ private IImsCertificatetNoticeService iImsCertificatetNoticeService;
+ @Autowired
+ private ISysClient sysClient;
+ @Autowired
+ private IUserClient userClient;
+ @Autowired
+ private IMessageClient messageClient;
+ @Autowired
+ private PersonManagemetMapper personManagemetMapper;
+ @Autowired
+ private IMessageConfigClient messageConfigClient;
+
+ /**
+ * realId刷新
+ */
+ @XxlJob(CERTIFICATET_DEAD_LINE_NOTICE)
+// @Scheduled(cron = "0 */1 * * * ? ")
+ public ReturnT certificatetDeadLineNotice(String param) throws ParseException {
+ Date endTime = new Date();
+ if (Func.isBlank(param)) {
+ endTime = new SimpleDateFormat("yyyy-MM-dd").parse(param);
+ }
+ CertificatetNoticeEntity noticeEntity = iImsCertificatetNoticeService.getOne(Wrappers.lambdaQuery()
+ .eq(CertificatetNoticeEntity::getIsDeleted, 0)
+ .last("limit 1;"));
+ //用户档案过期截止时间
+ Date date = DateUtil.plusDays(endTime, noticeEntity.getSafeTime());
+ List list = iImsCertificatetService.list(Wrappers.lambdaQuery()
+ .le(CertificatetEntity::getDeadTime, date));
+ String noticeUsers = noticeEntity.getNoticeUsers();
+ List userList = Arrays.asList(noticeUsers.split(","));
+ if (CollectionUtil.isNotEmpty(userList) && CollectionUtil.isNotEmpty(list)) {
+ List personIds = list.stream().map(CertificatetEntity::getPersonId).collect(Collectors.toList());
+ List personManagemetEntities = personManagemetMapper.selectList(Wrappers.query().lambda().in(PersonManagemetEntity::getId, personIds));
+ String personNotice="";
+ if (CollectionUtil.isNotEmpty(personManagemetEntities)) {
+ personNotice = personManagemetEntities.stream().map(PersonManagemetEntity::getName).collect(Collectors.joining(","));
+ }
+ if ("1".equals(noticeEntity.getSendType())) {
+ sendSmsByUserList(userList, date,personNotice);
+ }
+ sendMessage(list.get(0), noticeEntity.getSafeTime(), noticeEntity.getNoticeUsers(),personNotice);
+ }
+ return new ReturnT<>("SUCCESS");
+ }
+
+ private void sendSmsByUserList(List userList, Date date,String personNotice) {
+ //区分用户
+ for (String s : userList) {
+ User user = UserCache.getUser(Long.valueOf(s));
+ String phone = "";
+ if (ObjectUtil.isNotEmpty(user)) {
+ phone = user.getPhone();
+ }
+ //短信推送
+ String code = "certificatetNotice";
+ SmsConfigEntity smsConfigEntity = messageConfigClient.getSmsConfigByBusinessKey(code);
+ Map contentParams = new HashMap<>(2);
+ contentParams.put("one", personNotice);
+ String deadLine = DateUtil.format(date, "yyyy-MM-dd");
+ contentParams.put("two", deadLine);
+ smsConfigEntity.setTemplateParam(JSONObject.toJSONString(contentParams));
+ smsConfigEntity.setPhones(phone);
+ messageConfigClient.pushSmsMessageByConfig(smsConfigEntity);
+ }
+ }
+
+ private void sendMessage(CertificatetEntity certificatetEntity, Integer date, String users,String personNotice) {
+// //注意:通知人是创建人所在机构
+ BusinessMessageDTO message = new BusinessMessageDTO();
+ message.setBusinessClassify("system");
+ message.setBusinessKey(MessageConstants.BusinessClassifyEnum.CERTIFICATETNOTICE.getKey());
+ message.setSubject(MessageConstants.BusinessClassifyEnum.CERTIFICATETNOTICE.getDescription());
+ message.setTaskId(System.currentTimeMillis());
+ message.setTenantId("200000");
+ String countent =
+ personNotice + "的证书即将到期,请提交新的证书资料";
+ message.setContent(countent);
+ message.setDeptId(certificatetEntity.getCreateDept());
+ R deptName = sysClient.getDeptName(certificatetEntity.getCreateDept());
+ if (deptName.isSuccess()) {
+ message.setDeptName(deptName.getData());
+ }
+ message.setUserIds(users);
+ User admin = userClient.userByAccount("200000", "admin").getData();
+ message.setCreateUser(admin.getId());
+ messageClient.sendAppAndWsMsgByUsers(message);
+ }
+
+
+}
\ No newline at end of file
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/IImsCertificatetNoticeService.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/IImsCertificatetNoticeService.java
new file mode 100644
index 0000000..4b3503b
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/IImsCertificatetNoticeService.java
@@ -0,0 +1,13 @@
+package com.hnac.hzims.scheduled.service.basic;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+
+/**
+ * 服务类
+ *
+ * @author Chill
+ */
+public interface IImsCertificatetNoticeService extends IService {
+}
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/IImsCertificatetService.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/IImsCertificatetService.java
new file mode 100644
index 0000000..bba5428
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/IImsCertificatetService.java
@@ -0,0 +1,13 @@
+package com.hnac.hzims.scheduled.service.basic;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+
+/**
+ * 服务类
+ *
+ * @author Chill
+ */
+public interface IImsCertificatetService extends IService {
+}
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/impl/CertificatetNoticeServiceImpl.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/impl/CertificatetNoticeServiceImpl.java
new file mode 100644
index 0000000..b4e956d
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/impl/CertificatetNoticeServiceImpl.java
@@ -0,0 +1,21 @@
+package com.hnac.hzims.scheduled.service.basic.impl;
+
+import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
+import com.hnac.hzims.scheduled.mapper.basic.CertificatetNoticeMapper;
+import com.hnac.hzims.scheduled.service.basic.IImsCertificatetNoticeService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 证书实现类
+ * @author ty
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class CertificatetNoticeServiceImpl extends BaseServiceImpl implements IImsCertificatetNoticeService {
+}
diff --git a/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/impl/CertificatetServiceImpl.java b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/impl/CertificatetServiceImpl.java
new file mode 100644
index 0000000..8849e80
--- /dev/null
+++ b/hzims-service/hzims-scheduled/src/main/java/com/hnac/hzims/scheduled/service/basic/impl/CertificatetServiceImpl.java
@@ -0,0 +1,21 @@
+package com.hnac.hzims.scheduled.service.basic.impl;
+
+import com.hnac.hzims.basic.entity.CertificatetEntity;
+import com.hnac.hzims.scheduled.mapper.basic.CertificatetMapper;
+import com.hnac.hzims.scheduled.service.basic.IImsCertificatetService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+
+/**
+ * 证书实现类
+ * @author ty
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class CertificatetServiceImpl extends BaseServiceImpl implements IImsCertificatetService {
+}
diff --git a/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/EventServiceImpl.java b/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/EventServiceImpl.java
index 3f0ed50..f5f8b84 100644
--- a/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/EventServiceImpl.java
+++ b/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/EventServiceImpl.java
@@ -1,5 +1,6 @@
package com.hnac.hzinfo.inspect.task.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.hnac.hzims.operational.defect.constants.DefectConstant;
@@ -15,6 +16,7 @@ import com.hnac.hzinfo.inspect.task.mapper.TaskEventMapper;
import com.hnac.hzinfo.inspect.task.service.*;
import com.hnac.hzinfo.inspect.task.vo.EventAddVO;
import com.hnac.hzinfo.inspect.task.vo.EventRecordAddVO;
+import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.log.logger.BladeLogger;
import org.springblade.core.mp.base.BaseServiceImpl;
@@ -43,6 +45,7 @@ import java.util.List;
* @author Chill
*/
@Service
+@Slf4j
public class EventServiceImpl extends BaseServiceImpl implements IEventService {
@Autowired
@@ -187,7 +190,9 @@ public class EventServiceImpl extends BaseServiceImpllambdaQuery().eq(TaskUserEntity::getTaskId,eventVO.getTaskId()).eq(TaskUserEntity::getUserId,user == null ? eventVO.getUserId() : user.getUserId()));
+ log.info("taskUserEntity:"+JSON.toJSONString(taskUserEntity));
if(taskUserEntity==null){
throw new ServiceException("该任务已被别人领取");
}
diff --git a/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/TaskServiceImpl.java b/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/TaskServiceImpl.java
index 16b509d..455e33f 100644
--- a/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/TaskServiceImpl.java
+++ b/hzims-service/inspect/src/main/java/com/hnac/hzinfo/inspect/task/service/impl/TaskServiceImpl.java
@@ -54,6 +54,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -282,7 +283,7 @@ public class TaskServiceImpl extends BaseServiceImpl imp
taskUserService.update(Wrappers.lambdaUpdate().set(TaskUserEntity::getClaimStatus, ClaimStatusEnum.COLLECT.getStatus()).set(TaskUserEntity::getClaimTime, LocalDateTime.now()).eq(TaskUserEntity::getTaskId, task.getId()).eq(TaskUserEntity::getUserId, userId));
//如果是抢占任务,删除能够抢占此任务的其他人
if (PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(task.getMethod())) {
- taskUserService.remove(Wrappers.lambdaQuery().eq(TaskUserEntity::getTaskId, task.getId()).ne(TaskUserEntity::getId, userId));
+ taskUserService.remove(Wrappers.lambdaQuery().eq(TaskUserEntity::getTaskId, task.getId()).ne(TaskUserEntity::getUserId, userId));
}
task.setStatus(Integer.valueOf(TaskStatusEnum.UNDERWAY_STATUS.getStatus()));
task.setStartTime(LocalDateTime.now());
@@ -1162,6 +1163,12 @@ public class TaskServiceImpl extends BaseServiceImpl imp
voteChartVo.setFinishIds(finishIds);
voteChartVo.setUndoneNum(undoneIds.size());
voteChartVo.setUndoneIds(undoneIds);
+ if (CollectionUtil.isEmpty(list)||CollectionUtil.isEmpty(undoneIds)){
+ voteChartVo.setFinishRate(0.00d);
+ }else {
+ BigDecimal divide = new BigDecimal(list.size()).divide(new BigDecimal(list.size()),2,BigDecimal.ROUND_UP);
+ voteChartVo.setFinishRate( divide.doubleValue());
+ }
return voteChartVo;
}
diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/defect/controller/OperDefectController.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/defect/controller/OperDefectController.java
index addc566..b1d5fac 100644
--- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/defect/controller/OperDefectController.java
+++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/defect/controller/OperDefectController.java
@@ -143,17 +143,17 @@ public class OperDefectController extends BladeController {
@OperationAnnotation(moduleName = "生产月报", title = "缺陷月报表", operatorType = OperatorType.MOBILE, businessType =
BusinessType.GENCODE,
action = "获取缺陷的统计月报")
- public R