fei
6 天以前 1868fe69485d0d904bba24f2672a52a626ccf9f2
archiveManager/src/main/java/com/ruoyi/service/impl/DocumentMaterialsServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -176,58 +177,39 @@
    public int updateDocumentMaterials(DocumentMaterials documentMaterials) {
        boolean result = false;
        try {
//            //修改页号成功之后,要重新生成文件材料序号,页次
//            //根据pageNumber拿到title,然后计算pageOrder
//            LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
//            lqw.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId());
//            lqw.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
//            List<DocumentMaterials> records = list(lqw);
//
//            //计算pageOrder
//            Long pageOrder = 1L;
//            if(documentMaterials.getPageNumber().equals(1))
//                pageOrder = 1L;
//            else {
//                Long maxPOrder = this.baseMapper.getMaxPageOrder(records.get(0).getTitle(), documentMaterials.getPageNumber(), records.get(0).getStage(), documentMaterials.getRecordId());
//                if (maxPOrder != null)
//                    pageOrder = maxPOrder + 1;
//            }
//            //设置pageOrder
//            documentMaterials.setPageOrder(pageOrder);
//            //计算fileNumber
//            Long fileNumber = this.getFiNum(documentMaterials.getPageNumber(), documentMaterials.getRecordId());
//            documentMaterials.setFileNumber(fileNumber);
            //修改页号
            result = updateById(documentMaterials);
//            //把剩下所有的的fileNumber和pageOrder都更新一遍
//            LambdaQueryWrapper<DocumentMaterials> lqw1 = new LambdaQueryWrapper<>();
//            lqw.eq(documentMaterials.getRecordId()!=null, DocumentMaterials::getRecordId, documentMaterials.getRecordId());
//          //  lqw.eq(documentMaterials.getPageNumber()!=null, DocumentMaterials::getPageNumber, documentMaterials.getPageNumber());
//            List<DocumentMaterials> recordss = list(lqw1);
//            for(DocumentMaterials dt: recordss)
//            {
//                //计算pageOrder
//                Long pageOrder1 = 1L;
//                if(dt.getPageNumber().equals(1))
//                    pageOrder1 = 1L;
//                else {
//                    Long maxPOrder1 = this.baseMapper.getMaxPageOrder(dt.getTitle(), dt.getPageNumber(), dt.getStage(), dt.getRecordId());
//                    if (maxPOrder1 != null)
//                        pageOrder1 = maxPOrder1 + 1;
//                }
//                //设置pageOrder
//                dt.setPageOrder(pageOrder1);
//                //计算fileNumber
//                Long fileNumber1 = this.getFiNum(dt.getPageNumber(), dt.getRecordId());
//                dt.setFileNumber(fileNumber1);
//                //修改页号
//                updateById(dt);
//            }
            // 使用LambdaUpdateWrapper构造更新条件,确保null值也能更新到数据库
            LambdaUpdateWrapper<DocumentMaterials> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(DocumentMaterials::getMaterialId, documentMaterials.getMaterialId());
            // 明确设置需要更新的字段
            updateWrapper.set(DocumentMaterials::getFileNumber, documentMaterials.getFileNumber());
            updateWrapper.set(DocumentMaterials::getDocumentNumber, documentMaterials.getDocumentNumber());
            updateWrapper.set(DocumentMaterials::getCreator, documentMaterials.getCreator());
            updateWrapper.set(DocumentMaterials::getTitle, documentMaterials.getTitle());
            updateWrapper.set(DocumentMaterials::getDate, documentMaterials.getDate());
            updateWrapper.set(DocumentMaterials::getPageNumber, documentMaterials.getPageNumber()); // 允许更新为null
            updateWrapper.set(DocumentMaterials::getPageOrder, documentMaterials.getPageOrder());
            updateWrapper.set(DocumentMaterials::getStage, documentMaterials.getStage());
            updateWrapper.set(DocumentMaterials::getPublicity, documentMaterials.getPublicity());
            updateWrapper.set(DocumentMaterials::getIsAttachment, documentMaterials.getIsAttachment());
            updateWrapper.set(DocumentMaterials::getIsDiagram, documentMaterials.getIsDiagram());
            updateWrapper.set(DocumentMaterials::getRetentionPeriod, documentMaterials.getRetentionPeriod());
            updateWrapper.set(DocumentMaterials::getSecurityLevel, documentMaterials.getSecurityLevel());
            updateWrapper.set(DocumentMaterials::getIsSensitive, documentMaterials.getIsSensitive());
            updateWrapper.set(DocumentMaterials::getIsCanceled, documentMaterials.getIsCanceled());
            updateWrapper.set(DocumentMaterials::getFormat, documentMaterials.getFormat());
            updateWrapper.set(DocumentMaterials::getSizeType, documentMaterials.getSizeType());
            updateWrapper.set(DocumentMaterials::getHorizontalResolution, documentMaterials.getHorizontalResolution());
            updateWrapper.set(DocumentMaterials::getVerticalResolution, documentMaterials.getVerticalResolution());
            updateWrapper.set(DocumentMaterials::getWidth, documentMaterials.getWidth());
            updateWrapper.set(DocumentMaterials::getHeight, documentMaterials.getHeight());
            updateWrapper.set(DocumentMaterials::getFileSize, documentMaterials.getFileSize());
            updateWrapper.set(DocumentMaterials::getAttachmentHistoryNumbers, documentMaterials.getAttachmentHistoryNumbers());
            updateWrapper.set(DocumentMaterials::getRemarks, documentMaterials.getRemarks());
            updateWrapper.set(DocumentMaterials::getVisible, documentMaterials.getVisible());
            updateWrapper.set(DocumentMaterials::getFileStyle, documentMaterials.getFileStyle());
            // 执行更新操作
            result = update(updateWrapper);
        } catch (Exception e) {
            System.out.println(e);
            throw new ErrorcodeExceptionextends(500, "同一个案卷内,不允许页码重复!");
@@ -254,7 +236,7 @@
    @Override
    public Long getFiNum(Long pageNumber, Long recordId) {
        return this.baseMapper.getFileNumber(pageNumber, recordId);
        return this.baseMapper.getFileNumber(pageNumber, recordId)+1;
    }
    @Override
@@ -308,6 +290,7 @@
            DocumentMaterials documentMaterials = new DocumentMaterials();
            BeanUtils.copyProperties(archiveCategory, documentMaterials);
            documentMaterials.setRecordId(Long.parseLong(recordId));
            documentMaterials.setVisible(1);
            this.insertDocumentMaterials(documentMaterials);
        }
@@ -341,6 +324,7 @@
            // 获取指定recordId下的所有记录,按页号升序排列
            LambdaQueryWrapper<DocumentMaterials> lqw = new LambdaQueryWrapper<>();
            lqw.eq(DocumentMaterials::getRecordId, recordId);
            lqw.ne(DocumentMaterials::getFileStyle, "其他材料");
            lqw.orderByAsc(DocumentMaterials::getPageNumber);
            List<DocumentMaterials> records = this.list(lqw);
@@ -384,6 +368,8 @@
                        newRecord.setFileSize(null);
                        newRecord.setFormat(null);
                        newRecord.setUrl(null);
                        //不在前端显示
                        newRecord.setVisible(0);
                        // 添加到中间记录列表
                        middleRecords.add(newRecord);
                    }
@@ -437,3 +423,5 @@
        }
    }
}