| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto; |
| | | import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto; |
| | | import com.ruoyi.warehouse.dto.ReturnExportDto; |
| | | import com.ruoyi.warehouse.pojo.Documentation; |
| | | import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; |
| | | import com.ruoyi.warehouse.service.DocumentationBorrowManagementService; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | |
| | | @Override |
| | | public boolean add(DocumentationBorrowManagement documentationBorrowManagement) { |
| | | Long documentationId = documentationBorrowManagement.getDocumentationId(); |
| | | String borrowStatus = documentationBorrowManagement.getBorrowStatus(); |
| | | Documentation documentation = documentationService.getById(documentationId); |
| | | if (documentation==null){ |
| | | System.out.println("文档不存在"); |
| | | return false; |
| | | } |
| | | if ("借出".equals(documentation.getDocStatus())){ |
| | | if ("归还".equals(borrowStatus)){ |
| | | documentation.setDocStatus("正常"); |
| | | documentationService.updateById(documentation); |
| | | documentationBorrowManagementMapper.insert(documentationBorrowManagement); |
| | | return true; |
| | | }else{ |
| | | System.out.println("文档已借出,不能重复借出"); |
| | | return false; |
| | | } |
| | | }else if("正常".equals(documentation.getDocStatus())){ |
| | | if ("归还".equals(borrowStatus)){ |
| | | System.out.println("文档已归还,不能重复归还"); |
| | | return false; |
| | | }else if("借出".equals(borrowStatus)){ |
| | | documentation.setDocStatus("借出"); |
| | | documentationService.updateById(documentation); |
| | | documentationBorrowManagementMapper.insert(documentationBorrowManagement); |
| | | return true; |
| | | } |
| | | }else{ |
| | | System.out.println("文档状态异常"); |
| | | return false; |
| | | } |
| | | return false; |
| | | documentationBorrowManagementMapper.insert(documentationBorrowManagement); |
| | | Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId()); |
| | | documentation.setDocStatus("借出"); |
| | | documentationService.updateById(documentation); |
| | | return true; |
| | | } |
| | | // @Override |
| | | // public boolean updateDBMById(DocumentationBorrowManagement documentationBorrowManagement) { |
| | | // Long id = documentationBorrowManagement.getId(); |
| | | //// Long documentationId = documentationBorrowManagement.getDocumentationId(); |
| | | // //查询文档是否已归还 |
| | | // DocumentationBorrowManagement dbm = documentationBorrowManagementMapper.selectById(id); |
| | | //// Long documentationId = dbm.getDocumentationId(); |
| | | // if ("归还".equals(dbm.getBorrowStatus())){ |
| | | // System.out.println("文档已归还,不能更新"); |
| | | // return false; |
| | | // } |
| | | // //查询文档 |
| | | // Documentation documentation = documentationService.getById(dbm.getDocumentationId()); |
| | | // String docStatus = documentation.getDocStatus(); |
| | | // if ("正常".equals(docStatus)){ |
| | | // System.out.println("文档已归还,不能更新"); |
| | | // return false; |
| | | // } |
| | | // return false; |
| | | // } |
| | | @Override |
| | | public boolean reventdbm(DocumentationBorrowManagement documentationBorrowManagement) { |
| | | // 更新借阅记录状态为归还 |
| | | DocumentationBorrowManagement documentationBorrowManagement1 = documentationBorrowManagementMapper.selectById(documentationBorrowManagement.getId()); |
| | | documentationBorrowManagement1.setReturner(documentationBorrowManagement.getReturner()); |
| | | documentationBorrowManagement1.setBorrowStatus("归还"); |
| | | documentationBorrowManagement1.setReturnDate(LocalDate.now()); |
| | | documentationBorrowManagementMapper.updateById(documentationBorrowManagement1); |
| | | // 更新文档状态为正常 |
| | | Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId()); |
| | | documentation.setDocStatus("正常"); |
| | | documentationService.updateById(documentation); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean reventDeleteByIds(List<Long> ids) { |
| | | QueryWrapper<DocumentationBorrowManagement> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.in("id", ids); |
| | | queryWrapper.eq("borrow_status", "归还"); |
| | | List<DocumentationBorrowManagement> list = documentationBorrowManagementMapper.selectList(queryWrapper); |
| | | for (DocumentationBorrowManagement documentationBorrowManagement : list) { |
| | | try { |
| | | documentationBorrowManagement.setBorrowStatus("借阅"); |
| | | documentationBorrowManagement.setReturnDate(null); |
| | | documentationBorrowManagementMapper.updateById(documentationBorrowManagement); |
| | | |
| | | Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId()); |
| | | if (documentation != null) { |
| | | documentation.setDocStatus("借出"); |
| | | documentationService.updateById(documentation); |
| | | } |
| | | } catch (Exception e) { |
| | | throw new RuntimeException("更新借阅记录和文档状态时出错", e); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public void export(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement) { |
| | | List<DocumentationBorrowManagementDto> documentationBorrowManagements = documentationBorrowManagementMapper.export(documentationBorrowManagement); |
| | | ExcelUtil<DocumentationBorrowManagementDto> util = new ExcelUtil<>(DocumentationBorrowManagementDto.class); |
| | | util.exportExcel(response, documentationBorrowManagements, "文档借阅-借阅记录"); |
| | | } |
| | | |
| | | @Override |
| | | public void exportrevent(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement) { |
| | | List<ReturnExportDto> documentationBorrowManagements = documentationBorrowManagementMapper.exportrevent(documentationBorrowManagement); |
| | | ExcelUtil<ReturnExportDto> util = new ExcelUtil<>(ReturnExportDto.class); |
| | | util.exportExcel(response, documentationBorrowManagements, "文档借阅-归还记录"); |
| | | } |
| | | |
| | | @Override |
| | | public boolean deleteByIds(List<Long> ids) { |
| | | List<DocumentationBorrowManagement> list = documentationBorrowManagementMapper.selectList(new LambdaQueryWrapper<DocumentationBorrowManagement>().in(DocumentationBorrowManagement::getId, ids)); |
| | | for (DocumentationBorrowManagement documentationBorrowManagement : list) { |
| | | String borrowStatus = documentationBorrowManagement.getBorrowStatus(); |
| | | if ("借阅".equals(borrowStatus)){ |
| | | System.out.println("文档已借出,不能删除"); |
| | | return false; |
| | | Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId()); |
| | | documentation.setDocStatus("正常"); |
| | | boolean b = documentationService.updateById(documentation); |
| | | if (!b){ |
| | | throw new RuntimeException("更新文档状态失败"); |
| | | } |
| | | } |
| | | documentationBorrowManagementMapper.deleteBatchIds(ids); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |