Merge branch '0.8.X' of https://gitee.com/hdka/klp-oa into 0.8.X

This commit is contained in:
砂糖
2026-01-13 09:46:16 +08:00

View File

@@ -2,6 +2,7 @@ package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.esotericsoftware.minlog.Log;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.klp.common.core.domain.entity.SysUser;
@@ -831,6 +832,12 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
disableWarehouseBo.setActualWarehouseId(oldCoil.getActualWarehouseId());
disableWarehouseBo.setIsEnabled(1); // 设置为启用状态
actualWarehouseService.updateByBo(disableWarehouseBo);
// 同步清空钢卷上的实际库区绑定,避免残留绑定
LambdaUpdateWrapper<WmsMaterialCoil> clearAwWrapper = new LambdaUpdateWrapper<>();
clearAwWrapper.eq(WmsMaterialCoil::getCoilId, bo.getCoilId());
clearAwWrapper.set(WmsMaterialCoil::getActualWarehouseId, (Long) null);
baseMapper.update(null, clearAwWrapper);
}
// 更新实际库区的启用状态
@@ -1127,7 +1134,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
// 标记钢卷为历史数据
LambdaUpdateWrapper<WmsMaterialCoil> originalUpdateWrapper = new LambdaUpdateWrapper<>();
originalUpdateWrapper.eq(WmsMaterialCoil::getCoilId, originalCoilBo.getCoilId())
.set(WmsMaterialCoil::getDataType, 0); // 设置为历史数据
.set(WmsMaterialCoil::getDataType, 0) // 设置为历史数据
.set(WmsMaterialCoil::getActualWarehouseId, (Long) null); // 同步清空实际库区绑定
baseMapper.update(null, originalUpdateWrapper);
// 启用原始钢卷的实际库区
@@ -1954,11 +1962,34 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
*/
@Override
public int exportCoil(Long coilId) {
// 查询当前钢卷信息记录原实际库区ID
WmsMaterialCoilVo wmsMaterialCoilVo = queryById(coilId);
wmsMaterialCoilVo.setExportTime(new Date());
wmsMaterialCoilVo.setStatus(1);
Long oldActualWarehouseId = wmsMaterialCoilVo != null ? wmsMaterialCoilVo.getActualWarehouseId() : null;
return baseMapper.updateById(BeanUtil.toBean(wmsMaterialCoilVo,WmsMaterialCoil.class));
// 1. 更新钢卷为已发货并记录发货时间同时清空实际库区占用改用Wrapper实现
int rows = 0;
if (wmsMaterialCoilVo != null) {
UpdateWrapper<WmsMaterialCoil> updateWrapper = new UpdateWrapper<>();
// 设置更新条件钢卷ID
updateWrapper.eq("coil_id", coilId);
// 设置要更新的字段
updateWrapper.set("export_time", new Date()) // 发货时间
.set("status", 1) // 已发货状态
.set("actual_warehouse_id", null); // 清空实际库区ID关键
// 执行更新操作
rows = baseMapper.update(null, updateWrapper);
}
// 2. 释放原实际库区(若存在):将库位设置为可用(启用)
if (rows > 0 && oldActualWarehouseId != null) {
WmsActualWarehouseBo releaseBo = new WmsActualWarehouseBo();
releaseBo.setActualWarehouseId(oldActualWarehouseId);
releaseBo.setIsEnabled(1); // 释放:设置为启用
actualWarehouseService.updateByBo(releaseBo);
}
return rows;
}
/**