| | |
| | | |
| | | //查询条件 |
| | | @TableField(exist = false) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date createStartTime; |
| | | |
| | | @TableField(exist = false) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date createEndTime; |
| | | |
| | | @TableField(exist = false) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date auditingStartTime; |
| | | |
| | | @TableField(exist = false) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date auditingEndTime; |
| | | |
| | | } |
| | |
| | | package com.ycl.platform.domain.query; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.annotation.JsonProperty; |
| | | import com.ycl.platform.base.AbsQuery; |
| | | import enumeration.general.FastDistributeTypeEnum; |
| | | import enumeration.general.WorkOrderStatusEnum; |
| | | import io.swagger.annotations.ApiModel; |
| | | import jakarta.validation.constraints.Min; |
| | | import jakarta.validation.constraints.NotNull; |
| | | import lombok.Data; |
| | | import lombok.experimental.Accessors; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | |
| | | */ |
| | | private String status; |
| | | |
| | | /** |
| | | * 状态不为待下发(工单列表复用) |
| | | */ |
| | | private Boolean isNotDistribute; |
| | | |
| | | /** |
| | | * 运维处理时间 |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date start; |
| | | |
| | | /** |
| | | * 运维处理时间 |
| | | */ |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date end; |
| | | } |
| | | |
| | |
| | | @Accessors(chain = true) |
| | | @ApiModel(value = "工单白名单查询", description = "工单白名单查询") |
| | | public class WorkOrderWhiteQuery extends AbsQuery { |
| | | private String serialNumber; |
| | | private String pointName; |
| | | private String keyword; |
| | | } |
| | |
| | | public class YwPointQuery extends AbsQuery { |
| | | /** 关键词 */ |
| | | private String keyword; |
| | | |
| | | /** 单位 */ |
| | | private Integer unitId; |
| | | /** 动态列的表明条件 */ |
| | | private String tableName = "t_yw_point"; |
| | | |
| | |
| | | |
| | | /** 运维单位 */ |
| | | private Integer unitId; |
| | | @Excel(name = "运维单位",sort = 4) |
| | | @Excel(name = "运维单位",sort = 5) |
| | | private String unitName; |
| | | private String unitContact; |
| | | private String unitContactPhone; |
| | |
| | | /** 工单来源/设备名称 */ |
| | | @Excel(name = "设备名称",sort = 3) |
| | | private String source; |
| | | |
| | | /** ip */ |
| | | @Excel(name = "IP",sort = 4) |
| | | private String ip; |
| | | /** |
| | | * 设备编号 |
| | | */ |
| | |
| | | */ |
| | | @Override |
| | | public List<ContractResultVO> selectCheckResultList(ContractResultVO contractResult) { |
| | | Integer unitId = SecurityUtils.getUnitId(); |
| | | Long uid = null; |
| | | if (Objects.nonNull(unitId)) { |
| | | uid = Long.valueOf(unitId); |
| | | //避免查询条件失效 |
| | | if(contractResult.getUnitId()==null) { |
| | | Integer unitId = SecurityUtils.getUnitId(); |
| | | Long uid = null; |
| | | if (Objects.nonNull(unitId)) { |
| | | uid = Long.valueOf(unitId); |
| | | } |
| | | contractResult.setUnitId(uid); |
| | | } |
| | | contractResult.setUnitId(uid); |
| | | return checkResultMapper.selectCheckResultList(contractResult); |
| | | } |
| | | |
| | |
| | | import com.ycl.platform.mapper.YwUnitMapper; |
| | | import com.ycl.platform.service.IContractScoreService; |
| | | import com.ycl.system.entity.SysUser; |
| | | import com.ycl.utils.DateUtils; |
| | | import com.ycl.utils.SecurityUtils; |
| | | import enumeration.general.AuditingStatus; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | */ |
| | | @Override |
| | | public List<ContractScore> selectDefaultScoreList(ContractScore contractScore) { |
| | | Integer unitId = SecurityUtils.getUnitId(); |
| | | Long uid = null; |
| | | if (Objects.nonNull(unitId)) { |
| | | uid = Long.valueOf(unitId); |
| | | //避免搜索条件失效 |
| | | if(contractScore.getUnitId()==null) { |
| | | //TODO:数据权限(暂时不知道要不要数据权限) |
| | | Integer unitId = SecurityUtils.getUnitId(); |
| | | Long uid = null; |
| | | if (Objects.nonNull(unitId)) { |
| | | uid = Long.valueOf(unitId); |
| | | } |
| | | contractScore.setUnitId(uid); |
| | | } |
| | | contractScore.setUnitId(uid); |
| | | if(contractScore.getCreateStartTime()!=null) { |
| | | contractScore.setCreateStartTime(DateUtils.getDayStart(contractScore.getCreateStartTime())); |
| | | } |
| | | if(contractScore.getCreateEndTime()!=null) { |
| | | contractScore.setCreateEndTime(DateUtils.getDayStart(contractScore.getCreateEndTime())); |
| | | } |
| | | if(contractScore.getAuditingStartTime()!=null) { |
| | | contractScore.setAuditingStartTime(DateUtils.getDayStart(contractScore.getAuditingStartTime())); |
| | | } |
| | | if(contractScore.getAuditingEndTime()!=null) { |
| | | contractScore.setAuditingEndTime(DateUtils.getDayStart(contractScore.getAuditingEndTime())); |
| | | } |
| | | return contractScoreMapper.selectDefaultScoreList(contractScore); |
| | | } |
| | | |
| | |
| | | return Boolean.TRUE; |
| | | } |
| | | List<String> willAddSerialNumber = waitAddList.stream().map(WorkOrder::getSerialNumber).collect(Collectors.toList()); |
| | | //只生成考核设备的工单 |
| | | //只生成考核设备、且有运维单位的工单 |
| | | List<YwPoint> pointList = new LambdaQueryChainWrapper<>(ywPointService.getBaseMapper()) |
| | | .select(YwPoint::getUnitId, YwPoint::getSerialNumber, YwPoint::getImportantTag, YwPoint::getImportantTag, YwPoint::getProvinceTag, YwPoint::getImportantCommandImageTag) |
| | | .in(YwPoint::getSerialNumber, willAddSerialNumber) |
| | | .eq(YwPoint::getExamineStatus, Boolean.TRUE) |
| | | .isNotNull(YwPoint::getUnitId) |
| | | .list(); |
| | | Map<String, YwPoint> pointMapping = pointList.stream().collect(Collectors.toMap(YwPoint::getSerialNumber, point -> point)); |
| | | // 查出重点点位、普通点位的处理时间 |
| | |
| | | @Override |
| | | public Result page(WorkOrderQuery query) { |
| | | IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class); |
| | | query.setUnitId(SecurityUtils.getUnitId()); |
| | | if(query.getUnitId()==null) { |
| | | query.setUnitId(SecurityUtils.getUnitId()); |
| | | } |
| | | query.setStart(DateUtils.getDayStart(query.getStart())); |
| | | query.setEnd(DateUtils.getDayEnd(query.getEnd())); |
| | | baseMapper.page(page, query); |
| | |
| | | |
| | | @Override |
| | | public Result workList(DistributeWorkOrderQuery query) { |
| | | query.setStart(DateUtils.getDayStart(query.getStart())); |
| | | query.setEnd(DateUtils.getDayEnd(query.getEnd())); |
| | | List<YwUnit> ywUnits = baseMapper.selectList(null); |
| | | List<YwUnitVO> lists = ywUnits.stream().map(item -> { |
| | | YwUnitVO vo = new YwUnitVO(); |
| | |
| | | <result column="errorType" property="errorType"/> |
| | | <result column="status" property="status"/> |
| | | <result column="source" property="source"/> |
| | | <result column="ip" property="ip"/> |
| | | <result column="imgListStr" property="imgListStr"/> |
| | | <!-- <collection property="errorTypeList" select="getErrorType" column="{workOrderNo=work_order_no,errList=errList}" ofType="string"/>--> |
| | | </resultMap> |
| | |
| | | u.unit_contact_phone, |
| | | p.yw_person_name, |
| | | tm.name as source, |
| | | tm.ip as ip, |
| | | GROUP_CONCAT(DISTINCT da.dict_label ORDER BY da.dict_label SEPARATOR ',') AS errorType, |
| | | GROUP_CONCAT(DISTINCT ci.img_url ORDER BY ci.create_time DESC SEPARATOR ',') AS imgListStr |
| | | FROM |
| | |
| | | u.unit_contact_phone, |
| | | p.yw_person_name, |
| | | tm.name as source, |
| | | tm.ip as ip, |
| | | GROUP_CONCAT(DISTINCT da.dict_label ORDER BY da.dict_label SEPARATOR ',') AS errorType, |
| | | GROUP_CONCAT(DISTINCT ci.img_url ORDER BY ci.create_time DESC SEPARATOR ',') AS imgListStr |
| | | FROM |
| | |
| | | |
| | | <select id="distributePage" resultType="com.ycl.platform.domain.vo.WorkOrderVO"> |
| | | SELECT |
| | | wo.id,wo.status, wo.work_order_no,wo.create_time, wo.unit_id, wo.yw_people_id, wo.yw_handle_time, wo.yw_result, wo.yw_check_result, wo.overtime, wo.deduct, |
| | | wo.id,wo.status, wo.work_order_no,wo.create_time, wo.unit_id, wo.yw_people_id, wo.yw_handle_time, wo.yw_result, |
| | | wo.yw_check_result, wo.overtime, wo.deduct, |
| | | u.unit_name, |
| | | p.yw_person_name, |
| | | yp.serial_number, |
| | | yp.province_tag, |
| | | yp.important_tag, |
| | | yp.important_command_image_tag, |
| | | odr.create_time as distributeTime, |
| | | su.nick_name as realName, |
| | | tm.name as source, |
| | | GROUP_CONCAT(DISTINCT da.dict_label ORDER BY da.dict_label SEPARATOR '、') AS errorType |
| | | p.yw_person_name, |
| | | yp.serial_number, |
| | | yp.province_tag, |
| | | yp.important_tag, |
| | | yp.important_command_image_tag, |
| | | odr.create_time as distributeTime, |
| | | su.nick_name as realName, |
| | | tm.name as source, |
| | | GROUP_CONCAT(DISTINCT da.dict_label ORDER BY da.dict_label SEPARATOR '、') AS errorType |
| | | FROM |
| | | t_work_order wo |
| | | INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number |
| | | INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 |
| | | INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no |
| | | INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">AND da.dict_value in <foreach |
| | | collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach> </if> |
| | | INNER JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0 |
| | | LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = 0 |
| | | LEFT JOIN t_work_order_distribute_record odr ON odr.work_order_no = wo.work_order_no AND odr.deleted = 0 |
| | | LEFT JOIN sys_user su ON su.user_id = odr.user_id |
| | | t_work_order wo |
| | | INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number |
| | | INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 |
| | | INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no |
| | | INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' |
| | | INNER JOIN t_yw_unit u ON wo.unit_id = u.id and u.deleted = 0 |
| | | LEFT JOIN t_yw_people p ON wo.yw_people_id = p.id and p.deleted = 0 |
| | | LEFT JOIN t_work_order_distribute_record odr ON odr.work_order_no = wo.work_order_no AND odr.deleted = 0 |
| | | LEFT JOIN sys_user su ON su.user_id = odr.user_id |
| | | WHERE |
| | | wo.deleted = 0 |
| | | <if test="query.unitId != null"> |
| | | AND wo.unit_id = #{query.unitId} |
| | | </if> |
| | | <if test="query.unitId == null"> |
| | | AND wo.unit_id is not null |
| | | </if> |
| | | <if test="query.status != null and query.status != ''"> |
| | | AND wo.status = #{query.status} |
| | | </if> |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, '%')) |
| | | </if> |
| | | wo.deleted = 0 |
| | | <if test="query.unitId != null"> |
| | | AND wo.unit_id = #{query.unitId} |
| | | </if> |
| | | <if test="query.unitId == null"> |
| | | AND wo.unit_id is not null |
| | | </if> |
| | | <if test="query.status != null and query.status != ''"> |
| | | AND wo.status = #{query.status} |
| | | </if> |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, |
| | | '%')) |
| | | </if> |
| | | <if test="query.errorTypeList != null and query.errorTypeList.size() > 0"> |
| | | AND (EXISTS ( |
| | | SELECT 1 |
| | | FROM t_work_order_error_type twoet |
| | | WHERE twoet.work_order_no = wo.work_order_no |
| | | AND twoet.error_name in |
| | | <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType} |
| | | </foreach> |
| | | )) |
| | | </if> |
| | | GROUP BY |
| | | wo.id, wo.status, wo.work_order_no,wo.create_time, wo.unit_id, wo.yw_people_id, tm.name, wo.yw_handle_time, wo.yw_result, wo.yw_check_result, wo.overtime, wo.deduct, |
| | | u.unit_name, |
| | | p.yw_person_name, |
| | | yp.province_tag, |
| | | yp.important_tag, |
| | | yp.important_command_image_tag, |
| | | odr.create_time, |
| | | su.nick_name |
| | | wo.id, wo.status, wo.work_order_no,wo.create_time, wo.unit_id, wo.yw_people_id, tm.name, wo.yw_handle_time, |
| | | wo.yw_result, wo.yw_check_result, wo.overtime, wo.deduct, |
| | | u.unit_name, |
| | | p.yw_person_name, |
| | | yp.province_tag, |
| | | yp.important_tag, |
| | | yp.important_command_image_tag, |
| | | odr.create_time, |
| | | su.nick_name |
| | | ORDER BY wo.create_time DESC |
| | | </select> |
| | | |
| | |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ycl.platform.mapper.WorkOrderWhiteMapper"> |
| | | |
| | | |
| | | <resultMap type="WorkOrderWhite" id="WorkOrderWhiteResult"> |
| | | <result property="id" column="id" /> |
| | | <result property="serialNumber" column="serial_number" /> |
| | |
| | | where serial_number = #{serialNumber} |
| | | </update> |
| | | |
| | | <select id="page" parameterType="Long" resultMap="WorkOrderWhiteResult"> |
| | | <select id="page" parameterType="com.ycl.platform.domain.query.WorkOrderWhiteQuery" resultMap="WorkOrderWhiteResult"> |
| | | <include refid="selectWorkOrderWhiteVo"/> |
| | | <where> |
| | | <if test="query.serialNumber != null and query.serialNumber != ''"> and serial_number = #{query.serialNumber}</if> |
| | | <if test="query.pointName != null and query.pointName != ''"> and point_name like concat('%', #{query.pointName}, '%')</if> |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | and (serial_number like concat('%',#{query.keyword},'%') or point_name like concat('%', #{query.keyword}, '%')) |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <select id="selectBySerialNumber" resultType="com.ycl.platform.domain.entity.WorkOrderWhite"> |
| | |
| | | </insert> |
| | | |
| | | <delete id="deleteWorkOrderWhiteByIds" parameterType="String"> |
| | | delete from t_work_order_white where id in |
| | | delete from t_work_order_white where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | |
| | | #{id} |
| | | </foreach> |
| | | </delete> |
| | | </mapper> |
| | | </mapper> |
| | |
| | | <if test="query.pointName != null and query.pointName != ''"> |
| | | AND typ.point_name like concat('%', #{query.pointName}, '%') |
| | | </if> |
| | | <if test="query.unitId != null"> |
| | | AND typ.unit_id = #{query.unitId} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | |
| | | |
| | | <select id="workList" resultType="integer"> |
| | | SELECT |
| | | count(DISTINCT wo.id) |
| | | count(DISTINCT wo.id) |
| | | FROM |
| | | t_work_order wo |
| | | INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number |
| | | INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 |
| | | INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no |
| | | INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' |
| | | <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">AND da.dict_value in <foreach |
| | | collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach> |
| | | </if> |
| | | t_work_order wo |
| | | INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number |
| | | INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 |
| | | INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no |
| | | INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' |
| | | WHERE |
| | | wo.unit_id = #{query.unitId} AND wo.deleted = 0 |
| | | <if test="query.status != null and query.status != ''"> |
| | | AND wo.status = #{query.status} |
| | | </if> |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, '%')) |
| | | </if> |
| | | wo.unit_id = #{query.unitId} AND wo.deleted = 0 |
| | | <if test="query.status != null and query.status != ''"> |
| | | AND wo.status = #{query.status} |
| | | </if> |
| | | <if test="query.isNotDistribute != null and query.isNotDistribute"> |
| | | AND wo.status != 'WAIT_DISTRIBUTE' |
| | | </if> |
| | | <if test="query.keyword != null and query.keyword != ''"> |
| | | AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, |
| | | '%')) |
| | | </if> |
| | | <if test="query.start != null and query.end != null"> |
| | | AND wo.create_time BETWEEN #{query.start} AND #{query.end} |
| | | </if> |
| | | <if test="query.errorTypeList != null and query.errorTypeList.size() > 0"> |
| | | AND (EXISTS ( |
| | | SELECT 1 |
| | | FROM t_work_order_error_type twoet |
| | | WHERE twoet.work_order_no = wo.work_order_no |
| | | AND twoet.error_name in |
| | | <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType} |
| | | </foreach> |
| | | )) |
| | | </if> |
| | | </select> |
| | | |
| | | <insert id="insertYwUnit" parameterType="YwUnit" useGeneratedKeys="true" keyProperty="id"> |