新火炬后端单体项目初始化代码
src/main/java/org/jeecg/modules/cms/controller/CuttingReceiveController.java
@@ -3,6 +3,7 @@
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -12,6 +13,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.micrometer.core.annotation.Timed;
import liquibase.pro.packaged.G;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
@@ -43,10 +45,10 @@
import org.jeecg.common.aspect.annotation.AutoLog;
/**
 * @Description: 刀具领用单
 * @Author: jeecg-boot
 * @Date: 2025-07-28
 * @Version: V1.0
 * @Description:  刀具领用单
 * @Author:  jeecg-boot
 * @Date:  2025-07-28
 * @Version:  V1.0
 */
@Api(tags = "刀具领用单")
@RestController
@@ -58,14 +60,12 @@
    @Autowired
    private ICuttingReceiveDetailService cuttingReceiveDetailService;
    @Autowired
    private ICuttingInventoryService cuttingInventoryService;
    /**
     * 分页列表查询
     *
     * @param cuttingReceive
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "刀具领用单-分页列表查询")
    @ApiOperation(value = "刀具领用单-分页列表查询", notes = "刀具领用单-分页列表查询")
@@ -75,16 +75,13 @@
                                                       @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);
        Page<CuttingReceive> page = new Page<>(pageNo, pageSize);
        IPage<CuttingReceive> pageList = cuttingReceiveService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * 添加
     *
     * @param jSONObject
     * @return
     */
    @AutoLog(value = "刀具领用单-添加")
    @ApiOperation(value = "刀具领用单-添加", notes = "刀具领用单-添加")
@@ -99,23 +96,32 @@
        // 删除原有关联的明细数据
        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);
        for (CuttingReceiveDetail temp : list) {
            temp.setOrderId(cuttingReceive.getId());
            cuttingReceiveDetailService.save(temp);
        }
        // 更新库存刀具状态为"已出库"
        if (!list.isEmpty()) {
            // 收集所有需要更新状态的库存ID
            List<String> inventoryIds = list.stream()
                    .map(CuttingReceiveDetail::getInventoryId) // 假设CuttingReceiveDetail中有inventoryId字段
                    .filter(id -> id != null && !id.isEmpty())
                    .collect(Collectors.toList());
            if (!inventoryIds.isEmpty()) {
                // 更新库存状态为"已出库"
                cuttingInventoryService.updateStatus(inventoryIds, "待出库");
            }
        }
        return Result.OK("添加成功!");
    }
    /**
     * 编辑
     *
     * @param cuttingReceive
     * @return
     */
    @AutoLog(value = "刀具领用单-编辑")
    @ApiOperation(value = "刀具领用单-编辑", notes = "刀具领用单-编辑")
@@ -128,44 +134,35 @@
    /**
     * 通过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) {
    public Result<String> delete(@RequestParam(name = "id") 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) {
    public Result<String> deleteBatch(@RequestParam(name = "ids") 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) {
    public Result<CuttingReceive> queryById(@RequestParam(name = "id") String id) {
        CuttingReceive cuttingReceive = cuttingReceiveService.getById(id);
        if (cuttingReceive == null) {
            return Result.error("未找到对应数据");
@@ -175,9 +172,6 @@
    /**
     * 导出excel
     *
     * @param request
     * @param cuttingReceive
     */
    //@RequiresPermissions("org.jeecg.modules:cms_cutting_receive:exportXls")
    @RequestMapping(value = "/exportXls")
@@ -187,10 +181,6 @@
    /**
     * 通过excel导入数据
     *
     * @param request
     * @param response
     * @return
     */
    //@RequiresPermissions("cms_cutting_receive:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
@@ -200,9 +190,6 @@
    /**
     * 根据领用id查询领用明细
     *
     * @param orderId
     * @return
     */
    @GetMapping("/detailList")
    public Result<?> detailList(@RequestParam("orderId") String orderId) {
@@ -212,8 +199,6 @@
    /**
     * 选择库存刀具的列表
     *
     * @return
     */
    @GetMapping("/getInventoryToolList")
    public Result<?> getInventoryToolList(@RequestParam("pageNo") Integer pageNo,
@@ -222,4 +207,12 @@
        IPage<Map<String, Object>> inventoryTooList = cuttingReceiveService.getInventoryToolList(pageNo, pageSize, params);
        return Result.ok(inventoryTooList);
    }
    @GetMapping("/submit")
    @Timed(value = "cutting.inbound.submit", description = "刀具入库提交耗时")
    public Result<?> submit(@RequestParam("orderId") String orderId) {
        return cuttingReceiveService.submit(orderId);
    }
    //TODO: @GetMapping("/handleBack")
}