|
|
|
|
@ -15,6 +15,7 @@ import org.springblade.modules.system.entity.User; |
|
|
|
|
import org.springblade.modules.system.service.IUserService; |
|
|
|
|
import org.springblade.modules.system.vo.PostVO; |
|
|
|
|
import org.springblade.modules.workOrder.dto.WorkOrderDTO; |
|
|
|
|
import org.springblade.modules.workOrder.entity.KnowledgeBaseAttach; |
|
|
|
|
import org.springblade.modules.workOrder.entity.WorkOrder; |
|
|
|
|
import org.springblade.modules.workOrder.entity.WorkOrderAttach; |
|
|
|
|
import org.springblade.modules.workOrder.entity.WorkOrderRepairMaterial; |
|
|
|
|
@ -130,28 +131,11 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
workOrder.setInformant(user.getId()); |
|
|
|
|
workOrder.setInformantPhone(user.getPhone()); |
|
|
|
|
} |
|
|
|
|
save = this.save(workOrder); |
|
|
|
|
save = this.saveOrUpdate(workOrder); |
|
|
|
|
count++; |
|
|
|
|
|
|
|
|
|
// 保存视频附件
|
|
|
|
|
List<WorkOrderAttach> videoAttaches = workOrder.getVideoAttaches(); |
|
|
|
|
if (CollectionUtils.isNotEmpty(videoAttaches)) { |
|
|
|
|
videoAttaches.forEach(videoAttach -> { |
|
|
|
|
videoAttach.setOrderId(workOrder.getId()); |
|
|
|
|
videoAttach.setAttachType(2); |
|
|
|
|
}); |
|
|
|
|
workOrderAttachService.saveBatch(videoAttaches); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 保存图片附件
|
|
|
|
|
List<WorkOrderAttach> picAttaches = workOrder.getPicAttaches(); |
|
|
|
|
if (CollectionUtils.isNotEmpty(picAttaches)) { |
|
|
|
|
picAttaches.forEach(picAttache -> { |
|
|
|
|
picAttache.setOrderId(workOrder.getId()); |
|
|
|
|
picAttache.setAttachType(1); |
|
|
|
|
}); |
|
|
|
|
workOrderAttachService.saveBatch(picAttaches); |
|
|
|
|
} |
|
|
|
|
// 保存附件
|
|
|
|
|
saveFiles(workOrder.getVideoAttaches(), workOrder.getPicAttaches(), workOrder.getId()); |
|
|
|
|
} |
|
|
|
|
return save; |
|
|
|
|
} |
|
|
|
|
@ -170,27 +154,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean updateAttach(WorkOrderVO workOrder) { |
|
|
|
|
List<WorkOrderAttach> picAttaches = workOrder.getPicAttaches(); |
|
|
|
|
// 图片
|
|
|
|
|
if (org.springblade.core.tool.utils.CollectionUtil.isNotEmpty(picAttaches)) { |
|
|
|
|
workOrderAttachService.remove(Wrappers.lambdaQuery(WorkOrderAttach.class).eq(WorkOrderAttach::getOrderId, workOrder.getId()).eq(WorkOrderAttach::getAttachType, 1)); |
|
|
|
|
picAttaches.forEach(picAttache -> { |
|
|
|
|
picAttache.setOrderId(workOrder.getId()); |
|
|
|
|
picAttache.setAttachType(1); |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
workOrderAttachService.saveBatch(picAttaches); |
|
|
|
|
} |
|
|
|
|
// 视频
|
|
|
|
|
List<WorkOrderAttach> videoAttaches = workOrder.getVideoAttaches(); |
|
|
|
|
if (org.springblade.core.tool.utils.CollectionUtil.isNotEmpty(videoAttaches)) { |
|
|
|
|
workOrderAttachService.remove(Wrappers.lambdaQuery(WorkOrderAttach.class).eq(WorkOrderAttach::getOrderId, workOrder.getId()).eq(WorkOrderAttach::getAttachType, 2)); |
|
|
|
|
videoAttaches.forEach(videoAttache -> { |
|
|
|
|
videoAttache.setOrderId(workOrder.getId()); |
|
|
|
|
videoAttache.setAttachType(2); |
|
|
|
|
}); |
|
|
|
|
workOrderAttachService.saveBatch(videoAttaches); |
|
|
|
|
} |
|
|
|
|
// 保存附件
|
|
|
|
|
saveFiles(workOrder.getVideoAttaches(), workOrder.getPicAttaches(), workOrder.getId()); |
|
|
|
|
List<WorkOrderRepairMaterial> materials = workOrder.getMaterials(); |
|
|
|
|
// 维修材料
|
|
|
|
|
if (CollectionUtil.isNotEmpty(materials)) { |
|
|
|
|
@ -200,4 +165,56 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO |
|
|
|
|
return this.updateById(workOrder); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean draftAndAttach(List<WorkOrderVO> workOrders) { |
|
|
|
|
boolean save = false; |
|
|
|
|
for (WorkOrderVO workOrder : workOrders) { |
|
|
|
|
// 查询今天已提报数量
|
|
|
|
|
workOrder.setStatus(-1);// 草稿
|
|
|
|
|
save = this.saveOrUpdate(workOrder); |
|
|
|
|
|
|
|
|
|
// 保存附件
|
|
|
|
|
saveFiles(workOrder.getVideoAttaches(), workOrder.getPicAttaches(), workOrder.getId()); |
|
|
|
|
} |
|
|
|
|
return save; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void saveFiles(List<WorkOrderAttach> videoAttaches, List<WorkOrderAttach> picAttaches, Long orderId) { |
|
|
|
|
// 保存视频附件
|
|
|
|
|
if (CollectionUtils.isNotEmpty(videoAttaches)) { |
|
|
|
|
// 需要新增的附件
|
|
|
|
|
List<WorkOrderAttach> newSavePic = videoAttaches.stream().filter(workOrderAttach -> workOrderAttach.getId() == null).collect(Collectors.toList()); |
|
|
|
|
// 不删除的附件ids
|
|
|
|
|
List<Long> ids = videoAttaches.stream().filter(workOrderAttach -> workOrderAttach.getId() != null).map(WorkOrderAttach::getId).collect(Collectors.toList()); |
|
|
|
|
workOrderAttachService.remove(Wrappers.lambdaQuery(WorkOrderAttach.class) |
|
|
|
|
.eq(WorkOrderAttach::getOrderId, orderId) |
|
|
|
|
.eq(WorkOrderAttach::getAttachType, 2) |
|
|
|
|
.notIn(CollectionUtils.isNotEmpty(ids), WorkOrderAttach::getId, ids)); |
|
|
|
|
|
|
|
|
|
newSavePic.forEach(videoAttach -> { |
|
|
|
|
videoAttach.setOrderId(orderId); |
|
|
|
|
videoAttach.setAttachType(2); |
|
|
|
|
}); |
|
|
|
|
workOrderAttachService.saveBatch(newSavePic); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 保存图片附件
|
|
|
|
|
if (CollectionUtils.isNotEmpty(picAttaches)) { |
|
|
|
|
// 需要新增的附件
|
|
|
|
|
List<WorkOrderAttach> newSaveVideo = picAttaches.stream().filter(workOrderAttach -> workOrderAttach.getId() == null).collect(Collectors.toList()); |
|
|
|
|
// 不删除的附件ids
|
|
|
|
|
List<Long> ids = picAttaches.stream().filter(workOrderAttach -> workOrderAttach.getId() != null).map(WorkOrderAttach::getId).collect(Collectors.toList()); |
|
|
|
|
workOrderAttachService.remove(Wrappers.lambdaQuery(WorkOrderAttach.class) |
|
|
|
|
.eq(WorkOrderAttach::getOrderId, orderId) |
|
|
|
|
.eq(WorkOrderAttach::getAttachType, 1) |
|
|
|
|
.notIn(CollectionUtils.isNotEmpty(ids), WorkOrderAttach::getId, ids)); |
|
|
|
|
|
|
|
|
|
newSaveVideo.forEach(picAttache -> { |
|
|
|
|
picAttache.setOrderId(orderId); |
|
|
|
|
picAttache.setAttachType(1); |
|
|
|
|
}); |
|
|
|
|
workOrderAttachService.saveBatch(newSaveVideo); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|