自动化立体仓库 - WMS系统
chen.llin
9 天以前 3737362a7352ea38ba14f7e2290fd71df57a62d0
库位表缺少id报错,根据DDL修复
2个文件已修改
42 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LocDetlController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocDetl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -129,7 +129,14 @@
    @RequestMapping(value = "/locDetl/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(locDetlService.selectById(String.valueOf(id)));
        // asr_loc_detl 表没有 id 主键,使用 loc_no 查询
        // 注意:一个 loc_no 可能对应多条记录,返回第一条
        List<LocDetl> list = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", id).last("limit 1"));
        if (!list.isEmpty()) {
            return R.ok(list.get(0));
        }
        // 返回 null 而不是错误,避免前端解析失败
        return R.ok(null);
    }
    @RequestMapping(value = "/locDetl/auth")
@@ -234,13 +241,29 @@
    @RequestMapping(value = "/locDetl/update/auth")
    @ManagerAuth(memo = "库位明细修改")
    public R update(LocDetl locDetl) {
        if (Cools.isEmpty(locDetl) || null == locDetl.getMatnr()) {
            return R.error();
        if (Cools.isEmpty(locDetl) || null == locDetl.getMatnr() || Cools.isEmpty(locDetl.getLocNo())) {
            return R.error("参数不完整,需要 locNo 和 matnr");
        }
        locDetl.setModiUser(getUserId());
        locDetl.setModiTime(new Date());
        locDetlService.updateById(locDetl);
        return R.ok();
        // asr_loc_detl 表没有 id 主键,使用 EntityWrapper 根据 loc_no 和 matnr 更新
        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
        wrapper.eq("loc_no", locDetl.getLocNo());
        wrapper.eq("matnr", locDetl.getMatnr());
        // 如果有批次信息,也加入条件
        if (!Cools.isEmpty(locDetl.getBatch())) {
            wrapper.eq("batch", locDetl.getBatch());
        } else {
            wrapper.andNew("(batch IS NULL OR batch = '')");
        }
        boolean result = locDetlService.update(locDetl, wrapper);
        if (result) {
            return R.ok();
        }
        return R.error("更新失败,未找到匹配的记录");
    }
    @RequestMapping(value = "/locDetl/delete/auth")
src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -3,9 +3,7 @@
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
@@ -32,9 +30,10 @@
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    // 注意:asr_loc_detl 表中没有 id 列,因此不使用 @TableId 注解
    // 如果后续需要添加主键,请先确认数据库表结构
    // @TableId(value = "id", type = IdType.AUTO)
    // private Long id;
    @TableField("loc_id")
    private Long locId;