From b29a1cb6fbca3cf8cf1d307c4c519ae2047c9b18 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期四, 04 九月 2025 15:43:13 +0800 Subject: [PATCH] art: 物料台账-相关接口修改 --- src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java | 193 +++++++++++++----------------------------------- 1 files changed, 53 insertions(+), 140 deletions(-) diff --git a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java index 2a2f162..b24ab65 100644 --- a/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java +++ b/src/main/java/org/jeecg/modules/lsw/controller/LswMaterialInventoryController.java @@ -1,161 +1,74 @@ package org.jeecg.modules.lsw.controller; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.lsw.entity.LswMaterialInventory; +import org.jeecg.modules.lsw.enums.MaterialInventoryStatusEnum; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; +import org.jeecg.modules.lsw.vo.MaterialInventoryStatisticsVO; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; +import java.util.List; /** -* @Description: 鐗╂枡搴撳瓨淇℃伅 -* @Author: jeecg-boot -* @Date: 2025-06-30 -* @Version: V1.0 -*/ -@Api(tags="鐗╂枡搴撳瓨淇℃伅") + * @Description: 鐗╂枡搴撳瓨淇℃伅 + * @Author: jeecg-boot + * @Date: 2025-06-30 + * @Version: V1.0 + */ +@Api(tags = "鐗╂枡搴撳瓨淇℃伅") @RestController -@RequestMapping("/lswmaterialinventory/lswMaterialInventory") +@RequestMapping("/lsw/materialInventory") @Slf4j public class LswMaterialInventoryController extends JeecgController<LswMaterialInventory, ILswMaterialInventoryService> { - @Autowired - private ILswMaterialInventoryService lswMaterialInventoryService; + @Autowired + private ILswMaterialInventoryService lswMaterialInventoryService; - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param lswMaterialInventory - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes="鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<LswMaterialInventory>> queryPageList(LswMaterialInventory lswMaterialInventory, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<LswMaterialInventory> queryWrapper = QueryGenerator.initQueryWrapper(lswMaterialInventory, req.getParameterMap()); - Page<LswMaterialInventory> page = new Page<LswMaterialInventory>(pageNo, pageSize); - IPage<LswMaterialInventory> pageList = lswMaterialInventoryService.page(page, queryWrapper); - return Result.OK(pageList); - } + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param materialId + * @param pageNo + * @param pageSize + * @return + */ + @ApiOperation(value = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes = "鐗╂枡搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<LswMaterialInventory>> queryPageList(@RequestParam(name = "materialId") String materialId, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + LambdaQueryWrapper<LswMaterialInventory> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(LswMaterialInventory::getMaterialId, materialId); + queryWrapper.eq(LswMaterialInventory::getInventoryStatus, MaterialInventoryStatusEnum.NORMAL.name()); + queryWrapper.orderByDesc(LswMaterialInventory::getCreateTime); + Page<LswMaterialInventory> page = new Page<LswMaterialInventory>(pageNo, pageSize); + IPage<LswMaterialInventory> pageList = lswMaterialInventoryService.page(page, queryWrapper); + return Result.OK(pageList); + } - /** - * 娣诲姞 - * - * @param lswMaterialInventory - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-娣诲姞") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-娣诲姞", notes="鐗╂枡搴撳瓨淇℃伅-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody LswMaterialInventory lswMaterialInventory) { - lswMaterialInventoryService.save(lswMaterialInventory); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param lswMaterialInventory - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-缂栬緫") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-缂栬緫", notes="鐗╂枡搴撳瓨淇℃伅-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody LswMaterialInventory lswMaterialInventory) { - lswMaterialInventoryService.updateById(lswMaterialInventory); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎", notes="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - lswMaterialInventoryService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎", notes="鐗╂枡搴撳瓨淇℃伅-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lswMaterialInventoryService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "鐗╂枡搴撳瓨淇℃伅-閫氳繃id鏌ヨ") - @ApiOperation(value="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鏌ヨ", notes="鐗╂枡搴撳瓨淇℃伅-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<LswMaterialInventory> queryById(@RequestParam(name="id",required=true) String id) { - LswMaterialInventory lswMaterialInventory = lswMaterialInventoryService.getById(id); - if(lswMaterialInventory==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(lswMaterialInventory); - } - - /** - * 瀵煎嚭excel - * - * @param request - * @param lswMaterialInventory - */ - //@RequiresPermissions("org.jeecg.modules:lsw_material_inventory:exportXls") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, LswMaterialInventory lswMaterialInventory) { - return super.exportXls(request, lswMaterialInventory, LswMaterialInventory.class, "鐗╂枡搴撳瓨淇℃伅"); - } - - /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - //@RequiresPermissions("lsw_material_inventory:importExcel") - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, LswMaterialInventory.class); - } - + @ApiOperation(value = "鐗╂枡搴撳瓨淇℃伅-缁熻鍚勭嚎杈瑰簱鐗╂枡涓暟", notes = "鐗╂枡搴撳瓨淇℃伅-缁熻鍚勭嚎杈瑰簱鐗╂枡涓暟") + @GetMapping(value = "/statisticsInventory") + public Result<String> statisticsInventory(@RequestParam(name = "materialId") String materialId) { + //搴撳瓨缁熻鏁伴噺 + List<MaterialInventoryStatisticsVO> list = lswMaterialInventoryService.statisticsInventory(materialId); + if(CollectionUtil.isEmpty(list)){ + return Result.OK("0"); + } + StringBuilder sb = new StringBuilder(); + for(MaterialInventoryStatisticsVO vo : list){ + sb.append(vo.getWarehouseName()).append(": ").append(vo.getMaterialQuantity().stripTrailingZeros().toPlainString()).append(" | "); + } + return Result.OK(sb.toString()); + } } -- Gitblit v1.9.3