| | |
| | | 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.mapper.DocumentationReturnManagementMapper; |
| | | import com.ruoyi.warehouse.pojo.Documentation; |
| | | import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; |
| | | import com.ruoyi.warehouse.pojo.DocumentationReturnManagement; |
| | | import com.ruoyi.warehouse.service.DocumentationBorrowManagementService; |
| | | import com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper; |
| | | import com.ruoyi.warehouse.service.DocumentationService; |
| | |
| | | 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; |
| | | |
| | |
| | | @Autowired |
| | | private DocumentationBorrowManagementMapper documentationBorrowManagementMapper; |
| | | @Autowired |
| | | private DocumentationReturnManagementMapper documentationReturnManagementMapper; |
| | | @Autowired |
| | | private DocumentationService documentationService; |
| | | @Override |
| | | public IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) { |
| | |
| | | |
| | | @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)){ |
| | | documentationBorrowManagement.setBorrowStatus("借阅"); |
| | | documentationBorrowManagementMapper.insert(documentationBorrowManagement); |
| | | Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId()); |
| | | documentation.setDocStatus("借出"); |
| | | documentationService.updateById(documentation); |
| | | return true; |
| | | } |
| | | @Override |
| | | public boolean reventdbm(DocumentationReturnManagement documentationReturnManagement) { |
| | | // 更新借阅记录状态为归还 |
| | | DocumentationBorrowManagement documentationBorrowManagement1 = documentationBorrowManagementMapper.selectById(documentationReturnManagement.getBorrowId()); |
| | | |
| | | DocumentationReturnManagement returnManagement = new DocumentationReturnManagement(); |
| | | returnManagement.setDocumentationId(documentationBorrowManagement1.getDocumentationId()); |
| | | returnManagement.setBorrower(documentationBorrowManagement1.getBorrower()); |
| | | returnManagement.setBorrowPurpose(documentationBorrowManagement1.getBorrowPurpose()); |
| | | returnManagement.setBorrowDate(documentationBorrowManagement1.getBorrowDate()); |
| | | returnManagement.setDueReturnDate(documentationBorrowManagement1.getDueReturnDate()); |
| | | returnManagement.setBorrowStatus("归还"); |
| | | returnManagement.setBorrowId(documentationReturnManagement.getBorrowId()); |
| | | returnManagement.setReturner(documentationReturnManagement.getReturner()); |
| | | returnManagement.setReturnDate(LocalDate.now()); |
| | | returnManagement.setRemark(documentationReturnManagement.getRemark()); |
| | | |
| | | documentationReturnManagementMapper.insert(returnManagement); |
| | | documentationBorrowManagement1.setBorrowStatus("归还"); |
| | | documentationBorrowManagement1.setReturner(documentationReturnManagement.getReturner()); |
| | | documentationBorrowManagement1.setReturnDate(LocalDate.now()); |
| | | documentationBorrowManagementMapper.updateById(documentationBorrowManagement1); |
| | | // 更新文档状态为正常 |
| | | Documentation documentation = documentationService.getById(documentationBorrowManagement1.getDocumentationId()); |
| | | documentation.setDocStatus("正常"); |
| | | documentationService.updateById(documentation); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean reventDeleteByIds(List<Long> ids) { |
| | | QueryWrapper<DocumentationReturnManagement> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.in("id", ids); |
| | | // queryWrapper.eq("borrow_status", "归还"); |
| | | List<DocumentationReturnManagement> list = documentationReturnManagementMapper.selectList(queryWrapper); |
| | | |
| | | for (DocumentationReturnManagement documentationReturnManagement : list) { |
| | | |
| | | try { |
| | | documentationReturnManagementMapper.deleteById(documentationReturnManagement); |
| | | DocumentationBorrowManagement documentationBorrowManagement = documentationBorrowManagementMapper.selectById(documentationReturnManagement.getBorrowId()); |
| | | documentationBorrowManagement.setBorrowStatus("借阅"); |
| | | documentationBorrowManagement.setReturner(null); |
| | | documentationBorrowManagement.setReturnDate(null); |
| | | documentationBorrowManagementMapper.updateById(documentationBorrowManagement); |
| | | |
| | | Documentation documentation = documentationService.getById(documentationReturnManagement.getDocumentationId()); |
| | | documentation.setDocStatus("借出"); |
| | | documentationService.updateById(documentation); |
| | | documentationBorrowManagementMapper.insert(documentationBorrowManagement); |
| | | return true; |
| | | } catch (Exception e) { |
| | | throw new RuntimeException("删除归还记录和文档状态时出错", e); |
| | | } |
| | | }else{ |
| | | System.out.println("文档状态异常"); |
| | | return false; |
| | | } |
| | | return false; |
| | | // documentationReturnManagementMapper.deleteBatchIds(ids); |
| | | 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 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, DocumentationReturnManagement documentationReturnManagement) { |
| | | List<ReturnExportDto> documentationReturnManagements = documentationReturnManagementMapper.exportrevent(documentationReturnManagement); |
| | | ExcelUtil<ReturnExportDto> util = new ExcelUtil<>(ReturnExportDto.class); |
| | | util.exportExcel(response, documentationReturnManagements, "文档借阅-归还记录"); |
| | | } |
| | | |
| | | @Override |
| | | public List<DocumentationBorrowManagementDto> listAll() { |
| | | return documentationBorrowManagementMapper.list(new LambdaQueryWrapper<DocumentationBorrowManagementDto>().eq(DocumentationBorrowManagementDto::getBorrowStatus, "借阅")); |
| | | } |
| | | |
| | | @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); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |