zxl
2025-05-12 fdcdd41fba7874c045766e3dea54d56d70df73ef
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -62,6 +62,7 @@
import pojo.CascadeOption;
import utils.file.FileUtils;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -612,19 +613,22 @@
            LambdaQueryChainWrapper<WorkOrderCheckImg> qw = new LambdaQueryChainWrapper<>(workOrderCheckImgMapper);
            //按照创建日期降序排列
            List<WorkOrderCheckImg> imgList = workOrderCheckImgMapper.selectList(
            List<WorkOrderCheckImg> workOrderList = workOrderCheckImgMapper.selectList(
                    new LambdaQueryChainWrapper<>(workOrderCheckImgMapper)
                            .eq(WorkOrderCheckImg::getWorkOrderNo, workOrder.getWorkOrderNo())
                            .orderByDesc(WorkOrderCheckImg::getCreateTime)
            );
            //保留最新的5张
            if (imgList.size()>=5){
                List<Integer> subList = imgList.subList(4, imgList.size()).stream().map(WorkOrderCheckImg::getId).collect(Collectors.toList());
            if (workOrderList.size()>=5){
                List<String> imgList = workOrderList.subList(4,workOrderList.size()).stream().map(WorkOrderCheckImg::getImgUrl).collect(Collectors.toList());
                List<Integer> idList = workOrderList.subList(4, workOrderList.size()).stream().map(WorkOrderCheckImg::getId).collect(Collectors.toList());
                //删除照片 ,并且物理删除服务器内对应照片的名字
                workOrderCheckImgMapper.deleteBatchIds(subList);
//                /profile/2024-11-18_1d8e6d37-a4d0-4bba-8473-ff4e50eda83d.png
                for (String filePath: imgList){
                    delImgFormClient(filePath);
                }
                workOrderCheckImgMapper.deleteBatchIds(idList);
            }
@@ -674,9 +678,28 @@
    @Override
    public Result remove(List<String> ids) {
        if (baseMapper.deleteBatchIds(ids) > 0) {
            //批量删除是否被用到?
            return Result.ok("删除成功");
        }
        return Result.error("删除失败");
    }
    /***
     * 通过url删除服务器内的图片
     * @param url
     */
    public void delImgFormClient(String url){
        //提取文件名  /profile/2024-11-17_79c02666-da1e-45ba-9f29-7523c848fa4a.png
        // 这部分2024-11-17_79c02666-da1e-45ba-9f29-7523c848fa4a.png
        String imgPath = FileUtils.getImgName(url);
        if (imgPath.isEmpty()){
            log.error("url错误:{}",imgPath);
        }else{
            //提取日期部分 组装目录 : /opt/zgyw/uploadPath  + /  + yyyy-MM-dd +
            String pathName = PlatformConfig.getUploadPath() + "/" + FileUtils.extractDateFromString(url);
            FileUtils.deleteFile(pathName+"/" + imgPath);
        }
    }
    /**
@@ -700,9 +723,8 @@
        log.error("删除路径:{}",PlatformConfig.getUploadPath());
        for (String filePath: workOrderImg){
            FileUtils.deleteFile( PlatformConfig.getUploadPath()+ filePath);
            delImgFormClient(filePath);
        }
        // /home/zgyw/uploadPath
        //删除工单图片记录
        workOrderCheckImgMapper.delete(new QueryWrapper<WorkOrderCheckImg>().eq("work_order_no", workOrderNo));
@@ -712,9 +734,6 @@
        workOrderErrorTypeMapper.delete(new QueryWrapper<WorkOrderErrorType>().eq("work_order_no", workOrderNo));
        //删除工单情况记录
        workOrderYwConditionRecordMapper.delete(new QueryWrapper<WorkOrderYwConditionRecord>().eq("work_order_no", workOrderNo));
        if (baseMapper.deleteById(id) > 0) {
            return Result.ok("删除成功");
@@ -788,6 +807,11 @@
    }
    @Override
    public List<WorkOrderVO> distributeList(){
        return  baseMapper.distributeList();
    }
    @Override
    @Transactional
    public Result distributeFast(DistributeWorkOrderVO data) {
        // 获取当前时间
@@ -844,6 +868,9 @@
        }
    }
    @Override
    @Transactional
    public Result selectedIdsDistribute(DistributeWorkOrderQuery query) {