fix(wms): 修复钢卷库区绑定清理逻辑
- 移除注释掉的库区绑定清理代码 - 将库区绑定清理逻辑移到新记录插入后执行 - 添加对实际库区ID为-1的条件判断避免无效操作 - 修复clearActualWarehouseBinding方法中的空指针检查逻辑
This commit is contained in:
@@ -1194,11 +1194,6 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
newCoil.setDataType(1); // 设置为当前数据
|
||||
newCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId()); // 继续使用原二维码
|
||||
|
||||
// // 如果实际库区id为-1,则清空钢卷上的实际库区绑定
|
||||
// if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId().equals(-1L)) {
|
||||
// clearActualWarehouseBinding(oldCoil.getActualWarehouseId(), bo.getCoilId());
|
||||
// }
|
||||
|
||||
// 继承原记录的关键字段
|
||||
if (newCoil.getEnterCoilNo() == null) {
|
||||
newCoil.setEnterCoilNo(oldCoil.getEnterCoilNo());
|
||||
@@ -1214,6 +1209,11 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
// 插入新记录
|
||||
boolean flag = baseMapper.insert(newCoil) > 0;
|
||||
|
||||
// 如果实际库区id为-1,则清空钢卷上的实际库区绑定
|
||||
if (bo.getActualWarehouseId() != null && bo.getActualWarehouseId().equals(-1L)) {
|
||||
clearActualWarehouseBinding(newCoil.getActualWarehouseId(), newCoil.getCoilId());
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
// 3. 更新二维码内容(添加更新步骤并更新current_coil_id)
|
||||
if (oldCoil.getQrcodeRecordId() != null) {
|
||||
@@ -1266,7 +1266,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
}
|
||||
|
||||
// 禁用新的库区
|
||||
if (newActualWarehouseId != null) {
|
||||
if (newActualWarehouseId != null && newActualWarehouseId != -1L) {
|
||||
WmsActualWarehouseBo newWarehouseBo = new WmsActualWarehouseBo();
|
||||
newWarehouseBo.setActualWarehouseId(newActualWarehouseId);
|
||||
newWarehouseBo.setIsEnabled(0); // 设置为禁用状态
|
||||
@@ -1281,7 +1281,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
*/
|
||||
private void clearActualWarehouseBinding(Long actualWarehouseId, Long coilId) {
|
||||
// 启用原来的库区
|
||||
if (actualWarehouseId != null) {
|
||||
if (actualWarehouseId != null && actualWarehouseId != -1L) {
|
||||
WmsActualWarehouseBo warehouseBo = new WmsActualWarehouseBo();
|
||||
warehouseBo.setActualWarehouseId(actualWarehouseId);
|
||||
warehouseBo.setIsEnabled(1); // 设置为启用状态
|
||||
|
||||
Reference in New Issue
Block a user