操作工作票优化
This commit is contained in:
parent
4dcd0596a2
commit
d8616fa68d
@ -54,4 +54,6 @@ public interface WorkTicketMapper extends BaseMapper<WorkTicket> {
|
|||||||
WorkTicketVo queryById(String id);
|
WorkTicketVo queryById(String id);
|
||||||
|
|
||||||
CountWorkTicketVo countWorkTicket(HashMap<String, Object> map);
|
CountWorkTicketVo countWorkTicket(HashMap<String, Object> map);
|
||||||
|
|
||||||
|
List<Long> getPoliceCameraIdsByWorkTicketId(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,4 +35,11 @@
|
|||||||
and t.project_sn = #{projectSn}
|
and t.project_sn = #{projectSn}
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getPoliceCameraIdsByWorkTicketId" resultType="java.lang.Long">
|
||||||
|
select distinct pci.item_id
|
||||||
|
from work_ticket_camera_rel wtcr
|
||||||
|
join police_camera_item pci on pci.item_id=wtcr.police_camera_id
|
||||||
|
where wtcr.work_ticket_id=#{id}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -192,6 +192,9 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
|
|||||||
if (oldWorkTicket == null) {
|
if (oldWorkTicket == null) {
|
||||||
throw new OpenAlertException("未找到对应实体");
|
throw new OpenAlertException("未找到对应实体");
|
||||||
}
|
}
|
||||||
|
if (Objects.equals(oldWorkTicket.getStatus(), 4)) {
|
||||||
|
throw new OpenAlertException("已完工状态不能修改工作票");
|
||||||
|
}
|
||||||
int count = this.count(new LambdaQueryWrapper<WorkTicket>()
|
int count = this.count(new LambdaQueryWrapper<WorkTicket>()
|
||||||
.eq(WorkTicket::getProjectSn, workTicketDto.getProjectSn())
|
.eq(WorkTicket::getProjectSn, workTicketDto.getProjectSn())
|
||||||
.eq(WorkTicket::getWorkTicketNumber, workTicketDto.getWorkTicketNumber())
|
.eq(WorkTicket::getWorkTicketNumber, workTicketDto.getWorkTicketNumber())
|
||||||
@ -200,6 +203,21 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
|
|||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
throw new OpenAlertException("工作票编号已存在");
|
throw new OpenAlertException("工作票编号已存在");
|
||||||
}
|
}
|
||||||
|
if (Objects.equals(workTicketDto.getStatus(), 2)) {
|
||||||
|
//施工状态不能修改执法记录仪
|
||||||
|
List<Long> pcids = baseMapper.getPoliceCameraIdsByWorkTicketId(workTicketDto.getId());
|
||||||
|
if (CollUtil.isEmpty(pcids) != StrUtil.isBlank(workTicketDto.getPoliceCameraIds())) {
|
||||||
|
throw new OpenAlertException("施工中不得修改作业监控,请先暂停作业重试");
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(workTicketDto.getPoliceCameraIds())) {
|
||||||
|
List<Long> getItemIds = policeCameraItemService.list(new LambdaQueryWrapper<PoliceCameraItem>()
|
||||||
|
.in(PoliceCameraItem::getItemId, StrUtil.split(workTicketDto.getPoliceCameraIds(), ","))).stream().map(PoliceCameraItem::getItemId).collect(Collectors.toList());
|
||||||
|
if (pcids.size() != getItemIds.size() || !getItemIds.containsAll(pcids)) {
|
||||||
|
throw new OpenAlertException("施工中不得修改作业监控,请先暂停作业重试");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//施工中不得新增作业监控,请先暂停作业重试
|
||||||
baseMapper.updateById(workTicketDto);
|
baseMapper.updateById(workTicketDto);
|
||||||
workTicketCameraRelService.remove(new LambdaQueryWrapper<WorkTicketCameraRel>()
|
workTicketCameraRelService.remove(new LambdaQueryWrapper<WorkTicketCameraRel>()
|
||||||
.eq(WorkTicketCameraRel::getWorkTicketId, workTicketDto.getId()));
|
.eq(WorkTicketCameraRel::getWorkTicketId, workTicketDto.getId()));
|
||||||
@ -228,6 +246,10 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
|
|||||||
baseMapper.deleteById(id);
|
baseMapper.deleteById(id);
|
||||||
workTicketOrderService.remove(new LambdaQueryWrapper<WorkTicketOrder>()
|
workTicketOrderService.remove(new LambdaQueryWrapper<WorkTicketOrder>()
|
||||||
.eq(WorkTicketOrder::getWorkTicketId, id));
|
.eq(WorkTicketOrder::getWorkTicketId, id));
|
||||||
|
workTicketCameraRelService.remove(new LambdaQueryWrapper<WorkTicketCameraRel>()
|
||||||
|
.eq(WorkTicketCameraRel::getWorkTicketId, id));
|
||||||
|
workTicketHistoryService.remove(new LambdaQueryWrapper<WorkTicketHistory>()
|
||||||
|
.eq(WorkTicketHistory::getWorkTicketId, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -259,6 +281,10 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
|
|||||||
default:
|
default:
|
||||||
throw new OpenAlertException("operateStatus参数异常");
|
throw new OpenAlertException("operateStatus参数异常");
|
||||||
}
|
}
|
||||||
|
boolean enableBindCamera = workTicketService.enableBindCamera(ticket.getProjectSn());
|
||||||
|
if (workTicketDto.getOperateStatus() == 1 && enableBindCamera && CollUtil.isEmpty(ticket.getItemList())) {
|
||||||
|
throw new OpenAlertException("请先绑定工作票监控");
|
||||||
|
}
|
||||||
this.updateById(ticket);
|
this.updateById(ticket);
|
||||||
WorkTicketHistory his = null;
|
WorkTicketHistory his = null;
|
||||||
Long ticketId = ticket.getId();
|
Long ticketId = ticket.getId();
|
||||||
@ -278,7 +304,7 @@ public class WorkTicketServiceImpl extends ServiceImpl<WorkTicketMapper, WorkTic
|
|||||||
);
|
);
|
||||||
workTicketHistoryService.completeEndTimeByTicketId(ticketId);
|
workTicketHistoryService.completeEndTimeByTicketId(ticketId);
|
||||||
}
|
}
|
||||||
if (workTicketService.enableBindCamera(ticket.getProjectSn())) {
|
if (enableBindCamera) {
|
||||||
if (workTicketDto.getOperateStatus() == 1 || workTicketDto.getOperateStatus() == 3) {
|
if (workTicketDto.getOperateStatus() == 1 || workTicketDto.getOperateStatus() == 3) {
|
||||||
for (PoliceCameraItem item : ticket.getItemList()) {
|
for (PoliceCameraItem item : ticket.getItemList()) {
|
||||||
WorkTicketOrder order = new WorkTicketOrder();
|
WorkTicketOrder order = new WorkTicketOrder();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user