ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java
@@ -7,9 +7,7 @@ import com.ruoyi.system.dto.EditHiddenDangerResponsiblePersonDto; import com.ruoyi.system.model.*; import com.ruoyi.system.model.Record; import com.ruoyi.system.query.DeviceDetailCheckListQuery; import com.ruoyi.system.query.DeviceListQuery; import com.ruoyi.system.query.HiddenDangerListQuery; import com.ruoyi.system.query.*; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.*; import io.swagger.annotations.Api; @@ -21,8 +19,14 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import static java.util.stream.Collectors.groupingBy; @RestController @RequestMapping("/project") @@ -44,6 +48,19 @@ @Autowired private RecordService recordService; @Autowired private CheckService checkService; @Autowired private OnDutyService onDutyService; @Autowired private PositionService positionService; @Autowired private PlanService planService; @@ -70,7 +87,7 @@ } @ApiOperation(value = "获取项目隐患数量",response = Project.class) @ApiOperation(value = "获取项目隐患数量",response = HiddenDangerVo.class) @GetMapping("/getProjectHiddenDangerCount/{id}") public R<HiddenDangerVo> getProjectHiddenDangerCount(@PathVariable Integer id) { HiddenDangerVo hiddenDangerVo = new HiddenDangerVo(); @@ -85,6 +102,13 @@ hiddenDangerVo.setUnRectified(records.size()-rectified); } return R.ok(hiddenDangerVo); } @ApiOperation(value = "获取设备数量",response = DeviceCountVo.class) @GetMapping("/getProjectDeviceCount/{id}") public R<List<DeviceCountVo>> getProjectDeviceCount(@PathVariable Integer id) { List<DeviceCountVo> list = deviceUsageService.getProjectDeviceCount(id); return R.ok(list); } @@ -137,7 +161,7 @@ } @ApiOperation(value = "获取设备详情检查列表") @ApiOperation(value = "获取设备详情检查列表",response = DeviceDetailCheckListVo.class) @PostMapping("/getDeviceDetailCheckList") public R<Page<DeviceDetailCheckListVo>> getDeviceDetailCheckList(@RequestBody DeviceDetailCheckListQuery query) { Page<DeviceDetailCheckListVo> page = new Page<>(query.getPageNum(), query.getPageSize()); @@ -145,4 +169,78 @@ page.setRecords(list); return R.ok(page); } @ApiOperation(value = "获取设备详情检查资料列表") @GetMapping("/getDeviceDetailCheckPlanList") public R<List<Check>> getDeviceDetailCheckPlanList(@RequestParam Integer planId) { List<Check> list = checkService.list(new LambdaQueryWrapper<Check>().eq(Check::getPlanId,planId).orderByDesc(Check::getTime)); return R.ok(list); } @ApiOperation(value = "获取设备详情检查资料详情") @GetMapping("/getDeviceDetailCheckPlanDetail") public R<Check> getDeviceDetailCheckPlanDetail(@RequestParam Integer id) { Check check = checkService.getDeviceDetailCheckPlanDetail(id); return R.ok(check); } @ApiOperation(value = "获取大屏人员在岗信息") @GetMapping("/getProjectPersonInfo") public R<List<ProjectPersonInfoVo>> getProjectPersonInfo(@RequestParam Integer projectId) { List<OnDuty> list = onDutyService.list(new LambdaQueryWrapper<OnDuty>().eq(OnDuty::getProjectId,projectId)); Map<Integer, List<OnDuty>> map = list.stream().collect(groupingBy(OnDuty::getPositionId)); List<ProjectPersonInfoVo> resultList = new ArrayList<>(); // map循环 for (Map.Entry<Integer, List<OnDuty>> entry : map.entrySet()){ Integer key = entry.getKey(); Position position = positionService.getById(key); ProjectPersonInfoVo projectPersonInfoVo = new ProjectPersonInfoVo(); projectPersonInfoVo.setPostName(position.getName()); List<OnDuty> onDuties = entry.getValue(); long count = onDuties.stream().filter(e -> e.getState() == 1).count(); int size = onDuties.size(); BigDecimal rate = BigDecimal.valueOf(count).divide(BigDecimal.valueOf(size), 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)).setScale(2, RoundingMode.HALF_UP); projectPersonInfoVo.setRate(rate.toString()); resultList.add(projectPersonInfoVo); } return R.ok(resultList); } @ApiOperation(value = "获取岗位下拉框信息",response = Position.class) @GetMapping("/getPositionList") public R<List<Position>> getPositionList() { List<Position> list = positionService.list(new LambdaQueryWrapper<Position>().eq(Position::getDeleted, false)); return R.ok(list); } @ApiOperation(value = "获取计划下拉框信息",response = Plan.class) @GetMapping("/getPlanList") public R<List<Plan>> getPlanList() { List<Plan> list = planService.list(new LambdaQueryWrapper<Plan>().eq(Plan::getDeleted, false)); return R.ok(list); } @ApiOperation(value = "获取人员在岗列表",response = ProjectPersonOnDutyListVo.class) @PostMapping("/getProjectOnDutyList") public R<Page<ProjectPersonOnDutyListVo>> getProjectOnDutyList(@RequestBody @Valid ProjectPersonListQuery query) { Page<ProjectPersonOnDutyListVo> page = new Page<>(query.getPageNum(), query.getPageSize()); List<ProjectPersonOnDutyListVo> list = onDutyService.getProjectOnDutyList(page,query); page.setRecords(list); return R.ok(page); } @ApiOperation(value = "获取人员在岗详情") @GetMapping("/getProjectOnDutyDetail/{id}") public R<?> getProjectOnDutyDetail(@PathVariable Integer id) { ProjectPersonOnDutyListVo vo = onDutyService.getProjectOnDutyDetail(id); return R.ok(vo); } } ruoyi-system/src/main/java/com/ruoyi/system/mapper/CheckMapper.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.model.Check; import com.ruoyi.system.query.DeviceDetailCheckPlanListQuery; import com.ruoyi.system.vo.DeviceDetailCheckPlanListVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> * 检查情况 Mapper 接口 * </p> * * @author administrator * @since 2026-01-19 */ public interface CheckMapper extends BaseMapper<Check> { List<DeviceDetailCheckPlanListVo> getDeviceDetailCheckPlanList(@Param("page") Page<DeviceDetailCheckPlanListVo> page, @Param("query") DeviceDetailCheckPlanListQuery query); Check getDeviceDetailCheckPlanDetail(@Param("id") Integer id); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/DeviceUsageMapper.java
@@ -6,6 +6,7 @@ import com.ruoyi.system.model.DeviceUsage; import com.ruoyi.system.model.Record; import com.ruoyi.system.query.DeviceListQuery; import com.ruoyi.system.vo.DeviceCountVo; import com.ruoyi.system.vo.DeviceListVo; import org.apache.ibatis.annotations.Param; @@ -27,5 +28,6 @@ List<DeviceListVo> getDeviceList(@Param("page") Page<DeviceListVo> page, @Param("query") DeviceListQuery query); List<DeviceCountVo> getProjectDeviceCount(@Param("id") Integer id); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/OnDutyMapper.java
@@ -1,7 +1,13 @@ package com.ruoyi.system.mapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.model.OnDuty; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.query.ProjectPersonListQuery; import com.ruoyi.system.vo.ProjectPersonOnDutyListVo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -13,4 +19,8 @@ */ public interface OnDutyMapper extends BaseMapper<OnDuty> { List<ProjectPersonOnDutyListVo> getProjectOnDutyList(@Param("page") Page<ProjectPersonOnDutyListVo> page, @Param("query") ProjectPersonListQuery query); ProjectPersonOnDutyListVo getProjectOnDutyDetail(@Param("id") Integer id); } ruoyi-system/src/main/java/com/ruoyi/system/mapper/PlanMapper.java
New file @@ -0,0 +1,14 @@ package com.ruoyi.system.mapper; /** * <p> * Mapper 接口 * </p> * * @author administrator * @since 2026-01-19 */ public interface PlanMapper extends BaseMapper<Plan> { } ruoyi-system/src/main/java/com/ruoyi/system/model/Check.java
New file @@ -0,0 +1,96 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * <p> * 检查情况 * </p> * * @author administrator * @since 2026-01-19 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("check_info") public class Check extends Model<Check> { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * 计划id */ @TableField("plan_id") private Integer planId; /** * 项目id */ @TableField("project_id") private Integer projectId; /** * 委托方id */ @TableField("client_id") private Integer clientId; /** * 安全告知单 */ @TableField("safety_slip") @ApiModelProperty("安全告知单") private String safetySlip; /** * 检查人员照片 */ @TableField("check_user_img") @ApiModelProperty("检查人员照片") private String checkUserImg; /** * 廉政告知单 */ @TableField("integrity_notification") @ApiModelProperty("廉政告知单") private String integrityNotification; /** * 检查时间 */ @TableField("time") @ApiModelProperty("检查时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date time; @TableField("create_time") private Date createTime; @TableField("title") @ApiModelProperty("检查标题") private String title; @TableField(exist = false) @ApiModelProperty("计划名称") private String planName; @TableField(exist = false) @ApiModelProperty("项目名称") private String projectName; } ruoyi-system/src/main/java/com/ruoyi/system/model/Plan.java
New file @@ -0,0 +1,62 @@ package com.ruoyi.system.model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * <p> * * </p> * * @author administrator * @since 2026-01-19 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class Plan extends Model<Plan> { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableField("create_time") private Date createTime; private Boolean deleted; private String name; @TableField("update_time") private Date updateTime; @TableField("completed_time") private Date completedTime; private Integer state; private Integer type; @TableField("creator_id") private Integer creatorId; @TableField("client_id") private Integer clientId; @TableField("device_fuzzy_math_id") private Integer deviceFuzzyMathId; @TableField("device_model_id") private Integer deviceModelId; @TableField("device_score_expert_id") private Integer deviceScoreExpertId; @TableField("system_fuzzy_expert_id") private Integer systemFuzzyExpertId; @TableField("system_model_id") private Integer systemModelId; @TableField("system_score_expert_id") private Integer systemScoreExpertId; @TableField("project_id") private Integer projectId; } ruoyi-system/src/main/java/com/ruoyi/system/query/DeviceDetailCheckPlanListQuery.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @Data @ApiModel("设备详情检查计划列表查询参数") public class DeviceDetailCheckPlanListQuery extends BasePage { @ApiModelProperty("计划id") @NotNull(message = "计划id不能为空") private Integer planId; } ruoyi-system/src/main/java/com/ruoyi/system/query/ProjectPersonListQuery.java
New file @@ -0,0 +1,31 @@ package com.ruoyi.system.query; import com.ruoyi.common.core.domain.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @Data @ApiModel("项目人员在岗列表查询参数") public class ProjectPersonListQuery extends BasePage { @ApiModelProperty(value = "项目id") @NotNull(message = "项目id不能为空") private Integer projectId; @ApiModelProperty(value = "岗位id") private Integer positionId; @ApiModelProperty(value = "计划id") private Integer planId; @ApiModelProperty(value = "开始时间") private String startTime; @ApiModelProperty(value = "结束时间") private String endTime; @ApiModelProperty(value = "搜索内容") private String remark; } ruoyi-system/src/main/java/com/ruoyi/system/service/CheckService.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.model.Check; import com.ruoyi.system.query.DeviceDetailCheckPlanListQuery; import com.ruoyi.system.vo.DeviceDetailCheckPlanListVo; import javax.validation.Valid; import java.util.List; /** * <p> * 检查情况 服务类 * </p> * * @author administrator * @since 2026-01-19 */ public interface CheckService extends IService<Check> { List<DeviceDetailCheckPlanListVo> getDeviceDetailCheckPlanList(Page<DeviceDetailCheckPlanListVo> page, @Valid DeviceDetailCheckPlanListQuery query); Check getDeviceDetailCheckPlanDetail(Integer id); } ruoyi-system/src/main/java/com/ruoyi/system/service/DeviceUsageService.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.model.DeviceUsage; import com.ruoyi.system.query.DeviceListQuery; import com.ruoyi.system.vo.DeviceCountVo; import com.ruoyi.system.vo.DeviceListVo; import javax.validation.Valid; @@ -24,4 +25,6 @@ List<DeviceListVo> getDeviceList(Page<DeviceListVo> page, @Valid DeviceListQuery query); List<DeviceCountVo> getProjectDeviceCount(Integer id); } ruoyi-system/src/main/java/com/ruoyi/system/service/OnDutyService.java
@@ -1,7 +1,13 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.model.OnDuty; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.query.ProjectPersonListQuery; import com.ruoyi.system.vo.ProjectPersonOnDutyListVo; import javax.validation.Valid; import java.util.List; /** * <p> @@ -13,4 +19,8 @@ */ public interface OnDutyService extends IService<OnDuty> { List<ProjectPersonOnDutyListVo> getProjectOnDutyList(Page<ProjectPersonOnDutyListVo> page, @Valid ProjectPersonListQuery query); ProjectPersonOnDutyListVo getProjectOnDutyDetail(Integer id); } ruoyi-system/src/main/java/com/ruoyi/system/service/PlanService.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.model.Plan; /** * <p> * 服务类 * </p> * * @author administrator * @since 2026-01-19 */ public interface PlanService extends IService<Plan> { } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CheckServiceImpl.java
New file @@ -0,0 +1,35 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.mapper.CheckMapper; import com.ruoyi.system.model.Check; import com.ruoyi.system.query.DeviceDetailCheckPlanListQuery; import com.ruoyi.system.service.CheckService; import com.ruoyi.system.vo.DeviceDetailCheckPlanListVo; import org.springframework.stereotype.Service; import java.util.List; /** * <p> * 检查情况 服务实现类 * </p> * * @author administrator * @since 2026-01-19 */ @Service public class CheckServiceImpl extends ServiceImpl<CheckMapper, Check> implements CheckService { @Override public List<DeviceDetailCheckPlanListVo> getDeviceDetailCheckPlanList(Page<DeviceDetailCheckPlanListVo> page, DeviceDetailCheckPlanListQuery query) { return this.baseMapper.getDeviceDetailCheckPlanList(page, query); } @Override public Check getDeviceDetailCheckPlanDetail(Integer id) { return this.baseMapper.getDeviceDetailCheckPlanDetail(id); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/DeviceUsageServiceImpl.java
@@ -8,6 +8,7 @@ import com.ruoyi.system.model.Record; import com.ruoyi.system.query.DeviceListQuery; import com.ruoyi.system.service.DeviceUsageService; import com.ruoyi.system.vo.DeviceCountVo; import com.ruoyi.system.vo.DeviceListVo; import org.springframework.stereotype.Service; @@ -49,5 +50,10 @@ return deviceList; } @Override public List<DeviceCountVo> getProjectDeviceCount(Integer id) { return this.baseMapper.getProjectDeviceCount(id); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OnDutyServiceImpl.java
@@ -1,10 +1,15 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.system.model.OnDuty; import com.ruoyi.system.mapper.OnDutyMapper; import com.ruoyi.system.query.ProjectPersonListQuery; import com.ruoyi.system.service.OnDutyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.vo.ProjectPersonOnDutyListVo; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +22,13 @@ @Service public class OnDutyServiceImpl extends ServiceImpl<OnDutyMapper, OnDuty> implements OnDutyService { @Override public List<ProjectPersonOnDutyListVo> getProjectOnDutyList(Page<ProjectPersonOnDutyListVo> page, ProjectPersonListQuery query) { return this.baseMapper.getProjectOnDutyList(page,query); } @Override public ProjectPersonOnDutyListVo getProjectOnDutyDetail(Integer id) { return this.baseMapper.getProjectOnDutyDetail(id); } } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PlanServiceImpl.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.system.service.impl; import com.ruoyi.system.model.Plan; import com.ruoyi.system.service.PlanService; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author administrator * @since 2026-01-19 */ @Service public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements PlanService { } ruoyi-system/src/main/java/com/ruoyi/system/vo/DeviceCountVo.java
New file @@ -0,0 +1,15 @@ package com.ruoyi.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("设备数量信息") public class DeviceCountVo { @ApiModelProperty("设备数量") private Integer count; @ApiModelProperty("设备类型") private Integer type; } ruoyi-system/src/main/java/com/ruoyi/system/vo/DeviceDetailCheckPlanListVo.java
New file @@ -0,0 +1,25 @@ package com.ruoyi.system.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel("设备详情检查计划列表") public class DeviceDetailCheckPlanListVo { private Integer id; @ApiModelProperty("计划名称") private String planName; @ApiModelProperty("计划类型") private Integer planType; @ApiModelProperty("检查时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDateTime checkTime; } ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectPersonInfoVo.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("项目人员信息") public class ProjectPersonInfoVo { @ApiModelProperty("岗位名称") private String postName; @ApiModelProperty("在岗位率") private String rate; } ruoyi-system/src/main/java/com/ruoyi/system/vo/ProjectPersonOnDutyListVo.java
New file @@ -0,0 +1,39 @@ package com.ruoyi.system.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; @Data @ApiModel("项目人员在岗列表") public class ProjectPersonOnDutyListVo { private Integer id; @ApiModelProperty(value = "检查计划名称") private String planName; @ApiModelProperty(value = "检查内容") private String checkContent; @ApiModelProperty(value = "岗位名称") private String postName; @ApiModelProperty(value = "问题备注") private String remark; @ApiModelProperty(value = "检查结果图片") private String img; @ApiModelProperty(value = "检查时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private LocalDateTime time; @ApiModelProperty(value = "在岗情况 1在岗 2未在岗 3请假") private Integer state; } ruoyi-system/src/main/resources/mapper/system/CheckMapper.xml
New file @@ -0,0 +1,46 @@ <?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.ruoyi.system.mapper.CheckMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.system.model.Check"> <id column="id" property="id" /> <result column="plan_id" property="planId" /> <result column="project_id" property="projectId" /> <result column="client_id" property="clientId" /> <result column="safety_slip" property="safetySlip" /> <result column="check_user_img" property="checkUserImg" /> <result column="integrity_notification" property="integrityNotification" /> <result column="time" property="time" /> <result column="create_time" property="createTime" /> </resultMap> <select id="getDeviceDetailCheckPlanList" resultType="com.ruoyi.system.vo.DeviceDetailCheckPlanListVo"> select t2.name as planName,t2.type as planType,t1.time as checkTime from check t1 left join plan t2 on t1.plan_id = t2.id where t1.project_id = #{query.projectId} <if test="query.planType != null"> and t2.type = #{query.planType} </if> <if test="query.planName != null"> and t2.name like concat('%',#{query.planName},'%') </if> <if test="query.startTime != null "> and t1.time >= #{query.startTime} </if> <if test="query.endTime != null"> and #{query.endTime} >= t1.time </if> order by t1.time desc </select> <select id="getDeviceDetailCheckPlanDetail" resultType="com.ruoyi.system.model.Check" parameterType="java.lang.Integer"> select t1.id,t1.title,t1.time,t1.safety_slip,t1.check_user_img,t1.integrity_notification ,t2.name as planName,t3.name as projectName from check_info t1 left join plan t2 on t1.plan_id = t2.id left join project t3 on t1.project_id = t3.id where t1.id = #{id} </select> </mapper> ruoyi-system/src/main/resources/mapper/system/DeviceUsageMapper.xml
@@ -45,5 +45,15 @@ </if> order by latest.record_time desc </select> <select id="getProjectDeviceCount" resultType="com.ruoyi.system.vo.DeviceCountVo" parameterType="java.lang.Integer"> select t1.type, count(t1.id) as count from device t1 left join device_usage t2 on t1.id = t2.device_id where t2.project_id = #{projectId} and t2.deleted = 0 group by t1.type </select> </mapper> ruoyi-system/src/main/resources/mapper/system/OnDutyMapper.xml
@@ -22,5 +22,36 @@ <sql id="Base_Column_List"> id, plan_id, project_id, client_id, content, position_id, position_name, remark, img, time, state, create_time </sql> <select id="getProjectOnDutyList" resultType="com.ruoyi.system.vo.ProjectPersonOnDutyListVo"> select t1.id,t2.name as planName,t1.content,t3.name as postName,t1.remark,t1.img,t1.time,t1.state from on_duty t1 left join plan t2 on t1.plan_id = t2.id left join position t3 on t1.position_id = t3.id where t1.project_id = #{query.projectId} <if test="query.planId != null"> and t1.plan_id = #{query.planId} </if> <if test="query.positionId != null"> and t1.position_id = #{query.positionId} </if> <if test="query.startTime != null"> and t1.time >= #{query.startTime} </if> <if test="query.endTime != null"> and #{query.endTime} >= t1.time </if> <if test="query.remark != null"> and t1.remark like concat('%',#{query.remark},'%') </if> order by t1.time desc </select> <select id="getProjectOnDutyDetail" resultType="com.ruoyi.system.vo.ProjectPersonOnDutyListVo" parameterType="java.lang.Integer"> select t1.id,t2.name as planName,t1.content,t3.name as postName,t1.remark,t1.img,t1.time,t1.state from on_duty t1 left join plan t2 on t1.plan_id = t2.id left join position t3 on t1.position_id = t3.id where t1.id =#{id} </select> </mapper> ruoyi-system/src/main/resources/mapper/system/PlanMapper.xml
New file @@ -0,0 +1,26 @@ <?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.ruoyi.system.mapper.PlanMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.system.model.Plan"> <id column="id" property="id" /> <result column="create_time" property="createTime" /> <result column="deleted" property="deleted" /> <result column="name" property="name" /> <result column="update_time" property="updateTime" /> <result column="completed_time" property="completedTime" /> <result column="state" property="state" /> <result column="type" property="type" /> <result column="creator_id" property="creatorId" /> <result column="client_id" property="clientId" /> <result column="device_fuzzy_math_id" property="deviceFuzzyMathId" /> <result column="device_model_id" property="deviceModelId" /> <result column="device_score_expert_id" property="deviceScoreExpertId" /> <result column="system_fuzzy_expert_id" property="systemFuzzyExpertId" /> <result column="system_model_id" property="systemModelId" /> <result column="system_score_expert_id" property="systemScoreExpertId" /> <result column="project_id" property="projectId" /> </resultMap> </mapper>