新火炬后端单体项目初始化代码
cuijian
8 天以前 865ceab2bf6f8615f55a9dc4ffa8a4dbbb440155
刀具管理
已添加96个文件
5360 ■■■■■ 文件已修改
src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingInboundDetailController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingInboundInventoryController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingPropertiesController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveDetailController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingScrapController.java 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingScrapDetailController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/EdgeGrindingController.java 212 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/EdgeGrindingDetailController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/RatedLifeController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/ToolStocktakingController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/ToolStocktakingDetailController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/ToolStocktakingInventoryChangeController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingInbound.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingInboundDetail.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingInboundInventory.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingProperties.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingScrap.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingScrapDetail.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/CuttingTool.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/EdgeGrinding.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/EdgeGrindingDetail.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/RatedLife.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/ToolStocktaking.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/ToolStocktakingDetail.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/entity/ToolStocktakingInventoryChange.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingInboundDetailMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingInboundInventoryMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingInboundMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingInventoryMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingPropertiesMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingScrapDetailMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingScrapMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/CuttingToolMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/EdgeGrindingDetailMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/EdgeGrindingMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/RatedLifeMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/ToolStocktakingDetailMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/ToolStocktakingInventoryChangeMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/ToolStocktakingMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInboundDetailMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInboundInventoryMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInboundMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInventoryMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingPropertiesMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingScrapDetailMapper.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingScrapMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/EdgeGrindingDetailMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/EdgeGrindingMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/RatedLifeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/ToolStocktakingDetailMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/ToolStocktakingInventoryChangeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/mapper/xml/ToolStocktakingMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingInboundDetailService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingInboundInventoryService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingInventoryService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingPropertiesService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingScrapDetailService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingScrapService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/ICuttingToolService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/IEdgeGrindingDetailService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/IEdgeGrindingService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/IRatedLifeService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/IToolStocktakingDetailService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/IToolStocktakingInventoryChangeService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/IToolStocktakingService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundDetailServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundInventoryServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingPropertiesServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveDetailServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingScrapDetailServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingScrapServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/CuttingToolServiceImpl.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/EdgeGrindingDetailServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/EdgeGrindingServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/RatedLifeServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/ToolStocktakingDetailServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/ToolStocktakingInventoryChangeServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/service/impl/ToolStocktakingServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/cms/controller/CuttingInboundController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,211 @@
package org.jeecg.modules.cms.controller;
import java.util.ArrayList;
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 com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.CuttingInbound;
import org.jeecg.modules.cms.entity.CuttingInboundDetail;
import org.jeecg.modules.cms.service.ICuttingInboundDetailService;
import org.jeecg.modules.cms.service.ICuttingInboundService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具入库单")
@RestController
@RequestMapping("/cms/cuttingInbound")
@Slf4j
public class CuttingInboundController extends JeecgController<CuttingInbound, ICuttingInboundService> {
    @Autowired
    private ICuttingInboundService cuttingInboundService;
     @Autowired
     private ICuttingInboundDetailService cuttingInboundDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingInbound
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具入库单-分页列表查询")
    @ApiOperation(value="刀具入库单-分页列表查询", notes="刀具入库单-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingInbound>> queryPageList(CuttingInbound cuttingInbound,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingInbound> queryWrapper = QueryGenerator.initQueryWrapper(cuttingInbound, req.getParameterMap());
        Page<CuttingInbound> page = new Page<CuttingInbound>(pageNo, pageSize);
        IPage<CuttingInbound> pageList = cuttingInboundService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "刀具入库单-添加")
    @ApiOperation(value="刀具入库单-添加", notes="刀具入库单-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody JSONObject jSONObject) {
        CuttingInbound cuttingInbound = jSONObject.toJavaObject(CuttingInbound.class);
        cuttingInbound.setOrderStatus("1");
        cuttingInboundService.saveOrUpdate(cuttingInbound);
        //删除原关联数据
        List<CuttingInboundDetail> cuttingInboundDetailList = cuttingInboundDetailService.lambdaQuery().eq(CuttingInboundDetail::getOrderId,cuttingInbound.getId()).list();
        cuttingInboundDetailService.removeBatchByIds(cuttingInboundDetailList);
        //添加新关联数据
        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
        List<CuttingInboundDetail> list = jsonArray.toJavaList(CuttingInboundDetail.class);
        for (int i = 0; i < list.size(); i++) {
            CuttingInboundDetail temp = list.get(i);
            temp.setOrderId(cuttingInbound.getId());
            cuttingInboundDetailService.save(temp);
        }
        return Result.OK("入库成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingInbound
     * @return
     */
    @AutoLog(value = "刀具入库单-编辑")
    @ApiOperation(value="刀具入库单-编辑", notes="刀具入库单-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingInbound cuttingInbound) {
        cuttingInboundService.updateById(cuttingInbound);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具入库单-通过id删除")
    @ApiOperation(value="刀具入库单-通过id删除", notes="刀具入库单-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingInboundService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具入库单-批量删除")
    @ApiOperation(value="刀具入库单-批量删除", notes="刀具入库单-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingInboundService.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<CuttingInbound> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingInbound cuttingInbound = cuttingInboundService.getById(id);
        if(cuttingInbound==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingInbound);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingInbound
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingInbound cuttingInbound) {
        return super.exportXls(request, cuttingInbound, CuttingInbound.class, "刀具入库单");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_inbound:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingInbound.class);
    }
     /**
      * æ ¹æ®å…¥åº“id查询入库明细
      *
      * @param orderId
      * @return
      */
     @GetMapping("/detailList")
     public Result<?> detailList(@RequestParam("orderId") String orderId) {
         List<Map<String, Object>> list = cuttingInboundDetailService.detailList(orderId);
         return Result.ok(list);
     }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingInboundDetailController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.CuttingInboundDetail;
import org.jeecg.modules.cms.service.ICuttingInboundDetailService;
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.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
 * @Version: V1.0
 */
@Api(tags="入库单明细")
@RestController
@RequestMapping("/cms/cuttingInboundDetail")
@Slf4j
public class CuttingInboundDetailController extends JeecgController<CuttingInboundDetail, ICuttingInboundDetailService> {
    @Autowired
    private ICuttingInboundDetailService cuttingInboundDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingInboundDetail
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "入库单明细-分页列表查询")
    @ApiOperation(value="入库单明细-分页列表查询", notes="入库单明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingInboundDetail>> queryPageList(CuttingInboundDetail cuttingInboundDetail,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingInboundDetail> queryWrapper = QueryGenerator.initQueryWrapper(cuttingInboundDetail, req.getParameterMap());
        Page<CuttingInboundDetail> page = new Page<CuttingInboundDetail>(pageNo, pageSize);
        IPage<CuttingInboundDetail> pageList = cuttingInboundDetailService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param cuttingInboundDetail
     * @return
     */
    @AutoLog(value = "入库单明细-添加")
    @ApiOperation(value="入库单明细-添加", notes="入库单明细-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_detail:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody CuttingInboundDetail cuttingInboundDetail) {
        cuttingInboundDetailService.save(cuttingInboundDetail);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingInboundDetail
     * @return
     */
    @AutoLog(value = "入库单明细-编辑")
    @ApiOperation(value="入库单明细-编辑", notes="入库单明细-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_detail:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingInboundDetail cuttingInboundDetail) {
        cuttingInboundDetailService.updateById(cuttingInboundDetail);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "入库单明细-通过id删除")
    @ApiOperation(value="入库单明细-通过id删除", notes="入库单明细-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_detail:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingInboundDetailService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "入库单明细-批量删除")
    @ApiOperation(value="入库单明细-批量删除", notes="入库单明细-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_detail:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingInboundDetailService.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<CuttingInboundDetail> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingInboundDetail cuttingInboundDetail = cuttingInboundDetailService.getById(id);
        if(cuttingInboundDetail==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingInboundDetail);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingInboundDetail
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_detail:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingInboundDetail cuttingInboundDetail) {
        return super.exportXls(request, cuttingInboundDetail, CuttingInboundDetail.class, "入库单明细");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_inbound_detail:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingInboundDetail.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingInboundInventoryController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.CuttingInboundInventory;
import org.jeecg.modules.cms.service.ICuttingInboundInventoryService;
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.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
 * @Version: V1.0
 */
@Api(tags="入库单库存关系")
@RestController
@RequestMapping("/cms/cuttingInboundInventory")
@Slf4j
public class CuttingInboundInventoryController extends JeecgController<CuttingInboundInventory, ICuttingInboundInventoryService> {
    @Autowired
    private ICuttingInboundInventoryService cuttingInboundInventoryService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingInboundInventory
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "入库单库存关系-分页列表查询")
    @ApiOperation(value="入库单库存关系-分页列表查询", notes="入库单库存关系-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingInboundInventory>> queryPageList(CuttingInboundInventory cuttingInboundInventory,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingInboundInventory> queryWrapper = QueryGenerator.initQueryWrapper(cuttingInboundInventory, req.getParameterMap());
        Page<CuttingInboundInventory> page = new Page<CuttingInboundInventory>(pageNo, pageSize);
        IPage<CuttingInboundInventory> pageList = cuttingInboundInventoryService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param cuttingInboundInventory
     * @return
     */
    @AutoLog(value = "入库单库存关系-添加")
    @ApiOperation(value="入库单库存关系-添加", notes="入库单库存关系-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_inventory:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody CuttingInboundInventory cuttingInboundInventory) {
        cuttingInboundInventoryService.save(cuttingInboundInventory);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingInboundInventory
     * @return
     */
    @AutoLog(value = "入库单库存关系-编辑")
    @ApiOperation(value="入库单库存关系-编辑", notes="入库单库存关系-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_inventory:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingInboundInventory cuttingInboundInventory) {
        cuttingInboundInventoryService.updateById(cuttingInboundInventory);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "入库单库存关系-通过id删除")
    @ApiOperation(value="入库单库存关系-通过id删除", notes="入库单库存关系-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_inventory:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingInboundInventoryService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "入库单库存关系-批量删除")
    @ApiOperation(value="入库单库存关系-批量删除", notes="入库单库存关系-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_inventory:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingInboundInventoryService.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<CuttingInboundInventory> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingInboundInventory cuttingInboundInventory = cuttingInboundInventoryService.getById(id);
        if(cuttingInboundInventory==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingInboundInventory);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingInboundInventory
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inbound_inventory:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingInboundInventory cuttingInboundInventory) {
        return super.exportXls(request, cuttingInboundInventory, CuttingInboundInventory.class, "入库单库存关系");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_inbound_inventory:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingInboundInventory.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingInventoryController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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;
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.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
 * @Version: V1.0
 */
@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);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingInventory
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_inventory:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingInventory cuttingInventory) {
        return super.exportXls(request, cuttingInventory, CuttingInventory.class, "刀具库存");
    }
    /**
      * é€šè¿‡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);
    }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingPropertiesController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.CuttingProperties;
import org.jeecg.modules.cms.service.ICuttingPropertiesService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具扩展属性")
@RestController
@RequestMapping("/cms/cuttingProperties")
@Slf4j
public class CuttingPropertiesController extends JeecgController<CuttingProperties, ICuttingPropertiesService> {
    @Autowired
    private ICuttingPropertiesService cuttingPropertiesService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingProperties
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具扩展属性-分页列表查询")
    @ApiOperation(value="刀具扩展属性-分页列表查询", notes="刀具扩展属性-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingProperties>> queryPageList(CuttingProperties cuttingProperties,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingProperties> queryWrapper = QueryGenerator.initQueryWrapper(cuttingProperties, req.getParameterMap());
        Page<CuttingProperties> page = new Page<CuttingProperties>(pageNo, pageSize);
        IPage<CuttingProperties> pageList = cuttingPropertiesService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param cuttingProperties
     * @return
     */
    @AutoLog(value = "刀具扩展属性-添加")
    @ApiOperation(value="刀具扩展属性-添加", notes="刀具扩展属性-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_properties:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody CuttingProperties cuttingProperties) {
        cuttingPropertiesService.save(cuttingProperties);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingProperties
     * @return
     */
    @AutoLog(value = "刀具扩展属性-编辑")
    @ApiOperation(value="刀具扩展属性-编辑", notes="刀具扩展属性-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_properties:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingProperties cuttingProperties) {
        cuttingPropertiesService.updateById(cuttingProperties);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具扩展属性-通过id删除")
    @ApiOperation(value="刀具扩展属性-通过id删除", notes="刀具扩展属性-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_properties:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingPropertiesService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具扩展属性-批量删除")
    @ApiOperation(value="刀具扩展属性-批量删除", notes="刀具扩展属性-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_properties:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingPropertiesService.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<CuttingProperties> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingProperties cuttingProperties = cuttingPropertiesService.getById(id);
        if(cuttingProperties==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingProperties);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingProperties
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_properties:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingProperties cuttingProperties) {
        return super.exportXls(request, cuttingProperties, CuttingProperties.class, "刀具扩展属性");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_properties:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingProperties.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,212 @@
package org.jeecg.modules.cms.controller;
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 com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.CuttingInbound;
import org.jeecg.modules.cms.entity.CuttingInboundDetail;
import org.jeecg.modules.cms.entity.CuttingReceive;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import org.jeecg.modules.cms.service.ICuttingReceiveDetailService;
import org.jeecg.modules.cms.service.ICuttingReceiveService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具领用单")
@RestController
@RequestMapping("/cms/cuttingReceive")
@Slf4j
public class CuttingReceiveController extends JeecgController<CuttingReceive, ICuttingReceiveService> {
    @Autowired
    private ICuttingReceiveService cuttingReceiveService;
     @Autowired
     private ICuttingReceiveDetailService cuttingReceiveDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingReceive
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具领用单-分页列表查询")
    @ApiOperation(value="刀具领用单-分页列表查询", notes="刀具领用单-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingReceive>> queryPageList(CuttingReceive cuttingReceive,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingReceive> queryWrapper = QueryGenerator.initQueryWrapper(cuttingReceive, req.getParameterMap());
        Page<CuttingReceive> page = new Page<CuttingReceive>(pageNo, pageSize);
        IPage<CuttingReceive> pageList = cuttingReceiveService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "刀具领用单-添加")
    @ApiOperation(value="刀具领用单-添加", notes="刀具领用单-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody JSONObject jSONObject) {
        CuttingReceive cuttingReceive = jSONObject.toJavaObject(CuttingReceive.class);
        cuttingReceive.setOrderStatus("1");
        cuttingReceiveService.saveOrUpdate(cuttingReceive);
        //删除原关联数据
        List<CuttingReceiveDetail> cuttingReceiveDetailList = cuttingReceiveDetailService.lambdaQuery().eq(CuttingReceiveDetail::getOrderId,cuttingReceive.getId()).list();
        cuttingReceiveDetailService.removeBatchByIds(cuttingReceiveDetailList);
        //添加新关联数据
        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
        List<CuttingReceiveDetail> list = jsonArray.toJavaList(CuttingReceiveDetail.class);
        for (int i = 0; i < list.size(); i++) {
            CuttingReceiveDetail temp = list.get(i);
            temp.setOrderId(cuttingReceive.getId());
            cuttingReceiveDetailService.save(temp);
        }
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingReceive
     * @return
     */
    @AutoLog(value = "刀具领用单-编辑")
    @ApiOperation(value="刀具领用单-编辑", notes="刀具领用单-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingReceive cuttingReceive) {
        cuttingReceiveService.updateById(cuttingReceive);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具领用单-通过id删除")
    @ApiOperation(value="刀具领用单-通过id删除", notes="刀具领用单-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingReceiveService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具领用单-批量删除")
    @ApiOperation(value="刀具领用单-批量删除", notes="刀具领用单-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingReceiveService.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<CuttingReceive> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingReceive cuttingReceive = cuttingReceiveService.getById(id);
        if(cuttingReceive==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingReceive);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingReceive
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingReceive cuttingReceive) {
        return super.exportXls(request, cuttingReceive, CuttingReceive.class, "刀具领用单");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_receive:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingReceive.class);
    }
     /**
      * æ ¹æ®é¢†ç”¨id查询领用明细
      *
      * @param orderId
      * @return
      */
     @GetMapping("/detailList")
     public Result<?> detailList(@RequestParam("orderId") String orderId) {
         List<Map<String, Object>> list = cuttingReceiveDetailService.detailList(orderId);
         return Result.ok(list);
     }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveDetailController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.CuttingReceiveDetail;
import org.jeecg.modules.cms.service.ICuttingReceiveDetailService;
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.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
 * @Version: V1.0
 */
@Api(tags="领用单明细")
@RestController
@RequestMapping("/cms/cuttingReceiveDetail")
@Slf4j
public class CuttingReceiveDetailController extends JeecgController<CuttingReceiveDetail, ICuttingReceiveDetailService> {
    @Autowired
    private ICuttingReceiveDetailService cuttingReceiveDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingReceiveDetail
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "领用单明细-分页列表查询")
    @ApiOperation(value="领用单明细-分页列表查询", notes="领用单明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingReceiveDetail>> queryPageList(CuttingReceiveDetail cuttingReceiveDetail,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingReceiveDetail> queryWrapper = QueryGenerator.initQueryWrapper(cuttingReceiveDetail, req.getParameterMap());
        Page<CuttingReceiveDetail> page = new Page<CuttingReceiveDetail>(pageNo, pageSize);
        IPage<CuttingReceiveDetail> pageList = cuttingReceiveDetailService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param cuttingReceiveDetail
     * @return
     */
    @AutoLog(value = "领用单明细-添加")
    @ApiOperation(value="领用单明细-添加", notes="领用单明细-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive_detail:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody CuttingReceiveDetail cuttingReceiveDetail) {
        cuttingReceiveDetailService.save(cuttingReceiveDetail);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingReceiveDetail
     * @return
     */
    @AutoLog(value = "领用单明细-编辑")
    @ApiOperation(value="领用单明细-编辑", notes="领用单明细-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive_detail:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingReceiveDetail cuttingReceiveDetail) {
        cuttingReceiveDetailService.updateById(cuttingReceiveDetail);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "领用单明细-通过id删除")
    @ApiOperation(value="领用单明细-通过id删除", notes="领用单明细-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive_detail:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingReceiveDetailService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "领用单明细-批量删除")
    @ApiOperation(value="领用单明细-批量删除", notes="领用单明细-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive_detail:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingReceiveDetailService.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<CuttingReceiveDetail> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingReceiveDetail cuttingReceiveDetail = cuttingReceiveDetailService.getById(id);
        if(cuttingReceiveDetail==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingReceiveDetail);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingReceiveDetail
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive_detail:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingReceiveDetail cuttingReceiveDetail) {
        return super.exportXls(request, cuttingReceiveDetail, CuttingReceiveDetail.class, "领用单明细");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_receive_detail:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingReceiveDetail.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingScrapController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,212 @@
package org.jeecg.modules.cms.controller;
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 com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.CuttingReceive;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import org.jeecg.modules.cms.entity.CuttingScrap;
import org.jeecg.modules.cms.entity.CuttingScrapDetail;
import org.jeecg.modules.cms.service.ICuttingScrapDetailService;
import org.jeecg.modules.cms.service.ICuttingScrapService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具报废")
@RestController
@RequestMapping("/cms/cuttingScrap")
@Slf4j
public class CuttingScrapController extends JeecgController<CuttingScrap, ICuttingScrapService> {
    @Autowired
    private ICuttingScrapService cuttingScrapService;
     @Autowired
     private ICuttingScrapDetailService cuttingScrapDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingScrap
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具报废-分页列表查询")
    @ApiOperation(value="刀具报废-分页列表查询", notes="刀具报废-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingScrap>> queryPageList(CuttingScrap cuttingScrap,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingScrap> queryWrapper = QueryGenerator.initQueryWrapper(cuttingScrap, req.getParameterMap());
        Page<CuttingScrap> page = new Page<CuttingScrap>(pageNo, pageSize);
        IPage<CuttingScrap> pageList = cuttingScrapService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "刀具报废-添加")
    @ApiOperation(value="刀具报废-添加", notes="刀具报废-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody JSONObject jSONObject) {
        CuttingScrap cuttingScrap = jSONObject.toJavaObject(CuttingScrap.class);
        cuttingScrap.setOrderStatus("1");
        cuttingScrapService.saveOrUpdate(cuttingScrap);
        //删除原关联数据
        List<CuttingScrapDetail> cuttingScrapDetailList = cuttingScrapDetailService.lambdaQuery().eq(CuttingScrapDetail::getOrderId,cuttingScrap.getId()).list();
        cuttingScrapDetailService.removeBatchByIds(cuttingScrapDetailList);
        //添加新关联数据
        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
        List<CuttingScrapDetail> list = jsonArray.toJavaList(CuttingScrapDetail.class);
        for (int i = 0; i < list.size(); i++) {
            CuttingScrapDetail temp = list.get(i);
            temp.setOrderId(cuttingScrap.getId());
            cuttingScrapDetailService.save(temp);
        }
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingScrap
     * @return
     */
    @AutoLog(value = "刀具报废-编辑")
    @ApiOperation(value="刀具报废-编辑", notes="刀具报废-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingScrap cuttingScrap) {
        cuttingScrapService.updateById(cuttingScrap);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具报废-通过id删除")
    @ApiOperation(value="刀具报废-通过id删除", notes="刀具报废-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingScrapService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具报废-批量删除")
    @ApiOperation(value="刀具报废-批量删除", notes="刀具报废-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingScrapService.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<CuttingScrap> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingScrap cuttingScrap = cuttingScrapService.getById(id);
        if(cuttingScrap==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingScrap);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingScrap
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingScrap cuttingScrap) {
        return super.exportXls(request, cuttingScrap, CuttingScrap.class, "刀具报废");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_scrap:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingScrap.class);
    }
     /**
      * æ ¹æ®æŠ¥åºŸid查询报废明细
      *
      * @param orderId
      * @return
      */
     @GetMapping("/detailList")
     public Result<?> detailList(@RequestParam("orderId") String orderId) {
         List<Map<String, Object>> list = cuttingScrapDetailService.detailList(orderId);
         return Result.ok(list);
     }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingScrapDetailController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.CuttingScrapDetail;
import org.jeecg.modules.cms.service.ICuttingScrapDetailService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具报废明细")
@RestController
@RequestMapping("/cms/cuttingScrapDetail")
@Slf4j
public class CuttingScrapDetailController extends JeecgController<CuttingScrapDetail, ICuttingScrapDetailService> {
    @Autowired
    private ICuttingScrapDetailService cuttingScrapDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingScrapDetail
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具报废明细-分页列表查询")
    @ApiOperation(value="刀具报废明细-分页列表查询", notes="刀具报废明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingScrapDetail>> queryPageList(CuttingScrapDetail cuttingScrapDetail,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingScrapDetail> queryWrapper = QueryGenerator.initQueryWrapper(cuttingScrapDetail, req.getParameterMap());
        Page<CuttingScrapDetail> page = new Page<CuttingScrapDetail>(pageNo, pageSize);
        IPage<CuttingScrapDetail> pageList = cuttingScrapDetailService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param cuttingScrapDetail
     * @return
     */
    @AutoLog(value = "刀具报废明细-添加")
    @ApiOperation(value="刀具报废明细-添加", notes="刀具报废明细-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap_detail:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody CuttingScrapDetail cuttingScrapDetail) {
        cuttingScrapDetailService.save(cuttingScrapDetail);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingScrapDetail
     * @return
     */
    @AutoLog(value = "刀具报废明细-编辑")
    @ApiOperation(value="刀具报废明细-编辑", notes="刀具报废明细-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap_detail:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingScrapDetail cuttingScrapDetail) {
        cuttingScrapDetailService.updateById(cuttingScrapDetail);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具报废明细-通过id删除")
    @ApiOperation(value="刀具报废明细-通过id删除", notes="刀具报废明细-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap_detail:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingScrapDetailService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具报废明细-批量删除")
    @ApiOperation(value="刀具报废明细-批量删除", notes="刀具报废明细-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap_detail:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingScrapDetailService.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<CuttingScrapDetail> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingScrapDetail cuttingScrapDetail = cuttingScrapDetailService.getById(id);
        if(cuttingScrapDetail==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingScrapDetail);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingScrapDetail
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_scrap_detail:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingScrapDetail cuttingScrapDetail) {
        return super.exportXls(request, cuttingScrapDetail, CuttingScrapDetail.class, "刀具报废明细");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_scrap_detail:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingScrapDetail.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/CuttingToolController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,215 @@
package org.jeecg.modules.cms.controller;
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.CuttingProperties;
import org.jeecg.modules.cms.entity.CuttingTool;
import org.jeecg.modules.cms.service.ICuttingPropertiesService;
import org.jeecg.modules.cms.service.ICuttingToolService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具信息")
@RestController
@RequestMapping("/cms/cuttingTool")
@Slf4j
public class CuttingToolController extends JeecgController<CuttingTool, ICuttingToolService> {
    @Autowired
    private ICuttingToolService cuttingToolService;
     @Autowired
     private ICuttingPropertiesService cuttingPropertiesService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param cuttingTool
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具信息-分页列表查询")
    @ApiOperation(value="刀具信息-分页列表查询", notes="刀具信息-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<CuttingTool>> queryPageList(CuttingTool cuttingTool,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<CuttingTool> queryWrapper = QueryGenerator.initQueryWrapper(cuttingTool, req.getParameterMap());
        Page<CuttingTool> page = new Page<CuttingTool>(pageNo, pageSize);
        IPage<CuttingTool> pageList = cuttingToolService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param cuttingTool
     * @return
     */
    @AutoLog(value = "刀具信息-添加")
    @ApiOperation(value="刀具信息-添加", notes="刀具信息-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody CuttingTool cuttingTool) {
        cuttingToolService.save(cuttingTool);
        List<CuttingProperties> cuttingPropertiesList = cuttingTool.getCuttingPropertiesList();
        for (CuttingProperties cuttingProperties : cuttingPropertiesList) {
            cuttingProperties.setCuttingId(cuttingTool.getId());
            cuttingPropertiesService.save(cuttingProperties);
        }
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param cuttingTool
     * @return
     */
    @AutoLog(value = "刀具信息-编辑")
    @ApiOperation(value="刀具信息-编辑", notes="刀具信息-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody CuttingTool cuttingTool) {
        cuttingToolService.saveOrUpdate(cuttingTool);
        List<String> deletePropertiesIds = cuttingTool.getDeletePropertiesIds();
        if (deletePropertiesIds != null) {
            for (String deletePropertiesId : deletePropertiesIds) {
                cuttingPropertiesService.removeById(deletePropertiesId);
            }
        }
        List<CuttingProperties> cuttingPropertiesList = cuttingTool.getCuttingPropertiesList();
        for (CuttingProperties cuttingProperties : cuttingPropertiesList) {
            cuttingProperties.setCuttingId(cuttingTool.getId());
            cuttingPropertiesService.saveOrUpdate(cuttingProperties);
        }
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具信息-通过id删除")
    @ApiOperation(value="刀具信息-通过id删除", notes="刀具信息-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        cuttingToolService.removeById(id);
        cuttingPropertiesService.remove(new LambdaQueryWrapper<CuttingProperties>().eq(CuttingProperties::getCuttingId, id));
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具信息-批量删除")
    @ApiOperation(value="刀具信息-批量删除", notes="刀具信息-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.cuttingToolService.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<CuttingTool> queryById(@RequestParam(name="id",required=true) String id) {
        CuttingTool cuttingTool = cuttingToolService.getById(id);
        if(cuttingTool==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(cuttingTool);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param cuttingTool
    */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_tool:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, CuttingTool cuttingTool) {
        return super.exportXls(request, cuttingTool, CuttingTool.class, "刀具信息");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_cutting_tool:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, CuttingTool.class);
    }
     @GetMapping(value = "/getCuttingToolList")
     public Result<?> getCuttingToolList(@RequestParam("pageNo") Integer pageNo,
                                       @RequestParam("pageSize") Integer pageSize,
                                       @RequestParam Map<String, Object> params) {
         IPage<Map<String, Object>> cuttingToolList = cuttingToolService.getCuttingToolList(pageNo, pageSize, params);
         for (Map<String, Object> record : cuttingToolList.getRecords()) {
             String cuttingId = (String) record.get("id");
             List<CuttingProperties> cuttingPropertiesList = cuttingPropertiesService.selectListByCuttingId(cuttingId);
             record.put("cuttingPropertiesList", cuttingPropertiesList);
         }
         return Result.ok(cuttingToolList);
     }
}
src/main/java/org/jeecg/modules/cms/controller/EdgeGrindingController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,212 @@
package org.jeecg.modules.cms.controller;
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 com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.CuttingReceive;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import org.jeecg.modules.cms.entity.EdgeGrinding;
import org.jeecg.modules.cms.entity.EdgeGrindingDetail;
import org.jeecg.modules.cms.service.IEdgeGrindingDetailService;
import org.jeecg.modules.cms.service.IEdgeGrindingService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具修磨")
@RestController
@RequestMapping("/cms/edgeGrinding")
@Slf4j
public class EdgeGrindingController extends JeecgController<EdgeGrinding, IEdgeGrindingService> {
    @Autowired
    private IEdgeGrindingService edgeGrindingService;
     @Autowired
     private IEdgeGrindingDetailService edgeGrindingDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param edgeGrinding
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具修磨-分页列表查询")
    @ApiOperation(value="刀具修磨-分页列表查询", notes="刀具修磨-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<EdgeGrinding>> queryPageList(EdgeGrinding edgeGrinding,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EdgeGrinding> queryWrapper = QueryGenerator.initQueryWrapper(edgeGrinding, req.getParameterMap());
        Page<EdgeGrinding> page = new Page<EdgeGrinding>(pageNo, pageSize);
        IPage<EdgeGrinding> pageList = edgeGrindingService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "刀具修磨-添加")
    @ApiOperation(value="刀具修磨-添加", notes="刀具修磨-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody JSONObject jSONObject) {
        EdgeGrinding edgeGrinding = jSONObject.toJavaObject(EdgeGrinding.class);
        edgeGrinding.setOrderStatus("1");
        edgeGrindingService.saveOrUpdate(edgeGrinding);
        //删除原关联数据
        List<EdgeGrindingDetail> edgeGrindingDetailList = edgeGrindingDetailService.lambdaQuery().eq(EdgeGrindingDetail::getOrderId,edgeGrinding.getId()).list();
        edgeGrindingDetailService.removeBatchByIds(edgeGrindingDetailList);
        //添加新关联数据
        JSONArray jsonArray = jSONObject.getJSONArray("detailData");
        List<EdgeGrindingDetail> list = jsonArray.toJavaList(EdgeGrindingDetail.class);
        for (int i = 0; i < list.size(); i++) {
            EdgeGrindingDetail temp = list.get(i);
            temp.setOrderId(edgeGrinding.getId());
            edgeGrindingDetailService.save(temp);
        }
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param edgeGrinding
     * @return
     */
    @AutoLog(value = "刀具修磨-编辑")
    @ApiOperation(value="刀具修磨-编辑", notes="刀具修磨-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody EdgeGrinding edgeGrinding) {
        edgeGrindingService.updateById(edgeGrinding);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具修磨-通过id删除")
    @ApiOperation(value="刀具修磨-通过id删除", notes="刀具修磨-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        edgeGrindingService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具修磨-批量删除")
    @ApiOperation(value="刀具修磨-批量删除", notes="刀具修磨-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.edgeGrindingService.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<EdgeGrinding> queryById(@RequestParam(name="id",required=true) String id) {
        EdgeGrinding edgeGrinding = edgeGrindingService.getById(id);
        if(edgeGrinding==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(edgeGrinding);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param edgeGrinding
    */
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, EdgeGrinding edgeGrinding) {
        return super.exportXls(request, edgeGrinding, EdgeGrinding.class, "刀具修磨");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_edge_grinding:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, EdgeGrinding.class);
    }
     /**
      * æ ¹æ®ä¿®ç£¨id查询修磨明细
      *
      * @param orderId
      * @return
      */
     @GetMapping("/detailList")
     public Result<?> detailList(@RequestParam("orderId") String orderId) {
         List<Map<String, Object>> list = edgeGrindingDetailService.detailList(orderId);
         return Result.ok(list);
     }
}
src/main/java/org/jeecg/modules/cms/controller/EdgeGrindingDetailController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.EdgeGrindingDetail;
import org.jeecg.modules.cms.service.IEdgeGrindingDetailService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具修磨明细")
@RestController
@RequestMapping("/cms/edgeGrindingDetail")
@Slf4j
public class EdgeGrindingDetailController extends JeecgController<EdgeGrindingDetail, IEdgeGrindingDetailService> {
    @Autowired
    private IEdgeGrindingDetailService edgeGrindingDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param edgeGrindingDetail
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具修磨明细-分页列表查询")
    @ApiOperation(value="刀具修磨明细-分页列表查询", notes="刀具修磨明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<EdgeGrindingDetail>> queryPageList(EdgeGrindingDetail edgeGrindingDetail,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EdgeGrindingDetail> queryWrapper = QueryGenerator.initQueryWrapper(edgeGrindingDetail, req.getParameterMap());
        Page<EdgeGrindingDetail> page = new Page<EdgeGrindingDetail>(pageNo, pageSize);
        IPage<EdgeGrindingDetail> pageList = edgeGrindingDetailService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param edgeGrindingDetail
     * @return
     */
    @AutoLog(value = "刀具修磨明细-添加")
    @ApiOperation(value="刀具修磨明细-添加", notes="刀具修磨明细-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding_detail:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody EdgeGrindingDetail edgeGrindingDetail) {
        edgeGrindingDetailService.save(edgeGrindingDetail);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param edgeGrindingDetail
     * @return
     */
    @AutoLog(value = "刀具修磨明细-编辑")
    @ApiOperation(value="刀具修磨明细-编辑", notes="刀具修磨明细-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding_detail:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody EdgeGrindingDetail edgeGrindingDetail) {
        edgeGrindingDetailService.updateById(edgeGrindingDetail);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具修磨明细-通过id删除")
    @ApiOperation(value="刀具修磨明细-通过id删除", notes="刀具修磨明细-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding_detail:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        edgeGrindingDetailService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具修磨明细-批量删除")
    @ApiOperation(value="刀具修磨明细-批量删除", notes="刀具修磨明细-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding_detail:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.edgeGrindingDetailService.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<EdgeGrindingDetail> queryById(@RequestParam(name="id",required=true) String id) {
        EdgeGrindingDetail edgeGrindingDetail = edgeGrindingDetailService.getById(id);
        if(edgeGrindingDetail==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(edgeGrindingDetail);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param edgeGrindingDetail
    */
    //@RequiresPermissions("org.jeecg.modules:cms_edge_grinding_detail:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, EdgeGrindingDetail edgeGrindingDetail) {
        return super.exportXls(request, edgeGrindingDetail, EdgeGrindingDetail.class, "刀具修磨明细");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_edge_grinding_detail:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, EdgeGrindingDetail.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/RatedLifeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.RatedLife;
import org.jeecg.modules.cms.service.IRatedLifeService;
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.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
 * @Version: V1.0
 */
@Api(tags="额定寿命")
@RestController
@RequestMapping("/cms/ratedLife")
@Slf4j
public class RatedLifeController extends JeecgController<RatedLife, IRatedLifeService> {
    @Autowired
    private IRatedLifeService ratedLifeService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param ratedLife
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "额定寿命-分页列表查询")
    @ApiOperation(value="额定寿命-分页列表查询", notes="额定寿命-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<RatedLife>> queryPageList(RatedLife ratedLife,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<RatedLife> queryWrapper = QueryGenerator.initQueryWrapper(ratedLife, req.getParameterMap());
        Page<RatedLife> page = new Page<RatedLife>(pageNo, pageSize);
        IPage<RatedLife> pageList = ratedLifeService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param ratedLife
     * @return
     */
    @AutoLog(value = "额定寿命-添加")
    @ApiOperation(value="额定寿命-添加", notes="额定寿命-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_rated_life:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody RatedLife ratedLife) {
        ratedLifeService.save(ratedLife);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param ratedLife
     * @return
     */
    @AutoLog(value = "额定寿命-编辑")
    @ApiOperation(value="额定寿命-编辑", notes="额定寿命-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_rated_life:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody RatedLife ratedLife) {
        ratedLifeService.updateById(ratedLife);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "额定寿命-通过id删除")
    @ApiOperation(value="额定寿命-通过id删除", notes="额定寿命-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_rated_life:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        ratedLifeService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "额定寿命-批量删除")
    @ApiOperation(value="额定寿命-批量删除", notes="额定寿命-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_rated_life:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.ratedLifeService.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<RatedLife> queryById(@RequestParam(name="id",required=true) String id) {
        RatedLife ratedLife = ratedLifeService.getById(id);
        if(ratedLife==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(ratedLife);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param ratedLife
    */
    //@RequiresPermissions("org.jeecg.modules:cms_rated_life:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, RatedLife ratedLife) {
        return super.exportXls(request, ratedLife, RatedLife.class, "额定寿命");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_rated_life:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, RatedLife.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/ToolStocktakingController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.ToolStocktaking;
import org.jeecg.modules.cms.service.IToolStocktakingService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具盘点")
@RestController
@RequestMapping("/cms/toolStocktaking")
@Slf4j
public class ToolStocktakingController extends JeecgController<ToolStocktaking, IToolStocktakingService> {
    @Autowired
    private IToolStocktakingService toolStocktakingService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param toolStocktaking
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具盘点-分页列表查询")
    @ApiOperation(value="刀具盘点-分页列表查询", notes="刀具盘点-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<ToolStocktaking>> queryPageList(ToolStocktaking toolStocktaking,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<ToolStocktaking> queryWrapper = QueryGenerator.initQueryWrapper(toolStocktaking, req.getParameterMap());
        Page<ToolStocktaking> page = new Page<ToolStocktaking>(pageNo, pageSize);
        IPage<ToolStocktaking> pageList = toolStocktakingService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param toolStocktaking
     * @return
     */
    @AutoLog(value = "刀具盘点-添加")
    @ApiOperation(value="刀具盘点-添加", notes="刀具盘点-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody ToolStocktaking toolStocktaking) {
        toolStocktakingService.save(toolStocktaking);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param toolStocktaking
     * @return
     */
    @AutoLog(value = "刀具盘点-编辑")
    @ApiOperation(value="刀具盘点-编辑", notes="刀具盘点-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody ToolStocktaking toolStocktaking) {
        toolStocktakingService.updateById(toolStocktaking);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具盘点-通过id删除")
    @ApiOperation(value="刀具盘点-通过id删除", notes="刀具盘点-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        toolStocktakingService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具盘点-批量删除")
    @ApiOperation(value="刀具盘点-批量删除", notes="刀具盘点-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.toolStocktakingService.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<ToolStocktaking> queryById(@RequestParam(name="id",required=true) String id) {
        ToolStocktaking toolStocktaking = toolStocktakingService.getById(id);
        if(toolStocktaking==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(toolStocktaking);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param toolStocktaking
    */
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, ToolStocktaking toolStocktaking) {
        return super.exportXls(request, toolStocktaking, ToolStocktaking.class, "刀具盘点");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_tool_stocktaking:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, ToolStocktaking.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/ToolStocktakingDetailController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.ToolStocktakingDetail;
import org.jeecg.modules.cms.service.IToolStocktakingDetailService;
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.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
 * @Version: V1.0
 */
@Api(tags="刀具盘点明细")
@RestController
@RequestMapping("/cms/toolStocktakingDetail")
@Slf4j
public class ToolStocktakingDetailController extends JeecgController<ToolStocktakingDetail, IToolStocktakingDetailService> {
    @Autowired
    private IToolStocktakingDetailService toolStocktakingDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param toolStocktakingDetail
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具盘点明细-分页列表查询")
    @ApiOperation(value="刀具盘点明细-分页列表查询", notes="刀具盘点明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<ToolStocktakingDetail>> queryPageList(ToolStocktakingDetail toolStocktakingDetail,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<ToolStocktakingDetail> queryWrapper = QueryGenerator.initQueryWrapper(toolStocktakingDetail, req.getParameterMap());
        Page<ToolStocktakingDetail> page = new Page<ToolStocktakingDetail>(pageNo, pageSize);
        IPage<ToolStocktakingDetail> pageList = toolStocktakingDetailService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param toolStocktakingDetail
     * @return
     */
    @AutoLog(value = "刀具盘点明细-添加")
    @ApiOperation(value="刀具盘点明细-添加", notes="刀具盘点明细-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_detail:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody ToolStocktakingDetail toolStocktakingDetail) {
        toolStocktakingDetailService.save(toolStocktakingDetail);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param toolStocktakingDetail
     * @return
     */
    @AutoLog(value = "刀具盘点明细-编辑")
    @ApiOperation(value="刀具盘点明细-编辑", notes="刀具盘点明细-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_detail:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody ToolStocktakingDetail toolStocktakingDetail) {
        toolStocktakingDetailService.updateById(toolStocktakingDetail);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "刀具盘点明细-通过id删除")
    @ApiOperation(value="刀具盘点明细-通过id删除", notes="刀具盘点明细-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_detail:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        toolStocktakingDetailService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "刀具盘点明细-批量删除")
    @ApiOperation(value="刀具盘点明细-批量删除", notes="刀具盘点明细-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_detail:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.toolStocktakingDetailService.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<ToolStocktakingDetail> queryById(@RequestParam(name="id",required=true) String id) {
        ToolStocktakingDetail toolStocktakingDetail = toolStocktakingDetailService.getById(id);
        if(toolStocktakingDetail==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(toolStocktakingDetail);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param toolStocktakingDetail
    */
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_detail:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, ToolStocktakingDetail toolStocktakingDetail) {
        return super.exportXls(request, toolStocktakingDetail, ToolStocktakingDetail.class, "刀具盘点明细");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_tool_stocktaking_detail:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, ToolStocktakingDetail.class);
    }
}
src/main/java/org/jeecg/modules/cms/controller/ToolStocktakingInventoryChangeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.cms.controller;
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.ToolStocktakingInventoryChange;
import org.jeecg.modules.cms.service.IToolStocktakingInventoryChangeService;
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.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
 * @Version: V1.0
 */
@Api(tags="盘点库存变更")
@RestController
@RequestMapping("/cms/toolStocktakingInventoryChange")
@Slf4j
public class ToolStocktakingInventoryChangeController extends JeecgController<ToolStocktakingInventoryChange, IToolStocktakingInventoryChangeService> {
    @Autowired
    private IToolStocktakingInventoryChangeService toolStocktakingInventoryChangeService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param toolStocktakingInventoryChange
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "盘点库存变更-分页列表查询")
    @ApiOperation(value="盘点库存变更-分页列表查询", notes="盘点库存变更-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<ToolStocktakingInventoryChange>> queryPageList(ToolStocktakingInventoryChange toolStocktakingInventoryChange,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<ToolStocktakingInventoryChange> queryWrapper = QueryGenerator.initQueryWrapper(toolStocktakingInventoryChange, req.getParameterMap());
        Page<ToolStocktakingInventoryChange> page = new Page<ToolStocktakingInventoryChange>(pageNo, pageSize);
        IPage<ToolStocktakingInventoryChange> pageList = toolStocktakingInventoryChangeService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param toolStocktakingInventoryChange
     * @return
     */
    @AutoLog(value = "盘点库存变更-添加")
    @ApiOperation(value="盘点库存变更-添加", notes="盘点库存变更-添加")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_inventory_change:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody ToolStocktakingInventoryChange toolStocktakingInventoryChange) {
        toolStocktakingInventoryChangeService.save(toolStocktakingInventoryChange);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param toolStocktakingInventoryChange
     * @return
     */
    @AutoLog(value = "盘点库存变更-编辑")
    @ApiOperation(value="盘点库存变更-编辑", notes="盘点库存变更-编辑")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_inventory_change:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody ToolStocktakingInventoryChange toolStocktakingInventoryChange) {
        toolStocktakingInventoryChangeService.updateById(toolStocktakingInventoryChange);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "盘点库存变更-通过id删除")
    @ApiOperation(value="盘点库存变更-通过id删除", notes="盘点库存变更-通过id删除")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_inventory_change:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        toolStocktakingInventoryChangeService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "盘点库存变更-批量删除")
    @ApiOperation(value="盘点库存变更-批量删除", notes="盘点库存变更-批量删除")
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_inventory_change:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.toolStocktakingInventoryChangeService.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<ToolStocktakingInventoryChange> queryById(@RequestParam(name="id",required=true) String id) {
        ToolStocktakingInventoryChange toolStocktakingInventoryChange = toolStocktakingInventoryChangeService.getById(id);
        if(toolStocktakingInventoryChange==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(toolStocktakingInventoryChange);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param toolStocktakingInventoryChange
    */
    //@RequiresPermissions("org.jeecg.modules:cms_tool_stocktaking_inventory_change:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, ToolStocktakingInventoryChange toolStocktakingInventoryChange) {
        return super.exportXls(request, toolStocktakingInventoryChange, ToolStocktakingInventoryChange.class, "盘点库存变更");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("cms_tool_stocktaking_inventory_change:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, ToolStocktakingInventoryChange.class);
    }
}
src/main/java/org/jeecg/modules/cms/entity/CuttingInbound.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·å…¥åº“单
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_inbound")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_inbound对象", description="刀具入库单")
public class CuttingInbound implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**入库单状态*/
    @Excel(name = "入库单状态", width = 15)
    @ApiModelProperty(value = "入库单状态")
    private String orderStatus;
    /**入库人*/
    @Excel(name = "入库人", width = 15)
    @ApiModelProperty(value = "入库人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String receiver;
    /**入库时间*/
    @Excel(name = "入库时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "入库时间")
    private Date receiveTime;
    /**入库说明*/
    @Excel(name = "入库说明", width = 15)
    @ApiModelProperty(value = "入库说明")
    private String receiveComment;
    /**确认人*/
    @Excel(name = "确认人", width = 15)
    @ApiModelProperty(value = "确认人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String confirmer;
    /**确认时间*/
    @Excel(name = "确认时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;
    /**确认意见*/
    @Excel(name = "确认意见", width = 15)
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingInboundDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: å…¥åº“单明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_inbound_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_inbound_detail对象", description="入库单明细")
public class CuttingInboundDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**入库单*/
    @Excel(name = "入库单", width = 15)
    @ApiModelProperty(value = "入库单")
    private String orderId;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**入库数量*/
    @Excel(name = "入库数量", width = 15)
    @ApiModelProperty(value = "入库数量")
    private Integer receiveNumber;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingInboundInventory.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,55 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: å…¥åº“单库存关系
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_inbound_inventory")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_inbound_inventory对象", description="入库单库存关系")
public class CuttingInboundInventory implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**入库单ID*/
    @Excel(name = "入库单ID", width = 15)
    @ApiModelProperty(value = "入库单ID")
    private String orderId;
    /**库存ID*/
    @Excel(name = "库存ID", width = 15)
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingInventory.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·åº“å­˜
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_inventory")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_inventory对象", description="刀具库存")
public class CuttingInventory implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**刀具条码*/
    @Excel(name = "刀具条码", width = 15)
    @ApiModelProperty(value = "刀具条码")
    private String cuttingBarcode;
    /**库存状态*/
    @Excel(name = "库存状态", width = 15)
    @ApiModelProperty(value = "库存状态")
    private String inventoryStatus;
    /**当前寿命(百分比)*/
    @Excel(name = "当前寿命(百分比)", width = 15)
    @ApiModelProperty(value = "当前寿命(百分比)")
    private BigDecimal currentLife;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingProperties.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·æ‰©å±•属性
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_properties")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_properties对象", description="刀具扩展属性")
public class CuttingProperties implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**属性编码*/
    @Excel(name = "属性编码", width = 15)
    @ApiModelProperty(value = "属性编码")
    private String propertyCode;
    /**属性名称*/
    @Excel(name = "属性名称", width = 15)
    @ApiModelProperty(value = "属性名称")
    private String propertyName;
    /**计量单位*/
    @Excel(name = "计量单位", width = 15)
    @ApiModelProperty(value = "计量单位")
    private String propertyUnit;
    /**属性值*/
    @Excel(name = "属性值", width = 15)
    @ApiModelProperty(value = "属性值")
    private String propertyValue;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingReceive.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·é¢†ç”¨å•
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_receive")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_receive对象", description="刀具领用单")
public class CuttingReceive implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**领用单状态*/
    @Excel(name = "领用单状态", width = 15)
    @ApiModelProperty(value = "领用单状态")
    private String orderStatus;
    /**领用人*/
    @Excel(name = "领用人", width = 15)
    @ApiModelProperty(value = "领用人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String receiver;
    /**领用时间*/
    @Excel(name = "领用时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "领用时间")
    private Date receiveTime;
    /**领用说明*/
    @Excel(name = "领用说明", width = 15)
    @ApiModelProperty(value = "领用说明")
    private String receiveComment;
    /**确认人*/
    @Excel(name = "确认人", width = 15)
    @ApiModelProperty(value = "确认人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String confirmer;
    /**确认时间*/
    @Excel(name = "确认时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;
    /**确认意见*/
    @Excel(name = "确认意见", width = 15)
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
    /**是否会归还*/
    @Excel(name = "是否会归还", width = 15)
    @ApiModelProperty(value = "是否会归还")
    private String returnFlag;
    /**归还时间*/
    @Excel(name = "归还时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "归还时间")
    private Date returnTime;
    /**归还说明*/
    @Excel(name = "归还说明", width = 15)
    @ApiModelProperty(value = "归还说明")
    private String returnComment;
    /**归还确认人*/
    @Excel(name = "归还确认人", width = 15)
    @ApiModelProperty(value = "归还确认人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String returnConfirmer;
    /**归还确认时间*/
    @Excel(name = "归还确认时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "归还确认时间")
    private Date returnConfirmTime;
    /**归还确认意见*/
    @Excel(name = "归还确认意见", width = 15)
    @ApiModelProperty(value = "归还确认意见")
    private String returnConfirmComment;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingReceiveDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: é¢†ç”¨å•明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_receive_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_receive_detail对象", description="领用单明细")
public class CuttingReceiveDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**领用单ID*/
    @Excel(name = "领用单ID", width = 15)
    @ApiModelProperty(value = "领用单ID")
    private String orderId;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**库存ID*/
    @Excel(name = "库存ID", width = 15)
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
    /**工件材质*/
    @Excel(name = "工件材质", width = 15)
    @ApiModelProperty(value = "工件材质")
    private String workpieceMaterial;
    /**使用寿命*/
    @Excel(name = "使用寿命", width = 15)
    @ApiModelProperty(value = "使用寿命")
    private Integer usedLife;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingScrap.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·æŠ¥åºŸ
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_scrap")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_scrap对象", description="刀具报废")
public class CuttingScrap implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**报废单状态*/
    @Excel(name = "报废单状态", width = 15)
    @ApiModelProperty(value = "报废单状态")
    private String orderStatus;
    /**申请人*/
    @Excel(name = "申请人", width = 15)
    @ApiModelProperty(value = "申请人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String applicant;
    /**申请时间*/
    @Excel(name = "申请时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "申请时间")
    private Date applicationTime;
    /**申请说明*/
    @Excel(name = "申请说明", width = 15)
    @ApiModelProperty(value = "申请说明")
    private String applicationComment;
    /**确认人*/
    @Excel(name = "确认人", width = 15)
    @ApiModelProperty(value = "确认人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String confirmer;
    /**确认时间*/
    @Excel(name = "确认时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;
    /**确认意见*/
    @Excel(name = "确认意见", width = 15)
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingScrapDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·æŠ¥åºŸæ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_scrap_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_scrap_detail对象", description="刀具报废明细")
public class CuttingScrapDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**报废单ID*/
    @Excel(name = "报废单ID", width = 15)
    @ApiModelProperty(value = "报废单ID")
    private String orderId;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**库存ID*/
    @Excel(name = "库存ID", width = 15)
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
}
src/main/java/org/jeecg/modules/cms/entity/CuttingTool.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·ä¿¡æ¯
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_cutting_tool")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_cutting_tool对象", description="刀具信息")
public class CuttingTool implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**刀具名称*/
    @Excel(name = "刀具名称", width = 15)
    @ApiModelProperty(value = "刀具名称")
    private String cuttingName;
    /**刀具编码*/
    @Excel(name = "刀具编码", width = 15)
    @ApiModelProperty(value = "刀具编码")
    private String cuttingCode;
    /**刀具分类*/
    @Excel(name = "刀具分类", width = 15)
    @ApiModelProperty(value = "刀具分类")
    private String cuttingCategory;
    /**存放位置*/
    @Excel(name = "存放位置", width = 15)
    @ApiModelProperty(value = "存放位置")
    private String storeLocation;
    /**供应商*/
    @Excel(name = "供应商", width = 15)
    @ApiModelProperty(value = "供应商")
    private String supplierId;
    /**最小包装单位*/
    @Excel(name = "最小包装单位", width = 15)
    @ApiModelProperty(value = "最小包装单位")
    private String minimumPackageUnit;
    /**刀具材质*/
    @Excel(name = "刀具材质", width = 15)
    @ApiModelProperty(value = "刀具材质")
    private String cuttingMaterial;
    /**型号*/
    @Excel(name = "型号", width = 15)
    @ApiModelProperty(value = "型号")
    private String cuttingModel;
    /**图号*/
    @Excel(name = "图号", width = 15)
    @ApiModelProperty(value = "图号")
    private String drawingNumber;
    /**库存预警值*/
    @Excel(name = "库存预警值", width = 15)
    @ApiModelProperty(value = "库存预警值")
    private Integer inventoryWarning;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    @TableField(exist = false)
    private List<CuttingProperties> cuttingPropertiesList;
    @TableField(exist = false)
    private List<String> deletePropertiesIds;
}
src/main/java/org/jeecg/modules/cms/entity/EdgeGrinding.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·ä¿®ç£¨
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_edge_grinding")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_edge_grinding对象", description="刀具修磨")
public class EdgeGrinding implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**修磨单状态*/
    @Excel(name = "修磨单状态", width = 15)
    @ApiModelProperty(value = "修磨单状态")
    private String orderStatus;
    /**申请人*/
    @Excel(name = "申请人", width = 15)
    @ApiModelProperty(value = "申请人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String applicant;
    /**申请时间*/
    @Excel(name = "申请时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "申请时间")
    private Date applicationTime;
    /**申请说明*/
    @Excel(name = "申请说明", width = 15)
    @ApiModelProperty(value = "申请说明")
    private String applicationComment;
    /**确认人*/
    @Excel(name = "确认人", width = 15)
    @ApiModelProperty(value = "确认人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String confirmer;
    /**确认时间*/
    @Excel(name = "确认时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;
    /**确认意见*/
    @Excel(name = "确认意见", width = 15)
    @ApiModelProperty(value = "确认意见")
    private String confirmComment;
    /**归还时间*/
    @Excel(name = "归还时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "归还时间")
    private Date returnTime;
    /**归还说明*/
    @Excel(name = "归还说明", width = 15)
    @ApiModelProperty(value = "归还说明")
    private String returnComment;
    /**归还确认人*/
    @Excel(name = "归还确认人", width = 15)
    @ApiModelProperty(value = "归还确认人")
    @Dict(dictTable = "sys_user",dicCode = "id",dicText = "realname")
    private String returnConfirmer;
    /**归还确认时间*/
    @Excel(name = "归还确认时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "归还确认时间")
    private Date returnConfirmTime;
    /**归还确认意见*/
    @Excel(name = "归还确认意见", width = 15)
    @ApiModelProperty(value = "归还确认意见")
    private String returnConfirmComment;
}
src/main/java/org/jeecg/modules/cms/entity/EdgeGrindingDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·ä¿®ç£¨æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_edge_grinding_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_edge_grinding_detail对象", description="刀具修磨明细")
public class EdgeGrindingDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**修磨单ID*/
    @Excel(name = "修磨单ID", width = 15)
    @ApiModelProperty(value = "修磨单ID")
    private String orderId;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**库存ID*/
    @Excel(name = "库存ID", width = 15)
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
    /**新刀具ID*/
    @Excel(name = "新刀具ID", width = 15)
    @ApiModelProperty(value = "新刀具ID")
    private String newCuttingId;
    /**新库存ID*/
    @Excel(name = "新库存ID", width = 15)
    @ApiModelProperty(value = "新库存ID")
    private String newInventoryId;
}
src/main/java/org/jeecg/modules/cms/entity/RatedLife.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: é¢å®šå¯¿å‘½
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_rated_life")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_rated_life对象", description="额定寿命")
public class RatedLife implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String cuttingId;
    /**工件材质*/
    @Excel(name = "工件材质", width = 15)
    @ApiModelProperty(value = "工件材质")
    private String workpieceMaterial;
    /**额定寿命*/
    @Excel(name = "额定寿命", width = 15)
    @ApiModelProperty(value = "额定寿命")
    private BigDecimal ratedLife;
}
src/main/java/org/jeecg/modules/cms/entity/ToolStocktaking.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_tool_stocktaking")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_tool_stocktaking对象", description="刀具盘点")
public class ToolStocktaking implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**盘点单号*/
    @Excel(name = "盘点单号", width = 15)
    @ApiModelProperty(value = "盘点单号")
    private String orderCode;
    /**盘点状态*/
    @Excel(name = "盘点状态", width = 15)
    @ApiModelProperty(value = "盘点状态")
    private String orderStatus;
    /**盘点人*/
    @Excel(name = "盘点人", width = 15)
    @ApiModelProperty(value = "盘点人")
    private String operator;
    /**盘点时间*/
    @Excel(name = "盘点时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "盘点时间")
    private Date operateTime;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
}
src/main/java/org/jeecg/modules/cms/entity/ToolStocktakingDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_tool_stocktaking_detail")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_tool_stocktaking_detail对象", description="刀具盘点明细")
public class ToolStocktakingDetail implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**刀具ID*/
    @Excel(name = "刀具ID", width = 15)
    @ApiModelProperty(value = "刀具ID")
    private String toolId;
    /**盘点前数量*/
    @Excel(name = "盘点前数量", width = 15)
    @ApiModelProperty(value = "盘点前数量")
    private BigDecimal beforeNumber;
    /**实际盘点数量*/
    @Excel(name = "实际盘点数量", width = 15)
    @ApiModelProperty(value = "实际盘点数量")
    private BigDecimal actualNumber;
    /**盘点结果*/
    @Excel(name = "盘点结果", width = 15)
    @ApiModelProperty(value = "盘点结果")
    private String stocktakingResult;
}
src/main/java/org/jeecg/modules/cms/entity/ToolStocktakingInventoryChange.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
package org.jeecg.modules.cms.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: ç›˜ç‚¹åº“存变更
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Data
@TableName("cms_tool_stocktaking_inventory_change")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="cms_tool_stocktaking_inventory_change对象", description="盘点库存变更")
public class ToolStocktakingInventoryChange implements Serializable {
    private static final long serialVersionUID = 1L;
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**盘点明细ID*/
    @Excel(name = "盘点明细ID", width = 15)
    @ApiModelProperty(value = "盘点明细ID")
    private String detailId;
    /**库存ID*/
    @Excel(name = "库存ID", width = 15)
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
    /**刀具条码*/
    @Excel(name = "刀具条码", width = 15)
    @ApiModelProperty(value = "刀具条码")
    private String toolBarcode;
    /**数量(默认1)*/
    @Excel(name = "数量(默认1)", width = 15)
    @ApiModelProperty(value = "数量(默认1)")
    private BigDecimal number;
    /**变更类型;正常/出库/入库*/
    @Excel(name = "变更类型;正常/出库/入库", width = 15)
    @ApiModelProperty(value = "变更类型;正常/出库/入库")
    private String changeType;
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingInboundDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingInboundDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: å…¥åº“单明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingInboundDetailMapper extends BaseMapper<CuttingInboundDetail> {
    public List<Map<String, Object>> detailList(@Param("orderId") String orderId);
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingInboundInventoryMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingInboundInventory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: å…¥åº“单库存关系
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingInboundInventoryMapper extends BaseMapper<CuttingInboundInventory> {
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingInboundMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingInbound;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·å…¥åº“单
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingInboundMapper extends BaseMapper<CuttingInbound> {
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingInventoryMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingInventory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·åº“å­˜
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingInventoryMapper extends BaseMapper<CuttingInventory> {
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingPropertiesMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingProperties;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·æ‰©å±•属性
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingPropertiesMapper extends BaseMapper<CuttingProperties> {
    List<CuttingProperties> selectListByCuttingId(@Param("cuttingId") String cuttingId);
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: é¢†ç”¨å•明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingReceiveDetailMapper extends BaseMapper<CuttingReceiveDetail> {
    public List<Map<String, Object>> detailList(@Param("orderId") String orderId);
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingReceiveMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingReceive;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·é¢†ç”¨å•
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingReceiveMapper extends BaseMapper<CuttingReceive> {
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingScrapDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingScrapDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·æŠ¥åºŸæ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingScrapDetailMapper extends BaseMapper<CuttingScrapDetail> {
    public List<Map<String, Object>> detailList(@Param("orderId") String orderId);
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingScrapMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingScrap;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·æŠ¥åºŸ
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingScrapMapper extends BaseMapper<CuttingScrap> {
}
src/main/java/org/jeecg/modules/cms/mapper/CuttingToolMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.CuttingTool;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·ä¿¡æ¯
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface CuttingToolMapper extends BaseMapper<CuttingTool> {
    IPage<Map<String, Object>> getCuttingToolList(IPage<Map> pageData, @Param("params") Map<String,Object> params);
}
src/main/java/org/jeecg/modules/cms/mapper/EdgeGrindingDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.EdgeGrindingDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·ä¿®ç£¨æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface EdgeGrindingDetailMapper extends BaseMapper<EdgeGrindingDetail> {
    public List<Map<String, Object>> detailList(@Param("orderId") String orderId);
}
src/main/java/org/jeecg/modules/cms/mapper/EdgeGrindingMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.EdgeGrinding;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·ä¿®ç£¨
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface EdgeGrindingMapper extends BaseMapper<EdgeGrinding> {
}
src/main/java/org/jeecg/modules/cms/mapper/RatedLifeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.RatedLife;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: é¢å®šå¯¿å‘½
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface RatedLifeMapper extends BaseMapper<RatedLife> {
}
src/main/java/org/jeecg/modules/cms/mapper/ToolStocktakingDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.ToolStocktakingDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ToolStocktakingDetailMapper extends BaseMapper<ToolStocktakingDetail> {
}
src/main/java/org/jeecg/modules/cms/mapper/ToolStocktakingInventoryChangeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.ToolStocktakingInventoryChange;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: ç›˜ç‚¹åº“存变更
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ToolStocktakingInventoryChangeMapper extends BaseMapper<ToolStocktakingInventoryChange> {
}
src/main/java/org/jeecg/modules/cms/mapper/ToolStocktakingMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.cms.entity.ToolStocktaking;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ToolStocktakingMapper extends BaseMapper<ToolStocktaking> {
}
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInboundDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
<?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="org.jeecg.modules.cms.mapper.CuttingInboundDetailMapper">
    <select id="detailList" resultType="map">
        SELECT
            t1.id,
            t1.order_id orderId,
            t1.cutting_id cuttingId,
            t1.receive_number receiveNumber,
            t2.cutting_code cuttingCode,
            t2.cutting_name cuttingName
        FROM
            cms_cutting_inbound_detail t1
            LEFT JOIN cms_cutting_tool t2 ON t1.cutting_id = t2.id
        WHERE t1.order_id = #{orderId}
    </select>
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInboundInventoryMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.CuttingInboundInventoryMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInboundMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.CuttingInboundMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingInventoryMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.CuttingInventoryMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingPropertiesMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?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="org.jeecg.modules.cms.mapper.CuttingPropertiesMapper">
    <select id="selectListByCuttingId" resultType="org.jeecg.modules.cms.entity.CuttingProperties">
        SELECT
        t.id,
        t.property_code propertyCode,
        t.property_name propertyName,
        t.property_unit propertyUnit,
        t.property_value propertyValue
        FROM cms_cutting_properties t
        WHERE t.cutting_id = #{cuttingId}
    </select>
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveDetailMapper.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="org.jeecg.modules.cms.mapper.CuttingReceiveDetailMapper">
    <select id="detailList" resultType="map">
        SELECT
            t1.id,
            t1.order_id orderId,
            t1.cutting_id cuttingId,
            t1.workpiece_material workpieceMaterial,
            t1.used_life usedLife,
            t2.cutting_code cuttingCode,
            t2.cutting_name cuttingName
        FROM
            cms_cutting_receive_detail t1
                LEFT JOIN cms_cutting_tool t2 ON t1.cutting_id = t2.id
        WHERE t1.order_id = #{orderId}
    </select>
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingReceiveMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.CuttingReceiveMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingScrapDetailMapper.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="org.jeecg.modules.cms.mapper.CuttingScrapDetailMapper">
    <select id="detailList" resultType="map">
        SELECT
            t1.id,
            t1.order_id orderId,
            t1.cutting_id cuttingId,
            t2.cutting_code cuttingCode,
            t2.cutting_name cuttingName
        FROM
            cms_cutting_scrap_detail t1
                LEFT JOIN cms_cutting_tool t2 ON t1.cutting_id = t2.id
        WHERE t1.order_id = #{orderId}
    </select>
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingScrapMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.CuttingScrapMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/CuttingToolMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,33 @@
<?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="org.jeecg.modules.cms.mapper.CuttingToolMapper">
    <select id="getCuttingToolList"  parameterType="Map" resultType="Map">
        SELECT
        t1.id,
        t1.cutting_code cuttingCode,
        t1.cutting_name cuttingName,
        t1.cutting_category,
        t1.store_location storeLocation,
        t1.supplier_id supplierId,
        t1.minimum_package_unit minimumPackageUnit,
        t1.cutting_material cuttingMaterial,
        t1.cutting_model cuttingModel,
        t1.drawing_number drawingNumber,
        t1.inventory_warning inventoryWarning,
        t2.item_text cuttingCategory
        FROM
        cms_cutting_tool t1
        left join (select * from v_sys_dict where dict_code = 'cutting_category') t2 on t2.item_value = t1.cutting_category
        WHERE t1.del_flag = 0
        <if test="params.cuttingCode != null and params.cuttingCode != ''">
            and t1.cutting_code like concat('%',#{params.cuttingCode},'%')
        </if>
        <if test="params.cuttingName != null and params.cuttingName != ''">
            and t1.cutting_name like concat('%',#{params.cuttingName},'%')
        </if>
        <if test="params.cuttingCategory != null and params.cuttingCategory != ''">
            and t1.cutting_category = #{params.cuttingCategory}
        </if>
    </select>
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/EdgeGrindingDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
<?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="org.jeecg.modules.cms.mapper.EdgeGrindingDetailMapper">
    <select id="detailList" resultType="map">
        SELECT
            t1.id,
            t1.order_id orderId,
            t1.cutting_id cuttingId,
            t1.new_cutting_id newCuttingId,
            t2.cutting_code cuttingCode,
            t2.cutting_name cuttingName,
            t3.cutting_code newCuttingCode,
            t3.cutting_name newCuttingName
        FROM
            cms_edge_grinding_detail t1
                LEFT JOIN cms_cutting_tool t2 ON t1.cutting_id = t2.id
                LEFT JOIN cms_cutting_tool t3 ON t1.new_cutting_id = t3.id
        WHERE t1.order_id = #{orderId}
    </select>
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/EdgeGrindingMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.EdgeGrindingMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/RatedLifeMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.RatedLifeMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/ToolStocktakingDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.ToolStocktakingDetailMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/ToolStocktakingInventoryChangeMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.ToolStocktakingInventoryChangeMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/mapper/xml/ToolStocktakingMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?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="org.jeecg.modules.cms.mapper.ToolStocktakingMapper">
</mapper>
src/main/java/org/jeecg/modules/cms/service/ICuttingInboundDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingInboundDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * @Description: å…¥åº“单明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingInboundDetailService extends IService<CuttingInboundDetail> {
    public List<Map<String, Object>> detailList(String orderId);
}
src/main/java/org/jeecg/modules/cms/service/ICuttingInboundInventoryService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingInboundInventory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: å…¥åº“单库存关系
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingInboundInventoryService extends IService<CuttingInboundInventory> {
}
src/main/java/org/jeecg/modules/cms/service/ICuttingInboundService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingInbound;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·å…¥åº“单
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingInboundService extends IService<CuttingInbound> {
}
src/main/java/org/jeecg/modules/cms/service/ICuttingInventoryService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingInventory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·åº“å­˜
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingInventoryService extends IService<CuttingInventory> {
}
src/main/java/org/jeecg/modules/cms/service/ICuttingPropertiesService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingProperties;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * @Description: åˆ€å…·æ‰©å±•属性
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingPropertiesService extends IService<CuttingProperties> {
    List<CuttingProperties> selectListByCuttingId(String cuttingId);
}
src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * @Description: é¢†ç”¨å•明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingReceiveDetailService extends IService<CuttingReceiveDetail> {
    public List<Map<String, Object>> detailList(String orderId);
}
src/main/java/org/jeecg/modules/cms/service/ICuttingReceiveService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingReceive;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·é¢†ç”¨å•
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingReceiveService extends IService<CuttingReceive> {
}
src/main/java/org/jeecg/modules/cms/service/ICuttingScrapDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingScrapDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * @Description: åˆ€å…·æŠ¥åºŸæ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingScrapDetailService extends IService<CuttingScrapDetail> {
    public List<Map<String, Object>> detailList(String orderId);
}
src/main/java/org/jeecg/modules/cms/service/ICuttingScrapService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.CuttingScrap;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·æŠ¥åºŸ
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingScrapService extends IService<CuttingScrap> {
}
src/main/java/org/jeecg/modules/cms/service/ICuttingToolService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.jeecg.modules.cms.entity.CuttingTool;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
/**
 * @Description: åˆ€å…·ä¿¡æ¯
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface ICuttingToolService extends IService<CuttingTool> {
    IPage<Map<String, Object>> getCuttingToolList(Integer pageNo, Integer pageSize, Map<String, Object> params);
}
src/main/java/org/jeecg/modules/cms/service/IEdgeGrindingDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.EdgeGrindingDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
 * @Description: åˆ€å…·ä¿®ç£¨æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface IEdgeGrindingDetailService extends IService<EdgeGrindingDetail> {
    public List<Map<String, Object>> detailList(String orderId);
}
src/main/java/org/jeecg/modules/cms/service/IEdgeGrindingService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.EdgeGrinding;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·ä¿®ç£¨
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface IEdgeGrindingService extends IService<EdgeGrinding> {
}
src/main/java/org/jeecg/modules/cms/service/IRatedLifeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.RatedLife;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: é¢å®šå¯¿å‘½
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface IRatedLifeService extends IService<RatedLife> {
}
src/main/java/org/jeecg/modules/cms/service/IToolStocktakingDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.ToolStocktakingDetail;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface IToolStocktakingDetailService extends IService<ToolStocktakingDetail> {
}
src/main/java/org/jeecg/modules/cms/service/IToolStocktakingInventoryChangeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.ToolStocktakingInventoryChange;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: ç›˜ç‚¹åº“存变更
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface IToolStocktakingInventoryChangeService extends IService<ToolStocktakingInventoryChange> {
}
src/main/java/org/jeecg/modules/cms/service/IToolStocktakingService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.cms.service;
import org.jeecg.modules.cms.entity.ToolStocktaking;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
public interface IToolStocktakingService extends IService<ToolStocktaking> {
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingInboundDetail;
import org.jeecg.modules.cms.mapper.CuttingInboundDetailMapper;
import org.jeecg.modules.cms.service.ICuttingInboundDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import java.util.Map;
/**
 * @Description: å…¥åº“单明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingInboundDetailServiceImpl extends ServiceImpl<CuttingInboundDetailMapper, CuttingInboundDetail> implements ICuttingInboundDetailService {
    @Override
    public List<Map<String, Object>> detailList(String orderId) {
        return this.baseMapper.detailList(orderId);
    }
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundInventoryServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingInboundInventory;
import org.jeecg.modules.cms.mapper.CuttingInboundInventoryMapper;
import org.jeecg.modules.cms.service.ICuttingInboundInventoryService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: å…¥åº“单库存关系
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingInboundInventoryServiceImpl extends ServiceImpl<CuttingInboundInventoryMapper, CuttingInboundInventory> implements ICuttingInboundInventoryService {
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInboundServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingInbound;
import org.jeecg.modules.cms.mapper.CuttingInboundMapper;
import org.jeecg.modules.cms.service.ICuttingInboundService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·å…¥åº“单
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingInboundServiceImpl extends ServiceImpl<CuttingInboundMapper, CuttingInbound> implements ICuttingInboundService {
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingInventory;
import org.jeecg.modules.cms.mapper.CuttingInventoryMapper;
import org.jeecg.modules.cms.service.ICuttingInventoryService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·åº“å­˜
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingInventoryServiceImpl extends ServiceImpl<CuttingInventoryMapper, CuttingInventory> implements ICuttingInventoryService {
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingPropertiesServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingProperties;
import org.jeecg.modules.cms.mapper.CuttingPropertiesMapper;
import org.jeecg.modules.cms.service.ICuttingPropertiesService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
/**
 * @Description: åˆ€å…·æ‰©å±•属性
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingPropertiesServiceImpl extends ServiceImpl<CuttingPropertiesMapper, CuttingProperties> implements ICuttingPropertiesService {
    @Override
    public List<CuttingProperties> selectListByCuttingId(String cuttingId) {
        return this.baseMapper.selectListByCuttingId(cuttingId);
    }
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingReceiveDetail;
import org.jeecg.modules.cms.mapper.CuttingReceiveDetailMapper;
import org.jeecg.modules.cms.service.ICuttingReceiveDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import java.util.Map;
/**
 * @Description: é¢†ç”¨å•明细
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingReceiveDetailServiceImpl extends ServiceImpl<CuttingReceiveDetailMapper, CuttingReceiveDetail> implements ICuttingReceiveDetailService {
    @Override
    public List<Map<String, Object>> detailList(String orderId) {
        return this.baseMapper.detailList(orderId);
    }
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingReceiveServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingReceive;
import org.jeecg.modules.cms.mapper.CuttingReceiveMapper;
import org.jeecg.modules.cms.service.ICuttingReceiveService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·é¢†ç”¨å•
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingReceiveServiceImpl extends ServiceImpl<CuttingReceiveMapper, CuttingReceive> implements ICuttingReceiveService {
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingScrapDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingScrapDetail;
import org.jeecg.modules.cms.mapper.CuttingScrapDetailMapper;
import org.jeecg.modules.cms.service.ICuttingScrapDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import java.util.Map;
/**
 * @Description: åˆ€å…·æŠ¥åºŸæ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingScrapDetailServiceImpl extends ServiceImpl<CuttingScrapDetailMapper, CuttingScrapDetail> implements ICuttingScrapDetailService {
    @Override
    public List<Map<String, Object>> detailList(String orderId) {
        return this.baseMapper.detailList(orderId);
    }
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingScrapServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.CuttingScrap;
import org.jeecg.modules.cms.mapper.CuttingScrapMapper;
import org.jeecg.modules.cms.service.ICuttingScrapService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·æŠ¥åºŸ
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingScrapServiceImpl extends ServiceImpl<CuttingScrapMapper, CuttingScrap> implements ICuttingScrapService {
}
src/main/java/org/jeecg/modules/cms/service/impl/CuttingToolServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package org.jeecg.modules.cms.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.cms.entity.CuttingTool;
import org.jeecg.modules.cms.mapper.CuttingToolMapper;
import org.jeecg.modules.cms.service.ICuttingToolService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Map;
/**
 * @Description: åˆ€å…·ä¿¡æ¯
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class CuttingToolServiceImpl extends ServiceImpl<CuttingToolMapper, CuttingTool> implements ICuttingToolService {
    @Override
    public IPage<Map<String, Object>> getCuttingToolList(Integer pageNo, Integer pageSize, Map<String, Object> params) {
        IPage<Map> pageData = new Page<Map>(pageNo, pageSize);
        return super.getBaseMapper().getCuttingToolList(pageData,params);
    }
}
src/main/java/org/jeecg/modules/cms/service/impl/EdgeGrindingDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.EdgeGrindingDetail;
import org.jeecg.modules.cms.mapper.EdgeGrindingDetailMapper;
import org.jeecg.modules.cms.service.IEdgeGrindingDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import java.util.Map;
/**
 * @Description: åˆ€å…·ä¿®ç£¨æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class EdgeGrindingDetailServiceImpl extends ServiceImpl<EdgeGrindingDetailMapper, EdgeGrindingDetail> implements IEdgeGrindingDetailService {
    @Override
    public List<Map<String, Object>> detailList(String orderId) {
        return this.baseMapper.detailList(orderId);
    }
}
src/main/java/org/jeecg/modules/cms/service/impl/EdgeGrindingServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.EdgeGrinding;
import org.jeecg.modules.cms.mapper.EdgeGrindingMapper;
import org.jeecg.modules.cms.service.IEdgeGrindingService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·ä¿®ç£¨
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class EdgeGrindingServiceImpl extends ServiceImpl<EdgeGrindingMapper, EdgeGrinding> implements IEdgeGrindingService {
}
src/main/java/org/jeecg/modules/cms/service/impl/RatedLifeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.RatedLife;
import org.jeecg.modules.cms.mapper.RatedLifeMapper;
import org.jeecg.modules.cms.service.IRatedLifeService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: é¢å®šå¯¿å‘½
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class RatedLifeServiceImpl extends ServiceImpl<RatedLifeMapper, RatedLife> implements IRatedLifeService {
}
src/main/java/org/jeecg/modules/cms/service/impl/ToolStocktakingDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.ToolStocktakingDetail;
import org.jeecg.modules.cms.mapper.ToolStocktakingDetailMapper;
import org.jeecg.modules.cms.service.IToolStocktakingDetailService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class ToolStocktakingDetailServiceImpl extends ServiceImpl<ToolStocktakingDetailMapper, ToolStocktakingDetail> implements IToolStocktakingDetailService {
}
src/main/java/org/jeecg/modules/cms/service/impl/ToolStocktakingInventoryChangeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.ToolStocktakingInventoryChange;
import org.jeecg.modules.cms.mapper.ToolStocktakingInventoryChangeMapper;
import org.jeecg.modules.cms.service.IToolStocktakingInventoryChangeService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: ç›˜ç‚¹åº“存变更
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class ToolStocktakingInventoryChangeServiceImpl extends ServiceImpl<ToolStocktakingInventoryChangeMapper, ToolStocktakingInventoryChange> implements IToolStocktakingInventoryChangeService {
}
src/main/java/org/jeecg/modules/cms/service/impl/ToolStocktakingServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.cms.service.impl;
import org.jeecg.modules.cms.entity.ToolStocktaking;
import org.jeecg.modules.cms.mapper.ToolStocktakingMapper;
import org.jeecg.modules.cms.service.IToolStocktakingService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: åˆ€å…·ç›˜ç‚¹
 * @Author: jeecg-boot
 * @Date:   2025-07-28
 * @Version: V1.0
 */
@Service
public class ToolStocktakingServiceImpl extends ServiceImpl<ToolStocktakingMapper, ToolStocktaking> implements IToolStocktakingService {
}