From 345941d946f5a48d31660a58dfc7911d7639a97d Mon Sep 17 00:00:00 2001 From: lixiangyu <lixiangyu@xalxzn.com> Date: 星期五, 22 八月 2025 22:35:45 +0800 Subject: [PATCH] feat(cms): 刀具库存统计 --- src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java | 258 ++++++++++++++++++++++++++------------------------- 1 files changed, 130 insertions(+), 128 deletions(-) diff --git a/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java b/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java index 92024f7..630d7e6 100644 --- a/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java +++ b/src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java @@ -3,15 +3,11 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.cms.entity.CuttingInventory; import org.jeecg.modules.cms.service.ICuttingInventoryService; @@ -20,141 +16,133 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; - /** +/** * @Description: 鍒�鍏峰簱瀛� * @Author: jeecg-boot - * @Date: 2025-07-28 + * @Date: 2025-07-28 * @Version: V1.0 */ -@Api(tags="鍒�鍏峰簱瀛�") +@Api(tags = "鍒�鍏峰簱瀛�") @RestController @RequestMapping("/cms/cuttingInventory") @Slf4j public class CuttingInventoryController extends JeecgController<CuttingInventory, ICuttingInventoryService> { - @Autowired - private ICuttingInventoryService cuttingInventoryService; - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param cuttingInventory - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "鍒�鍏峰簱瀛�-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鍒�鍏峰簱瀛�-鍒嗛〉鍒楄〃鏌ヨ", notes="鍒�鍏峰簱瀛�-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<CuttingInventory>> queryPageList(CuttingInventory cuttingInventory, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<CuttingInventory> queryWrapper = QueryGenerator.initQueryWrapper(cuttingInventory, req.getParameterMap()); - Page<CuttingInventory> page = new Page<CuttingInventory>(pageNo, pageSize); - IPage<CuttingInventory> pageList = cuttingInventoryService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 娣诲姞 - * - * @param cuttingInventory - * @return - */ - @AutoLog(value = "鍒�鍏峰簱瀛�-娣诲姞") - @ApiOperation(value="鍒�鍏峰簱瀛�-娣诲姞", notes="鍒�鍏峰簱瀛�-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody CuttingInventory cuttingInventory) { - cuttingInventoryService.save(cuttingInventory); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param cuttingInventory - * @return - */ - @AutoLog(value = "鍒�鍏峰簱瀛�-缂栬緫") - @ApiOperation(value="鍒�鍏峰簱瀛�-缂栬緫", notes="鍒�鍏峰簱瀛�-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody CuttingInventory cuttingInventory) { - cuttingInventoryService.updateById(cuttingInventory); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鍒�鍏峰簱瀛�-閫氳繃id鍒犻櫎") - @ApiOperation(value="鍒�鍏峰簱瀛�-閫氳繃id鍒犻櫎", notes="鍒�鍏峰簱瀛�-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - cuttingInventoryService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鍒�鍏峰簱瀛�-鎵归噺鍒犻櫎") - @ApiOperation(value="鍒�鍏峰簱瀛�-鎵归噺鍒犻櫎", notes="鍒�鍏峰簱瀛�-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.cuttingInventoryService.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<CuttingInventory> queryById(@RequestParam(name="id",required=true) String id) { - CuttingInventory cuttingInventory = cuttingInventoryService.getById(id); - if(cuttingInventory==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(cuttingInventory); - } + @Autowired + private ICuttingInventoryService cuttingInventoryService; /** - * 瀵煎嚭excel - * - * @param request - * @param cuttingInventory - */ + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param cuttingInventory + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鍒�鍏峰簱瀛�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鍒�鍏峰簱瀛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鍒�鍏峰簱瀛�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<CuttingInventory>> queryPageList(CuttingInventory cuttingInventory, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<CuttingInventory> queryWrapper = QueryGenerator.initQueryWrapper(cuttingInventory, req.getParameterMap()); + Page<CuttingInventory> page = new Page<CuttingInventory>(pageNo, pageSize); + IPage<CuttingInventory> pageList = cuttingInventoryService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param cuttingInventory + * @return + */ + @AutoLog(value = "鍒�鍏峰簱瀛�-娣诲姞") + @ApiOperation(value = "鍒�鍏峰簱瀛�-娣诲姞", notes = "鍒�鍏峰簱瀛�-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody CuttingInventory cuttingInventory) { + cuttingInventoryService.save(cuttingInventory); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param cuttingInventory + * @return + */ + @AutoLog(value = "鍒�鍏峰簱瀛�-缂栬緫") + @ApiOperation(value = "鍒�鍏峰簱瀛�-缂栬緫", notes = "鍒�鍏峰簱瀛�-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody CuttingInventory cuttingInventory) { + cuttingInventoryService.updateById(cuttingInventory); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鍒�鍏峰簱瀛�-閫氳繃id鍒犻櫎") + @ApiOperation(value = "鍒�鍏峰簱瀛�-閫氳繃id鍒犻櫎", notes = "鍒�鍏峰簱瀛�-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + cuttingInventoryService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鍒�鍏峰簱瀛�-鎵归噺鍒犻櫎") + @ApiOperation(value = "鍒�鍏峰簱瀛�-鎵归噺鍒犻櫎", notes = "鍒�鍏峰簱瀛�-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.cuttingInventoryService.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<CuttingInventory> queryById(@RequestParam(name = "id", required = true) String id) { + CuttingInventory cuttingInventory = cuttingInventoryService.getById(id); + if (cuttingInventory == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(cuttingInventory); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param cuttingInventory + */ //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, CuttingInventory cuttingInventory) { @@ -162,16 +150,30 @@ } /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ //@RequiresPermissions("cms_cutting_inventory:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, CuttingInventory.class); } + /** + * 鍒�鍏峰簱瀛樼粺璁� + */ + @ApiOperation(value = "鍒�鍏峰簱瀛�-缁熻鍒嗛〉鏌ヨ", notes = "鍒�鍏峰簱瀛�-缁熻鍒嗛〉鏌ヨ") + @GetMapping(value = "/statistics") + public Result<IPage<Map<String, Object>>> statistics( + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + + Page<Map<String, Object>> page = new Page<>(pageNo, pageSize); + IPage<Map<String, Object>> pageList = cuttingInventoryService.statisticsByCuttingIdAndStatus(page); + return Result.OK(pageList); + } + } -- Gitblit v1.9.3