src/main/java/com/ruoyi/warehouse/controller/DocumentationBorrowManagementController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ package com.ruoyi.warehouse.controller; 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.ruoyi.warehouse.pojo.DocumentationBorrowManagement; 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.util.List; @RestController @Api(tags = "ææ¡£åé 管ç") @RequestMapping("/documentationBorrowManagement") public class DocumentationBorrowManagementController extends BaseController { @Autowired private DocumentationBorrowManagementService documentationBorrowManagementService; @GetMapping("/listPage") @ApiOperation("ææ¡£åé 管ç-å页æ¥è¯¢") @Log(title = "ææ¡£åé 管ç-å页æ¥è¯¢", businessType = BusinessType.OTHER) public AjaxResult listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) { IPage<DocumentationBorrowManagement> listPage = documentationBorrowManagementService.listPage(page, documentationBorrowManagement); return AjaxResult.success(listPage); } @PostMapping("/add") @ApiOperation("ææ¡£åé 管ç-æ·»å ") @Log(title = "ææ¡£åé 管ç-æ·»å ", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) { documentationBorrowManagementService.save(documentationBorrowManagement); return AjaxResult.success(); } @PostMapping("/update") @ApiOperation("ææ¡£åé 管ç-æ´æ°") @Log(title = "ææ¡£åé 管ç-æ´æ°", businessType = BusinessType.UPDATE) public AjaxResult update(@RequestBody DocumentationBorrowManagement documentationBorrowManagement) { documentationBorrowManagementService.updateById(documentationBorrowManagement); return AjaxResult.success(); } @PostMapping("/delete") @ApiOperation("ææ¡£åé 管ç-å é¤") @Log(title = "ææ¡£åé 管ç-å é¤", businessType = BusinessType.DELETE) public AjaxResult delete(@RequestBody List<Long> ids) { documentationBorrowManagementService.removeByIds(ids); return AjaxResult.success(); } @PostMapping("/export") @ApiOperation("ææ¡£ä¿¡æ¯è¡¨-导åº") @Log(title = "ææ¡£ä¿¡æ¯è¡¨-导åº", businessType = BusinessType.EXPORT) public void export(HttpServletResponse response) { documentationBorrowManagementService.export(response); } } src/main/java/com/ruoyi/warehouse/controller/DocumentationController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ 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.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.List; @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<Documentation> listPage = documentationService.listPage(page, documentation); return AjaxResult.success(listPage); } @GetMapping("/list") @ApiOperation("ææ¡£ä¿¡æ¯è¡¨") @Log(title = "ææ¡£ä¿¡æ¯è¡¨", businessType = BusinessType.OTHER) public AjaxResult list() { List<Documentation> list = documentationService.list(); return AjaxResult.success(list); } @PostMapping("/add") @ApiOperation("ææ¡£ä¿¡æ¯è¡¨-æ·»å ") @Log(title = "ææ¡£ä¿¡æ¯è¡¨-æ·»å ", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody Documentation documentation) { boolean save = documentationService.save(documentation); return save ? AjaxResult.success("æ·»å æå") : AjaxResult.error("æ·»å 失败"); } @PostMapping("/update") @ApiOperation("ææ¡£ä¿¡æ¯è¡¨-æ´æ°") @Log(title = "ææ¡£ä¿¡æ¯è¡¨-æ´æ°", businessType = BusinessType.UPDATE) public AjaxResult update(@RequestBody Documentation documentation) { return AjaxResult.success(documentationService.updateById(documentation)); } @PostMapping("/delete") @ApiOperation("ææ¡£ä¿¡æ¯è¡¨-å é¤") @Log(title = "ææ¡£ä¿¡æ¯è¡¨-å é¤", businessType = BusinessType.DELETE) public AjaxResult delete(@RequestBody List<Long> ids) { if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("è¯·ä¼ å ¥è¦å é¤çID"); boolean remove = documentationService.removeBatchByIds(ids); // boolean remove = documentationService.deleteByIds(ids); return remove ? AjaxResult.success("å 餿å") : AjaxResult.error("å é¤å¤±è´¥"); } @PostMapping("/export") @ApiOperation("ææ¡£ä¿¡æ¯è¡¨-导åº") @Log(title = "ææ¡£ä¿¡æ¯è¡¨-导åº", businessType = BusinessType.EXPORT) public void export(HttpServletResponse response) { documentationService.export(response); } } src/main/java/com/ruoyi/warehouse/controller/WarehouseController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,58 @@ package com.ruoyi.warehouse.controller; 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.ruoyi.warehouse.pojo.Warehouse; 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("/listPage") @ApiOperation("ä»åº-å页æ¥è¯¢") @Log(title = "ä»åº-å页æ¥è¯¢", businessType = BusinessType.OTHER) public AjaxResult listPage(Page page, Warehouse warehouse) { IPage<Warehouse> listPage = warehouseService.listPage(page, warehouse); return AjaxResult.success(listPage); } @PostMapping("/add") @ApiOperation("ä»åº-æ·»å ") @Log(title = "ä»åº-æ·»å ", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody Warehouse warehouse) { boolean save = warehouseService.save(warehouse); return save ? AjaxResult.success("æ·»å æå") : AjaxResult.error("æ·»å 失败"); } @PostMapping("/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("è¯·ä¼ å ¥è¦å é¤çID"); boolean remove = warehouseService.deleteByIds(ids); return remove ? AjaxResult.success("å 餿å") : AjaxResult.error("å é¤å¤±è´¥"); } } src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ 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.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("/listPage") @ApiOperation("ååè´§æ¶-å页æ¥è¯¢") @Log(title = "ååè´§æ¶-å页æ¥è¯¢", businessType = BusinessType.OTHER) public AjaxResult listPage(Page page, WarehouseGoodsShelves warehouseGoodsShelves) { IPage<WarehouseGoodsShelves> listPage = warehouseGoodsShelvesService.listPage(page, warehouseGoodsShelves); return AjaxResult.success(listPage); } @PostMapping("/add") @ApiOperation("ååè´§æ¶-æ·»å ") @Log(title = "ååè´§æ¶-æ·»å ", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) { boolean save = warehouseGoodsShelvesService.add(warehouseGoodsShelves); return save ? AjaxResult.success("æ·»å æå") : AjaxResult.error("æ·»å 失败"); } @PostMapping("/update") @ApiOperation("ååè´§æ¶-æ´æ°") @Log(title = "ååè´§æ¶-æ´æ°", businessType = BusinessType.UPDATE) public AjaxResult update(@RequestBody WarehouseGoodsShelves warehouseGoodsShelves) { boolean update = warehouseGoodsShelvesService.updateRowcolById(warehouseGoodsShelves); return update ? AjaxResult.success("æ´æ°æå") : AjaxResult.error("æ´æ°å¤±è´¥"); } @DeleteMapping("/delete") @ApiOperation("ååè´§æ¶-å é¤") @Log(title = "ååè´§æ¶-å é¤", businessType = BusinessType.DELETE) public AjaxResult delete(@RequestBody List<Long> ids) { if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("è¯·ä¼ å ¥è¦å é¤çID"); boolean remove = warehouseGoodsShelvesService.deleteByIds(ids); return remove ? AjaxResult.success("å 餿å") : AjaxResult.error("å é¤å¤±è´¥"); } } src/main/java/com/ruoyi/warehouse/controller/WarehouseGoodsShelvesRowcolController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ 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.mapper.WarehouseGoodsShelvesRowcolMapper; import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; 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; @Autowired private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper; @GetMapping("/listPage") @ApiOperation("ååè´§æ¶è¡å-å页æ¥è¯¢") @Log(title = "ååè´§æ¶è¡å-å页æ¥è¯¢", businessType = BusinessType.OTHER) public AjaxResult listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { IPage<WarehouseGoodsShelvesRowcol> listPage = warehouseGoodsShelvesRowcolService.listPage(page, warehouseGoodsShelvesRowcol); return AjaxResult.success(listPage); } @PostMapping("/add") @ApiOperation("ååè´§æ¶è¡å-æ·»å ") @Log(title = "ååè´§æ¶è¡å-æ·»å ", businessType = BusinessType.INSERT) public AjaxResult add(@RequestBody WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { boolean save = warehouseGoodsShelvesRowcolService.save(warehouseGoodsShelvesRowcol); return save ? AjaxResult.success("æ·»å æå") : AjaxResult.error("æ·»å 失败"); } @PostMapping("/update") @ApiOperation("ååè´§æ¶è¡å-æ´æ°") @Log(title = "ååè´§æ¶è¡å-æ´æ°", businessType = BusinessType.UPDATE) public AjaxResult update(@RequestBody WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { boolean up = warehouseGoodsShelvesRowcolService.updateById(warehouseGoodsShelvesRowcol); return up ? AjaxResult.success("æ´æ°æå") : AjaxResult.error("æ´æ°å¤±è´¥"); } @PostMapping("/delete") @ApiOperation("ååè´§æ¶è¡å-å é¤") @Log(title = "ååè´§æ¶è¡å-å é¤", businessType = BusinessType.DELETE) public AjaxResult delete(@RequestBody List<Long> ids) { if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("è¯·ä¼ å ¥è¦å é¤çID"); boolean remove = warehouseGoodsShelvesRowcolService.deleteByIds(ids); return remove ? AjaxResult.success("å 餿å") : AjaxResult.error("å é¤å¤±è´¥"); } } src/main/java/com/ruoyi/warehouse/mapper/DocumentationBorrowManagementMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.warehouse.mapper; import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; /** * @author 86151 * @description é对表ãdocumentation_borrow_management(ææ¡£åé -å½è¿è¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2025-08-14 15:55:45 * @Entity com.ruoyi.warehouse.pojo.DocumentationBorrowManagement */ @Mapper public interface DocumentationBorrowManagementMapper extends BaseMapper<DocumentationBorrowManagement> { } src/main/java/com/ruoyi/warehouse/mapper/DocumentationMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ 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.pojo.Documentation; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @author 86151 * @description é对表ãdocumentation(ææ¡£ä¿¡æ¯è¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2025-08-14 14:05:49 * @Entity com.ruoyi.warehouse.pojo.Documentation */ @Mapper public interface DocumentationMapper extends BaseMapper<Documentation> { IPage<Documentation> listPage(Page page,@Param("documentation") Documentation documentation); List<Documentation> list(); } src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ 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.pojo.WarehouseGoodsShelves; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; /** * * @description é对表ãwarehouse_goods_shelves(ä»åºè´§æ¶è¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2025-08-13 11:49:02 * @Entity warehouse.pojo.WarehouseGoodsShelves */ @Mapper public interface WarehouseGoodsShelvesMapper extends BaseMapper<WarehouseGoodsShelves> { IPage<WarehouseGoodsShelves> listPage(Page page,@Param("warehouseGoodsShelves") WarehouseGoodsShelves warehouseGoodsShelves); } src/main/java/com/ruoyi/warehouse/mapper/WarehouseGoodsShelvesRowcolMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.warehouse.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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; /** * @author 86151 * @description é对表ãwarehouse_goods_shelves_rowcol(ä»åºè´§æ¶å±ï¼å表)ãçæ°æ®åºæä½Mapper * @createDate 2025-08-13 11:49:02 * @Entity warehouse.pojo.WarehouseGoodsShelvesRowcol */ @Mapper public interface WarehouseGoodsShelvesRowcolMapper extends BaseMapper<WarehouseGoodsShelvesRowcol> { IPage<WarehouseGoodsShelvesRowcol> listPage(Page page,@Param("warehouseGoodsShelvesRowcol") WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol); } src/main/java/com/ruoyi/warehouse/mapper/WarehouseMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.warehouse.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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; /** * @author 86151 * @description é对表ãwarehouse(ä»åºè¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2025-08-13 11:49:02 * @Entity warehouse.pojo.Warehouse */ @Mapper public interface WarehouseMapper extends BaseMapper<Warehouse> { IPage<Warehouse> listPage(Page page,@Param("warehouse") Warehouse warehouse); } src/main/java/com/ruoyi/warehouse/pojo/Documentation.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,134 @@ package com.ruoyi.warehouse.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import io.swagger.annotations.ApiModel; import lombok.Data; /** * ææ¡£ä¿¡æ¯è¡¨ * @TableName documentation */ @TableName(value ="documentation") @Data @ApiModel(value = "ææ¡£ä¿¡æ¯è¡¨") public class Documentation implements Serializable { /** * */ @TableId(type = IdType.AUTO) private Long id; /** * ç±»å«åç§° */ private String categoryName; /** * ææ¡£åç§° */ private String docName; /** * ææ¡£ç¼å· */ private Long docNumber; /** * 年份 */ private Long year; /** * 责任人 */ private String responsiblePerson; /** * ææ¡£æ¾ç½®ä½ç½® */ private Long warehouseGoodsShelvesRowcolId; /** * ææ¡£æ¥æ */ private LocalDateTime docDate; /** * ä¿ç®¡æé */ private Long retentionPeriod; /** * ä¿å¯çº§å« */ private String securityLevel; /** * ä»½æ° */ private Long copyCount; /** * é¡µæ° */ private Long pageCount; /** * ææ¡£ç±»å« */ private String docCategory; /** * ææ¡£ç§ç±» */ private String docType; /** * ç´§æ¥ç¨åº¦ */ private String urgencyLevel; /** * ææ¡£ç¶æ */ private String docStatus; /** * 夿³¨ */ private String remark; /** * å建æ¶é´ */ private LocalDateTime createTime; /** * åå»ºç¨æ· */ private Long createUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ä¿®æ¹ç¨æ· */ private Long updateUser; /** * ç§æ·ID */ private Long tenantId; private static final long serialVersionUID = 1L; } src/main/java/com/ruoyi/warehouse/pojo/DocumentationBorrowManagement.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,94 @@ package com.ruoyi.warehouse.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import java.util.Date; import io.swagger.annotations.ApiModel; import lombok.Data; /** * ææ¡£åé -å½è¿è¡¨ * @TableName documentation_borrow_management */ @TableName(value ="documentation_borrow_management") @Data @ApiModel(value = "ææ¡£åé -å½è¿è¡¨") public class DocumentationBorrowManagement implements Serializable { /** * ä¸»é® */ @TableId(type = IdType.AUTO) private Long id; /** * ææ¡£id */ private Long documentationId; /** * åé 人id */ private Long borrowerId; /** * åé ç®ç */ private String borrowPurpose; /** * åé æ¥æ */ private LocalDateTime borrowDate; /** * åºå½è¿æ¥æ */ private LocalDateTime dueReturnDate; /** * å®é å½è¿æ¥æ */ private LocalDateTime returnDate; /** * åé ç¶æ */ private String borrowStatus; /** * 夿³¨ */ private String remark; /** * å建æ¶é´ */ private LocalDateTime createTime; /** * åå»ºç¨æ· */ private Long createUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ä¿®æ¹ç¨æ· */ private Long updateUser; /** * ç§æ·id */ private Long tenantId; private static final long serialVersionUID = 1L; } src/main/java/com/ruoyi/warehouse/pojo/Warehouse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ package com.ruoyi.warehouse.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; 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; /** * å建æ¶é´ */ private LocalDateTime createTime; /** * åå»ºç¨æ· */ private Long createUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ä¿®æ¹ç¨æ· */ private Long updateUser; /** * ç§æ·ID */ private Long tenantId; @TableField(exist = false) private static final long serialVersionUID = 1L; } src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelves.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,74 @@ package com.ruoyi.warehouse.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; 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 goodsShelvesName; /** * 屿° */ private Long storey; /** * åæ° */ private Long arrange; /** * ä»åºid */ private Long warehouseId; /** * å建æ¶é´ */ private LocalDateTime createTime; /** * åå»ºç¨æ· */ private Long createUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ä¿®æ¹ç¨æ· */ private Long updateUser; /** * ç§æ·ID */ private Long tenantId; @TableField(exist = false) private static final long serialVersionUID = 1L; } src/main/java/com/ruoyi/warehouse/pojo/WarehouseGoodsShelvesRowcol.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,81 @@ package com.ruoyi.warehouse.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; 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; /** * ææ¡£id */ private Long documentationId; /** * 屿° */ private Long storey; /** * åæ° */ private Long arrange; /** * è´§æ¶id */ private Long warehouseGoodsShelvesId; /** * ä»åºid */ private Long warehouseId; /** * å建æ¶é´ */ private LocalDateTime createTime; /** * åå»ºç¨æ· */ private Long createUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ä¿®æ¹ç¨æ· */ private Long updateUser; /** * ç§æ·ID */ private Long tenantId; /** * 夿³¨ */ private String remark; } src/main/java/com/ruoyi/warehouse/service/DocumentationBorrowManagementService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.warehouse.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; /** * @author 86151 * @description é对表ãdocumentation_borrow_management(ææ¡£åé -å½è¿è¡¨)ãçæ°æ®åºæä½Service * @createDate 2025-08-14 15:55:45 */ public interface DocumentationBorrowManagementService extends IService<DocumentationBorrowManagement> { IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement); void export(HttpServletResponse response); } src/main/java/com/ruoyi/warehouse/service/DocumentationService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ package com.ruoyi.warehouse.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.warehouse.pojo.Documentation; import com.baomidou.mybatisplus.extension.service.IService; import javax.servlet.http.HttpServletResponse; /** * @author 86151 * @description é对表ãdocumentation(ææ¡£ä¿¡æ¯è¡¨)ãçæ°æ®åºæä½Service * @createDate 2025-08-14 14:05:49 */ public interface DocumentationService extends IService<Documentation> { IPage<Documentation> listPage(Page page, Documentation documentation); void export(HttpServletResponse response); } src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesRowcolService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ 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.warehouse.pojo.WarehouseGoodsShelvesRowcol; import java.util.List; /** * @author 86151 * @description é对表ãwarehouse_goods_shelves_rowcol(ä»åºè´§æ¶å±ï¼å表)ãçæ°æ®åºæä½Service * @createDate 2025-08-13 11:49:02 */ public interface WarehouseGoodsShelvesRowcolService extends IService<WarehouseGoodsShelvesRowcol> { IPage<WarehouseGoodsShelvesRowcol> listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol); boolean deleteByIds(List<Long> ids); // boolean add(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol); } src/main/java/com/ruoyi/warehouse/service/WarehouseGoodsShelvesService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.ruoyi.warehouse.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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 é对表ãwarehouse_goods_shelves(ä»åºè´§æ¶è¡¨)ãçæ°æ®åºæä½Service * @createDate 2025-08-13 11:49:02 */ public interface WarehouseGoodsShelvesService extends IService<WarehouseGoodsShelves> { IPage<WarehouseGoodsShelves> listPage(Page page,WarehouseGoodsShelves warehouseGoodsShelves); boolean add(WarehouseGoodsShelves warehouseGoodsShelves); boolean updateRowcolById(WarehouseGoodsShelves warehouseGoodsShelves); boolean deleteByIds(List<Long> ids); } src/main/java/com/ruoyi/warehouse/service/WarehouseService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ 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.warehouse.pojo.Warehouse; import java.util.List; /** * @author 86151 * @description é对表ãwarehouse(ä»åºè¡¨)ãçæ°æ®åºæä½Service * @createDate 2025-08-13 11:49:02 */ public interface WarehouseService extends IService<Warehouse> { IPage<Warehouse> listPage(Page page, Warehouse warehouse); boolean deleteByIds(List<Long> ids); } src/main/java/com/ruoyi/warehouse/service/impl/DocumentationBorrowManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ 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.common.utils.poi.ExcelUtil; import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto; import com.ruoyi.warehouse.pojo.DocumentationBorrowManagement; import com.ruoyi.warehouse.service.DocumentationBorrowManagementService; import com.ruoyi.warehouse.mapper.DocumentationBorrowManagementMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * @author 86151 * @description é对表ãdocumentation_borrow_management(ææ¡£åé -å½è¿è¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2025-08-14 15:55:45 */ @Service public class DocumentationBorrowManagementServiceImpl extends ServiceImpl<DocumentationBorrowManagementMapper, DocumentationBorrowManagement> implements DocumentationBorrowManagementService{ @Autowired private DocumentationBorrowManagementMapper documentationBorrowManagementMapper; @Override public IPage<DocumentationBorrowManagement> listPage(Page page, DocumentationBorrowManagement documentationBorrowManagement) { return null; } @Override public void export(HttpServletResponse response) { // List<DocumentationBorrowManagement> list =documentationBorrowManagementMapper.list(); // ExcelUtil<DocumentationBorrowManagement> util = new ExcelUtil<>(DocumentationBorrowManagement.class); // util.exportExcel(response, list, "ææ¡£åé -å½è¿è®°å½"); } } src/main/java/com/ruoyi/warehouse/service/impl/DocumentationServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ 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.common.utils.poi.ExcelUtil; import com.ruoyi.warehouse.pojo.Documentation; 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; /** * @author 86151 * @description é对表ãdocumentation(ææ¡£ä¿¡æ¯è¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2025-08-14 14:05:49 */ @Service public class DocumentationServiceImpl extends ServiceImpl<DocumentationMapper, Documentation> implements DocumentationService{ @Autowired private DocumentationMapper documentationMapper; @Override public IPage<Documentation> listPage(Page page, Documentation documentation) { return documentationMapper.listPage(page, documentation); } @Override public void export(HttpServletResponse response) { List<Documentation> list =documentationMapper.list(); ExcelUtil<Documentation> util = new ExcelUtil<>(Documentation.class); util.exportExcel(response, list, "ææ¡£ä¿¡æ¯è¡¨"); } } src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesRowcolServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,74 @@ 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.WarehouseGoodsShelvesRowcolMapper; import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; 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.List; /** * @author 86151 * @description é对表ãwarehouse_goods_shelves_rowcol(ä»åºè´§æ¶å±ï¼å表)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2025-08-13 11:49:02 */ @Service @Slf4j public class WarehouseGoodsShelvesRowcolServiceImpl extends ServiceImpl<WarehouseGoodsShelvesRowcolMapper, WarehouseGoodsShelvesRowcol> implements WarehouseGoodsShelvesRowcolService { @Autowired private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper; @Override public IPage<WarehouseGoodsShelvesRowcol> listPage(Page page, WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { IPage<WarehouseGoodsShelvesRowcol> list = warehouseGoodsShelvesRowcolMapper.listPage(page, warehouseGoodsShelvesRowcol); return list; } @Override public boolean deleteByIds(List<Long> ids) { for (int i = 0; i < ids.size(); i++) { Long id = ids.get(i); WarehouseGoodsShelvesRowcol rowcol = warehouseGoodsShelvesRowcolMapper.selectById(id); if(rowcol.getDocumentationId()!=null && rowcol.getDocumentationId()!=0){ log.error("è´§æ¶ä¸æåå,ä¸è½å é¤"); return false; } } int i = warehouseGoodsShelvesRowcolMapper.deleteBatchIds(ids); if(i!=ids.size()){ log.error("å é¤å¤±è´¥"); return false; } return true; } // @Override // public boolean add(WarehouseGoodsShelvesRowcol warehouseGoodsShelvesRowcol) { // for (int i = 0; i < warehouseGoodsShelvesRowcol.getRow(); i++) { // for (int j = 0; j < warehouseGoodsShelvesRowcol.getCol(); j++) { // WarehouseGoodsShelvesRowcol rowcol = new WarehouseGoodsShelvesRowcol(); // rowcol.setRow((long) i); // rowcol.setCol((long) j); // rowcol.setWarehouseGoodsShelvesId(warehouseGoodsShelvesRowcol.getWarehouseGoodsShelvesId()); // rowcol.setWarehouseId(warehouseGoodsShelvesRowcol.getWarehouseId()); // rowcol.setCreateUser(warehouseGoodsShelvesRowcol.getCreateUser()); // rowcol.setCreateTime(warehouseGoodsShelvesRowcol.getCreateTime()); // warehouseGoodsShelvesRowcolMapper.insert(rowcol); // } // } // return true; // } } src/main/java/com/ruoyi/warehouse/service/impl/WarehouseGoodsShelvesServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,219 @@ 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.mapper.WarehouseGoodsShelvesMapper; import com.ruoyi.warehouse.mapper.WarehouseGoodsShelvesRowcolMapper; import com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol; 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 java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * @author 86151 * @description é对表ãwarehouse_goods_shelves(ä»åºè´§æ¶è¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2025-08-13 11:49:02 */ @Service @Slf4j public class WarehouseGoodsShelvesServiceImpl extends ServiceImpl<WarehouseGoodsShelvesMapper, WarehouseGoodsShelves> implements WarehouseGoodsShelvesService { @Autowired private WarehouseGoodsShelvesRowcolService warehouseGoodsShelvesRowcolService; @Autowired private WarehouseGoodsShelvesRowcolMapper warehouseGoodsShelvesRowcolMapper; @Autowired private WarehouseGoodsShelvesMapper warehouseGoodsShelvesMapper; @Override public IPage<WarehouseGoodsShelves> listPage(Page page, WarehouseGoodsShelves warehouseGoodsShelves) { return warehouseGoodsShelvesMapper.listPage(page,warehouseGoodsShelves); } @Override public boolean add(WarehouseGoodsShelves warehouseGoodsShelves) { int insert = warehouseGoodsShelvesMapper.insert(warehouseGoodsShelves); if (insert <= 0) { log.error("è´§æ¶ä¸»è®°å½æ·»å 失败"); return false; } Long shelvesId = warehouseGoodsShelves.getId(); Long warehouseId = warehouseGoodsShelves.getWarehouseId(); Long createUser = warehouseGoodsShelves.getCreateUser(); Long updateUser = warehouseGoodsShelves.getUpdateUser(); // 3. æ¹éå建è¡åè®°å½ List<WarehouseGoodsShelvesRowcol> rowcolList = new ArrayList<>(); for (long i = 1; i <= warehouseGoodsShelves.getStorey(); i++) { for (long j = 1; j <= warehouseGoodsShelves.getArrange(); j++) { WarehouseGoodsShelvesRowcol rowcol = new WarehouseGoodsShelvesRowcol(); rowcol.setStorey(i); rowcol.setArrange(j); rowcol.setWarehouseGoodsShelvesId(shelvesId); rowcol.setWarehouseId(warehouseId); rowcol.setCreateUser(createUser); rowcol.setUpdateUser(updateUser); rowcolList.add(rowcol); } } // 4. æ¹éæå ¥è¡åè®°å½ if (!rowcolList.isEmpty()) { try { // ä½¿ç¨æ¹éæå ¥æ¹æ³æ¿ä»£å¾ªç¯åæ¡æå ¥ boolean saveBatch = warehouseGoodsShelvesRowcolService.saveBatch(rowcolList); if (!saveBatch) { log.warn("è´§æ¶[{}]çè¡åè®°å½é¨åæ·»å 失败", shelvesId); } } catch (Exception e) { log.error("è´§æ¶[{}]çè¡åè®°å½æ¹éæ·»å 失败", shelvesId, e); // æåºå¼å¸¸è§¦åäºå¡åæ» throw e; } } log.info("è´§æ¶[{}]æ·»å æåï¼å±æ°:{}ï¼ææ°:{}", shelvesId, warehouseGoodsShelves.getStorey(), warehouseGoodsShelves.getArrange()); return true; } /** * æ ¹æ®IDæ´æ°è´§æ¶åå ¶è¡åä¿¡æ¯ * @param warehouseGoodsShelves è´§æ¶ä¿¡æ¯ * @return æ¯å¦æ´æ°æå */ @Override public boolean updateRowcolById(WarehouseGoodsShelves warehouseGoodsShelves) { // æåå ³é®IDï¼åå°éå¤è°ç¨ Long shelvesId = warehouseGoodsShelves.getId(); Long warehouseId = warehouseGoodsShelves.getWarehouseId(); // å æ´æ°è´§æ¶ä¸»ä¿¡æ¯ boolean isShelvesUpdated = updateById(warehouseGoodsShelves); if (!isShelvesUpdated) { log.warn("è´§æ¶[{}]ä¸»ä¿¡æ¯æ´æ°å¤±è´¥", shelvesId); return false; } // æå»ºæ¥è¯¢æ¡ä»¶ï¼æ¥è¯¢è¯¥è´§æ¶ä¸çææè¡åè®°å½ WarehouseGoodsShelvesRowcol queryRowcol = new WarehouseGoodsShelvesRowcol(); queryRowcol.setWarehouseGoodsShelvesId(shelvesId); queryRowcol.setWarehouseId(warehouseId); IPage<WarehouseGoodsShelvesRowcol> rowcolPage = warehouseGoodsShelvesRowcolService.listPage(new Page<>(), queryRowcol); List<WarehouseGoodsShelvesRowcol> oldRowcolList = rowcolPage.getRecords(); // å¦ææ²¡ææ§çè¡åè®°å½ï¼ç´æ¥æ·»å æ°è®°å½ if (oldRowcolList.isEmpty()) { add(warehouseGoodsShelves); return true; } // æ£æ¥è´§æ¶ä¸æ¯å¦æååï¼æåååä¸å è®¸æ´æ°ï¼ boolean hasGoodsOnShelves = oldRowcolList.stream() .anyMatch(rowcol -> rowcol.getDocumentationId() != null); if (hasGoodsOnShelves) { log.error("è´§æ¶[{}]ä¸åå¨ååï¼ä¸å è®¸æ´æ°è¡åä¿¡æ¯", shelvesId); return false; } // æåæ§è¡åè®°å½çIDéåï¼ç¨äºå é¤æä½ List<Long> oldRowcolIds = oldRowcolList.stream() .map(WarehouseGoodsShelvesRowcol::getId) .collect(Collectors.toList()); // å 餿§çè¡åè®°å½ boolean isOldRowcolRemoved = warehouseGoodsShelvesRowcolService.removeByIds(oldRowcolIds); if (!isOldRowcolRemoved) { log.error("è´§æ¶[{}]çæ§è¡åè®°å½å é¤å¤±è´¥", shelvesId); return false; } // æ·»å æ°çè¡åè®°å½ add(warehouseGoodsShelves); log.info("è´§æ¶[{}]çè¡åä¿¡æ¯æ´æ°æå", shelvesId); return true; } /** * æ¹éå é¤è´§æ¶åå ¶å ³èçè¡åè®°å½ * @param ids è´§æ¶IDå表 * @return æ¯å¦å 餿å */ @Override public boolean deleteByIds(List<Long> ids) { // 1. å æ¥è¯¢ææè¦å é¤çè´§æ¶ä¿¡æ¯ List<WarehouseGoodsShelves> shelvesList = warehouseGoodsShelvesMapper.selectBatchIds(ids); if (CollectionUtils.isEmpty(shelvesList)) { log.info("æªæ¥è¯¢å°éå é¤çè´§æ¶ï¼IDå表ï¼{}", ids); return true; // æ æ°æ®å¯å ï¼è§ä¸ºæå } // 2. æ£æ¥ææè´§æ¶æ¯å¦åå¨ååï¼æåååä¸å 许å é¤ï¼ for (WarehouseGoodsShelves shelves : shelvesList) { Long shelvesId = shelves.getId(); Long warehouseId = shelves.getWarehouseId(); // æå»ºæ¥è¯¢æ¡ä»¶ï¼æ¥è¯¢å½åè´§æ¶çææè¡åè®°å½ Wrapper<WarehouseGoodsShelvesRowcol> queryWrapper = new LambdaQueryWrapper<WarehouseGoodsShelvesRowcol>() .eq(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, shelvesId) .eq(WarehouseGoodsShelvesRowcol::getWarehouseId, warehouseId); // æ¥è¯¢è¡åè®°å½ï¼ä» é夿æ¯å¦æååï¼æ éåé¡µï¼ List<WarehouseGoodsShelvesRowcol> rowcolList = warehouseGoodsShelvesRowcolService.list(queryWrapper); // æ£æ¥æ¯å¦æåå boolean hasGoods = rowcolList.stream() .anyMatch(rowcol -> rowcol.getDocumentationId() != null && rowcol.getDocumentationId()!=0); if (hasGoods) { log.error("è´§æ¶[ID:{}]ä¸åå¨ååï¼ç¦æ¢å é¤", shelvesId); return false; // ä»»ä¸è´§æ¶æåååç»æ¢å é¤ } } // 3. å å é¤è´§æ¶ä¸»è®°å½ boolean isShelvesDeleted = removeByIds(ids); if (!isShelvesDeleted) { log.error("è´§æ¶ä¸»è®°å½å é¤å¤±è´¥ï¼IDå表ï¼{}", ids); return false; } // 4. æ¹éå 餿æå ³èçè¡åè®°å½ List<Long> allShelvesIds = shelvesList.stream() .map(WarehouseGoodsShelves::getId) .collect(Collectors.toList()); // æå»ºæ¹éå 餿¡ä»¶ Wrapper<WarehouseGoodsShelvesRowcol> deleteWrapper = new LambdaQueryWrapper<WarehouseGoodsShelvesRowcol>() .in(WarehouseGoodsShelvesRowcol::getWarehouseGoodsShelvesId, allShelvesIds); boolean isRowcolDeleted = warehouseGoodsShelvesRowcolService.remove(deleteWrapper); if (!isRowcolDeleted) { log.warn("è´§æ¶å ³èçè¡åè®°å½å é¤å¤±è´¥ï¼è´§æ¶IDå表ï¼{}", allShelvesIds); // æ¤å¤å¯æ ¹æ®ä¸å¡éæ±å³å®æ¯å¦åæ»è´§æ¶å é¤æä½ } log.info("è´§æ¶æ¹éå 餿åï¼IDå表ï¼{}", ids); return true; } } src/main/java/com/ruoyi/warehouse/service/impl/WarehouseServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ 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.WarehouseMapper; 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 lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @author 86151 * @description é对表ãwarehouse(ä»åºè¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @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; @Override public IPage<Warehouse> listPage(Page page, Warehouse warehouse) { return warehouseMapper.listPage(page, warehouse); } @Override public boolean deleteByIds(List<Long> ids) { for (Long id : ids) { WarehouseGoodsShelves shelves = new WarehouseGoodsShelves(); shelves.setWarehouseId(id); IPage<WarehouseGoodsShelves> page = warehouseGoodsShelvesService.listPage(new Page<>(), shelves); if(page.getRecords().size()>0){ log.error("ä»åºä¸æè´§æ¶,ä¸è½å é¤"); return false; } } return true; } } src/main/resources/mapper/warehouse/DocumentationBorrowManagementMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ <?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" jdbcType="BIGINT"/> <result property="documentationId" column="documentation_id" jdbcType="BIGINT"/> <result property="borrowerId" column="borrower_id" jdbcType="BIGINT"/> <result property="borrowPurpose" column="borrow_purpose" jdbcType="VARCHAR"/> <result property="borrowDate" column="borrow_date" jdbcType="TIMESTAMP"/> <result property="dueReturnDate" column="due_return_date" jdbcType="TIMESTAMP"/> <result property="returnDate" column="return_date" jdbcType="TIMESTAMP"/> <result property="borrowStatus" column="borrow_status" jdbcType="VARCHAR"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createUser" column="create_user" jdbcType="BIGINT"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="updateUser" column="update_user" jdbcType="BIGINT"/> <result property="tenantId" column="tenant_id" jdbcType="BIGINT"/> </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> </mapper> src/main/resources/mapper/warehouse/DocumentationMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,64 @@ <?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"> <resultMap id="BaseResultMap" type="com.ruoyi.warehouse.pojo.Documentation"> <id property="id" column="id" jdbcType="BIGINT"/> <result property="categoryName" column="category_name" jdbcType="VARCHAR"/> <result property="docName" column="doc_name" jdbcType="VARCHAR"/> <result property="docNumber" column="doc_number" jdbcType="BIGINT"/> <result property="year" column="year" jdbcType="BIGINT"/> <result property="responsiblePerson" column="responsible_person" jdbcType="VARCHAR"/> <result property="warehouseGoodsShelvesRowcolId" column="warehouse_goods_shelves_rowcol_id" jdbcType="BIGINT"/> <result property="docDate" column="doc_date" jdbcType="TIMESTAMP"/> <result property="retentionPeriod" column="retention_period" jdbcType="BIGINT"/> <result property="securityLevel" column="security_level" jdbcType="VARCHAR"/> <result property="copyCount" column="copy_count" jdbcType="BIGINT"/> <result property="pageCount" column="page_count" jdbcType="BIGINT"/> <result property="docCategory" column="doc_category" jdbcType="VARCHAR"/> <result property="docType" column="doc_type" jdbcType="VARCHAR"/> <result property="urgencyLevel" column="urgency_level" jdbcType="VARCHAR"/> <result property="docStatus" column="doc_status" jdbcType="VARCHAR"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createUser" column="create_user" jdbcType="VARCHAR"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="updateUser" column="update_user" jdbcType="VARCHAR"/> <result property="tenantId" column="tenant_id" jdbcType="BIGINT"/> </resultMap> <sql id="Base_Column_List"> id,category_name,doc_name, doc_number,year,responsible_person, warehouse_goods_shelves_rowcol_id,doc_date,retention_period, security_level,copy_count,page_count, doc_category,doc_type,urgency_level, doc_status,remark,create_time, create_user,update_time,update_user, tenant_id </sql> <select id="listPage" resultType="com.ruoyi.warehouse.pojo.Documentation"> select * from documentation where 1=1 <if test="documentation.categoryName != null"> and category_name = #{documentation.categoryName} </if> <if test="documentation.docName != null"> and doc_name = #{documentation.docName} </if> <if test="documentation.docNumber != null"> and doc_number = #{documentation.docNumber} </if> <if test="documentation.warehouse_goods_shelves_rowcol_id != null"> and warehouse_goods_shelves_rowcol_id = #{documentation.warehouseGoodsShelvesRowcolId} </if> </select> <select id="list" resultType="com.ruoyi.warehouse.pojo.Documentation"> select * from documentation t1 left join warehouse_goods_shelves_rowcol t2 on t1.warehouse_goods_shelves_rowcol_id = t2.id left join warehouse_goods_shelves t3 on t2.warehouse_goods_shelves_id = t3.id left join warehouse t4 on t2.warehouse_id = t4.id </select> </mapper> src/main/resources/mapper/warehouse/WarehouseGoodsShelvesMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ <?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="listPage" resultType="com.ruoyi.warehouse.pojo.WarehouseGoodsShelves"> select * from warehouse_goods_shelves <where> 1=1 <if test="goodsShelvesName != null and goodsShelvesName != ''"> and goods_shelves_name like concat('%',#{goodsShelvesName},'%') </if> <if test="warehouseId != null"> and warehouse_id = #{warehouseId} </if> </where> </select> </mapper> src/main/resources/mapper/warehouse/WarehouseGoodsShelvesRowcolMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ <?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="listPage" resultType="com.ruoyi.warehouse.pojo.WarehouseGoodsShelvesRowcol"> select * from warehouse_goods_shelves_rowcol <where> 1=1 <if test="storey != null"> and storey = #{storey} </if> <if test="arrange != null"> and arrange = #{arrange} </if> <if test="warehouseGoodsShelvesId != null"> and warehouse_goods_shelves_id = #{warehouseGoodsShelvesId} </if> <if test="warehouseId != null"> and warehouse_id = #{warehouseId} </if> </where> </select> </mapper> src/main/resources/mapper/warehouse/WarehouseMapper.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.WarehouseMapper"> <select id="listPage" resultType="com.ruoyi.warehouse.pojo.Warehouse"> select * from warehouse <where> 1=1 <if test="warehouseName != null"> and warehouse_name like concat('%',#{warehouseName},'%') </if> </where> </select> </mapper> src/main/resources/mybatis/mybatis-config.xml
@@ -12,7 +12,8 @@ <!-- é ç½®é»è®¤çæ§è¡å¨.SIMPLEå°±æ¯æ®éæ§è¡å¨;REUSEæ§è¡å¨ä¼éç¨é¢å¤çè¯å¥(prepared statements);BATCHæ§è¡å¨å°éç¨è¯å¥å¹¶æ§è¡æ¹éæ´æ° --> <setting name="defaultExecutorType" value="SIMPLE" /> <!-- æå® MyBatis æç¨æ¥å¿çå ·ä½å®ç° --> <setting name="logImpl" value="SLF4J" /> <!-- <setting name="logImpl" value="SLF4J" />--> <setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl" /> <!-- 使ç¨é©¼å³°å½åæ³è½¬æ¢å段 --> <!-- <setting name="mapUnderscoreToCamelCase" value="true"/> --> </settings>