¶Ô±ÈÐÂÎļþ |
| | |
| | | package org.jeecg.modules.tms.controller; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | 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 cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.tms.entity.BaseTools; |
| | | import org.jeecg.modules.tms.entity.ToolLedger; |
| | | import org.jeecg.modules.tms.entity.ToolsConfigProperty; |
| | | import org.jeecg.modules.tms.service.IBaseToolsService; |
| | | import org.jeecg.modules.tms.service.IToolLedgerService; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import org.jeecg.modules.tms.service.IToolsConfigPropertyService; |
| | | 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: tms_tool_ledger |
| | | * @Author: jeecg-boot |
| | | * @Date: 2025-05-16 |
| | | * @Version: V1.0 |
| | | */ |
| | | @Api(tags="tms_tool_ledger") |
| | | @RestController |
| | | @RequestMapping("/tms/toolLedger") |
| | | @Slf4j |
| | | public class ToolLedgerController extends JeecgController<ToolLedger, IToolLedgerService> { |
| | | @Autowired |
| | | private IToolLedgerService toolLedgerService; |
| | | @Autowired |
| | | private IToolsConfigPropertyService toolsConfigPropertyService; |
| | | @Autowired |
| | | private IBaseToolsService baseToolsService; |
| | | |
| | | /** |
| | | * å页å表æ¥è¯¢ |
| | | * |
| | | * @param toolLedger |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param req |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "tms_tool_ledger-å页å表æ¥è¯¢") |
| | | @ApiOperation(value="tms_tool_ledger-å页å表æ¥è¯¢", notes="tms_tool_ledger-å页å表æ¥è¯¢") |
| | | @GetMapping(value = "/list") |
| | | public Result<IPage<ToolLedger>> queryPageList(ToolLedger toolLedger, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<ToolLedger> queryWrapper = QueryGenerator.initQueryWrapper(toolLedger, req.getParameterMap()); |
| | | Page<ToolLedger> page = new Page<ToolLedger>(pageNo, pageSize); |
| | | IPage<ToolLedger> pageList = toolLedgerService.page(page, queryWrapper); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | @ApiOperation(value="tms_tool_ledger-åºåé¢è¦", notes = "tms_tool_ledger-åºåé¢è¦") |
| | | @GetMapping(value = "/toolsStockWarning") |
| | | public Result<?> toolsStockWarning() { |
| | | List<ToolLedger> toolLedgerList = toolLedgerService.list(); |
| | | Map<String, ToolLedger> toolLedgerMap = toolLedgerList.stream() |
| | | .collect(Collectors.toMap(ToolLedger::getToolId, item -> item, (k1, k2) -> k1)); |
| | | Map<String, ToolsConfigProperty> toolsConfigPropertyMap = toolsConfigPropertyService.list(new LambdaQueryWrapper<ToolsConfigProperty>() |
| | | .in(ToolsConfigProperty::getToolCode, toolLedgerMap.keySet()).eq(ToolsConfigProperty::getStatus, CommonConstant.STATUS_1)) |
| | | .stream().collect(Collectors.toMap(ToolsConfigProperty::getToolCode, item -> item, (k1, k2) -> k1)); |
| | | List<String> warningMsg = CollectionUtil.newArrayList(); |
| | | for (String toolCode : toolsConfigPropertyMap.keySet()) { |
| | | ToolsConfigProperty configProperty = toolsConfigPropertyMap.get(toolCode); |
| | | if (Objects.nonNull(configProperty.getLowerInventory()) && Objects.nonNull(configProperty.getHighestInventory())) { |
| | | ToolLedger toolLedger = toolLedgerMap.get(toolCode); |
| | | if (Objects.nonNull(toolLedger)) { |
| | | BigDecimal totalCount = toolLedger.getTotalCount(); |
| | | BaseTools tools = baseToolsService.getById(toolCode); |
| | | if (totalCount.compareTo(configProperty.getLowerInventory()) < 0) { |
| | | warningMsg.add("ç¼ç 为ã" + tools.getToolCode() + "ãçå·¥å
·ï¼åºåä½äºåºåä¸éï¼"); |
| | | } |
| | | if (totalCount.compareTo(configProperty.getHighestInventory()) > 0) { |
| | | warningMsg.add("ç¼ç 为ã" + tools.getToolCode() + "ãçå·¥å
·ï¼åºåé«äºåºåä¸éï¼"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return Result.OK(warningMsg); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å |
| | | * |
| | | * @param toolLedger |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "tms_tool_ledger-æ·»å ") |
| | | @ApiOperation(value="tms_tool_ledger-æ·»å ", notes="tms_tool_ledger-æ·»å ") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:add") |
| | | @PostMapping(value = "/add") |
| | | public Result<String> add(@RequestBody ToolLedger toolLedger) { |
| | | toolLedgerService.save(toolLedger); |
| | | return Result.OK("æ·»å æåï¼"); |
| | | } |
| | | |
| | | /** |
| | | * ç¼è¾ |
| | | * |
| | | * @param toolLedger |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "tms_tool_ledger-ç¼è¾") |
| | | @ApiOperation(value="tms_tool_ledger-ç¼è¾", notes="tms_tool_ledger-ç¼è¾") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:edit") |
| | | @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) |
| | | public Result<String> edit(@RequestBody ToolLedger toolLedger) { |
| | | toolLedgerService.updateById(toolLedger); |
| | | return Result.OK("ç¼è¾æå!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idå é¤ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "tms_tool_ledger-éè¿idå é¤") |
| | | @ApiOperation(value="tms_tool_ledger-éè¿idå é¤", notes="tms_tool_ledger-éè¿idå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:delete") |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<String> delete(@RequestParam(name="id",required=true) String id) { |
| | | toolLedgerService.removeById(id); |
| | | return Result.OK("å 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ |
| | | * |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @AutoLog(value = "tms_tool_ledger-æ¹éå é¤") |
| | | @ApiOperation(value="tms_tool_ledger-æ¹éå é¤", notes="tms_tool_ledger-æ¹éå é¤") |
| | | //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:deleteBatch") |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { |
| | | this.toolLedgerService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.OK("æ¹éå 餿å!"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿idæ¥è¯¢ |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | //@AutoLog(value = "tms_tool_ledger-éè¿idæ¥è¯¢") |
| | | @ApiOperation(value="tms_tool_ledger-éè¿idæ¥è¯¢", notes="tms_tool_ledger-éè¿idæ¥è¯¢") |
| | | @GetMapping(value = "/queryById") |
| | | public Result<ToolLedger> queryById(@RequestParam(name="id",required=true) String id) { |
| | | ToolLedger toolLedger = toolLedgerService.getById(id); |
| | | if(toolLedger==null) { |
| | | return Result.error("æªæ¾å°å¯¹åºæ°æ®"); |
| | | } |
| | | return Result.OK(toolLedger); |
| | | } |
| | | |
| | | /** |
| | | * 导åºexcel |
| | | * |
| | | * @param request |
| | | * @param toolLedger |
| | | */ |
| | | //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:exportXls") |
| | | @RequestMapping(value = "/exportXls") |
| | | public ModelAndView exportXls(HttpServletRequest request, ToolLedger toolLedger) { |
| | | return super.exportXls(request, toolLedger, ToolLedger.class, "tms_tool_ledger"); |
| | | } |
| | | |
| | | /** |
| | | * éè¿excel导å
¥æ°æ® |
| | | * |
| | | * @param request |
| | | * @param response |
| | | * @return |
| | | */ |
| | | //@RequiresPermissions("tms_tool_ledger:importExcel") |
| | | @RequestMapping(value = "/importExcel", method = RequestMethod.POST) |
| | | public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { |
| | | return super.importExcel(request, response, ToolLedger.class); |
| | | } |
| | | |
| | | /** |
| | | * å·¥å
·å°è´¦-å表æ¥è¯¢ |
| | | * |
| | | * @param toolLedger |
| | | * @param pageNo |
| | | * @param pageSize |
| | | * @param query |
| | | * @return |
| | | */ |
| | | @ApiOperation(value="å·¥å
·å°è´¦-å表æ¥è¯¢", notes="å·¥å
·å°è´¦-å表æ¥è¯¢") |
| | | @GetMapping(value = "/toolLedgerList") |
| | | public Result<?> toolLedgerList(ToolLedger toolLedger, |
| | | @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, |
| | | @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, |
| | | @RequestParam Map<String, String> query) { |
| | | IPage<Map<String, Object>> pageList = toolLedgerService.toolLedgerList(pageNo,pageSize, query); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | | } |