工作票添加重新开始,检查被占用的执法记录仪的工作票的编号

This commit is contained in:
guoshengxiong 2025-11-17 18:27:29 +08:00
parent c1b30555d3
commit 9e922f7de4
5 changed files with 42 additions and 1 deletions

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* @Description: 工作票与执法记录仪关联关系表 * @Description: 工作票与执法记录仪关联关系表
* @author pds * @author pds
@ -12,4 +14,5 @@ import org.apache.ibatis.annotations.Mapper;
*/ */
@Mapper @Mapper
public interface WorkTicketCameraRelMapper extends BaseMapper<WorkTicketCameraRel> { public interface WorkTicketCameraRelMapper extends BaseMapper<WorkTicketCameraRel> {
List<String> findOccupiedTicketNumbers(Long ticketId);
} }

View File

@ -1,4 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.policecamera.mapper.WorkTicketCameraRelMapper"> <mapper namespace="com.zhgd.xmgl.modules.policecamera.mapper.WorkTicketCameraRelMapper">
<select id="findOccupiedTicketNumbers" resultType="java.lang.String">
select distinct wt1.work_ticket_number
from work_ticket_camera_rel wtcr1
join work_ticket_camera_rel wtcr2 on wtcr1.police_camera_id = wtcr2.police_camera_id
join work_ticket wt1 on wt1.id = wtcr2.work_ticket_id
where wt1.status!=4 and wtcr1.work_ticket_id=#{ticketId}
</select>
</mapper> </mapper>

View File

@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.policecamera.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel; import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel;
import java.util.List;
/** /**
* @Description: 工作票与执法记录仪关联关系表 * @Description: 工作票与执法记录仪关联关系表
* @author pds * @author pds
@ -10,5 +12,11 @@ import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketCameraRel;
* @version V1.0 * @version V1.0
*/ */
public interface IWorkTicketCameraRelService extends IService<WorkTicketCameraRel> { public interface IWorkTicketCameraRelService extends IService<WorkTicketCameraRel> {
/**
* 查询被占用的执法记录仪的工作票的编号
*
* @param ticketId
* @return
*/
List<String> findOccupiedTicketNumbers(Long ticketId);
} }

View File

@ -6,6 +6,8 @@ import com.zhgd.xmgl.modules.policecamera.mapper.WorkTicketCameraRelMapper;
import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketCameraRelService; import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketCameraRelService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @Description: 工作票与执法记录仪关联关系表 * @Description: 工作票与执法记录仪关联关系表
* @author pds * @author pds
@ -15,4 +17,8 @@ import org.springframework.stereotype.Service;
@Service @Service
public class WorkTicketCameraRelServiceImpl extends ServiceImpl<WorkTicketCameraRelMapper, WorkTicketCameraRel> implements IWorkTicketCameraRelService { public class WorkTicketCameraRelServiceImpl extends ServiceImpl<WorkTicketCameraRelMapper, WorkTicketCameraRel> implements IWorkTicketCameraRelService {
@Override
public List<String> findOccupiedTicketNumbers(Long ticketId) {
return baseMapper.findOccupiedTicketNumbers(ticketId);
}
} }

View File

@ -281,6 +281,7 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
@Override @Override
public void operateWorkTicket(OperateWorkTicketDto workTicketDto) { public void operateWorkTicket(OperateWorkTicketDto workTicketDto) {
WorkTicketVo ticket = this.queryById(workTicketDto.getId() + ""); WorkTicketVo ticket = this.queryById(workTicketDto.getId() + "");
restartCheck(workTicketDto, ticket);
ticket.setId(workTicketDto.getId()); ticket.setId(workTicketDto.getId());
switch (workTicketDto.getOperateStatus()) { switch (workTicketDto.getOperateStatus()) {
case 1: case 1:
@ -356,6 +357,21 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
} }
} }
/**
* 已结束的改成继续检查它的执法记录仪是否已被别的工作票绑定
*
* @param workTicketDto
* @param ticket
*/
private void restartCheck(OperateWorkTicketDto workTicketDto, WorkTicketVo ticket) {
if (Objects.equals(ticket.getStatus(), 4) && Objects.equals(workTicketDto.getOperateStatus(), 3)) {
List<String> workTicketNumbers = workTicketCameraRelService.findOccupiedTicketNumbers(workTicketDto.getId());
if (CollUtil.isNotEmpty(workTicketNumbers)) {
throw new OpenPromptException(StrUtil.format("此工作票绑定的监控设备已被{}占用,无法恢复到施工中状态,请解绑后重试", StrUtil.join(",", workTicketNumbers)));
}
}
}
@Override @Override
public CountWorkTicketVo countWorkTicket(HashMap<String, Object> map) { public CountWorkTicketVo countWorkTicket(HashMap<String, Object> map) {
return baseMapper.countWorkTicket(map); return baseMapper.countWorkTicket(map);