haungxing
10 months ago
37 changed files with 1722 additions and 0 deletions
@ -0,0 +1,66 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger; |
||||
|
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Getter; |
||||
import org.springblade.core.log.exception.ServiceException; |
||||
import org.springframework.util.Assert; |
||||
|
||||
import java.util.Arrays; |
||||
import java.util.Optional; |
||||
|
||||
public interface Constants { |
||||
|
||||
@AllArgsConstructor |
||||
enum PlanStatusEnum { |
||||
NOT_START(0,"未开始"), |
||||
HAVE(1,"进行中"), |
||||
STOPPED(2,"已停止") |
||||
; |
||||
@Getter |
||||
private final Integer status; |
||||
@Getter |
||||
private final String describe; |
||||
} |
||||
|
||||
@AllArgsConstructor |
||||
enum TaskStatusEnum { |
||||
NOT_START(0,"未开始"), |
||||
HAVE(1,"进行中"), |
||||
FINISH(2,"已完成"), |
||||
NON_FINISH(3,"未完成") |
||||
; |
||||
@Getter |
||||
private Integer status; |
||||
@Getter |
||||
private String describe; |
||||
} |
||||
|
||||
@AllArgsConstructor |
||||
enum CycleEnum { |
||||
/**一天一次**/ |
||||
CYCLE_ONE("1",1,"day"), |
||||
/**一周一次**/ |
||||
CYCLE_TWO("2",1,"week"), |
||||
/**一月一次**/ |
||||
CYCLE_THREE("3",1,"month"), |
||||
/**一季一次**/ |
||||
CYCLE_FOUR("4",1,"quarter"), |
||||
/**一年一次**/ |
||||
CYCLE_FIVE("5",1,"year") |
||||
; |
||||
@Getter |
||||
private String cycle; |
||||
@Getter |
||||
private int days; |
||||
@Getter |
||||
private String cycleType; |
||||
|
||||
public static CycleEnum getCycleEnumByCycle(String cycle) { |
||||
Optional<CycleEnum> cycleEnum = Arrays.stream(CycleEnum.class.getEnumConstants()).filter(e -> cycle.equals(e.getCycle())).findFirst(); |
||||
Assert.isTrue(cycleEnum.isPresent(),() -> { |
||||
throw new ServiceException("未找到对应的周期"); |
||||
}); |
||||
return cycleEnum.get(); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,27 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.dto; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @ClassName HDPlanDTO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 11:29 |
||||
* @Version 4.0 |
||||
**/ |
||||
@EqualsAndHashCode |
||||
@ApiModel("隐患排查计划DTO") |
||||
@Data |
||||
public class HDPlanDTO extends HDPlanEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("隐患排查计划排查项列表") |
||||
List<PlanCheckItemDTO> checkItemDTOS; |
||||
|
||||
} |
@ -0,0 +1,22 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.dto; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName HDTaskCheckItemDTO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 20:26 |
||||
* @Version 4.0 |
||||
**/ |
||||
@EqualsAndHashCode |
||||
@Data |
||||
@ApiModel("隐患任务排查项DTO") |
||||
public class HDTaskCheckItemDTO extends HDTaskCheckItemEntity implements Serializable { |
||||
|
||||
} |
@ -0,0 +1,33 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.dto; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* @ClassName HDTaskDTO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 15:57 |
||||
* @Version 4.0 |
||||
**/ |
||||
@ApiModel("隐患排查任务DTO") |
||||
@Data |
||||
@EqualsAndHashCode |
||||
public class HDTaskDTO extends HDTaskEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("年月") |
||||
private String yearMonth; |
||||
|
||||
@ApiModelProperty("开始时间") |
||||
private LocalDateTime taskStartTime; |
||||
|
||||
@ApiModelProperty("结束时间") |
||||
private LocalDateTime taskEndTime; |
||||
|
||||
} |
@ -0,0 +1,22 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.dto; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName PlanCheckItemDTO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-07 14:01 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@ApiModel("隐患排查计划排查项DTO") |
||||
@EqualsAndHashCode |
||||
public class PlanCheckItemDTO extends PlanCheckItemEntity implements Serializable { |
||||
|
||||
} |
@ -0,0 +1,91 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.entity; |
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName; |
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
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.mp.support.SqlCondition; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
import org.springblade.core.tool.utils.DateUtil; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import javax.validation.constraints.NotNull; |
||||
import java.io.Serializable; |
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* @ClassName HDPlanEntity |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 10:51 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@ApiModel("隐患计划") |
||||
@EqualsAndHashCode |
||||
@TableName("hzims_hidden_danger_plan") |
||||
public class HDPlanEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty(value = "计划名称",required = true) |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
@NotNull |
||||
private String planName; |
||||
|
||||
@ApiModelProperty(value = "站点编号",required = true) |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
@NotNull |
||||
private String stationCode; |
||||
|
||||
@ApiModelProperty(value = "排查类型,字典:hd_check_type",required = true) |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String checkType; |
||||
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATE) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATE) |
||||
@ApiModelProperty(value = "排查日期(开始日期)",required = true) |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private LocalDate checkStartDate; |
||||
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATE) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATE) |
||||
@ApiModelProperty(value = "排查日期(结束日期)",required = true) |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private LocalDate checkEndDate; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "排查周期,字典:hd_check_cycle") |
||||
private String cycle; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "排查风险点ID") |
||||
private Long categoryId; |
||||
|
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
@ApiModelProperty(value = "排查风险点名称") |
||||
private String categoryName; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "计划类型:1为定时计划,2为临时计划,字典:hd_plan_type") |
||||
private String planType; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "是否启用:0为停用,1为启用") |
||||
private Boolean enable; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "排查人员ID") |
||||
private Long checkUserId; |
||||
|
||||
/**计划近期生成任务最后时间**/ |
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) |
||||
private LocalDateTime lastGenerateTaskTime; |
||||
|
||||
/**下一次任务生成时间**/ |
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) |
||||
private LocalDateTime nextGenerateTaskTime; |
||||
} |
@ -0,0 +1,84 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.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.support.QueryField; |
||||
import org.springblade.core.mp.support.SqlCondition; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
import org.springblade.core.tool.utils.DateUtil; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* @ClassName HDTaskCheckItemEntity |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 20:06 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@ApiModel("隐患任务排查项") |
||||
@EqualsAndHashCode |
||||
@TableName("hzims_hidden_danger_task_item") |
||||
public class HDTaskCheckItemEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("隐患排查任务ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long taskId; |
||||
|
||||
@ApiModelProperty("风险点ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long categoryId; |
||||
|
||||
@ApiModelProperty("风险点名称") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String categoryName; |
||||
|
||||
@ApiModelProperty("风险点类型") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String riskType; |
||||
|
||||
@ApiModelProperty("检查项ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long checkItemId; |
||||
|
||||
@ApiModelProperty("检查项") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String checkItemName; |
||||
|
||||
@ApiModelProperty("区域/位置ID") |
||||
private String areaId; |
||||
|
||||
@ApiModelProperty("区域/位置") |
||||
private String areaName; |
||||
|
||||
@ApiModelProperty("上传附件") |
||||
private String attachment; |
||||
|
||||
@ApiModelProperty("排查备注") |
||||
private String remark; |
||||
|
||||
@ApiModelProperty(value = "事故诱因") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String accidentIncentive; |
||||
|
||||
@ApiModelProperty(value = "导致后果") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String causeConsequence; |
||||
|
||||
@ApiModelProperty("排查人ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long checkUserId; |
||||
|
||||
@ApiModelProperty("排查时间") |
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
private LocalDateTime checkTime; |
||||
|
||||
} |
@ -0,0 +1,83 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.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.support.QueryField; |
||||
import org.springblade.core.mp.support.SqlCondition; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
import org.springblade.core.tool.utils.DateUtil; |
||||
import org.springframework.format.annotation.DateTimeFormat; |
||||
|
||||
import javax.validation.constraints.NotNull; |
||||
import java.io.Serializable; |
||||
import java.time.LocalDateTime; |
||||
|
||||
/** |
||||
* @ClassName HDTaskEntity |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 15:32 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@ApiModel("隐患任务") |
||||
@EqualsAndHashCode |
||||
@TableName("hzims_hidden_danger_task") |
||||
public class HDTaskEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty(value = "隐患排查计划ID",required = true) |
||||
private Long planId; |
||||
|
||||
@ApiModelProperty(value = "隐患排查计划名称",required = true) |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String planName; |
||||
|
||||
@ApiModelProperty(value = "站点编号",required = true) |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
@NotNull |
||||
private String stationCode; |
||||
|
||||
@ApiModelProperty("风险点类别") |
||||
private Integer categoryType; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "排查风险点ID") |
||||
private Long categoryId; |
||||
|
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
@ApiModelProperty(value = "排查风险点名称") |
||||
private String categoryName; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "计划类型:1为定时计划,2为临时计划,字典:hd_plan_type") |
||||
private String planType; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "排查周期,字典:hd_check_cycle") |
||||
private String cycle; |
||||
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@ApiModelProperty(value = "开始时间",required = true) |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private LocalDateTime startTime; |
||||
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME) |
||||
@ApiModelProperty(value = "结束时间",required = true) |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private LocalDateTime endTime; |
||||
|
||||
@ApiModelProperty("流程ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String processInstanceId; |
||||
|
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
@ApiModelProperty(value = "排查人员ID") |
||||
private Long checkUserId; |
||||
|
||||
} |
@ -0,0 +1,58 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.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.support.QueryField; |
||||
import org.springblade.core.mp.support.SqlCondition; |
||||
import org.springblade.core.tenant.mp.TenantEntity; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
@ApiModel("计划风险排查项") |
||||
@Data |
||||
@EqualsAndHashCode |
||||
@TableName("hzims_hidden_danger_plan_item") |
||||
public class PlanCheckItemEntity extends TenantEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("隐患排查任务ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long planId; |
||||
|
||||
@ApiModelProperty("区域/位置ID") |
||||
private String areaId; |
||||
|
||||
@ApiModelProperty("区域/位置") |
||||
private String areaName; |
||||
|
||||
@ApiModelProperty("风险点ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long categoryId; |
||||
|
||||
@ApiModelProperty("风险点名称") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String categoryName; |
||||
|
||||
@ApiModelProperty("风险点类型") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private String riskType; |
||||
|
||||
@ApiModelProperty("检查项ID") |
||||
@QueryField(condition = SqlCondition.EQUAL) |
||||
private Long checkItemId; |
||||
|
||||
@ApiModelProperty("检查项") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String checkItemName; |
||||
|
||||
@ApiModelProperty(value = "事故诱因") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String accidentIncentive; |
||||
|
||||
@ApiModelProperty(value = "导致后果") |
||||
@QueryField(condition = SqlCondition.LIKE) |
||||
private String causeConsequence; |
||||
|
||||
} |
@ -0,0 +1,8 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.schedule; |
||||
|
||||
public interface XxlJobConstants { |
||||
|
||||
/**根据隐患排查计划生成任务**/ |
||||
String GENERATE_HD_TASK_BY_PLAN = "generateHDTaskByPlan"; |
||||
|
||||
} |
@ -0,0 +1,45 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.vo; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @ClassName HDPlanVO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 11:31 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@Api("隐患排查计划VO") |
||||
@EqualsAndHashCode |
||||
public class HDPlanVO extends HDPlanEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("创建人名称") |
||||
private String creatorName; |
||||
|
||||
@ApiModelProperty("更新人名称") |
||||
private String updateUserName; |
||||
|
||||
@ApiModelProperty("排查类型名称") |
||||
private String checkTypeName; |
||||
|
||||
@ApiModelProperty("排查周期名称") |
||||
private String cycleName; |
||||
|
||||
@ApiModelProperty("计划类型名称") |
||||
private String planTypeName; |
||||
|
||||
@ApiModelProperty("排查人名称") |
||||
private String checkUserName; |
||||
|
||||
@ApiModelProperty("隐患排查计划排查项列表") |
||||
List<PlanCheckItemVO> checkItemVOS; |
||||
|
||||
} |
@ -0,0 +1,32 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.vo; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName HDTaskCheckItemVO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 20:27 |
||||
* @Version 4.0 |
||||
**/ |
||||
@EqualsAndHashCode |
||||
@Data |
||||
@ApiModel("隐患任务排查项VO") |
||||
public class HDTaskCheckItemVO extends HDTaskCheckItemEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("创建人名称") |
||||
private String creatorName; |
||||
|
||||
@ApiModelProperty("更新人名称") |
||||
private String updateUserName; |
||||
|
||||
@ApiModelProperty("排查人名称") |
||||
private String checkUserName; |
||||
|
||||
} |
@ -0,0 +1,44 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.vo; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @ClassName HDTaskVO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 15:58 |
||||
* @Version 4.0 |
||||
**/ |
||||
@ApiModel("隐患排查任务VO") |
||||
@Data |
||||
@EqualsAndHashCode |
||||
public class HDTaskVO extends HDTaskEntity implements Serializable { |
||||
|
||||
@ApiModelProperty("创建人名称") |
||||
private String creatorName; |
||||
|
||||
@ApiModelProperty("更新人名称") |
||||
private String updateUserName; |
||||
|
||||
@ApiModelProperty("排查周期名称") |
||||
private String cycleName; |
||||
|
||||
@ApiModelProperty("计划类型名称") |
||||
private String planTypeName; |
||||
|
||||
@ApiModelProperty("排查人名称") |
||||
private String checkUserName; |
||||
|
||||
@ApiModelProperty("是否异常") |
||||
private Boolean isAbnormal = false; |
||||
|
||||
@ApiModelProperty("隐患任务排查项列表") |
||||
private List<HDTaskCheckItemVO> checkItemVOList; |
||||
} |
@ -0,0 +1,22 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.vo; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import io.swagger.annotations.ApiModel; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName PlanCheckItemVO |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-07 14:01 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Data |
||||
@ApiModel("隐患排查计划排查项VO") |
||||
@EqualsAndHashCode |
||||
public class PlanCheckItemVO extends PlanCheckItemEntity implements Serializable { |
||||
|
||||
} |
@ -0,0 +1,37 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.wrapper; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDPlanVO; |
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.system.cache.DictCache; |
||||
import org.springblade.system.user.cache.UserCache; |
||||
import org.springblade.system.user.entity.User; |
||||
|
||||
import java.util.Optional; |
||||
|
||||
/** |
||||
* @ClassName HDPlanWrapper |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 13:50 |
||||
* @Version 4.0 |
||||
**/ |
||||
public class HDPlanWrapper extends BaseEntityWrapper<HDPlanEntity, HDPlanVO> { |
||||
|
||||
public static HDPlanWrapper build() { |
||||
return new HDPlanWrapper(); |
||||
} |
||||
|
||||
@Override |
||||
public HDPlanVO entityVO(HDPlanEntity entity) { |
||||
HDPlanVO planVO = BeanUtil.copy(entity,HDPlanVO.class); |
||||
planVO.setCreatorName(Optional.ofNullable(entity.getCreateUser()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
planVO.setUpdateUserName(Optional.ofNullable(entity.getUpdateUser()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
planVO.setCheckUserName(Optional.ofNullable(entity.getCheckUserId()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
planVO.setCheckTypeName(Optional.ofNullable(entity.getCheckType()).map(dictKey -> DictCache.getValue("hd_check_type",dictKey)).orElse(null)); |
||||
planVO.setCycleName(Optional.ofNullable(entity.getCycle()).map(dictKey -> DictCache.getValue("hd_check_cycle",dictKey)).orElse(null)); |
||||
planVO.setPlanTypeName(Optional.ofNullable(entity.getPlanType()).map(dictKey -> DictCache.getValue("hd_plan_type",dictKey)).orElse(null)); |
||||
return planVO; |
||||
} |
||||
} |
@ -0,0 +1,37 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.wrapper; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskCheckItemVO; |
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.system.user.cache.UserCache; |
||||
import org.springblade.system.user.entity.User; |
||||
|
||||
import java.util.Optional; |
||||
|
||||
/** |
||||
* @ClassName HDTaskCheckItemWrapper |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 20:28 |
||||
* @Version 4.0 |
||||
**/ |
||||
|
||||
public class HDTaskCheckItemWrapper extends BaseEntityWrapper<HDTaskCheckItemEntity, HDTaskCheckItemVO> { |
||||
|
||||
public static HDTaskCheckItemWrapper build() { |
||||
return new HDTaskCheckItemWrapper(); |
||||
} |
||||
|
||||
@Override |
||||
public HDTaskCheckItemVO entityVO(HDTaskCheckItemEntity entity) { |
||||
HDTaskCheckItemVO checkItemVO = BeanUtil.copy(entity,HDTaskCheckItemVO.class); |
||||
|
||||
checkItemVO.setCreatorName(Optional.ofNullable(entity.getCreateUser()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
checkItemVO.setUpdateUserName(Optional.ofNullable(entity.getUpdateUser()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
if(entity.getCheckUserId()!=null) { |
||||
checkItemVO.setCheckUserName(UserCache.getUser(entity.getCheckUserId()).getName()); |
||||
} |
||||
return checkItemVO; |
||||
} |
||||
} |
@ -0,0 +1,39 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.wrapper; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskVO; |
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.system.cache.DictCache; |
||||
import org.springblade.system.user.cache.UserCache; |
||||
import org.springblade.system.user.entity.User; |
||||
|
||||
import java.util.Optional; |
||||
|
||||
/** |
||||
* @ClassName HDTaskWrapper |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 15:59 |
||||
* @Version 4.0 |
||||
**/ |
||||
public class HDTaskWrapper extends BaseEntityWrapper<HDTaskEntity, HDTaskVO> { |
||||
|
||||
public static HDTaskWrapper build() { |
||||
return new HDTaskWrapper(); |
||||
} |
||||
|
||||
@Override |
||||
public HDTaskVO entityVO(HDTaskEntity entity) { |
||||
if(entity == null){ |
||||
return null; |
||||
} |
||||
HDTaskVO taskVO = BeanUtil.copy(entity,HDTaskVO.class); |
||||
taskVO.setCreatorName(Optional.ofNullable(entity.getCreateUser()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
taskVO.setUpdateUserName(Optional.ofNullable(entity.getUpdateUser()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
taskVO.setCheckUserName(Optional.ofNullable(entity.getCheckUserId()).map(UserCache::getUser).map(User::getName).orElse(null)); |
||||
taskVO.setCycleName(Optional.ofNullable(entity.getCycle()).map(dictKey -> DictCache.getValue("hd_check_cycle",dictKey)).orElse(null)); |
||||
taskVO.setPlanTypeName(Optional.ofNullable(entity.getPlanType()).map(dictKey -> DictCache.getValue("hd_plan_type",dictKey)).orElse(null)); |
||||
return taskVO; |
||||
} |
||||
} |
@ -0,0 +1,26 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.wrapper; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.PlanCheckItemVO; |
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
|
||||
/** |
||||
* @ClassName PlanCheckItemWrapper |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-07 14:05 |
||||
* @Version 4.0 |
||||
**/ |
||||
public class PlanCheckItemWrapper extends BaseEntityWrapper<PlanCheckItemEntity, PlanCheckItemVO> { |
||||
|
||||
public static PlanCheckItemWrapper build() { |
||||
return new PlanCheckItemWrapper(); |
||||
} |
||||
|
||||
@Override |
||||
public PlanCheckItemVO entityVO(PlanCheckItemEntity entity) { |
||||
PlanCheckItemVO vo = BeanUtil.copy(entity,PlanCheckItemVO.class); |
||||
return vo; |
||||
} |
||||
} |
@ -0,0 +1,81 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.controller; |
||||
|
||||
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.common.utils.Condition; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDPlanDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.schedule.HiddenDangerPlanSchedule; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerPlanService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDPlanVO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.wrapper.HDPlanWrapper; |
||||
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.Query; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName HDPlanController |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 11:34 |
||||
* @Version 4.0 |
||||
**/ |
||||
@RestController |
||||
@RequestMapping("/hiddenDanger/plan") |
||||
@Api(value = "隐患计划管理",tags = "隐患计划管理") |
||||
@AllArgsConstructor |
||||
public class HiddenDangerPlanController extends BladeController implements Serializable { |
||||
|
||||
private final IHiddenDangerPlanService hdPlanService; |
||||
private final HiddenDangerPlanSchedule planSchedule; |
||||
|
||||
@GetMapping("/page") |
||||
@ApiOperation("分页查询") |
||||
@ApiOperationSupport(order = 1) |
||||
public R<IPage<HDPlanVO>> page(HDPlanDTO request, Query query) { |
||||
LambdaQueryWrapper<HDPlanEntity> queryWrapper = Condition.getQueryWrapper(HDPlanEntity.class, BeanUtil.copy(request, HDPlanEntity.class)); |
||||
queryWrapper.orderByDesc(HDPlanEntity::getCreateTime); |
||||
IPage page = hdPlanService.page(Condition.getPage(query),queryWrapper); |
||||
page.setRecords(HDPlanWrapper.build().listVO(page.getRecords())); |
||||
return R.data(page); |
||||
} |
||||
|
||||
@GetMapping("/detail/{id}") |
||||
@ApiOperation("查询详情") |
||||
@ApiOperationSupport(order = 2) |
||||
public R<HDPlanVO> detail(@PathVariable @ApiParam("主键ID") Long id) { |
||||
return R.data(hdPlanService.detail(id)); |
||||
} |
||||
|
||||
@PutMapping("/updateById") |
||||
@ApiOperation("根据ID编辑隐患排查计划") |
||||
@ApiOperationSupport(order = 3) |
||||
public R updateById(@RequestBody HDPlanDTO request) { |
||||
return R.status(hdPlanService.doUpdate(request)); |
||||
} |
||||
|
||||
@PostMapping("/save") |
||||
@ApiOperation("新增隐患排查计划") |
||||
@ApiOperationSupport(order = 4) |
||||
public R save(@RequestBody HDPlanDTO request) { |
||||
return R.status(hdPlanService.doSave(request)); |
||||
} |
||||
|
||||
@PostMapping("/generateTask") |
||||
@ApiOperation("生成隐患排查任务") |
||||
@ApiOperationSupport(order = 5) |
||||
public R generateTask() { |
||||
planSchedule.generateTask(null); |
||||
return R.success("操作成功!"); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,79 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.controller; |
||||
|
||||
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.common.utils.Condition; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskCheckItemService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskCheckItemVO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.wrapper.HDTaskCheckItemWrapper; |
||||
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.Query; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
/** |
||||
* @ClassName HDTaskCheckItemController |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 20:39 |
||||
* @Version 4.0 |
||||
**/ |
||||
@RestController |
||||
@RequestMapping("/hiddenDanger/task/checkItem") |
||||
@Api(value = "隐患任务排查项管理",tags = "隐患任务排查项管理") |
||||
@AllArgsConstructor |
||||
public class HiddenDangerTaskCheckItemController extends BladeController { |
||||
|
||||
private final IHiddenDangerTaskCheckItemService hdTaskCheckItemService; |
||||
|
||||
@GetMapping("/page") |
||||
@ApiOperation("分页查询") |
||||
@ApiOperationSupport(order = 1) |
||||
public R<IPage<HDTaskCheckItemVO>> page(HDTaskCheckItemDTO request, Query query) { |
||||
LambdaQueryWrapper<HDTaskCheckItemEntity> queryWrapper = Condition.getQueryWrapper(HDTaskCheckItemEntity.class, BeanUtil.copy(request, HDTaskCheckItemEntity.class)); |
||||
queryWrapper.orderByAsc(HDTaskCheckItemEntity::getAreaName).orderByAsc(HDTaskCheckItemEntity::getCategoryName).orderByAsc(HDTaskCheckItemEntity::getCheckItemName); |
||||
IPage page = hdTaskCheckItemService.page(Condition.getPage(query),queryWrapper); |
||||
page.setRecords(HDTaskCheckItemWrapper.build().listVO(page.getRecords())); |
||||
return R.data(page); |
||||
} |
||||
|
||||
@GetMapping("/detail/{id}") |
||||
@ApiOperation("查询详情") |
||||
@ApiOperationSupport(order = 2) |
||||
public R<HDTaskCheckItemVO> detail(@PathVariable @ApiParam("主键ID") Long id) { |
||||
HDTaskCheckItemEntity Task = hdTaskCheckItemService.getById(id); |
||||
return R.data(HDTaskCheckItemWrapper.build().entityVO(Task)); |
||||
} |
||||
|
||||
@PutMapping("/updateById") |
||||
@ApiOperation("根据ID编辑隐患排查计划") |
||||
@ApiOperationSupport(order = 3) |
||||
public R updateById(@RequestBody HDTaskCheckItemDTO request) { |
||||
HDTaskCheckItemEntity Task = BeanUtil.copy(request, HDTaskCheckItemEntity.class); |
||||
return R.status(hdTaskCheckItemService.updateById(Task)); |
||||
} |
||||
|
||||
@PostMapping("/save") |
||||
@ApiOperation("新增隐患排查计划") |
||||
@ApiOperationSupport(order = 4) |
||||
public R save(@RequestBody HDTaskCheckItemDTO request) { |
||||
HDTaskCheckItemEntity Task = BeanUtil.copy(request, HDTaskCheckItemEntity.class); |
||||
return R.status(hdTaskCheckItemService.save(Task)); |
||||
} |
||||
|
||||
@PostMapping("/troubleshooting") |
||||
@ApiOperation("执行排查项") |
||||
@ApiOperationSupport(order = 5) |
||||
public R troubleshooting(@RequestBody HDTaskCheckItemDTO req) { |
||||
return R.status(hdTaskCheckItemService.troubleshooting(req)); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,72 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskVO; |
||||
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.Query; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.io.Serializable; |
||||
|
||||
/** |
||||
* @ClassName HDTaskController |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 16:03 |
||||
* @Version 4.0 |
||||
**/ |
||||
@RestController |
||||
@RequestMapping("/hiddenDanger/task") |
||||
@Api(value = "隐患任务管理",tags = "隐患任务管理") |
||||
@AllArgsConstructor |
||||
public class HiddenDangerTaskController extends BladeController implements Serializable { |
||||
|
||||
private final IHiddenDangerTaskService hdTaskService; |
||||
|
||||
@GetMapping("/page") |
||||
@ApiOperation("分页查询") |
||||
@ApiOperationSupport(order = 1) |
||||
public R<IPage<HDTaskVO>> page(HDTaskDTO request, Query query) { |
||||
return R.data(hdTaskService.page(request,query)); |
||||
} |
||||
|
||||
@GetMapping("/detail/{id}") |
||||
@ApiOperation("查询详情") |
||||
@ApiOperationSupport(order = 2) |
||||
public R<HDTaskVO> detail(@PathVariable @ApiParam("主键ID") Long id) { |
||||
return R.data(hdTaskService.detail(id)); |
||||
} |
||||
|
||||
@PutMapping("/updateById") |
||||
@ApiOperation("根据ID编辑隐患排查计划") |
||||
@ApiOperationSupport(order = 3) |
||||
public R updateById(@RequestBody HDTaskDTO request) { |
||||
HDTaskEntity Task = BeanUtil.copy(request, HDTaskEntity.class); |
||||
return R.status(hdTaskService.updateById(Task)); |
||||
} |
||||
|
||||
@PostMapping("/save") |
||||
@ApiOperation("新增隐患排查计划") |
||||
@ApiOperationSupport(order = 4) |
||||
public R save(@RequestBody HDTaskDTO request) { |
||||
HDTaskEntity Task = BeanUtil.copy(request, HDTaskEntity.class); |
||||
return R.status(hdTaskService.save(Task)); |
||||
} |
||||
|
||||
@GetMapping("/finishTask") |
||||
@ApiOperation("完成隐患排查任务") |
||||
@ApiOperationSupport(order = 5) |
||||
public R finishTask(@RequestParam @ApiParam("任务ID") Long taskId) { |
||||
return R.status(hdTaskService.finishTask(taskId)); |
||||
} |
||||
} |
@ -0,0 +1,62 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.controller; |
||||
|
||||
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.common.utils.Condition; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.PlanCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IPlanCheckItemService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.PlanCheckItemVO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.wrapper.PlanCheckItemWrapper; |
||||
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.Query; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/hdPlan/checkItem") |
||||
public class PlanCheckItemController extends BladeController { |
||||
|
||||
private final IPlanCheckItemService planCheckItemService; |
||||
|
||||
@GetMapping("/page") |
||||
@ApiOperation("分页查询") |
||||
@ApiOperationSupport(order = 1) |
||||
public R<IPage<PlanCheckItemVO>> page(PlanCheckItemDTO request, Query query) { |
||||
LambdaQueryWrapper<PlanCheckItemEntity> queryWrapper = Condition.getQueryWrapper(PlanCheckItemEntity.class, BeanUtil.copy(request, PlanCheckItemEntity.class)); |
||||
queryWrapper.orderByAsc(PlanCheckItemEntity::getAreaName).orderByAsc(PlanCheckItemEntity::getCategoryName).orderByAsc(PlanCheckItemEntity::getCheckItemName); |
||||
IPage page = planCheckItemService.page(Condition.getPage(query),queryWrapper); |
||||
page.setRecords(PlanCheckItemWrapper.build().listVO(page.getRecords())); |
||||
return R.data(page); |
||||
} |
||||
|
||||
@GetMapping("/detail/{id}") |
||||
@ApiOperation("查询详情") |
||||
@ApiOperationSupport(order = 2) |
||||
public R<PlanCheckItemVO> detail(@PathVariable @ApiParam("主键ID") Long id) { |
||||
return R.data(PlanCheckItemWrapper.build().entityVO(planCheckItemService.getById(id))); |
||||
} |
||||
|
||||
@PutMapping("/updateById") |
||||
@ApiOperation("根据ID编辑隐患排查计划") |
||||
@ApiOperationSupport(order = 3) |
||||
public R updateById(@RequestBody PlanCheckItemDTO request) { |
||||
PlanCheckItemEntity Task = BeanUtil.copy(request, PlanCheckItemEntity.class); |
||||
return R.status(planCheckItemService.updateById(Task)); |
||||
} |
||||
|
||||
@PostMapping("/save") |
||||
@ApiOperation("新增隐患排查计划") |
||||
@ApiOperationSupport(order = 4) |
||||
public R save(@RequestBody PlanCheckItemDTO request) { |
||||
PlanCheckItemEntity Task = BeanUtil.copy(request, PlanCheckItemEntity.class); |
||||
return R.status(planCheckItemService.save(Task)); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,8 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.mapper; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||
|
||||
public interface HiddenDangerPlanMapper extends UserDataScopeBaseMapper<HDPlanEntity> { |
||||
|
||||
} |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.hnac.hzims.safeproduct.hiddenDanger.mapper.HiddenDangerPlanMapper"> |
||||
|
||||
</mapper> |
@ -0,0 +1,8 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
|
||||
public interface HiddenDangerTaskCheckItemMapper extends BaseMapper<HDTaskCheckItemEntity> { |
||||
|
||||
} |
@ -0,0 +1,15 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import com.hnac.hzims.safeproduct.statistic.vo.RiskDangerAccidentMonthCountVO; |
||||
import org.apache.ibatis.annotations.Param; |
||||
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||
|
||||
import java.util.List; |
||||
|
||||
public interface HiddenDangerTaskMapper extends UserDataScopeBaseMapper<HDTaskEntity> { |
||||
|
||||
List<RiskDangerAccidentMonthCountVO> getDangerMonthTrend(@Param("ew") QueryWrapper ew); |
||||
|
||||
} |
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
<mapper namespace="com.hnac.hzims.safeproduct.hiddenDanger.mapper.HiddenDangerTaskMapper"> |
||||
<select id="getDangerMonthTrend" resultType="com.hnac.hzims.safeproduct.statistic.vo.RiskDangerAccidentMonthCountVO"> |
||||
select DATE_FORMAT(start_time,'%Y-%m') yearAndMonth,count(*) dangerCount |
||||
from hzims_hidden_danger_task |
||||
where 1=1 |
||||
<if test="ew!=null and ew.sqlSegment!=null and ew.sqlSegment != ''"> |
||||
and ${ew.sqlSegment} |
||||
</if> |
||||
group by DATE_FORMAT(start_time,'%Y-%m') |
||||
</select> |
||||
</mapper> |
@ -0,0 +1,15 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
|
||||
/** |
||||
* @ClassName PlanCheckItemMapper |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-07 14:34 |
||||
* @Version 4.0 |
||||
**/ |
||||
public interface PlanCheckItemMapper extends BaseMapper<PlanCheckItemEntity> { |
||||
|
||||
} |
@ -0,0 +1,200 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.schedule; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.google.common.collect.Lists; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.Constants; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerPlanService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskCheckItemService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IPlanCheckItemService; |
||||
import com.hnac.hzims.safeproduct.risk.entity.HazardCategory; |
||||
import com.hnac.hzims.safeproduct.risk.service.HazardCategoryService; |
||||
import com.hnac.hzims.safeproduct.risk.service.HazardSourceService; |
||||
import com.hnac.hzims.safeproduct.risk.service.IRiskCheckService; |
||||
import com.xxl.job.core.biz.model.ReturnT; |
||||
import com.xxl.job.core.handler.annotation.XxlJob; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.tool.utils.*; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
import java.time.LocalDate; |
||||
import java.time.LocalDateTime; |
||||
import java.time.LocalTime; |
||||
import java.util.List; |
||||
import java.util.Optional; |
||||
import java.util.stream.Collectors; |
||||
|
||||
import static com.hnac.hzims.safeproduct.hiddenDanger.schedule.XxlJobConstants.GENERATE_HD_TASK_BY_PLAN; |
||||
|
||||
/** |
||||
* @ClassName HDPlanSchedule |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 16:10 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Component |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class HiddenDangerPlanSchedule { |
||||
|
||||
private final IHiddenDangerPlanService hdPlanService; |
||||
private final IHiddenDangerTaskService hdTaskService; |
||||
private final IRiskCheckService riskCheckService; |
||||
private final HazardSourceService hazardSourceService; |
||||
private final IHiddenDangerTaskCheckItemService taskCheckItemService; |
||||
private final IPlanCheckItemService planCheckItemService; |
||||
private final HazardCategoryService hazardCategoryService; |
||||
|
||||
/** |
||||
* 生成任务 |
||||
* @param params 生成任务日期 |
||||
* @return 工作流ID |
||||
*/ |
||||
@XxlJob(GENERATE_HD_TASK_BY_PLAN) |
||||
public ReturnT generateTask(String params) { |
||||
LocalDate currentDate = StringUtil.isNoneBlank(params) ? LocalDate.parse(params, DateUtil.DATE_FORMATTER) : LocalDate.now(); |
||||
// 处理未开始的计划
|
||||
// this.dealNonStartPlan(currentDate);
|
||||
// 将结束日期在当前日期之前的计划置为已停止
|
||||
this.stopHDPlan(currentDate); |
||||
// 查找出当天有任务生成的计划
|
||||
List<HDPlanEntity> generateTaskPlans = this.getGenerateTaskPlanList(currentDate); |
||||
if(CollectionUtil.isEmpty(generateTaskPlans)) { |
||||
return ReturnT.SUCCESS; |
||||
} |
||||
// 生成任务
|
||||
this.generateTask(generateTaskPlans,currentDate); |
||||
generateTaskPlans.forEach(plan -> { |
||||
plan.setLastGenerateTaskTime(LocalDateTime.now()); |
||||
Constants.CycleEnum cycleEnumByCycle = Constants.CycleEnum.getCycleEnumByCycle(plan.getCycle()); |
||||
plan.setNextGenerateTaskTime(HiddenDangerPlanSchedule.plusDateTime(LocalDateTime.of(currentDate,LocalTime.MIN),cycleEnumByCycle.getCycleType(),cycleEnumByCycle.getDays())); |
||||
plan.setStatus(Constants.PlanStatusEnum.HAVE.getStatus()); |
||||
}); |
||||
hdPlanService.updateBatchById(generateTaskPlans); |
||||
return ReturnT.SUCCESS; |
||||
} |
||||
|
||||
/** |
||||
* 处理未开始计划 |
||||
* @param currentDate |
||||
*/ |
||||
public void dealNonStartPlan(LocalDate currentDate) { |
||||
LambdaUpdateWrapper<HDPlanEntity> queryWrapper = Wrappers.<HDPlanEntity>lambdaUpdate() |
||||
.set(HDPlanEntity::getStatus,Constants.PlanStatusEnum.HAVE.getStatus()) |
||||
.le(HDPlanEntity::getCheckStartDate,currentDate) |
||||
.ge(HDPlanEntity::getCheckEndDate,currentDate) |
||||
.eq(HDPlanEntity::getEnable,true) |
||||
.eq(HDPlanEntity::getStatus,Constants.PlanStatusEnum.NOT_START.getStatus()); |
||||
hdPlanService.update(queryWrapper); |
||||
} |
||||
|
||||
/** |
||||
* 变更已结束的隐患计划的状态 |
||||
* @param currentDate 日期 |
||||
*/ |
||||
private void stopHDPlan(LocalDate currentDate) { |
||||
LambdaUpdateWrapper<HDPlanEntity> queryWrapper = Wrappers.<HDPlanEntity>lambdaUpdate() |
||||
.set(HDPlanEntity::getStatus, Constants.PlanStatusEnum.STOPPED.getStatus()) |
||||
.eq(HDPlanEntity::getEnable,true) |
||||
.lt(HDPlanEntity::getCheckEndDate, currentDate); |
||||
hdPlanService.update(queryWrapper); |
||||
} |
||||
|
||||
/** |
||||
* 获取待生成任务的计划 |
||||
* @param currentDate 日期 |
||||
* @return 待生成任务的计划 |
||||
*/ |
||||
private List<HDPlanEntity> getGenerateTaskPlanList(LocalDate currentDate) { |
||||
List<HDPlanEntity> result = Lists.newArrayList(); |
||||
// 未生成任务的计划
|
||||
List<HDPlanEntity> noTaskPlanList = hdPlanService.list(Wrappers.<HDPlanEntity>lambdaQuery() |
||||
.eq(HDPlanEntity::getStatus, Constants.PlanStatusEnum.NOT_START.getStatus()) |
||||
.eq(HDPlanEntity::getEnable,true) |
||||
); |
||||
if(CollectionUtil.isNotEmpty(noTaskPlanList)) { |
||||
result.addAll(noTaskPlanList); |
||||
} |
||||
// 已经生成过任务的计划
|
||||
List<HDPlanEntity> existTaskPlanList = hdPlanService.list(Wrappers.<HDPlanEntity>lambdaQuery() |
||||
.eq(HDPlanEntity::getStatus, Constants.PlanStatusEnum.HAVE.getStatus()) |
||||
.eq(HDPlanEntity::getNextGenerateTaskTime,LocalDateTime.of(currentDate,LocalTime.MIN)) |
||||
.eq(HDPlanEntity::getEnable,true) |
||||
); |
||||
if(CollectionUtil.isNotEmpty(existTaskPlanList)) { |
||||
result.addAll(existTaskPlanList); |
||||
} |
||||
return result; |
||||
} |
||||
|
||||
/** |
||||
* 生成任务 |
||||
* @param planList 计划列表 |
||||
*/ |
||||
private void generateTask(List<HDPlanEntity> planList,LocalDate currentDate) { |
||||
List<HDTaskEntity> taskList = planList.stream().map(plan -> BeanUtil.copy(plan, HDTaskEntity.class)).peek(task -> { |
||||
task.setPlanId(task.getId()); |
||||
task.setId(null); |
||||
task.setCreateTime(null); |
||||
task.setUpdateTime(null); |
||||
// 设置计划开始结束时间
|
||||
task.setStartTime(LocalDateTime.of(currentDate, LocalTime.MIN)); |
||||
task.setCategoryType(Optional.ofNullable(hazardCategoryService.getById(task.getCategoryId())).map(HazardCategory::getCategory).orElse(null)); |
||||
Constants.CycleEnum cycleEnumByCycle = Constants.CycleEnum.getCycleEnumByCycle(task.getCycle()); |
||||
task.setEndTime(HiddenDangerPlanSchedule.plusDateTime(LocalDateTime.of(currentDate,LocalTime.MIN),cycleEnumByCycle.getCycleType(),cycleEnumByCycle.getDays())); |
||||
task.setStatus(Constants.TaskStatusEnum.HAVE.getStatus()); |
||||
}).collect(Collectors.toList()); |
||||
hdTaskService.saveBatch(taskList); |
||||
// 保存隐患任务的风险排查项
|
||||
List<HDTaskCheckItemEntity> riskCheckEntityList = Lists.newArrayList(); |
||||
taskList.forEach(task -> { |
||||
List<PlanCheckItemEntity> planCheckItemList = planCheckItemService.list(Wrappers.<PlanCheckItemEntity>lambdaQuery().eq(PlanCheckItemEntity::getPlanId, task.getPlanId())); |
||||
List<HDTaskCheckItemEntity> checkItemList = planCheckItemList.stream().map(check -> { |
||||
HDTaskCheckItemEntity taskCheckItem = BeanUtil.copy(check, HDTaskCheckItemEntity.class); |
||||
taskCheckItem.setId(null); |
||||
taskCheckItem.setCreateTime(null); |
||||
taskCheckItem.setUpdateTime(null); |
||||
taskCheckItem.setStatus(null); |
||||
taskCheckItem.setTaskId(task.getId()); |
||||
taskCheckItem.setCreateUser(task.getCreateUser()); |
||||
taskCheckItem.setUpdateUser(task.getUpdateUser()); |
||||
taskCheckItem.setCreateDept(task.getCreateDept()); |
||||
return taskCheckItem; |
||||
}).collect(Collectors.toList()); |
||||
riskCheckEntityList.addAll(checkItemList); |
||||
}); |
||||
taskCheckItemService.saveBatch(riskCheckEntityList); |
||||
taskCheckItemService.update(Wrappers.<HDTaskCheckItemEntity>lambdaUpdate().set(HDTaskCheckItemEntity::getStatus,null).in(HDTaskCheckItemEntity::getId,riskCheckEntityList.stream().map(HDTaskCheckItemEntity::getId).filter(Func::isNotEmpty).collect(Collectors.toList()))); |
||||
} |
||||
|
||||
/** |
||||
* 计算时间 |
||||
* @param date 时间 |
||||
* @param dateType 时间类型 |
||||
* @param nums 数量 |
||||
* @return 计算后的时间 |
||||
*/ |
||||
public static LocalDateTime plusDateTime(LocalDateTime date,String dateType,int nums) { |
||||
switch(dateType) { |
||||
case com.hnac.hzims.common.utils.DateUtil.YEAR: |
||||
return date.plusYears(nums); |
||||
case com.hnac.hzims.common.utils.DateUtil.QUARTER: |
||||
return date.plusMonths(nums*4); |
||||
case com.hnac.hzims.common.utils.DateUtil.MONTH: |
||||
return date.plusMonths(nums); |
||||
case com.hnac.hzims.common.utils.DateUtil.WEEK: |
||||
return date.plusDays(nums*7); |
||||
case com.hnac.hzims.common.utils.DateUtil.DAY: |
||||
return date.plusDays(nums); |
||||
default: |
||||
return date; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,16 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDPlanDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDPlanVO; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
public interface IHiddenDangerPlanService extends BaseService<HDPlanEntity> { |
||||
|
||||
Boolean doSave(HDPlanDTO planDTO); |
||||
|
||||
Boolean doUpdate(HDPlanDTO planDTO); |
||||
|
||||
HDPlanVO detail(Long id); |
||||
|
||||
} |
@ -0,0 +1,16 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskCheckItemVO; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
import java.util.List; |
||||
|
||||
public interface IHiddenDangerTaskCheckItemService extends BaseService<HDTaskCheckItemEntity> { |
||||
|
||||
List<HDTaskCheckItemVO> getList(HDTaskCheckItemDTO req); |
||||
|
||||
Boolean troubleshooting(HDTaskCheckItemDTO req); |
||||
|
||||
} |
@ -0,0 +1,32 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskVO; |
||||
import com.hnac.hzims.safeproduct.statistic.vo.RiskDangerAccidentMonthCountVO; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
import org.springblade.core.mp.support.Query; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @ClassName IHDTaskService |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 16:04 |
||||
* @Version 4.0 |
||||
**/ |
||||
public interface IHiddenDangerTaskService extends BaseService<HDTaskEntity> { |
||||
|
||||
List<HDTaskVO> list(HDTaskDTO req); |
||||
|
||||
List<RiskDangerAccidentMonthCountVO> getMonthTaskCount(HDTaskDTO req); |
||||
|
||||
HDTaskVO detail(Long id); |
||||
|
||||
IPage<HDTaskVO> page(HDTaskDTO request, Query query); |
||||
|
||||
Boolean finishTask(Long taskId); |
||||
|
||||
} |
@ -0,0 +1,13 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service; |
||||
|
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.PlanCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import org.springblade.core.mp.base.BaseService; |
||||
|
||||
import java.util.List; |
||||
|
||||
public interface IPlanCheckItemService extends BaseService<PlanCheckItemEntity> { |
||||
|
||||
Boolean doSaveOrUpdateBatch(List<PlanCheckItemDTO> itemList); |
||||
|
||||
} |
@ -0,0 +1,73 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.Constants; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDPlanDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDPlanEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.mapper.HiddenDangerPlanMapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerPlanService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IPlanCheckItemService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDPlanVO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.wrapper.PlanCheckItemWrapper; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class HiddenDangerPlanServiceImpl extends BaseServiceImpl<HiddenDangerPlanMapper, HDPlanEntity> implements IHiddenDangerPlanService { |
||||
|
||||
private final IPlanCheckItemService planCheckItemService; |
||||
|
||||
/** |
||||
* 保存隐患排查计划 |
||||
* @param planDTO 隐患排查计划 |
||||
* @return 保存结果 |
||||
*/ |
||||
@Override |
||||
public Boolean doSave(HDPlanDTO planDTO) { |
||||
planDTO.setStatus(Constants.PlanStatusEnum.NOT_START.getStatus()); |
||||
HDPlanEntity plan = BeanUtil.copy(planDTO, HDPlanEntity.class); |
||||
if(this.save(plan)) { |
||||
if(CollectionUtil.isNotEmpty(planDTO.getCheckItemDTOS())) { |
||||
return planCheckItemService.doSaveOrUpdateBatch(planDTO.getCheckItemDTOS().stream().peek(d -> d.setPlanId(plan.getId())).collect(Collectors.toList())); |
||||
} |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
/** |
||||
* 编辑隐患排查计划 |
||||
* @param planDTO 隐患排查计划 |
||||
* @return 执行结果 |
||||
*/ |
||||
@Override |
||||
public Boolean doUpdate(HDPlanDTO planDTO) { |
||||
HDPlanEntity plan = BeanUtil.copy(planDTO, HDPlanEntity.class); |
||||
if(this.updateById(plan)) { |
||||
if(CollectionUtil.isNotEmpty(planDTO.getCheckItemDTOS())) { |
||||
return planCheckItemService.doSaveOrUpdateBatch(planDTO.getCheckItemDTOS().stream().peek(d -> d.setPlanId(plan.getId())).collect(Collectors.toList())); |
||||
} |
||||
return true; |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public HDPlanVO detail(Long id) { |
||||
HDPlanEntity plan = this.getById(id); |
||||
HDPlanVO planVO = BeanUtil.copy(plan, HDPlanVO.class); |
||||
List<PlanCheckItemEntity> checkItemList = planCheckItemService.list(Wrappers.<PlanCheckItemEntity>lambdaQuery().eq(PlanCheckItemEntity::getPlanId, id)); |
||||
planVO.setCheckItemVOS(PlanCheckItemWrapper.build().listVO(checkItemList)); |
||||
return planVO; |
||||
} |
||||
} |
@ -0,0 +1,57 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.common.utils.Condition; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.mapper.HiddenDangerTaskCheckItemMapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskCheckItemService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskCheckItemVO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.wrapper.HDTaskCheckItemWrapper; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.secure.utils.AuthUtil; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.time.LocalDateTime; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @ClassName HDTaskCheckItemService |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 20:37 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class HiddenDangerTaskCheckItemService extends BaseServiceImpl<HiddenDangerTaskCheckItemMapper, HDTaskCheckItemEntity> implements IHiddenDangerTaskCheckItemService { |
||||
|
||||
@Override |
||||
public List<HDTaskCheckItemVO> getList(HDTaskCheckItemDTO req) { |
||||
LambdaQueryWrapper<HDTaskCheckItemEntity> queryWrapper = Condition.getQueryWrapper(HDTaskCheckItemEntity.class, req); |
||||
List<HDTaskCheckItemEntity> checkItemEntityList = this.list(queryWrapper); |
||||
return HDTaskCheckItemWrapper.build().listVO(checkItemEntityList); |
||||
} |
||||
|
||||
/** |
||||
* 执行排查项 |
||||
* @param req 执行排查项结果 |
||||
* @return 结果 |
||||
*/ |
||||
@Override |
||||
public Boolean troubleshooting(HDTaskCheckItemDTO req) { |
||||
LambdaUpdateWrapper<HDTaskCheckItemEntity> lambdaUpdateWrapper = Wrappers.<HDTaskCheckItemEntity>lambdaUpdate() |
||||
.set(HDTaskCheckItemEntity::getCheckUserId, AuthUtil.getUserId()) |
||||
.set(HDTaskCheckItemEntity::getCheckTime, LocalDateTime.now()) |
||||
.set(HDTaskCheckItemEntity::getStatus, req.getStatus()) |
||||
.set(HDTaskCheckItemEntity::getRemark, req.getRemark()) |
||||
.set(HDTaskCheckItemEntity::getAttachment,req.getAttachment()) |
||||
.eq(HDTaskCheckItemEntity::getId, req.getId()); |
||||
return this.update(lambdaUpdateWrapper); |
||||
} |
||||
} |
@ -0,0 +1,128 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.common.utils.Condition; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.Constants; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.HDTaskDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.HDTaskEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.mapper.HiddenDangerTaskMapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskCheckItemService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IHiddenDangerTaskService; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.vo.HDTaskVO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.wrapper.HDTaskWrapper; |
||||
import com.hnac.hzims.safeproduct.statistic.vo.RiskDangerAccidentMonthCountVO; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.log.exception.ServiceException; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.mp.support.Query; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springblade.core.tool.utils.ObjectUtil; |
||||
import org.springblade.core.tool.utils.StringUtil; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.util.Assert; |
||||
|
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @ClassName HDTaskServiceImpl |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-09-19 16:05 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class HiddenDangerTaskServiceImpl extends BaseServiceImpl<HiddenDangerTaskMapper, HDTaskEntity> implements IHiddenDangerTaskService { |
||||
|
||||
private final IHiddenDangerTaskCheckItemService taskCheckItemService; |
||||
|
||||
/** |
||||
* 隐患排查任务列表查询 |
||||
* @param req 筛选条件 |
||||
* @return 任务列表 |
||||
*/ |
||||
@Override |
||||
public List<HDTaskVO> list(HDTaskDTO req) { |
||||
return HDTaskWrapper.build().listVO(this.list(this.getQueryWrapper(req))); |
||||
} |
||||
|
||||
@Override |
||||
public List<RiskDangerAccidentMonthCountVO> getMonthTaskCount(HDTaskDTO req) { |
||||
return this.baseMapper.getDangerMonthTrend(this.getQueryWrapper(req)); |
||||
} |
||||
|
||||
@Override |
||||
public HDTaskVO detail(Long id) { |
||||
HDTaskEntity task = this.getById(id); |
||||
HDTaskVO taskVO = HDTaskWrapper.build().entityVO(task); |
||||
HDTaskCheckItemDTO itemDTO = new HDTaskCheckItemDTO(); |
||||
itemDTO.setTaskId(id); |
||||
taskVO.setCheckItemVOList(taskCheckItemService.getList(itemDTO)); |
||||
return taskVO; |
||||
} |
||||
|
||||
@Override |
||||
public IPage<HDTaskVO> page(HDTaskDTO request, Query query) { |
||||
LambdaQueryWrapper<HDTaskEntity> queryWrapper = Condition.getQueryWrapper(HDTaskEntity.class, BeanUtil.copy(request, HDTaskEntity.class)); |
||||
queryWrapper.orderByDesc(HDTaskEntity::getCreateTime); |
||||
IPage page = this.page(Condition.getPage(query),queryWrapper); |
||||
page.setRecords(HDTaskWrapper.build().listVO(page.getRecords())); |
||||
if(CollectionUtil.isNotEmpty(page.getRecords())) { |
||||
List<Long> taskIdList = (List<Long>) page.getRecords().stream().map(t -> ((HDTaskVO) t).getId()).collect(Collectors.toList()); |
||||
List<HDTaskCheckItemEntity> abnormalItem = taskCheckItemService.list(Wrappers.<HDTaskCheckItemEntity>lambdaQuery() |
||||
.eq(HDTaskCheckItemEntity::getStatus, 0) |
||||
.in(HDTaskCheckItemEntity::getTaskId, taskIdList) |
||||
); |
||||
List<Long> abnormalTaskId = abnormalItem.stream().map(HDTaskCheckItemEntity::getTaskId).distinct().collect(Collectors.toList()); |
||||
page.getRecords().stream().filter(t -> abnormalTaskId.contains(((HDTaskVO) t).getId())).forEach(t -> ((HDTaskVO) t).setIsAbnormal(true)); |
||||
} |
||||
return page; |
||||
} |
||||
|
||||
/** |
||||
* 完成隐患排查任务 |
||||
* @param taskId 任务ID |
||||
* @return 执行结果 |
||||
*/ |
||||
@Override |
||||
public Boolean finishTask(Long taskId) { |
||||
List<HDTaskCheckItemEntity> unfinishItemList = taskCheckItemService.list( |
||||
Wrappers.<HDTaskCheckItemEntity>lambdaQuery().eq(HDTaskCheckItemEntity::getTaskId, taskId) |
||||
.isNull(HDTaskCheckItemEntity::getCheckTime) |
||||
); |
||||
Assert.isTrue(CollectionUtil.isEmpty(unfinishItemList),() -> { |
||||
throw new ServiceException("存在未完成的排查项:" +unfinishItemList.stream().map(HDTaskCheckItemEntity::getCheckItemName).collect(Collectors.joining(","))+ ",任务无法提交!"); |
||||
}); |
||||
return this.update( |
||||
Wrappers.<HDTaskEntity>lambdaUpdate() |
||||
.set(HDTaskEntity::getStatus, Constants.TaskStatusEnum.FINISH.getStatus()) |
||||
.eq(HDTaskEntity::getId,taskId) |
||||
); |
||||
} |
||||
|
||||
private QueryWrapper getQueryWrapper(HDTaskDTO req) { |
||||
QueryWrapper<HDTaskEntity> queryWrapper = Wrappers.query(); |
||||
if(StringUtil.isNotBlank(req.getStationCode())) { |
||||
queryWrapper.eq("station_code",req.getStationCode()); |
||||
} |
||||
if(StringUtil.isNotBlank(req.getYearMonth())) { |
||||
queryWrapper.eq("DATE_FORMAT(start_time,'%Y-%m')",req.getYearMonth()); |
||||
} |
||||
if(ObjectUtil.isNotEmpty(req.getTaskStartTime())) { |
||||
queryWrapper.ge("start_time",req.getTaskStartTime()); |
||||
} |
||||
if(ObjectUtil.isNotEmpty(req.getTaskEndTime())) { |
||||
queryWrapper.le("start_time",req.getTaskEndTime()); |
||||
} |
||||
return queryWrapper; |
||||
} |
||||
} |
@ -0,0 +1,53 @@
|
||||
package com.hnac.hzims.safeproduct.hiddenDanger.service.impl; |
||||
|
||||
import com.alibaba.fastjson.JSON; |
||||
import com.alibaba.fastjson.JSONArray; |
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.dto.PlanCheckItemDTO; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.entity.PlanCheckItemEntity; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.mapper.PlanCheckItemMapper; |
||||
import com.hnac.hzims.safeproduct.hiddenDanger.service.IPlanCheckItemService; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.core.log.exception.ServiceException; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.tool.utils.CollectionUtil; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.util.Assert; |
||||
|
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @ClassName PlanCheckItemServiceImpl |
||||
* @description: |
||||
* @author: hx |
||||
* @create: 2023-10-07 14:35 |
||||
* @Version 4.0 |
||||
**/ |
||||
@Service |
||||
@AllArgsConstructor |
||||
@Slf4j |
||||
public class PlanCheckItemServiceImpl extends BaseServiceImpl<PlanCheckItemMapper, PlanCheckItemEntity> implements IPlanCheckItemService { |
||||
|
||||
/** |
||||
* 保存/编辑计划排查项 |
||||
* @param itemList 排查项列表 |
||||
* @return |
||||
*/ |
||||
@Override |
||||
public Boolean doSaveOrUpdateBatch(List<PlanCheckItemDTO> itemList) { |
||||
Assert.isTrue(!itemList.stream().map(PlanCheckItemDTO::getPlanId).anyMatch(Func::isEmpty),() -> { |
||||
throw new ServiceException("保存计划排查项是必须包含计划ID"); |
||||
}); |
||||
List<Long> idList = itemList.stream().map(PlanCheckItemDTO::getId).filter(Func::isNotEmpty).distinct().collect(Collectors.toList()); |
||||
LambdaQueryWrapper<PlanCheckItemEntity> wrapper = Wrappers.<PlanCheckItemEntity>lambdaQuery().select(PlanCheckItemEntity::getId) |
||||
.eq(PlanCheckItemEntity::getPlanId, itemList.get(0).getPlanId()) |
||||
.notIn(CollectionUtil.isNotEmpty(idList),PlanCheckItemEntity::getId, idList); |
||||
List<Long> removeIdList = this.listObjs(wrapper, Func::toLong); |
||||
this.deleteLogic(removeIdList); |
||||
return this.saveOrUpdateBatch(JSONArray.parseArray(JSON.toJSONString(itemList),PlanCheckItemEntity.class)); |
||||
} |
||||
} |
Loading…
Reference in new issue