From b33e6f53dd537abaebad066de12474580fcc33b2 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期四, 21 八月 2025 15:03:14 +0800 Subject: [PATCH] Merge branch 'pim_ywx' --- src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java | 23 src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java | 16 src/main/java/com/ruoyi/warehouse/pojo/Warehouse.java | 62 + src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelves.java | 79 + src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java | 130 ++ src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java | 116 ++ src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java | 26 src/main/resources/mapper/warehouse/DocumentClassificationMapper.xml | 23 src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java | 20 src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java | 20 src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java | 17 src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java | 12 src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java | 12 src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java | 13 src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java | 33 src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java | 35 src/main/java/com/ruoyi/warehouse/mapper/DocumentClassificationMapper.java | 20 src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java | 97 + src/main/resources/mapper/warehouse/WarehouseMapper.xml | 42 src/main/resources/mybatis/mybatis-config.xml | 1 src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java | 175 +++ src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java | 13 src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java | 12 src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java | 52 + src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java | 64 + src/main/resources/mapper/warehouse/DocumentationMapper.xml | 87 + src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java | 15 src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml | 50 src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml | 88 + src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java | 60 + src/main/resources/mapper/warehouse/DocumentationFileMapper.xml | 17 src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java | 67 + src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java | 29 src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java | 54 + src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java | 179 +++ src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java | 129 ++ src/main/java/com/ruoyi/warehouse/service/DocumentationService.java | 40 src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java | 12 src/main/java/com/ruoyi/warehouse/pojo/Documentation.java | 175 +++ src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java | 32 src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java | 63 + src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java | 91 + src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java | 63 + src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelvesRowcol.java | 79 + src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java | 27 src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java | 48 src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java | 27 src/main/java/com/ruoyi/warehouse/service/WarehouseService.java | 24 src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java | 25 src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java | 14 src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml | 57 + src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java | 157 +++ src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml | 41 src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java | 36 src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java | 107 ++ src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java | 26 56 files changed, 3,032 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java new file mode 100644 index 0000000..625c82b --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentClassificationController.java @@ -0,0 +1,52 @@ +package com.ruoyi.warehouse.controller; + +import com.ruoyi.basic.dto.ProductDto; +import com.ruoyi.basic.dto.ProductTreeDto; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.warehouse.dto.DocumentClassificationDto; +import com.ruoyi.warehouse.dto.DocumentClassificationTreeDto; +import com.ruoyi.warehouse.pojo.DocumentClassification; +import com.ruoyi.warehouse.service.DocumentClassificationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@Api(tags = "鏂囨。鍒嗙被") +@RequestMapping("/warehouse/documentClassification") +public class DocumentClassificationController extends BaseController { + @Autowired + private DocumentClassificationService documentClassificationService; + //鏍戠粨鏋� + @GetMapping("/getList") + public AjaxResult getList() { + return AjaxResult.success(documentClassificationService.selectDocumentClassificationList()); + } + @PostMapping("/add") + @ApiOperation("鏂囨。鍒嗙被-娣诲姞") + @Log(title = "鏂囨。鍒嗙被-娣诲姞", businessType = BusinessType.INSERT) + public AjaxResult add(@RequestBody DocumentClassification documentClassification) { + return AjaxResult.success(documentClassificationService.save(documentClassification)); + } + @PutMapping("/update") + @ApiOperation("鏂囨。鍒嗙被-鏇存柊") + @Log(title = "鏂囨。鍒嗙被-鏇存柊", businessType = BusinessType.UPDATE) + public AjaxResult update(@RequestBody DocumentClassification documentClassification) { + return AjaxResult.success(documentClassificationService.updateById(documentClassification)); + } + @DeleteMapping("/delete") + @ApiOperation("鏂囨。鍒嗙被鍒犻櫎") + @Log(title = "鏂囨。鍒嗙被鍒犻櫎", businessType = BusinessType.DELETE) + public AjaxResult delete(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + return AjaxResult.success(documentClassificationService.deleteByIds(ids)); + } + +} diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java new file mode 100644 index 0000000..d4b44ad --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java @@ -0,0 +1,107 @@ +package com.ruoyi.warehouse.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; + +import com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper; +import com.ruoyi.warehouse.mapper.DocumentationReturnManagementMapper; +import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; +import com.ruoyi.warehouse.pojo.DocumentationReturnManagement; +import com.ruoyi.warehouse.pojo.Warehouse; +import com.ruoyi.warehouse.service.DocumentationBorrowManagementService; +import com.ruoyi.warehouse.service.WarehouseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.time.LocalDateTime; +import java.util.List; + +@RestController +@Api(tags = "鏂囨。鍊熼槄绠$悊") +@RequestMapping("/documentationBorrowManagement") +public class DocumentationBorrowManagementController extends BaseController { + @Autowired + private DocumentationBorrowManagementService documentationBorrowManagementService; + @Autowired + private DocumentationBorrowManagementMapper documentationBorrowManagementMapper; + @Autowired + private DocumentationReturnManagementMapper documentationReturnManagementMapper; + @GetMapping("/listPage") + @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鍒嗛〉鏌ヨ") + @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) { + return AjaxResult.success(documentationBorrowManagementService.listPage(page, documentationBorrowManagement)); + } + @GetMapping("/list") + @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鏌ヨ") + @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult list() { + return AjaxResult.success(documentationBorrowManagementService.listAll()); + } + @GetMapping("/listPageReturn") + @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕鍒嗛〉鏌ヨ") + @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult listPageReturn(Page page, DocumentationReturnManagement documentationReturnManagement) { + return AjaxResult.success(documentationReturnManagementMapper.listPage(page, documentationReturnManagement)); + } + @PostMapping("/add") + @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄") + @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄", businessType = BusinessType.INSERT) + public AjaxResult add(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) { + return AjaxResult.success(documentationBorrowManagementService.add(documentationBorrowManagement)); + } + @PutMapping("/revent") + @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕") + @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕", businessType = BusinessType.UPDATE) + public AjaxResult revent(@RequestBody DocumentationReturnManagement documentationReturnManagement) { + return AjaxResult.success(documentationBorrowManagementService.reventdbm(documentationReturnManagement)); + } + @PutMapping("/update") + @ApiOperation("鏂囨。鍊熼槄绠$悊-鏇存柊") + @Log(title = "鏂囨。鍊熼槄绠$悊-鏇存柊", businessType = BusinessType.UPDATE) + public AjaxResult update(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) { + return AjaxResult.success(documentationBorrowManagementService.updateById(documentationBorrowManagement)); + } + @PutMapping("/reventUpdate") + @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕鏇存柊") + @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕鏇存柊", businessType = BusinessType.UPDATE) + public AjaxResult reventupdate(@RequestBody DocumentationReturnManagement documentationReturnManagement) { + return AjaxResult.success(documentationReturnManagementMapper.updateById(documentationReturnManagement)); + } + @DeleteMapping ("/delete") + @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄鍒犻櫎") + @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄鍒犻櫎", businessType = BusinessType.DELETE) + public AjaxResult delete(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + return AjaxResult.success(documentationBorrowManagementService.deleteByIds(ids)); + } + @DeleteMapping ("/reventDelete") + @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕鍒犻櫎") + @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕鍒犻櫎", businessType = BusinessType.DELETE) + public AjaxResult reventdelete(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + return AjaxResult.success(documentationBorrowManagementService.reventDeleteByIds(ids)); + } + @PostMapping("/export") + @ApiOperation("鏂囨。鍊熼槄绠$悊-鍊熼槄瀵煎嚭") + @Log(title = "鏂囨。鍊熼槄绠$悊-鍊熼槄瀵煎嚭", businessType = BusinessType.EXPORT) + public void export(HttpServletResponse response,DocumentationBorrowManagement documentationBorrowManagement) { + documentationBorrowManagementService.export(response,documentationBorrowManagement); + } + @PostMapping("/exportrevent") + @ApiOperation("鏂囨。鍊熼槄绠$悊-褰掕繕瀵煎嚭") + @Log(title = "鏂囨。鍊熼槄绠$悊-褰掕繕瀵煎嚭", businessType = BusinessType.EXPORT) + public void exportrevent(HttpServletResponse response, DocumentationReturnManagement documentationReturnManagement) { + documentationBorrowManagementService.exportrevent(response,documentationReturnManagement); + } +} diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java new file mode 100644 index 0000000..586c330 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java @@ -0,0 +1,91 @@ +package com.ruoyi.warehouse.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; + +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.warehouse.dto.DocumentationDto; +import com.ruoyi.warehouse.pojo.Documentation; +import com.ruoyi.warehouse.pojo.Warehouse; +import com.ruoyi.warehouse.service.DocumentationService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/documentation") +@Api(tags = "鏂囨。淇℃伅琛�") +public class DocumentationController extends BaseController { + @Autowired + private DocumentationService documentationService; + @GetMapping("/listPage") + @ApiOperation("鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ") + @Log(title = "鏂囨。淇℃伅琛�-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult listPage(Page page, Documentation documentation) { + IPage<DocumentationDto> list = documentationService.listPage(page, documentation); + return AjaxResult.success(list); + } + @GetMapping("/list") + @ApiOperation("鏂囨。淇℃伅琛ㄦ煡璇�") + @Log(title = "鏂囨。淇℃伅琛ㄦ煡璇�", businessType = BusinessType.OTHER) + public AjaxResult list() { + List<DocumentationDto> list = documentationService.listAll(); + return AjaxResult.success(list); + } + @PostMapping("/add") + @ApiOperation("鏂囨。淇℃伅琛�-娣诲姞") + @Log(title = "鏂囨。淇℃伅琛�-娣诲姞", businessType = BusinessType.INSERT) + public AjaxResult add(@RequestBody Documentation documentation) { + return AjaxResult.success(documentationService.save(documentation)); + } + @PutMapping("/update") + @ApiOperation("鏂囨。淇℃伅琛�-鏇存柊") + @Log(title = "鏂囨。淇℃伅琛�-鏇存柊", businessType = BusinessType.UPDATE) + public AjaxResult update(@RequestBody Documentation documentation) { + return AjaxResult.success(documentationService.updateById(documentation)); + } + @DeleteMapping("/delete") + @ApiOperation("鏂囨。淇℃伅琛�-鍒犻櫎") + @Log(title = "鏂囨。淇℃伅琛�-鍒犻櫎", businessType = BusinessType.DELETE) + public AjaxResult delete(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + return AjaxResult.success(documentationService.deleteByIds(ids)); + } + + @PostMapping("/export") + @ApiOperation("鏂囨。淇℃伅琛�-瀵煎嚭") + @Log(title = "鏂囨。淇℃伅琛�-瀵煎嚭", businessType = BusinessType.EXPORT) + public void export(HttpServletResponse response,Documentation documentation ) { + documentationService.export(response,documentation); + } + @ApiOperation("鏂囨。淇℃伅琛�-缁熻") + @GetMapping("/overview") + public AjaxResult getOverviewStatistics() { + Map<String, Object> result = new HashMap<>(); + result.put("totalDocsCount", documentationService.getTotalDocsCount()); + result.put("categoryNumCount", documentationService.getCategoryNumCount()); + result.put("borrowedDocsCount", documentationService.getBorrowedDocsCount()); + result.put("monthlyAddedDocsCount", documentationService.getMonthlyAddedDocsCount()); + return AjaxResult.success(result); + } + @ApiOperation("鏂囨。淇℃伅琛�-鍒嗙被缁熻") + @GetMapping("/category") + public AjaxResult getCategoryDistribution() { + return AjaxResult.success(documentationService.getCategoryDistribution()); + } + @ApiOperation("鏂囨。淇℃伅琛�-鐘舵�佺粺璁�") + @GetMapping("/status") + public AjaxResult getStatusDistribution() { + return AjaxResult.success(documentationService.getStatusDistribution()); + } +} diff --git a/src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java b/src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java new file mode 100644 index 0000000..13a1bc7 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/DocumentationFileController.java @@ -0,0 +1,64 @@ +package com.ruoyi.warehouse.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.account.pojo.AccountFile; +import com.ruoyi.account.service.AccountFileService; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.warehouse.pojo.DocumentationFile; +import com.ruoyi.warehouse.service.DocumentationFileService; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 鏂囨。闄勪欢 + */ +@RestController +@RequestMapping("/documentation/documentationFile") +public class DocumentationFileController { + + + @Resource + private DocumentationFileService documentationFileService; + + /** + * 鏂板 + * @param documentationFile + * @return + */ + @PostMapping("/add") + public AjaxResult add(@RequestBody DocumentationFile documentationFile) { + return AjaxResult.success(documentationFileService.save(documentationFile)); + } + + /** + * 鍒犻櫎 + * @param ids + * @return + */ + @DeleteMapping("/del") + public AjaxResult delDocumentationFile(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)){ + return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); + } + //鍒犻櫎妫�楠岄檮浠� + return AjaxResult.success(documentationFileService.removeBatchByIds(ids)); + } + + /** + *鏌ヨ + * @param + * @param documentationFile + * @return + */ + @GetMapping("/listPage") + public AjaxResult documentationFileListPage(DocumentationFile documentationFile) { + return AjaxResult.success(documentationFileService.documentationFileListPage( documentationFile)); + } + + + + +} diff --git a/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java b/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java new file mode 100644 index 0000000..0876334 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java @@ -0,0 +1,63 @@ +package com.ruoyi.warehouse.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.ruoyi.warehouse.pojo.Warehouse; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService; +import com.ruoyi.warehouse.service.WarehouseService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@Api(tags = "浠撳簱") +@RequestMapping("/warehouse") +public class WarehouseController extends BaseController { + @Autowired + private WarehouseService warehouseService; + @GetMapping("/tree") + @ApiOperation("浠撳簱-鏌ヨ鏍�") + @Log(title = "浠撳簱-鏌ヨ鏍�", businessType = BusinessType.OTHER) + public AjaxResult listTree() { + return AjaxResult.success(warehouseService.findListTree()); + } + @GetMapping("/list") + @ApiOperation("浠撳簱-鏌ヨ") + @Log(title = "浠撳簱-鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult list(Warehouse warehouse) { + return AjaxResult.success(warehouseService.findList(warehouse)); + } + @PostMapping("/add") + @ApiOperation("浠撳簱-娣诲姞") + @Log(title = "浠撳簱-娣诲姞", businessType = BusinessType.INSERT) + public AjaxResult add(@RequestBody Warehouse warehouse) { + return AjaxResult.success(warehouseService.save(warehouse)); + } + + @PutMapping("/update") + @ApiOperation("浠撳簱-鏇存柊") + @Log(title = "浠撳簱-鏇存柊", businessType = BusinessType.UPDATE) + public AjaxResult update(@RequestBody Warehouse warehouse) { + return AjaxResult.success(warehouseService.updateById(warehouse)); + } + + @DeleteMapping("/delete") + @ApiOperation("浠撳簱-鍒犻櫎") + @Log(title = "浠撳簱-鍒犻櫎", businessType = BusinessType.DELETE) + public AjaxResult delete(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + return AjaxResult.success(warehouseService.deleteByIds(ids)); + } +} diff --git a/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java new file mode 100644 index 0000000..bed5510 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java @@ -0,0 +1,54 @@ +package com.ruoyi.warehouse.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@Api(tags = "鍟嗗搧璐ф灦") +@RequestMapping("/warehouse/goodsShelves") +public class WarehouseGoodsShelvesController extends BaseController { + @Autowired + private WarehouseGoodsShelvesService warehouseGoodsShelvesService; + + @GetMapping("/listById") + @ApiOperation("鍟嗗搧璐ф灦-鏌ヨ") + @Log(title = "鍟嗗搧璐ф灦-鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult listById(WarehouseGoodsShelves warehouseGoodsShelves) { + List<WarehouseGoodsShelvesDto> list = warehouseGoodsShelvesService.findList(warehouseGoodsShelves); + return AjaxResult.success(list); + } + @PostMapping("/add") + @ApiOperation("鍟嗗搧璐ф灦-娣诲姞") + @Log(title = "鍟嗗搧璐ф灦-娣诲姞", businessType = BusinessType.INSERT) + public AjaxResult add(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) { + return AjaxResult.success(warehouseGoodsShelvesService.add(warehouseGoodsShelves)); + } + @PutMapping("/update") + @ApiOperation("鍟嗗搧璐ф灦-鏇存柊") + @Log(title = "鍟嗗搧璐ф灦-鏇存柊", businessType = BusinessType.UPDATE) + public AjaxResult update(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) { + return AjaxResult.success(warehouseGoodsShelvesService.updateRowcolById(warehouseGoodsShelves)); + } + @DeleteMapping("/delete") + @ApiOperation("鍟嗗搧璐ф灦-鍒犻櫎") + @Log(title = "鍟嗗搧璐ф灦-鍒犻櫎", businessType = BusinessType.DELETE) + public AjaxResult delete(@RequestBody List<Long> ids) { + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + return AjaxResult.success(warehouseGoodsShelvesService.deleteByIds(ids)); + } +} diff --git a/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java new file mode 100644 index 0000000..36073ac --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java @@ -0,0 +1,32 @@ +package com.ruoyi.warehouse.controller; + +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesRowcolService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@Api(tags = "鍟嗗搧璐ф灦琛屽垪") +@RequestMapping("/warehouse/goodsShelvesRowcol") +public class WarehouseGoodsShelvesRowcolController extends BaseController { + @Autowired + private WarehouseGoodsShelvesRowcolService warehouseGoodsShelvesRowcolService; + @GetMapping("/list") + @ApiOperation("鍟嗗搧璐ф灦琛屽垪-鏌ヨ") + @Log(title = "鍟嗗搧璐ф灦琛屽垪-鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult list(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { + + List<WarehouseGoodsShelvesRowcolDto> list = warehouseGoodsShelvesRowcolService.getList(warehouseGoodsShelvesRowcol); + return AjaxResult.success(list); + } + +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java new file mode 100644 index 0000000..ed20c8d --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationDto.java @@ -0,0 +1,12 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.warehouse.pojo.DocumentClassification; +import lombok.Data; + +import java.util.List; + +@Data +public class DocumentClassificationDto extends DocumentClassification { + + private List<DocumentClassification> documentClassificationList; +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java new file mode 100644 index 0000000..e2817db --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentClassificationTreeDto.java @@ -0,0 +1,13 @@ +package com.ruoyi.warehouse.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class DocumentClassificationTreeDto { + private Long id; + private Long parentId; + private String category; + private List<DocumentClassificationTreeDto> children; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java new file mode 100644 index 0000000..8fb893a --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentationBorrowManagementDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DocumentationBorrowManagementDto extends DocumentationBorrowManagement { + /** + * 鏂囨。鍚嶇О + */ + @Excel(name = "鏂囨。鍚嶇О") + private String docName; + +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java new file mode 100644 index 0000000..ad10fc2 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentationDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import com.ruoyi.warehouse.pojo.Documentation; +import lombok.Data; + +@Data +public class DocumentationDto extends Documentation { + /** + * 绫诲埆鍚嶇О + */ + @Excel(name = "绫诲埆鍚嶇О") + private String category; + /** + * 浣嶇疆淇℃伅 + */ + @Excel(name = "浣嶇疆淇℃伅") + private String locationInfo; + +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java b/src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java new file mode 100644 index 0000000..a65e1e0 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/DocumentationReturnManagementDto.java @@ -0,0 +1,12 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.warehouse.pojo.DocumentationReturnManagement; +import lombok.Data; + +@Data +public class DocumentationReturnManagementDto extends DocumentationReturnManagement { + /** + * 鏂囨。鍚嶇О + */ + private String docName; +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java b/src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java new file mode 100644 index 0000000..bb9c391 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/ReturnExportDto.java @@ -0,0 +1,27 @@ +package com.ruoyi.warehouse.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import java.time.LocalDateTime; + +public class ReturnExportDto { + private String id; // 璁板綍缂栧彿 + @Excel(name = "鏂囨。鍚嶇О") + private String docName; // 鏂囨。鍚嶇О + @Excel(name = "鍘熷�熼槄浜�") + private String borrower; // 鍊熼槄浜� + @Excel(name = "鍊熼槄鏃堕棿", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDateTime borrowDate; // 鍊熼槄鏃堕棿 + @Excel(name = "褰掕繕浜�") + @NotBlank(message = "褰掕繕浜轰笉鑳戒负绌�!!") + private String returner; // 褰掕繕浜� + @Excel(name = "褰掕繕鏃堕棿", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDateTime returnDate; // 褰掕繕鏃堕棿 +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java new file mode 100644 index 0000000..34ac3f1 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseDto.java @@ -0,0 +1,13 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.warehouse.pojo.*; +import lombok.Data; + +import java.util.List; + +@Data +public class WarehouseDto extends Warehouse { + + private String goodsShelvesName; + private String category; +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java new file mode 100644 index 0000000..b637542 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesDto.java @@ -0,0 +1,12 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; + +import java.util.List; + +public class WarehouseGoodsShelvesDto extends WarehouseGoodsShelves { + private String warehouseName; + private String docName; + private String docNumber; + private String category; +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java new file mode 100644 index 0000000..2bff39e --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseGoodsShelvesRowcolDto.java @@ -0,0 +1,15 @@ +package com.ruoyi.warehouse.dto; + +import com.ruoyi.warehouse.dto.DocumentationDto; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import lombok.Data; + +import java.util.List; + +@Data +public class WarehouseGoodsShelvesRowcolDto extends WarehouseGoodsShelvesRowcol { + private String warehouseName; + private String name; + private List<DocumentationDto> documentationDtoList; + private String category; +} diff --git a/src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java b/src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java new file mode 100644 index 0000000..80be317 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/dto/WarehouseTreeDto.java @@ -0,0 +1,12 @@ +package com.ruoyi.warehouse.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class WarehouseTreeDto { + private Long id; + private String label; + private List<WarehouseTreeDto> children; +} diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentClassificationMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentClassificationMapper.java new file mode 100644 index 0000000..93b121f --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentClassificationMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.warehouse.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.warehouse.pojo.DocumentClassification; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocument_classification(鏂囨。鍒嗙被琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-15 10:44:23 +* @Entity com.ruoyi.warehouse.pojo.DocumentClassification +*/ +@Mapper +public interface DocumentClassificationMapper extends BaseMapper<DocumentClassification> { + +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java new file mode 100644 index 0000000..6af2ceb --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java @@ -0,0 +1,35 @@ +package com.ruoyi.warehouse.mapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto; +import com.ruoyi.warehouse.dto.ReturnExportDto; +import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation_borrow_management(鏂囨。鍊熼槄-褰掕繕琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-14 15:55:45 +* @Entity com.ruoyi.warehouse.pojo.DocumentationBorrowManagement +*/ +@Mapper +public interface DocumentationBorrowManagementMapper extends BaseMapper<DocumentationBorrowManagement> { + + IPage<DocumentationBorrowManagement> listPage(Page page, @Param("documentationBorrowManagement") DocumentationBorrowManagement documentationBorrowManagement); + + List<DocumentationBorrowManagementDto> export(@Param("documentationBorrowManagement") DocumentationBorrowManagement documentationBorrowManagement); + + List<DocumentationBorrowManagementDto> list(@Param("ew") Wrapper<DocumentationBorrowManagementDto> queryWrapper); +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java new file mode 100644 index 0000000..0617258 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationFileMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.warehouse.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.account.pojo.AccountFile; +import com.ruoyi.warehouse.pojo.DocumentationFile; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface DocumentationFileMapper extends BaseMapper<DocumentationFile> { + + List<DocumentationFile> documentationFileListPage(@Param("documentationFile") DocumentationFile documentationFile); +} diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java new file mode 100644 index 0000000..33278bf --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java @@ -0,0 +1,48 @@ +package com.ruoyi.warehouse.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto; +import com.ruoyi.warehouse.dto.DocumentationDto; +import com.ruoyi.warehouse.pojo.Documentation; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation(鏂囨。淇℃伅琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-14 14:05:49 +* @Entity com.ruoyi.warehouse.pojo.Documentation +*/ +@Mapper +public interface DocumentationMapper extends BaseMapper<Documentation> { + + IPage<DocumentationDto> listPage(Page page, @Param("documentation") Documentation documentation); + List<DocumentationDto> list(); + List<DocumentationDto> listByDocumentClassificationId(@Param("documentClassificationId") Long documentClassificationId); + List<DocumentationDto> listBywarehouseGoodsShelvesRowcolId(@Param("warehouseGoodsShelvesRowcolId") Long warehouseGoodsShelvesRowcolId); + @Select("select count(*) from documentation") + Integer countTotalDocs(); + @Select("select count(distinct document_classification_id) from documentation") + Integer countCategoryNum(); + @Select("select count(*) from documentation where doc_status = '鍊熷嚭'") + Integer countBorrowedDocs(); + @Select("select count(*) from documentation where create_time >= date_format(now(), '%Y-%m-01') and create_time < date_format(now(), '%Y-%m-%d')") + Integer countMonthlyAddedDocs(); + + @Select("select dc.category, count(*) as count from documentation doc left join document_classification dc on doc.document_classification_id = dc.id group by dc.category") + List<Map<String, Object>> countCategoryDistribution(); + + @Select("select doc_status as docStatus, count(*) as count from documentation group by doc_status") + List<Map<String, Object>> countStatusDistribution(); + +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java new file mode 100644 index 0000000..d9de592 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/DocumentationReturnManagementMapper.java @@ -0,0 +1,33 @@ +package com.ruoyi.warehouse.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto; +import com.ruoyi.warehouse.dto.ReturnExportDto; +import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; +import com.ruoyi.warehouse.pojo.DocumentationReturnManagement; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation_borrow_management(鏂囨。鍊熼槄-褰掕繕琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-14 15:55:45 +* @Entity com.ruoyi.warehouse.pojo.DocumentationBorrowManagement +*/ +@Mapper +public interface DocumentationReturnManagementMapper extends BaseMapper<DocumentationReturnManagement> { + + IPage<DocumentationReturnManagement> listPage(Page page, @Param("documentationReturnManagement") DocumentationReturnManagement documentationReturnManagement); +// +// List<DocumentationReturnManagementDto> export(@Param("documentationReturnManagement") DocumentationReturnManagement documentationReturnManagement); +// + List<ReturnExportDto> exportrevent(@Param("documentationReturnManagement") DocumentationReturnManagement documentationReturnManagement); +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java new file mode 100644 index 0000000..d02e0cd --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java @@ -0,0 +1,29 @@ +package com.ruoyi.warehouse.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* +* @description 閽堝琛ㄣ�恮arehouse_goods_shelves(浠撳簱璐ф灦琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-13 11:49:02 +* @Entity warehouse.pojo.WarehouseGoodsShelves +*/ +@Mapper +public interface WarehouseGoodsShelvesMapper extends BaseMapper<WarehouseGoodsShelves> { + + List<WarehouseGoodsShelvesDto> findList(@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves); + List<WarehouseGoodsShelvesDto> listAll(@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves); +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java new file mode 100644 index 0000000..69da1ee --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java @@ -0,0 +1,25 @@ +package com.ruoyi.warehouse.mapper; + +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto; +import org.apache.ibatis.annotations.Mapper; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse_goods_shelves_rowcol(浠撳簱璐ф灦灞傦紝鍒楄〃)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-13 11:49:02 +* @Entity warehouse.pojo.WarehouseGoodsShelvesRowcol +*/ +@Mapper +public interface WarehouseGoodsShelvesRowcolMapper extends BaseMapper<WarehouseGoodsShelvesRowcol> { + + List<WarehouseGoodsShelvesRowcolDto> findList(@Param("warehouseGoodsShelvesRowcol") WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol); +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java new file mode 100644 index 0000000..392f8ca --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java @@ -0,0 +1,26 @@ +package com.ruoyi.warehouse.mapper; + + +import com.ruoyi.warehouse.dto.WarehouseDto; +import com.ruoyi.warehouse.pojo.Warehouse; +import org.apache.ibatis.annotations.Mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse(浠撳簱琛�)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-08-13 11:49:02 +* @Entity warehouse.pojo.Warehouse +*/ +@Mapper +public interface WarehouseMapper extends BaseMapper<Warehouse> { + List<WarehouseDto> findList(@Param("warehouse") Warehouse warehouse); + List<Warehouse> listAll(@Param("warehouse") Warehouse warehouse); +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java new file mode 100644 index 0000000..98855ce --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentClassification.java @@ -0,0 +1,67 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * 鏂囨。鍒嗙被琛� + * @TableName document_classification + */ +@TableName(value ="document_classification") +@Data +@ApiModel(value = "鏂囨。鍒嗙被琛�") +public class DocumentClassification implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 绫诲埆鍚嶇О + */ + private String category; + + /** + * 鐖剁被id + */ + private Long parentId; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 绉熸埛id + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java b/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java new file mode 100644 index 0000000..0c1a612 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/Documentation.java @@ -0,0 +1,175 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 鏂囨。淇℃伅琛� + * @TableName documentation + */ +@TableName(value ="documentation") +@Data +@ApiModel(value = "鏂囨。淇℃伅琛�") +public class Documentation implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + @ApiModelProperty(value = "鏂囨。ID") + private Long id; + + /** + * 绫诲埆鍚嶇Оid + */ + @Excel(name = "绫诲埆鍚嶇Оid") + @ApiModelProperty(value = "绫诲埆鍚嶇Оid") + private Long documentClassificationId; + + /** + * 鏂囨。鍚嶇О + */ + @Excel(name = "鏂囨。鍚嶇О") + @ApiModelProperty(value = "鏂囨。鍚嶇О") + private String docName; + + /** + * 鏂囨。缂栧彿 + */ + @Excel(name = "鏂囨。缂栧彿") + @ApiModelProperty(value = "鏂囨。缂栧彿") + private String docNumber; + + /** + * 骞翠唤 + */ + @Excel(name = "骞翠唤") + @ApiModelProperty(value = "骞翠唤") + private Long year; + + /** + * 璐d换浜� + */ + @Excel(name = "璐d换浜�") + @ApiModelProperty(value = "璐d换浜�") + private String responsiblePerson; + + /** + * 鏂囨。鏀剧疆浣嶇疆 + */ + @Excel(name = "鏂囨。鏀剧疆浣嶇疆") + @ApiModelProperty(value = "鏂囨。鏀剧疆浣嶇疆") + private Long warehouseGoodsShelvesRowcolId; + + /** + * 鏂囨。鏃ユ湡 + */ + + @Excel(name = "鏂囨。鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30) + @ApiModelProperty(value = "鏂囨。鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime docDate; + + /** + * 淇濈鏈熼檺 + */ + @Excel(name = "淇濈鏈熼檺") + @ApiModelProperty(value = "淇濈鏈熼檺") + private Long retentionPeriod; + + /** + * 淇濆瘑绾у埆 + */ + @Excel(name = "淇濆瘑绾у埆") + @ApiModelProperty(value = "淇濆瘑绾у埆") + private String securityLevel; + + /** + * 浠芥暟 + */ + @Excel(name = "浠芥暟") + @ApiModelProperty(value = "浠芥暟") + private Long copyCount; + + /** + * 椤垫暟 + */ + @Excel(name = "椤垫暟") + @ApiModelProperty(value = "椤垫暟") + private Long pageCount; + + /** + * 鏂囨。绫诲埆 + */ + @Excel(name = "鏂囨。绫诲埆") + @ApiModelProperty(value = "鏂囨。绫诲埆") + private String docCategory; + + /** + * 鏂囨。绉嶇被 + */ + @Excel(name = "鏂囨。绉嶇被") + @ApiModelProperty(value = "鏂囨。绉嶇被") + private String docType; + + /** + * 绱ф�ョ▼搴� + */ + @Excel(name = "绱ф�ョ▼搴�") + @ApiModelProperty(value = "绱ф�ョ▼搴�") + private String urgencyLevel; + + /** + * 鏂囨。鐘舵�� + */ + @Excel(name = "鏂囨。鐘舵��") + @ApiModelProperty(value = "鏂囨。鐘舵��") + private String docStatus; + + /** + * 澶囨敞 + */ + @Excel(name = "澶囨敞") + @ApiModelProperty(value = "澶囨敞") + private String remark; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 绉熸埛ID + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java new file mode 100644 index 0000000..a6c560f --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java @@ -0,0 +1,129 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.dto.DateQueryDto; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 鏂囨。鍊熼槄-褰掕繕琛� + * @TableName documentation_borrow_management + */ +@TableName(value ="documentation_borrow_management") +@Data +@ApiModel(value = "鏂囨。鍊熼槄琛�") +public class DocumentationBorrowManagement extends DateQueryDto implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 涓婚敭 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 鏂囨。id + */ + @ApiModelProperty(value = "鏂囨。id") + private Long documentationId; + + /** + * 鍊熼槄浜� + */ + @ApiModelProperty(value = "鍊熼槄浜�") + @Excel(name = "鍊熼槄浜�") + private String borrower; + /** + * 褰掕繕浜� + */ + @ApiModelProperty(value = "褰掕繕浜�") + @Excel(name = "褰掕繕浜�") + private String returner; + + /** + * 鍊熼槄鐩殑 + */ + @Excel(name = "鍊熼槄鐩殑") + @ApiModelProperty(value = "鍊熼槄鐩殑") + private String borrowPurpose; + + /** + * 鍊熼槄鏃ユ湡 + */ + + @ApiModelProperty(value = "鍊熼槄鏃ユ湡") + @Excel(name = "鍊熼槄鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate borrowDate; + + /** + * 搴斿綊杩樻棩鏈� + */ + @ApiModelProperty(value = "搴斿綊杩樻棩鏈�") + @Excel(name = "搴斿綊杩樻棩鏈�", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private LocalDate dueReturnDate; + + /** + * 瀹為檯褰掕繕鏃ユ湡 + */ + @ApiModelProperty(value = "瀹為檯褰掕繕鏃ユ湡") + @Excel(name = "瀹為檯褰掕繕鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private LocalDate returnDate; + + /** + * 鍊熼槄鐘舵�� + */ + @ApiModelProperty(value = "鍊熼槄鐘舵��") + @Excel(name = "鍊熼槄鐘舵��") + private String borrowStatus; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + @Excel(name = "澶囨敞") + private String remark; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 绉熸埛id + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java new file mode 100644 index 0000000..c24805c --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationFile.java @@ -0,0 +1,60 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 鏂囨。淇℃伅琛�--闄勪欢 + * documentation_file + */ +@TableName(value = "documentation_file") +@Data +public class DocumentationFile implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 搴忓彿 + */ + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "鏂囦欢鍚嶇О") + private String name; + + @ApiModelProperty(value = "鏂囦欢璺緞") + private String url; + + @ApiModelProperty(value = "鏂囦欢澶у皬") + private Long fileSize; + + @ApiModelProperty(value = "鏂囨。ID") + @NotBlank(message = "鏂囨。id涓嶈兘涓虹┖!") + private Long documentationId; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "淇敼鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "淇敼鐢ㄦ埛") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "绉熸埛ID") + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + +} diff --git a/src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java new file mode 100644 index 0000000..5573923 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/DocumentationReturnManagement.java @@ -0,0 +1,130 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.dto.DateQueryDto; +import com.ruoyi.framework.aspectj.lang.annotation.Excel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * 鏂囨。鍊熼槄-褰掕繕琛� + * @TableName documentation_return_management + */ +@TableName(value ="documentation_return_management") +@Data +@ApiModel(value = "鏂囨。褰掕繕琛�") +public class DocumentationReturnManagement extends DateQueryDto implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 涓婚敭 + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 鏂囨。id + */ + @ApiModelProperty(value = "鏂囨。id") + private Long documentationId; + /** + * 鍊熼槄id + */ + private Long borrowId; + /** + * 鍊熼槄浜� + */ + @ApiModelProperty(value = "鍊熼槄浜�") + @Excel(name = "鍊熼槄浜�") + private String borrower; + /** + * 褰掕繕浜� + */ + @ApiModelProperty(value = "褰掕繕浜�") + @Excel(name = "褰掕繕浜�") + private String returner; + + /** + * 鍊熼槄鐩殑 + */ + @Excel(name = "鍊熼槄鐩殑") + @ApiModelProperty(value = "鍊熼槄鐩殑") + private String borrowPurpose; + + /** + * 鍊熼槄鏃ユ湡 + */ + + @ApiModelProperty(value = "鍊熼槄鏃ユ湡") + @Excel(name = "鍊熼槄鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate borrowDate; + + /** + * 搴斿綊杩樻棩鏈� + */ + @ApiModelProperty(value = "搴斿綊杩樻棩鏈�") + @Excel(name = "搴斿綊杩樻棩鏈�", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private LocalDate dueReturnDate; + + /** + * 瀹為檯褰掕繕鏃ユ湡 + */ + @ApiModelProperty(value = "瀹為檯褰掕繕鏃ユ湡") + @Excel(name = "瀹為檯褰掕繕鏃ユ湡", dateFormat = "yyyy-MM-dd", width = 30) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private LocalDate returnDate; + + /** + * 鍊熼槄鐘舵�� + */ + @ApiModelProperty(value = "鍊熼槄鐘舵��") + @Excel(name = "鍊熼槄鐘舵��") + private String borrowStatus; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + @Excel(name = "澶囨敞") + private String remark; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 绉熸埛id + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/pojo/Warehouse.java b/src/main/java/com/ruoyi/warehouse/pojo/Warehouse.java new file mode 100644 index 0000000..a8ae602 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/Warehouse.java @@ -0,0 +1,62 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * 浠撳簱琛� + * @TableName warehouse + */ +@TableName(value ="warehouse") +@Data +@ApiModel +public class Warehouse implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 浠撳簱鍚嶇О + */ + private String warehouseName; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 绉熸埛ID + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelves.java b/src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelves.java new file mode 100644 index 0000000..d267986 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelves.java @@ -0,0 +1,79 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * 浠撳簱璐ф灦琛� + * @TableName warehouse_goods_shelves + */ +@TableName(value ="warehouse_goods_shelves") +@Data +@ApiModel +public class WarehouseGoodsShelves implements Serializable { + /** + * + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 璐ф灦鍚嶇О + */ + private String name; + /** + * 灞傛暟 + */ + @TableField("`row`") + private Long row; + + /** + * 鍒楁暟 + */ + @TableField("`col`") + private Long col; + + /** + * 浠撳簱id + */ + private Long warehouseId; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 绉熸埛ID + */ + + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelvesRowcol.java b/src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelvesRowcol.java new file mode 100644 index 0000000..4372314 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelvesRowcol.java @@ -0,0 +1,79 @@ +package com.ruoyi.warehouse.pojo; + +import com.baomidou.mybatisplus.annotation.*; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * 浠撳簱璐ф灦灞傦紝鍒楄〃 + * @TableName warehouse_goods_shelves_rowcol + */ +@TableName(value ="warehouse_goods_shelves_rowcol") +@Data +@ApiModel(value = "浠撳簱璐ф灦灞傦紝鍒楄〃") +public class WarehouseGoodsShelvesRowcol implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 灞傛暟 + */ + @TableField("`row`") + private Long row; + + /** + * 鍒楁暟 + */ + @TableField("`col`") + private Long col; + + /** + * 璐ф灦id + */ + private Long warehouseGoodsShelvesId; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 鍒涘缓鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 淇敼鐢ㄦ埛 + */ + @TableField(fill = FieldFill.INSERT) + private Integer updateUser; + + /** + * 绉熸埛ID + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + /** + * 澶囨敞 + */ + private String remark; + +} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java new file mode 100644 index 0000000..0fbe456 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/DocumentClassificationService.java @@ -0,0 +1,20 @@ +package com.ruoyi.warehouse.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.warehouse.dto.DocumentClassificationDto; +import com.ruoyi.warehouse.dto.DocumentClassificationTreeDto; +import com.ruoyi.warehouse.pojo.DocumentClassification; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocument_classification(鏂囨。鍒嗙被琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-08-15 10:44:23 +*/ +public interface DocumentClassificationService extends IService<DocumentClassification> { + + boolean deleteByIds(List<Long> ids); + + List<DocumentClassificationTreeDto> selectDocumentClassificationList(); +} diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java new file mode 100644 index 0000000..2a162d2 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java @@ -0,0 +1,36 @@ +package com.ruoyi.warehouse.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto; +import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.warehouse.pojo.DocumentationReturnManagement; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation_borrow_management(鏂囨。鍊熼槄-褰掕繕琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-08-14 15:55:45 +*/ +public interface DocumentationBorrowManagementService extends IService<DocumentationBorrowManagement> { + + IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement); + + + boolean add(DocumentationBorrowManagement documentationBorrowManagement); + + boolean deleteByIds(List<Long> ids); + + boolean reventdbm(DocumentationReturnManagement documentationReturnManagement); + + boolean reventDeleteByIds(List<Long> ids); + + void export(HttpServletResponse response, DocumentationBorrowManagement documentationBorrowManagement); + + void exportrevent(HttpServletResponse response, DocumentationReturnManagement documentationReturnManagement); + + List<DocumentationBorrowManagementDto> listAll(); +} diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java new file mode 100644 index 0000000..575ecd4 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationFileService.java @@ -0,0 +1,14 @@ +package com.ruoyi.warehouse.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.account.pojo.AccountFile; +import com.ruoyi.warehouse.pojo.DocumentationFile; + +import java.util.List; + +public interface DocumentationFileService extends IService<DocumentationFile> { + + List<DocumentationFile> documentationFileListPage(DocumentationFile documentationFile); +} diff --git a/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java b/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java new file mode 100644 index 0000000..32910ce --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/DocumentationService.java @@ -0,0 +1,40 @@ +package com.ruoyi.warehouse.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.warehouse.dto.DocumentationDto; +import com.ruoyi.warehouse.pojo.Documentation; +import com.baomidou.mybatisplus.extension.service.IService; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation(鏂囨。淇℃伅琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-08-14 14:05:49 +*/ +public interface DocumentationService extends IService<Documentation> { + + IPage<DocumentationDto> listPage(Page page, Documentation documentation); + + void export(HttpServletResponse response,Documentation documentation); + + boolean deleteByIds(List<Long> ids); + + List<DocumentationDto> listAll(); + Integer getTotalDocsCount(); + + Integer getCategoryNumCount(); + + Integer getBorrowedDocsCount(); + + Integer getMonthlyAddedDocsCount(); + + + List<Map<String, Object>> getCategoryDistribution(); + + + List<Map<String, Object>> getStatusDistribution(); +} diff --git a/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java new file mode 100644 index 0000000..ed3bccc --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java @@ -0,0 +1,23 @@ +package com.ruoyi.warehouse.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse_goods_shelves_rowcol(浠撳簱璐ф灦灞傦紝鍒楄〃)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-08-13 11:49:02 +*/ +public interface WarehouseGoodsShelvesRowcolService extends IService<WarehouseGoodsShelvesRowcol> { + + boolean deleteByIds(List<Long> ids); + + + List<WarehouseGoodsShelvesRowcolDto> getList(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol); + + + +} diff --git a/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java new file mode 100644 index 0000000..622d8e1 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java @@ -0,0 +1,27 @@ +package com.ruoyi.warehouse.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; +import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse_goods_shelves(浠撳簱璐ф灦琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-08-13 11:49:02 +*/ +public interface WarehouseGoodsShelvesService extends IService<WarehouseGoodsShelves> { + + + boolean add(WarehouseGoodsShelves warehouseGoodsShelves); + + boolean updateRowcolById(WarehouseGoodsShelves warehouseGoodsShelves); + + boolean deleteByIds(List<Long> ids); + + List<WarehouseGoodsShelvesDto> findList(WarehouseGoodsShelves warehouseGoodsShelves); +} diff --git a/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java b/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java new file mode 100644 index 0000000..0b68de8 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/WarehouseService.java @@ -0,0 +1,24 @@ +package com.ruoyi.warehouse.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.warehouse.dto.WarehouseDto; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto; +import com.ruoyi.warehouse.dto.WarehouseTreeDto; +import com.ruoyi.warehouse.pojo.Warehouse; + +import java.util.List; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse(浠撳簱琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-08-13 11:49:02 +*/ +public interface WarehouseService extends IService<Warehouse> { + + boolean deleteByIds(List<Long> ids); + + List<Warehouse> findList(Warehouse warehouse); + + List<WarehouseTreeDto> findListTree(); +} diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java new file mode 100644 index 0000000..54c642e --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentClassificationServiceImpl.java @@ -0,0 +1,97 @@ +package com.ruoyi.warehouse.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.dto.ProductTreeDto; +import com.ruoyi.basic.pojo.Product; +import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.warehouse.dto.DocumentClassificationDto; +import com.ruoyi.warehouse.dto.DocumentClassificationTreeDto; +import com.ruoyi.warehouse.dto.DocumentationDto; +import com.ruoyi.warehouse.mapper.DocumentationMapper; +import com.ruoyi.warehouse.pojo.DocumentClassification; +import com.ruoyi.warehouse.pojo.Documentation; +import com.ruoyi.warehouse.service.DocumentClassificationService; +import com.ruoyi.warehouse.mapper.DocumentClassificationMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocument_classification(鏂囨。鍒嗙被琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-08-15 10:44:23 +*/ +@Service +public class DocumentClassificationServiceImpl extends ServiceImpl<DocumentClassificationMapper, DocumentClassification> + implements DocumentClassificationService{ + @Autowired + private DocumentationMapper documentationMapper; + @Autowired + private DocumentClassificationMapper documentClassificationMapper; + @Override + public boolean deleteByIds(List<Long> ids) { + List<DocumentClassification> list = documentClassificationMapper.selectList(new LambdaQueryWrapper<DocumentClassification>().in(DocumentClassification::getId, ids)); + for (DocumentClassification documentClassification : list) { + //濡傛灉姣忛」鐨勭埗id涓虹┖锛岃鏄庢槸鏍硅妭鐐癸紝闇�瑕佸垹闄ゆ枃妗d俊鎭〃涓殑鏁版嵁 + List<DocumentationDto> documentationDtos = documentationMapper.listByDocumentClassificationId(documentClassification.getId()); + if (CollectionUtils.isNotEmpty(documentationDtos)){ + throw new RuntimeException("瀛樺湪鏂囨。淇℃伅锛屼笉鑳藉垹闄�"); + } + documentClassificationMapper.deleteById(documentClassification.getId()); + } + return true; + } + + @Override + public List<DocumentClassificationTreeDto> selectDocumentClassificationList() { + // 鏌ヨ鏍硅妭鐐癸紙parentId 涓� null锛� + LambdaQueryWrapper<DocumentClassification> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.isNull(DocumentClassification::getParentId); + + // 鏌ヨ鏍硅妭鐐瑰垪琛� + List<DocumentClassification> rootList = baseMapper.selectList(queryWrapper); + + // 杞崲涓烘爲鑺傜偣骞堕�掑綊鏋勫缓瀛愭爲 + List<DocumentClassificationTreeDto> tree = new ArrayList<>(); + for (DocumentClassification documentClassification : rootList) { + DocumentClassificationTreeDto node = convertToTreeDto(documentClassification); + node.setChildren(buildDocumentChildrenNodes(documentClassification.getId())); + tree.add(node); + } + return tree; + } + // 閫掑綊鏋勫缓瀛愯妭鐐� + private List<DocumentClassificationTreeDto> buildDocumentChildrenNodes(Long parentId) { + // 鏌ヨ褰撳墠鐖惰妭鐐圭殑瀛愯妭鐐� + LambdaQueryWrapper<DocumentClassification> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DocumentClassification::getParentId, parentId); + List<DocumentClassification> childList = baseMapper.selectList(queryWrapper); + + // 杞崲瀛愯妭鐐瑰苟閫掑綊鏋勫缓瀹冧滑鐨勫瓙鏍� + List<DocumentClassificationTreeDto> children = new ArrayList<>(); + for (DocumentClassification child : childList) { + DocumentClassificationTreeDto childNode = convertToTreeDto(child); + childNode.setChildren(buildDocumentChildrenNodes(child.getId())); + children.add(childNode); + } + + return children; + } + // 灏� DocumentClassification 杞崲涓� DocumentClassificationTreeDto + private DocumentClassificationTreeDto convertToTreeDto(DocumentClassification documentClassification) { + DocumentClassificationTreeDto dto = new DocumentClassificationTreeDto(); + BeanUtils.copyProperties(documentClassification, dto); + dto.setCategory(documentClassification.getCategory()); // 璁剧疆 label 涓轰骇鍝佸悕绉� + dto.setChildren(new ArrayList<>()); + return dto; + } +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java new file mode 100644 index 0000000..38b8d5a --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java @@ -0,0 +1,157 @@ +package com.ruoyi.warehouse.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.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.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +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; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation_borrow_management(鏂囨。鍊熼槄-褰掕繕琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-08-14 15:55:45 +*/ +@Service +@Transactional(rollbackFor = Exception.class) +public class DocumentationBorrowManagementServiceImpl extends ServiceImpl<DocumentationBorrowManagementMapper, DocumentationBorrowManagement> + implements DocumentationBorrowManagementService{ + @Autowired + private DocumentationBorrowManagementMapper documentationBorrowManagementMapper; + @Autowired + private DocumentationReturnManagementMapper documentationReturnManagementMapper; + @Autowired + private DocumentationService documentationService; + @Override + public IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) { + IPage<DocumentationBorrowManagement> listPage = documentationBorrowManagementMapper.listPage(page, documentationBorrowManagement); + return listPage; + } + + + @Override + public boolean add(DocumentationBorrowManagement documentationBorrowManagement) { + 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); + // 鏇存柊鏂囨。鐘舵�佷负姝e父 + Documentation documentation = documentationService.getById(documentationBorrowManagement1.getDocumentationId()); + documentation.setDocStatus("姝e父"); + 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); + } catch (Exception e) { + throw new RuntimeException("鍒犻櫎褰掕繕璁板綍鍜屾枃妗g姸鎬佹椂鍑洪敊", e); + } + } +// documentationReturnManagementMapper.deleteBatchIds(ids); + 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, 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) { + Documentation documentation = documentationService.getById(documentationBorrowManagement.getDocumentationId()); + documentation.setDocStatus("姝e父"); + boolean b = documentationService.updateById(documentation); + if (!b){ + throw new RuntimeException("鏇存柊鏂囨。鐘舵�佸け璐�"); + } + } + documentationBorrowManagementMapper.deleteBatchIds(ids); + return true; + } + + + + +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java new file mode 100644 index 0000000..61dafcd --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationFileServiceImpl.java @@ -0,0 +1,26 @@ +package com.ruoyi.warehouse.service.impl; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.warehouse.mapper.DocumentationFileMapper; +import com.ruoyi.warehouse.pojo.DocumentationFile; +import com.ruoyi.warehouse.service.DocumentationFileService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@AllArgsConstructor +@Service +public class DocumentationFileServiceImpl extends ServiceImpl<DocumentationFileMapper, DocumentationFile> implements DocumentationFileService { + + private DocumentationFileMapper documentationFileMapper; + + + @Override + public List<DocumentationFile> documentationFileListPage(DocumentationFile documentationFile) { + return documentationFileMapper.documentationFileListPage(documentationFile); + } +} diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java new file mode 100644 index 0000000..5a7cf30 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java @@ -0,0 +1,116 @@ +package com.ruoyi.warehouse.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.warehouse.dto.DocumentationDto; +import com.ruoyi.warehouse.pojo.Documentation; +import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; +import com.ruoyi.warehouse.service.DocumentationService; +import com.ruoyi.warehouse.mapper.DocumentationMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恉ocumentation(鏂囨。淇℃伅琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-08-14 14:05:49 +*/ +@Service +public class DocumentationServiceImpl extends ServiceImpl<DocumentationMapper, Documentation> + implements DocumentationService{ + @Autowired + private DocumentationMapper documentationMapper; + @Override + public IPage<DocumentationDto> listPage(Page page, Documentation documentation) { + return documentationMapper.listPage(page, documentation); + } + + @Override + public void export(HttpServletResponse response,Documentation documentation) { + IPage<DocumentationDto> list = documentationMapper.listPage(null, documentation); + ExcelUtil<DocumentationDto> util = new ExcelUtil<>(DocumentationDto.class); + util.exportExcel(response, list.getRecords(), "鏂囨。淇℃伅琛�"); + } + + @Override + public boolean deleteByIds(List<Long> ids) { + List<Documentation> documentationList = documentationMapper.selectList(new LambdaQueryWrapper<Documentation>().in(Documentation::getId, ids)); + for (Documentation documentation : documentationList) { + //濡傛灉鏂囨。鐘舵�佹槸宸插�熷嚭锛屼笉鑳藉垹闄� + if ("鍊熷嚭".equals(documentation.getDocStatus()) || "浣滃簾".equals(documentation.getDocStatus())) { + throw new RuntimeException("褰撳墠鏂囨。鐘舵�佷负 " + documentation.getDocStatus() + "锛屼笉鏀寔鍒犻櫎"); + } + documentationMapper.deleteById(documentation.getId()); + } + return true; + } + /** + * 鍒楄〃鎵�鏈夋枃妗� + * @return + */ + @Override + public List<DocumentationDto> listAll() { + List<DocumentationDto> list = documentationMapper.list().stream().filter(documentationDto -> "姝e父".equals(documentationDto.getDocStatus())).collect(Collectors.toList()); + return list; + } + /** + * 鑾峰彇鏂囨。鎬绘暟 + * @return + */ + @Override + public Integer getTotalDocsCount() { + return documentationMapper.countTotalDocs(); + } + /** + * 鑾峰彇鏂囨。鍒嗙被鎬绘暟 + * @return + */ + @Override + public Integer getCategoryNumCount() { + return documentationMapper.countCategoryNum(); + } + /** + * 鑾峰彇宸插�熷嚭鏂囨。鎬绘暟 + * @return + */ + @Override + public Integer getBorrowedDocsCount() { + return documentationMapper.countBorrowedDocs(); + } + /** + * 鑾峰彇姣忔湀鏂板鏂囨。鎬绘暟 + * @return + */ + @Override + public Integer getMonthlyAddedDocsCount() { + return documentationMapper.countMonthlyAddedDocs(); + } + /** + * 鑾峰彇鏂囨。鍒嗙被鍒嗗竷 + * @return + */ + @Override + public List<Map<String, Object>> getCategoryDistribution() { + return documentationMapper.countCategoryDistribution(); + } + /** + * 鑾峰彇鏂囨。鐘舵�佸垎甯� + * @return + */ + @Override + public List<Map<String, Object>> getStatusDistribution() { + return documentationMapper.countStatusDistribution(); + } +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java new file mode 100644 index 0000000..7715520 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java @@ -0,0 +1,63 @@ +package com.ruoyi.warehouse.service.impl; + + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.warehouse.mapper.DocumentationMapper; +import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper; +import com.ruoyi.warehouse.pojo.Documentation; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesRowcolService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse_goods_shelves_rowcol(浠撳簱璐ф灦灞傦紝鍒楄〃)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-08-13 11:49:02 +*/ +@Service +@Slf4j +public class WarehouseGoodsShelvesRowcolServiceImpl extends ServiceImpl<WarehouseGoodsShelvesRowcolMapper, WarehouseGoodsShelvesRowcol> + implements WarehouseGoodsShelvesRowcolService { + @Autowired + private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper; + @Autowired + private DocumentationMapper documentationMapper; + + @Override + public List<WarehouseGoodsShelvesRowcolDto> getList(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { + List<WarehouseGoodsShelvesRowcolDto> list = warehouseGoodsShelvesRowcolMapper.findList(warehouseGoodsShelvesRowcol); + for (WarehouseGoodsShelvesRowcolDto dto : list) { + //鑾峰彇灞俰ds + Long id = dto.getId(); + //鑾峰彇鏂囨。 + dto.setDocumentationDtoList(documentationMapper.listBywarehouseGoodsShelvesRowcolId(id)); + } + return list; + } + @Override + public boolean deleteByIds(List<Long> ids) { + // 3. 妫�鏌ユ槸鍚︽湁鍟嗗搧 + Wrapper<Documentation> queryWrapper = new LambdaQueryWrapper<Documentation>() + .in(Documentation::getWarehouseGoodsShelvesRowcolId, ids); + List<Documentation> documentations = documentationMapper.selectList(queryWrapper); + if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�"); + warehouseGoodsShelvesRowcolMapper.deleteBatchIds(ids); + return true; + } + + + +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java new file mode 100644 index 0000000..3d33d5c --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java @@ -0,0 +1,179 @@ +package com.ruoyi.warehouse.service.impl; + + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto; +import com.ruoyi.warehouse.mapper.DocumentationMapper; +import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper; +import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper; +import com.ruoyi.warehouse.pojo.Documentation; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import com.ruoyi.warehouse.service.DocumentationService; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesRowcolService; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService; +import lombok.extern.slf4j.Slf4j; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse_goods_shelves(浠撳簱璐ф灦琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-08-13 11:49:02 +*/ +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class WarehouseGoodsShelvesServiceImpl extends ServiceImpl<WarehouseGoodsShelvesMapper, WarehouseGoodsShelves> + implements WarehouseGoodsShelvesService { + @Autowired + private WarehouseGoodsShelvesRowcolService warehouseGoodsShelvesRowcolService; + @Autowired + private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper; + @Autowired + private WarehouseGoodsShelvesMapper warehouseGoodsShelvesMapper; + @Autowired + private DocumentationService documentationService; + @Autowired + private DocumentationMapper documentationMapper; + + @Override + public boolean add(WarehouseGoodsShelves warehouseGoodsShelves) { + WarehouseGoodsShelves one = warehouseGoodsShelvesMapper.selectOne(new LambdaQueryWrapper<WarehouseGoodsShelves>().eq(WarehouseGoodsShelves::getId, warehouseGoodsShelves.getId())); + // 1. 妫�鏌ヨ揣鏋跺悕绉版槸鍚﹀凡瀛樺湪 + if (one == null) { + if(warehouseGoodsShelves.getRow() == null || warehouseGoodsShelves.getRow() == 0 && warehouseGoodsShelves.getCol() == null || warehouseGoodsShelves.getCol() == 0){ + throw new IllegalArgumentException("灞傛暟鍜屽垪鏁颁笉鑳戒负绌�"); + } + int insert = warehouseGoodsShelvesMapper.insert(warehouseGoodsShelves); + if (insert <= 0) return false; + } + + Long shelvesId = warehouseGoodsShelves.getId(); + Long warehouseId = warehouseGoodsShelves.getWarehouseId(); + // 3. 鎵归噺鍒涘缓琛屽垪璁板綍 + List<WarehouseGoodsShelvesRowcol> rowcolList = new ArrayList<>(); + for (long i = 1; i <= warehouseGoodsShelves.getRow(); i++) { + for (long j = 1; j <= warehouseGoodsShelves.getCol(); j++) { + WarehouseGoodsShelvesRowcol rowcol = new WarehouseGoodsShelvesRowcol(); + rowcol.setRow(i); + rowcol.setCol(j); + rowcol.setWarehouseGoodsShelvesId(shelvesId); + rowcolList.add(rowcol); + } + } + // 4. 鎵归噺鎻掑叆琛屽垪璁板綍 + if (!rowcolList.isEmpty()) { + try { + // 浣跨敤鎵归噺鎻掑叆鏂规硶鏇夸唬寰幆鍗曟潯鎻掑叆 + warehouseGoodsShelvesRowcolService.saveBatch(rowcolList); + } catch (Exception e) { + // 鎶涘嚭寮傚父瑙﹀彂浜嬪姟鍥炴粴 + throw e; + } + } + return true; + } + /** + * 鏍规嵁ID鏇存柊璐ф灦鍙婂叾琛屽垪淇℃伅 + * @param warehouseGoodsShelves 璐ф灦淇℃伅 + * @return 鏄惁鏇存柊鎴愬姛 + */ + @Override + public boolean updateRowcolById(WarehouseGoodsShelves warehouseGoodsShelves) { + Long shelvesId = warehouseGoodsShelves.getId(); + + // 鏋勫缓鏌ヨ鏉′欢锛氭煡璇㈣璐ф灦涓嬬殑鎵�鏈夎鍒楄褰� + Wrapper<WarehouseGoodsShelvesRowcol> queryWrapper = new LambdaQueryWrapper<WarehouseGoodsShelvesRowcol>() + .eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, shelvesId); + List<WarehouseGoodsShelvesRowcol> rowcolList = warehouseGoodsShelvesRowcolService.list(queryWrapper); + //鑾峰緱rowcolList涓墍鏈夌殑Id + List<Long> rowcolIds = rowcolList.stream() + .map(WarehouseGoodsShelvesRowcol::getId) + .collect(Collectors.toList()); + // 3. 妫�鏌ユ槸鍚︽湁鍟嗗搧 + Wrapper<Documentation> queryWrapper1 = new LambdaQueryWrapper<Documentation>() + .in(Documentation::getWarehouseGoodsShelvesRowcolId, rowcolIds); + List<Documentation> documentations = documentationMapper.selectList(queryWrapper1); + if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�"); + + // 鍏堟洿鏂拌揣鏋朵富淇℃伅 + updateById(warehouseGoodsShelves); + // 鍒犻櫎鏃х殑琛屽垪璁板綍 + warehouseGoodsShelvesRowcolService.removeByIds(rowcolIds); + // 娣诲姞鏂扮殑琛屽垪璁板綍 + add(warehouseGoodsShelves); + return true; + } + /** + * 鎵归噺鍒犻櫎璐ф灦鍙婂叾鍏宠仈鐨勮鍒楄褰� + * @param ids 璐ф灦ID鍒楄〃 + * @return 鏄惁鍒犻櫎鎴愬姛 + */ + @Override + public boolean deleteByIds(List<Long> ids) { + // 1. 鍏堟煡璇㈡墍鏈夎鍒犻櫎鐨勮揣鏋朵俊鎭� + List<WarehouseGoodsShelves> shelvesList = warehouseGoodsShelvesMapper.selectBatchIds(ids); + + // 2. 妫�鏌ユ墍鏈夎揣鏋舵槸鍚﹀瓨鍦ㄥ晢鍝侊紙鏈夊晢鍝佸垯涓嶅厑璁稿垹闄わ級 + for (WarehouseGoodsShelves shelves : shelvesList) { + Long shelvesId = shelves.getId(); + // 鏋勫缓鏌ヨ鏉′欢锛氭煡璇㈠綋鍓嶈揣鏋剁殑鎵�鏈夎鍒楄褰� + Wrapper<WarehouseGoodsShelvesRowcol> queryWrapper = new LambdaQueryWrapper<WarehouseGoodsShelvesRowcol>() + .eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, shelvesId); + + List<WarehouseGoodsShelvesRowcol> rowcolList = warehouseGoodsShelvesRowcolService.list(queryWrapper); + if (CollectionUtils.isEmpty(rowcolList)) { + continue; // 鏃犲叧鑱旇褰曪紝璺宠繃妫�鏌� + } + //鑾峰緱rowcolList涓墍鏈夌殑Id + List<Long> rowcolIds = rowcolList.stream() + .map(WarehouseGoodsShelvesRowcol::getId) + .collect(Collectors.toList()); + // 3. 妫�鏌ユ槸鍚︽湁鍟嗗搧 + Wrapper<Documentation> queryWrapper1 = new LambdaQueryWrapper<Documentation>() + .in(Documentation::getWarehouseGoodsShelvesRowcolId, rowcolIds); + List<Documentation> documentations = documentationMapper.selectList(queryWrapper1); + if (!documentations.isEmpty()) throw new RuntimeException("璐ф灦涓嬫湁鍟嗗搧锛屼笉鑳藉垹闄�"); // 浠讳竴璐ф灦鏈夊晢鍝佸垯缁堟鍒犻櫎 + } + + // 3. 鍏堝垹闄よ揣鏋朵富璁板綍 + warehouseGoodsShelvesMapper.deleteBatchIds(ids); + + // 4. 鎵归噺鍒犻櫎鎵�鏈夎鍒楄褰� + List<Long> allShelvesIds = shelvesList.stream() + .map(WarehouseGoodsShelves::getId) + .collect(Collectors.toList()); + + // 鏋勫缓鎵归噺鍒犻櫎鏉′欢 + Wrapper<WarehouseGoodsShelvesRowcol> deleteWrapper = new LambdaQueryWrapper<WarehouseGoodsShelvesRowcol>() + .in(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, allShelvesIds); + warehouseGoodsShelvesRowcolService.remove(deleteWrapper); + return true; + } + + + @Override + public List<WarehouseGoodsShelvesDto> findList(WarehouseGoodsShelves warehouseGoodsShelves) { + return warehouseGoodsShelvesMapper.listAll(warehouseGoodsShelves); + } + +} + + + + diff --git a/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java new file mode 100644 index 0000000..74276a7 --- /dev/null +++ b/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java @@ -0,0 +1,175 @@ +package com.ruoyi.warehouse.service.impl; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.warehouse.dto.WarehouseDto; +import com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto; +import com.ruoyi.warehouse.dto.WarehouseTreeDto; +import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper; +import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper; +import com.ruoyi.warehouse.mapper.WarehouseMapper; +import com.ruoyi.warehouse.pojo.Warehouse; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelves; +import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; +import com.ruoyi.warehouse.service.WarehouseGoodsShelvesService; +import com.ruoyi.warehouse.service.WarehouseService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.sql.Array; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import static org.springframework.beans.BeanUtils.copyProperties; + +/** +* @author 86151 +* @description 閽堝琛ㄣ�恮arehouse(浠撳簱琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-08-13 11:49:02 +*/ +@Service +@Slf4j +public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse> + implements WarehouseService { + @Autowired + private WarehouseMapper warehouseMapper; + @Autowired + private WarehouseGoodsShelvesService warehouseGoodsShelvesService; + @Autowired + private WarehouseGoodsShelvesMapper warehouseGoodsShelvesMapper; + @Autowired + private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper; + + @Override + public boolean deleteByIds(List<Long> ids) { + // 1. 妫�鏌ユ槸鍚︽湁璐ф灦 + Wrapper<WarehouseGoodsShelves> queryWrapper = new LambdaQueryWrapper<WarehouseGoodsShelves>() + .in(WarehouseGoodsShelves::getWarehouseId, ids); + List<WarehouseGoodsShelves> shelvesList = warehouseGoodsShelvesService.list(queryWrapper); + //鑾峰緱shelvesList涓墍鏈夌殑Id + + List<Long> shelvesIds = shelvesList.stream().map(WarehouseGoodsShelves::getId).collect(Collectors.toList()); + // 2. 鍒犻櫎璐ф灦 + if (!shelvesIds.isEmpty()) { + boolean b = warehouseGoodsShelvesService.deleteByIds(shelvesIds); + if (!b) { + throw new RuntimeException("鍒犻櫎璐ф灦澶辫触"); + } + } + return removeByIds(ids); + } + + @Override + public List<Warehouse> findList(Warehouse warehouse) { + return warehouseMapper.listAll(warehouse); + } + /** + * 鏌ヨ浠撳簱-璐ф灦-灞傚垪涓夌骇鏍戠粨鏋� + */ + @Override + public List<WarehouseTreeDto> findListTree() { + + // 鏌ヨ鎵�鏈夋牴鑺傜偣锛堜粨搴擄級 + LambdaQueryWrapper<Warehouse> queryWrapper = new LambdaQueryWrapper<>(); + // 鏌ヨ浠撳簱鍒楄〃锛堜竴绾ц妭鐐癸級 + List<Warehouse> warehouseList = warehouseMapper.selectList(queryWrapper); + + // 杞崲涓烘爲鑺傜偣骞舵瀯寤哄瓙鏍� + List<WarehouseTreeDto> tree = new ArrayList<>(); + for (Warehouse warehouse : warehouseList) { + WarehouseTreeDto node = convertToWarehouseTreeDto(warehouse); + // 涓烘瘡涓粨搴撴坊鍔犺揣鏋跺瓙鑺傜偣 + node.setChildren(buildShelfChildrenNodes(warehouse.getId())); + tree.add(node); + } + return tree; + } + /** + * 鏋勫缓璐ф灦瀛愯妭鐐癸紙浜岀骇鑺傜偣锛� + */ + private List<WarehouseTreeDto> buildShelfChildrenNodes(Long warehouseId) { + // 鏌ヨ鎸囧畾浠撳簱涓嬬殑鎵�鏈夎揣鏋� + LambdaQueryWrapper<WarehouseGoodsShelves> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(WarehouseGoodsShelves::getWarehouseId, warehouseId); + List<WarehouseGoodsShelves> shelfList = warehouseGoodsShelvesMapper.selectList(queryWrapper); + + // 杞崲涓烘爲鑺傜偣骞舵瀯寤哄眰鍒楀瓙鑺傜偣 + List<WarehouseTreeDto> shelfNodes = new ArrayList<>(); + for (WarehouseGoodsShelves shelf : shelfList) { + WarehouseTreeDto shelfNode = convertToShelfTreeDto(shelf); + // 涓烘瘡涓揣鏋舵坊鍔犲眰鍒楀瓙鑺傜偣 + shelfNode.setChildren(buildRowcolChildrenNodes(shelf.getId())); + shelfNodes.add(shelfNode); + } + + return shelfNodes; + } + + /** + * 鏋勫缓灞傚垪瀛愯妭鐐癸紙涓夌骇鑺傜偣锛� + */ + private List<WarehouseTreeDto> buildRowcolChildrenNodes(Long shelfId) { + // 鏌ヨ鎸囧畾璐ф灦涓嬬殑鎵�鏈夊眰鍒� + LambdaQueryWrapper<WarehouseGoodsShelvesRowcol> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, shelfId); + List<WarehouseGoodsShelvesRowcol> rowcolList = warehouseGoodsShelvesRowcolMapper.selectList(queryWrapper); + + // 杞崲涓烘爲鑺傜偣锛堝眰鍒楁病鏈夊瓙鑺傜偣锛� + List<WarehouseTreeDto> rowcolNodes = new ArrayList<>(); + for (WarehouseGoodsShelvesRowcol rowcol : rowcolList) { + WarehouseTreeDto rowcolNode = convertToRowcolTreeDto(rowcol); + rowcolNodes.add(rowcolNode); + } + + return rowcolNodes; + } + + /** + * 浠撳簱瀹炰綋杞崲涓烘爲鑺傜偣DTO + */ + private WarehouseTreeDto convertToWarehouseTreeDto(Warehouse warehouse) { + WarehouseTreeDto dto = new WarehouseTreeDto(); + copyProperties(warehouse, dto); + dto.setLabel(warehouse.getWarehouseName()); + dto.setChildren(new ArrayList<>()); + return dto; + } + + /** + * 璐ф灦瀹炰綋杞崲涓烘爲鑺傜偣DTO + */ + private WarehouseTreeDto convertToShelfTreeDto(WarehouseGoodsShelves shelf) { + WarehouseTreeDto dto = new WarehouseTreeDto(); + copyProperties(shelf, dto); +// dto.setLabel(shelf.getGoodsShelvesName()); + dto.setLabel(shelf.getName()); + dto.setChildren(new ArrayList<>()); + return dto; + } + + /** + * 灞傚垪瀹炰綋杞崲涓烘爲鑺傜偣DTO + */ + private WarehouseTreeDto convertToRowcolTreeDto(WarehouseGoodsShelvesRowcol rowcol) { + WarehouseTreeDto dto = new WarehouseTreeDto(); + copyProperties(rowcol, dto); +// dto.setLabel(rowcol.getStorey() + "-" + rowcol.getArrange()); + dto.setLabel(rowcol.getRow() + "-" + rowcol.getCol()); + dto.setChildren(new ArrayList<>()); + return dto; + } + +} + + + + diff --git a/src/main/resources/mapper/warehouse/DocumentClassificationMapper.xml b/src/main/resources/mapper/warehouse/DocumentClassificationMapper.xml new file mode 100644 index 0000000..e758e4f --- /dev/null +++ b/src/main/resources/mapper/warehouse/DocumentClassificationMapper.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.DocumentClassificationMapper"> + + <resultMap id="BaseResultMap" type="com.ruoyi.warehouse.pojo.DocumentClassification"> + <id property="id" column="id" /> + <result property="category" column="category" /> + <result property="parentId" column="parent_id" /> + <result property="createTime" column="create_time" /> + <result property="createUser" column="create_user" /> + <result property="updateTime" column="update_time" /> + <result property="updateUser" column="update_user" /> + <result property="tenantId" column="tenant_id" /> + </resultMap> + + <sql id="Base_Column_List"> + id,category,parent_id, + create_time,create_user,update_time, + update_user,tenant_id + </sql> +</mapper> diff --git a/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml b/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml new file mode 100644 index 0000000..18b2082 --- /dev/null +++ b/src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper"> + +<!-- <resultMap id="BaseResultMap" type="com.ruoyi.warehouse.pojo.DocumentationBorrowManagement">--> +<!-- <id property="id" column="id"/>--> +<!-- <result property="documentationId" column="documentation_id" />--> +<!-- <result property="borrowerId" column="borrower_id" />--> +<!-- <result property="borrowPurpose" column="borrow_purpose" />--> +<!-- <result property="borrowDate" column="borrow_date"/>--> +<!-- <result property="dueReturnDate" column="due_return_date" />--> +<!-- <result property="returnDate" column="return_date"/>--> +<!-- <result property="borrowStatus" column="borrow_status" />--> +<!-- <result property="remark" column="remark"/>--> +<!-- <result property="createTime" column="create_time"/>--> +<!-- <result property="createUser" column="create_user"/>--> +<!-- <result property="updateTime" column="update_time"/>--> +<!-- <result property="updateUser" column="update_user"/>--> +<!-- <result property="tenantId" column="tenant_id"/>--> +<!-- </resultMap>--> + +<!-- <sql id="Base_Column_List">--> +<!-- id,documentation_id,borrower_id,--> +<!-- borrow_purpose,borrow_date,due_return_date,--> +<!-- return_date,borrow_status,remark,--> +<!-- create_time,create_user,update_time,--> +<!-- update_user,tenant_id--> +<!-- </sql>--> + <select id="listPage" resultType="com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto"> + select dbm.*,doc.doc_name + from documentation_borrow_management dbm + LEFT JOIN documentation doc on doc.id = dbm.documentation_id + where 1=1 + <if test="documentationBorrowManagement.borrowStatus != null"> + and borrow_status = #{documentationBorrowManagement.borrowStatus} + </if> + <if test="documentationBorrowManagement.documentationId != null"> + and documentation_id = #{documentationBorrowManagement.documentationId} + </if> + <if test="documentationBorrowManagement.borrower != null"> + and borrower like concat('%',#{documentationBorrowManagement.borrower},'%') + </if> + <if test="documentationBorrowManagement.returner != null"> + and returner like concat('%',#{documentationBorrowManagement.returner},'%') + </if> + <if test="documentationBorrowManagement.entryDateStart != null and documentationBorrowManagement.entryDateStart != ''"> + and borrow_date >= DATE_FORMAT(#{documentationBorrowManagement.entryDateStart},'%Y-%m-%d') + </if> + <if test="documentationBorrowManagement.entryDateEnd != null and documentationBorrowManagement.entryDateEnd != ''"> + and borrow_date <= DATE_FORMAT(#{documentationBorrowManagement.entryDateEnd},'%Y-%m-%d') + </if> + </select> + <select id="export" resultType="com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto"> + select dbm.*,doc.doc_name + from documentation_borrow_management dbm + LEFT JOIN documentation doc on doc.id = dbm.documentation_id + where 1=1 + <if test="documentationBorrowManagement.borrowStatus != null"> + and borrow_status = #{documentationBorrowManagement.borrowStatus} + </if> + <if test="documentationBorrowManagement.documentationId != null"> + and documentation_id = #{documentationBorrowManagement.documentationId} + </if> + <if test="documentationBorrowManagement.borrower != null"> + and borrower like concat('%',#{documentationBorrowManagement.borrower},'%') + </if> + <if test="documentationBorrowManagement.returner != null"> + and returner like concat('%',#{documentationBorrowManagement.returner},'%') + </if> + <if test="documentationBorrowManagement.entryDateStart != null and documentationBorrowManagement.entryDateStart != ''"> + and borrow_date >= DATE_FORMAT(#{documentationBorrowManagement.entryDateStart},'%Y-%m-%d') + </if> + <if test="documentationBorrowManagement.entryDateEnd != null and documentationBorrowManagement.entryDateEnd != ''"> + and borrow_date <= DATE_FORMAT(#{documentationBorrowManagement.entryDateEnd},'%Y-%m-%d') + </if> + </select> + <select id="list" resultType="com.ruoyi.warehouse.dto.DocumentationBorrowManagementDto"> + select dbm.*,doc.doc_name + from documentation_borrow_management dbm + LEFT JOIN documentation doc on doc.id = dbm.documentation_id + <if test="ew != null"> + ${ew.customSqlSegment} + </if> + </select> + +</mapper> diff --git a/src/main/resources/mapper/warehouse/DocumentationFileMapper.xml b/src/main/resources/mapper/warehouse/DocumentationFileMapper.xml new file mode 100644 index 0000000..a8b74f9 --- /dev/null +++ b/src/main/resources/mapper/warehouse/DocumentationFileMapper.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.ruoyi.warehouse.mapper.DocumentationFileMapper"> + <select id="documentationFileListPage" resultType="com.ruoyi.warehouse.pojo.DocumentationFile"> + SELECT + * + FROM documentation_file + where + 1=1 + <if test="documentationFile.name != null and documentationFile.name != '' "> + AND name = #{documentationFile.name} + </if> + <if test="documentationFile.documentationId != null"> + AND documentation_id = #{documentationFile.documentationId} + </if> + </select> +</mapper> diff --git a/src/main/resources/mapper/warehouse/DocumentationMapper.xml b/src/main/resources/mapper/warehouse/DocumentationMapper.xml new file mode 100644 index 0000000..91f17a9 --- /dev/null +++ b/src/main/resources/mapper/warehouse/DocumentationMapper.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.DocumentationMapper"> + + <select id="listPage" resultType="com.ruoyi.warehouse.dto.DocumentationDto"> + SELECT + doc.*, + dc.category, + CONCAT( + w.warehouse_name, '-', + wgs.name, '-', + wgsr.row, '灞�-', + wgsr.col, '鍒�' + ) AS location_info -- 鍚堝苟鍚庣殑瀛楁鍚� + FROM documentation doc + LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + LEFT JOIN warehouse_goods_shelves_rowcol wgsr ON wgsr.id = doc.warehouse_goods_shelves_rowcol_id + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + where 1=1 + <if test="documentation.documentClassificationId != null"> + and doc.document_classification_id = #{documentation.documentClassificationId} + </if> + <if test="documentation.docName != null"> + and doc.doc_name = #{documentation.docName} + </if> + <if test="documentation.docNumber != null"> + and doc.doc_number = #{documentation.docNumber} + </if> + <if test="documentation.id != null"> + and doc.id = #{documentation.id} + </if> + </select> + <select id="listByDocumentClassificationId" resultType="com.ruoyi.warehouse.dto.DocumentationDto"> + SELECT + doc.*, + dc.category, + CONCAT( + w.warehouse_name, '-', + wgs.name, '-', + wgsr.row, '灞�-', + wgsr.col, '鍒�' + ) AS location_info -- 鍚堝苟鍚庣殑瀛楁鍚� + FROM documentation doc + LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + LEFT JOIN warehouse_goods_shelves_rowcol wgsr ON wgsr.id = doc.warehouse_goods_shelves_rowcol_id + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + where doc.document_classification_id = #{documentClassificationId} + </select> + <select id="list" resultType="com.ruoyi.warehouse.dto.DocumentationDto"> + SELECT + doc.*, + dc.category, + CONCAT( + w.warehouse_name, '-', + wgs.name, '-', + wgsr.row, '灞�-', + wgsr.col, '鍒�' + ) AS location_info -- 鍚堝苟鍚庣殑瀛楁鍚� + FROM documentation doc + LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + LEFT JOIN warehouse_goods_shelves_rowcol wgsr ON wgsr.id = doc.warehouse_goods_shelves_rowcol_id + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + </select> + <select id="listBywarehouseGoodsShelvesRowcolId" resultType="com.ruoyi.warehouse.dto.DocumentationDto"> + SELECT + doc.*, + dc.category, + CONCAT( + w.warehouse_name, '-', + wgs.name, '-', + wgsr.row, '灞�-', + wgsr.col, '鍒�' + ) AS location_info -- 鍚堝苟鍚庣殑瀛楁鍚� + FROM documentation doc + LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + LEFT JOIN warehouse_goods_shelves_rowcol wgsr ON wgsr.id = doc.warehouse_goods_shelves_rowcol_id + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + where doc.warehouse_goods_shelves_rowcol_id = #{warehouseGoodsShelvesRowcolId} + </select> + +</mapper> diff --git a/src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml b/src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml new file mode 100644 index 0000000..dabc4f0 --- /dev/null +++ b/src/main/resources/mapper/warehouse/DocumentationReturnManagementMapper.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.DocumentationReturnManagementMapper"> + + + <select id="listPage" resultType="com.ruoyi.warehouse.dto.DocumentationReturnManagementDto"> + select dbm.*,doc.doc_name + from documentation_return_management dbm + LEFT JOIN documentation doc on doc.id = dbm.documentation_id + where 1=1 + <if test="documentationReturnManagement.borrowStatus != null"> + and borrow_status = #{documentationReturnManagement.borrowStatus} + </if> + <if test="documentationReturnManagement.documentationId != null"> + and documentation_id = #{documentationReturnManagement.documentationId} + </if> + <if test="documentationReturnManagement.borrower != null"> + and borrower like concat('%',#{documentationReturnManagement.borrower},'%') + </if> + <if test="documentationReturnManagement.returner != null"> + and returner like concat('%',#{documentationReturnManagement.returner},'%') + </if> + <if test="documentationReturnManagement.entryDateStart != null and documentationReturnManagement.entryDateStart != ''"> + and return_date >= DATE_FORMAT(#{documentationReturnManagement.entryDateStart},'%Y-%m-%d') + </if> + <if test="documentationReturnManagement.entryDateEnd != null and documentationReturnManagement.entryDateEnd != ''"> + and return_date <= DATE_FORMAT(#{documentationReturnManagement.entryDateEnd},'%Y-%m-%d') + </if> + </select> + + <select id="exportrevent" resultType="com.ruoyi.warehouse.dto.ReturnExportDto"> + select dbm.*,doc.doc_name + from documentation_return_management dbm + LEFT JOIN documentation doc on doc.id = dbm.documentation_id + where dbm.returner IS NOT NULL + <if test="documentationReturnManagement.returnStatus != null"> + and return_status = #{documentationReturnManagement.returnStatus} + </if> + <if test="documentationReturnManagement.documentationId != null"> + and documentation_id = #{documentationReturnManagement.documentationId} + </if> + <if test="documentationReturnManagement.borrower != null"> + and borrower like concat('%',#{documentationReturnManagement.borrower},'%') + </if> + <if test="documentationReturnManagement.returner != null"> + and returner like concat('%',#{documentationReturnManagement.returner},'%') + </if> + <if test="documentationReturnManagement.entryDateStart != null and documentationReturnManagement.entryDateStart != ''"> + and return_date >= DATE_FORMAT(#{documentationReturnManagement.entryDateStart},'%Y-%m-%d') + </if> + <if test="documentationReturnManagement.entryDateEnd != null and documentationReturnManagement.entryDateEnd != ''"> + and return_date <= DATE_FORMAT(#{documentationReturnManagement.entryDateEnd},'%Y-%m-%d') + </if> + </select> +</mapper> diff --git a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml new file mode 100644 index 0000000..8493e2d --- /dev/null +++ b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesMapper"> + + + <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto"> + SELECT + doc.doc_name, + doc.doc_number, + wgs.*, + w.warehouse_name, + dc.category + FROM warehouse_goods_shelves_rowcol wgsr + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id + LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + <where> + 1=1 + <if test="warehouseGoodsShelves.goodsShelvesName != null and warehouseGoodsShelves.goodsShelvesName != ''"> + and wgs.goods_shelves_name like concat('%',#{warehouseGoodsShelves.goodsShelvesName},'%') + </if> + <if test="warehouseGoodsShelves.warehouseId != null"> + and wgs.warehouse_id = #{warehouseGoodsShelves.warehouseId} + </if> + <if test="warehouseGoodsShelves.id != null"> + and wgs.id = #{warehouseGoodsShelves.id} + </if> + </where> + </select> + <select id="listAll" resultType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesDto"> + select wgs.*,w.warehouse_name from warehouse_goods_shelves wgs + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + <where> + 1=1 + <if test="warehouseGoodsShelves.goodsShelvesName != null and warehouseGoodsShelves.goodsShelvesName != ''"> + and goods_shelves_name like concat('%',#{warehouseGoodsShelves.goodsShelvesName},'%') + </if> + <if test="warehouseGoodsShelves.warehouseId != null"> + and warehouse_id = #{warehouseGoodsShelves.warehouseId} + </if> + <if test="warehouseGoodsShelves.id != null"> + and id = #{warehouseGoodsShelves.id} + </if> + </where> + </select> + + +</mapper> diff --git a/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml new file mode 100644 index 0000000..87dfa32 --- /dev/null +++ b/src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper"> + <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseGoodsShelvesRowcolDto"> +-- SELECT +-- wgsr.*, +-- w.warehouse_name, +-- wgs.name, +-- dc.category +-- FROM warehouse_goods_shelves_rowcol wgsr +-- LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id +-- LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id +-- LEFT JOIN warehouse w ON w.id = wgs.warehouse_id +-- LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + SELECT + wgsr.*, + w.warehouse_name, + wgs.name + FROM warehouse_goods_shelves_rowcol wgsr + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + <where> + 1=1 + <if test="warehouseGoodsShelvesRowcol.row != null"> + and wgsr.row = #{warehouseGoodsShelvesRowcol.row} + </if> + <if test="warehouseGoodsShelvesRowcol.col != null"> + and wgsr.col = #{warehouseGoodsShelvesRowcol.col} + </if> + <if test="warehouseGoodsShelvesRowcol.warehouseGoodsShelvesId != null"> + and wgsr.warehouse_goods_shelves_id = #{warehouseGoodsShelvesRowcol.warehouseGoodsShelvesId} + </if> + <if test="warehouseGoodsShelvesRowcol.id != null"> + and wgsr.id = #{warehouseGoodsShelvesRowcol.id} + </if> + </where> + </select> + +</mapper> diff --git a/src/main/resources/mapper/warehouse/WarehouseMapper.xml b/src/main/resources/mapper/warehouse/WarehouseMapper.xml new file mode 100644 index 0000000..dd45695 --- /dev/null +++ b/src/main/resources/mapper/warehouse/WarehouseMapper.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ruoyi.warehouse.mapper.WarehouseMapper"> + + + <select id="findList" resultType="com.ruoyi.warehouse.dto.WarehouseDto"> + SELECT + w.*, + wgs.name, + doc.doc_name, + doc.doc_number, + dc.category + FROM warehouse_goods_shelves_rowcol wgsr + LEFT JOIN warehouse_goods_shelves wgs ON wgs.id = wgsr.warehouse_goods_shelves_id + LEFT JOIN warehouse w ON w.id = wgs.warehouse_id + LEFT JOIN documentation doc ON doc.warehouse_goods_shelves_rowcol_id = wgsr.id + LEFT JOIN document_classification dc ON doc.document_classification_id = dc.id + <where> + 1=1 + <if test="warehouse.warehouseName != null"> + and w.warehouse_name like concat('%',#{warehouse.warehouseName},'%') + </if> + <if test="warehouse.id != null"> + and w.id = #{warehouse.id} + </if> + </where> + </select> + <select id="listAll" resultType="com.ruoyi.warehouse.pojo.Warehouse"> + select * from warehouse + <where> + 1=1 + <if test="warehouse.warehouseName != null"> + and warehouse_name like concat('%',#{warehouse.warehouseName},'%') + </if> + <if test="warehouse.id != null"> + and w.id = #{warehouse.id} + </if> + </where> + </select> +</mapper> diff --git a/src/main/resources/mybatis/mybatis-config.xml b/src/main/resources/mybatis/mybatis-config.xml index 4b8c496..ee4d2a1 100644 --- a/src/main/resources/mybatis/mybatis-config.xml +++ b/src/main/resources/mybatis/mybatis-config.xml @@ -13,6 +13,7 @@ <setting name="defaultExecutorType" value="SIMPLE" /> <!-- 鎸囧畾 MyBatis 鎵�鐢ㄦ棩蹇楃殑鍏蜂綋瀹炵幇 --> <setting name="logImpl" value="SLF4J" /> +<!-- <setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl" />--> <!-- 浣跨敤椹煎嘲鍛藉悕娉曡浆鎹㈠瓧娈� --> <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> --> </settings> -- Gitblit v1.9.3