guoshilong
2024-01-31 a821c2819270f9be222f84b8c358e4ebfe3afb53
巡查记录详情接口
12 files modified
1 files added
313 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolRecordController.java 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.xml 88 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolRecordService.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolRecordServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolRecordVO.java 3 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/RecordVO.java 37 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/QualityManageController.java 17 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/excel/QualityManageExcel.java 76 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml 56 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IQualityManageService.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/QualityManageServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolRecordController.java
@@ -9,6 +9,7 @@
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordBatchVO;
import cn.gistack.sm.patrol.vo.RecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -172,4 +173,11 @@
        return R.data(patrolRecordService.getHistoryRecord(patrolRecordVO));
    }
    @GetMapping("getRecordDetail")
    public R getRecordVO(RecordVO recordVO){
        RecordVO detail = patrolRecordService.getRecordVO(recordVO);
        return R.data(detail);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.java
@@ -4,6 +4,7 @@
import cn.gistack.sm.patrol.entity.PatrolRecord;
import cn.gistack.sm.patrol.entity.PatrolType;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
@@ -24,4 +25,6 @@
    List<PatrolRecord> getByTaskIdAndGroupId(@Param("vo") PatrolRecordVO patrolRecordVO);
    List<PatrolGroupDTO> getHistoryRecord(@Param("vo") PatrolRecordVO patrolRecordVO);
    RecordVO getRecordVO(@Param("vo") RecordVO recordVO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.xml
@@ -12,6 +12,7 @@
                typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result column="content" property="content"/>
        <result column="status" property="status"/>
        <result column="state" property="state"/>
        <result column="item_id" property="itemId"/>
        <result column="task_id" property="taskId"/>
        <result column="patrol_route" property="patrolRoute"/>
@@ -39,7 +40,7 @@
    <select id="selectPatrolRecord" resultMap="selectPatrolRecordList">
        SELECT
        record.id,record.patrol_type,record.device_ids,record.images,record.videos,record.content,record.status,record.item_id,record.task_id,record.patrol_route,record.create_time,record.update_time,record.solution,
        record.id,record.patrol_type,record.device_ids,record.images,record.videos,record.content,record.status,record.state,record.item_id,record.task_id,record.patrol_route,record.create_time,record.update_time,record.solution,
        task.route_coordinates taskRoute,task.title taskName,
        item.items_name itemsName,item.description,
        u.real_name,res."name" resName,res."guid" resGuid,
@@ -85,6 +86,18 @@
        </if>
        <if test="patrolRecord.resName != null and patrolRecord.resName !=''">
            AND res."name" LIKE CONCAT('%',#{patrolRecord.resName},'%')
        </if>
        <if test="patrolRecord.resRegCode != null and patrolRecord.resRegCode !=''">
            AND res."res_reg_code" LIKE CONCAT('%',#{patrolRecord.resRegCode},'%')
        </if>
        <if test="patrolRecord.state != null and patrolRecord.state !='' or patrolRecord.state == '0'">
            AND record.state = #{patrolRecord.state}
        </if>
        <if test="patrolRecord.startTime!=null and patrolRecord.startTime!=''">
            and record.create_time>= #{patrolRecord.startTime}
        </if>
        <if test="patrolRecord.endTime!=null and patrolRecord.endTime!=''">
            and record.create_time &lt;= #{patrolRecord.endTime}
        </if>
        ORDER BY record.create_time DESC
    </select>
@@ -219,4 +232,77 @@
    </select>
    <resultMap id="getRecordVO" type="cn.gistack.sm.patrol.vo.RecordVO">
        <result property="taskName" column="taskName"/>
        <result property="taskId" column="taskId"/>
        <result property="itemId" column="itemId"/>
        <result property="itemName" column="itemName"/>
        <result property="patrolStatus" column="patrolStatus"/>
        <result property="patrolUserId" column="patrolUserId"/>
        <result property="patrolUserName" column="patrolUserName"/>
        <result property="patrolContent" column="patrolContent"/>
        <result property="patrolTime" column="patrolTime"/>
        <result property="patrolVideo" column="patrolVideo" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="patrolImg" column="patrolImg" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="handleStatus" column="handleStatus"/>
        <result property="handleUserId" column="handleUserId"/>
        <result property="handleUserName" column="handleUserName"/>
        <result property="handleContent" column="handleContent"/>
        <result property="handleTime" column="handleTime"/>
        <result property="handleVideo" column="handleVideo" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="handleImg" column="handleImg" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
    </resultMap>
    <select id="getRecordVO" resultMap="getRecordVO">
        SELECT
            patrol.*,
            handle.IMAGES handleImg,
            handle.VIDEOS handleVideo,
            handle.CONTENT handleContent,
            handle.create_time handleTime,
            handle.CREATE_USER handleUserId,
            BU.REAL_NAME handleUserName
        FROM (
                 SELECT
                     SPR1.IMAGES patrolImg,
                     SPR1.VIDEOS patrolVideo,
                     CASE WHEN SPR1.STATUS = '1' THEN '正常'
                          WHEN SPR1.STATUS = '2' THEN '异常'
                        ELSE ''
                    END AS patrolStatus,
                     CASE WHEN SPR1.STATE = '0' THEN '待处理'
                         WHEN SPR1.STATE = '1' THEN '已处理'
                         ELSE ''
                    END AS handleStatus,
                     SPR1.CONTENT patrolContent,
                     SPR1.CREATE_USER patrolUserId,
                     SPR1.CREATE_TIME patrolTime,
                     BU.REAL_NAME patrolUserName,
                     SPR1.TASK_ID taskId,
                     SPT.title as taskName,
                     SPR1.ITEM_ID itemId,
                     SPGI.ITEMS_NAME itemName
                 FROM YWXT.SM_PATROL_RECORD SPR1
                          LEFT JOIN YWXT.SM_PATROL_TASK SPT ON SPT.ID = SPR1.TASK_ID
                          LEFT JOIN YWXT.BLADE_USER BU ON BU.ID = SPR1.CREATE_USER
                            LEFT JOIN YWXT.SM_PATROL_GROUP_ITEM SPGI ON SPGI.ID = SPR1.ITEM_ID
                 WHERE SPR1.ID = #{vo.recordId}
             ) patrol LEFT JOIN YWXT.SM_PATROL_RECORD handle ON handle.ITEM_ID = PATROL.itemId AND handle.TASK_ID = PATROL.taskId AND handle.id != #{vo.recordId}
             LEFT JOIN YWXT.BLADE_USER BU ON BU.ID = handle.CREATE_USER
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolRecordService.java
@@ -7,6 +7,7 @@
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordBatchVO;
import cn.gistack.sm.patrol.vo.RecordVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
@@ -58,4 +59,6 @@
    Boolean updateThenSaveBatch(RecordBatchVO recordBatchVO);
    List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO);
    RecordVO getRecordVO(RecordVO recordVO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolRecordServiceImpl.java
@@ -10,6 +10,7 @@
import cn.gistack.sm.patrol.vo.PatrolGroupItemVO;
import cn.gistack.sm.patrol.vo.PatrolRecordVO;
import cn.gistack.sm.patrol.vo.RecordBatchVO;
import cn.gistack.sm.patrol.vo.RecordVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
@@ -97,4 +98,9 @@
    public List<PatrolGroupDTO> getHistoryRecord(PatrolRecordVO patrolRecordVO) {
        return baseMapper.getHistoryRecord(patrolRecordVO);
    }
    @Override
    public RecordVO getRecordVO(RecordVO recordVO) {
        return baseMapper.getRecordVO(recordVO);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolRecordVO.java
@@ -74,4 +74,7 @@
    private String cityName;
    private String countyName;
    private String townName;
    private String startTime;
    private String endTime;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/RecordVO.java
New file
@@ -0,0 +1,37 @@
package cn.gistack.sm.patrol.vo;
import lombok.Data;
/**
 * 巡查记录和处理记录
 */
@Data
public class RecordVO {
    private String patrolStatus;
    private String taskId;
    private String taskName;
    private String itemId;
    private String itemName;
    private String patrolUserId;
    private String patrolUserName;
    private String patrolContent;
    private String patrolTime;
    private Object[] patrolImg;
    private Object[] patrolVideo;
    private String handleStatus;
    private String handleUserId;
    private String handleUserName;
    private String handleTime;
    private String handleContent;
    private Object[] handleImg;
    private Object[] handleVideo;
    private String recordId;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/controller/QualityManageController.java
@@ -2,8 +2,11 @@
import cn.gistack.sm.resDataCheck.entity.QualityManage;
import cn.gistack.sm.resDataCheck.entity.RulesCondition;
import cn.gistack.sm.resDataCheck.excel.QualityManageDetailExcel;
import cn.gistack.sm.resDataCheck.excel.QualityManageExcel;
import cn.gistack.sm.resDataCheck.service.IQualityManageService;
import cn.gistack.sm.resDataCheck.service.IRulesConditionService;
import cn.gistack.sm.resDataCheck.vo.QualityManageDetailVO;
import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
@@ -11,14 +14,18 @@
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
 * @Description: 数据规则校验
@@ -103,4 +110,14 @@
        return R.data(qualityManageVO);
    }
    /**
     * 导出数据
     */
    @GetMapping("export-data")
    public void exportUser(QualityManageVO qualityManageVO, HttpServletResponse response) {
        List<QualityManageExcel> list = qualityManageService.exportData(qualityManageVO);
        ExcelUtil.export(response, "大坝安全监测数据" + DateUtil.time(), "大坝安全监测数据表", list, QualityManageExcel.class);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/excel/QualityManageExcel.java
@@ -32,15 +32,15 @@
    @ExcelProperty("数据来源")
    private String flag;
    //市(州)
    @ExcelProperty("市(州)")
    private String cityName;
    //所在地点
    @ExcelProperty("所在地点")
    private String resLoc;
    //县(区)
    @ExcelProperty("县(区)")
    private String countyName;
    @ExcelProperty("管理行政区")
    private String adName;
    //注册登记号
    @ExcelProperty("注册登记号")
@@ -50,63 +50,25 @@
    @ExcelProperty("工程规模")
    private String engScal;
    //是否有闸
    @ExcelProperty("是否有闸")
    private String isGate;
    //校验规则名称
    @ExcelProperty("校验规则名称")
    private String ruleName;
    //校验规则描述
    @ExcelProperty("校验规则描述")
    private String ruleDesc;
    //是否病险
    @ExcelProperty("是否病险")
    private String isDanger;
    //校验结果描述
    @ExcelProperty("校验结果描述")
    private String proDesc;
    //实时水位
    @ExcelProperty("当前水位(m)")
    private String rz;
    //堰顶高程
    @ExcelProperty("堰顶高程(m)")
    private String tbWeirTopElevation;
    //主汛期限制水位
    @ExcelProperty("汛限水位(m)")
    private String tbFlseLimStag;
    //正常蓄水位
    @ExcelProperty("正常水位(m)")
    private String tbNormPoolStag;
    //控制运行水位
    @ExcelProperty("控制水位(m)")
    private String tbControlZ;
    //设计洪水位
    @ExcelProperty("设计水位(m)")
    private String tbDesFlStag;
    //校核洪水位
    @ExcelProperty("校核水位(m)")
    private String tbCheckFlStag;
    //坝顶高程
    @ExcelProperty("坝顶高程(m)")
    private String tbDamTopElevation;
    //死水位
    @ExcelProperty("死水位(m)")
    private String tbDeadStag;
    //校验时间
    @ExcelProperty("校验时间")
    private String createTime;
    //校验结果描述
    @ExcelProperty("数据结果")
    private String val;
    //备注
    @ExcelProperty("备注")
    @ColumnWidth(50)
    private String remark;
    @ExcelProperty("校验时间")
    private String createTime;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.java
@@ -2,6 +2,7 @@
import cn.gistack.sm.resDataCheck.entity.QualityManage;
import cn.gistack.sm.resDataCheck.entity.Rules;
import cn.gistack.sm.resDataCheck.excel.QualityManageExcel;
import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
import cn.gistack.sm.resDataCheck.vo.RulesVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -21,4 +22,5 @@
    Integer addQualityManage(@Param("ruleId") Long ruleId, @Param("varStr") String varStr, @Param("whereStr") String whereStr);
    List<QualityManageExcel> exportData(@Param("vo") QualityManageVO qualityManageVO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/mapper/QualityManageMapper.xml
@@ -101,4 +101,60 @@
            ${whereStr}
    </insert>
    <select id="exportData" resultType="cn.gistack.sm.resDataCheck.vo.QualityManageVO">
        SELECT
        arb."guid" AS resGuid,
        arb."name" AS resName,
        arb."res_loc" AS resLoc,
        CASE aab."ad_name"
        when '' then
        CASE aa."ad_name" when '' then
        CASE ab."ad_name" when '' then ac."ad_name" else ab."ad_name" end
        else aa."ad_name"
        END
        else aab."ad_name"
        END  adName,
        arb."res_reg_code" AS resRegCode,
        arb."eng_scal" AS engScal,
        rule.name AS ruleName,
        rule.description AS ruleDesc,
        rule.pro_description AS proDesc,
        qm.*
        FROM (
        select * from  SM_RES_DATA_QUALITY_MANAGE qm
        WHERE qm.is_deleted = 0
        <if test="vo.startTime !=null and vo.startTime !=''">
            AND qm.create_time &gt;= #{vo.startTime}
        </if>
        <if test="vo.endTime !=null and vo.endTime !=''">
            AND qm.create_time &lt;= #{vo.endTime}
        </if>
        ) as qm
        LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = qm.res_id
        LEFT JOIN SM_RES_DATA_CHECK_RULES rule ON rule.id = qm.rule_id
        left join "SJZT_MD"."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
        left join "SJZT_MD"."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
        left join "SJZT_MD"."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
        left join "SJZT_MD"."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
        <where>
            <if test="vo.resName !=null and vo.resName !='' ">
                AND arb."name" LIKE CONCAT('%',#{vo.resName},'%')
            </if>
            <if test="vo.engScal !=null and vo.engScal !='' ">
                AND arb."eng_scal"  = #{vo.engScal}
            </if>
            <if test="vo.ruleName !=null and vo.ruleName !='' ">
                AND rule.name LIKE CONCAT('%',#{vo.ruleName},'%')
            </if>
            <if test="vo.adCode != null and vo.adCode != '' ">
                and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
            </if>
        </where>
        order by qm.create_time desc
    </select>
</mapper>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/IQualityManageService.java
@@ -1,10 +1,13 @@
package cn.gistack.sm.resDataCheck.service;
import cn.gistack.sm.resDataCheck.entity.QualityManage;
import cn.gistack.sm.resDataCheck.excel.QualityManageExcel;
import cn.gistack.sm.resDataCheck.vo.QualityManageVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
public interface IQualityManageService extends BaseService<QualityManage> {
    Object selectCustomizePage(IPage<QualityManageVO> page, QualityManageVO qualityManageVO);
@@ -13,4 +16,5 @@
    Integer addQualityManage(Long ruleId, String varStr, String whereStr);
    List<QualityManageExcel> exportData(QualityManageVO qualityManageVO);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/resDataCheck/service/impl/QualityManageServiceImpl.java
@@ -1,6 +1,8 @@
package cn.gistack.sm.resDataCheck.service.impl;
import cn.gistack.sm.resDataCheck.entity.QualityManage;
import cn.gistack.sm.resDataCheck.excel.QualityManageDetailExcel;
import cn.gistack.sm.resDataCheck.excel.QualityManageExcel;
import cn.gistack.sm.resDataCheck.mapper.QualityManageMapper;
import cn.gistack.sm.resDataCheck.service.IQualityManageDetailService;
import cn.gistack.sm.resDataCheck.service.IQualityManageService;
@@ -10,6 +12,8 @@
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@AllArgsConstructor
@@ -40,4 +44,10 @@
        return baseMapper.addQualityManage(ruleId, varStr, whereStr);
    }
    @Override
    public List<QualityManageExcel> exportData(QualityManageVO qualityManageVO) {
        List<QualityManageExcel> list = baseMapper.exportData(qualityManageVO);
        return list;
    }
}