三级页面修改

This commit is contained in:
2025-11-11 09:40:42 +08:00
parent df65d8a021
commit 4302c17b76

View File

@@ -364,7 +364,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
} }
/** /**
* 单个更新(正常更新,记录历史变更) * 单个更新
*/ */
private Boolean updateBySingle(WmsMaterialCoilBo bo) { private Boolean updateBySingle(WmsMaterialCoilBo bo) {
// 查询原钢卷 // 查询原钢卷
@@ -373,35 +373,35 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
throw new RuntimeException("原钢卷不存在"); throw new RuntimeException("原钢卷不存在");
} }
// 直接更新原记录(不产生新记录,不修改dataType // 1. 将原钢卷标记为历史数据(dataType = 0
WmsMaterialCoil updateCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class); LambdaUpdateWrapper<WmsMaterialCoil> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(WmsMaterialCoil::getCoilId, oldCoil.getCoilId())
.set(WmsMaterialCoil::getDataType, 0); // 设置为历史数据
baseMapper.update(null, updateWrapper);
// 确保关键字段不丢失 // 2. 创建新记录
if (updateCoil.getEnterCoilNo() == null) { WmsMaterialCoil newCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class);
updateCoil.setEnterCoilNo(oldCoil.getEnterCoilNo()); newCoil.setCoilId(null); // 清空ID让数据库自动生成新ID
newCoil.setDataType(1); // 设置为当前数据
newCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId()); // 继续使用原二维码
// 继承原记录的关键字段
if (newCoil.getEnterCoilNo() == null) {
newCoil.setEnterCoilNo(oldCoil.getEnterCoilNo());
} }
if (updateCoil.getSupplierCoilNo() == null) { if (newCoil.getSupplierCoilNo() == null) {
updateCoil.setSupplierCoilNo(oldCoil.getSupplierCoilNo()); newCoil.setSupplierCoilNo(oldCoil.getSupplierCoilNo());
}
if (updateCoil.getQrcodeRecordId() == null) {
updateCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId());
}
if (updateCoil.getWarehouseId() == null) {
updateCoil.setWarehouseId(oldCoil.getWarehouseId());
}
if (updateCoil.getActualWarehouseId() == null) {
updateCoil.setActualWarehouseId(oldCoil.getActualWarehouseId());
} }
validEntityBeforeSave(updateCoil); validEntityBeforeSave(newCoil);
// 直接更新记录coilId不变 // 插入新记录
boolean flag = baseMapper.updateById(updateCoil) > 0; boolean flag = baseMapper.insert(newCoil) > 0;
if (flag) { if (flag) {
// 更新二维码内容(添加新的step // 3. 更新二维码内容(添加更新步骤并更新current_coil_id
if (oldCoil.getQrcodeRecordId() != null) { if (oldCoil.getQrcodeRecordId() != null) {
updateQrcodeContentForNormalUpdate(oldCoil, bo); updateQrcodeContentForNormalUpdate(oldCoil, bo, newCoil.getCoilId());
} }
} }
@@ -843,8 +843,11 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
/** /**
* 更新二维码内容正常更新添加step * 更新二维码内容正常更新添加step
* @param oldCoil 旧钢卷记录
* @param bo 更新数据
* @param newCoilId 新钢卷ID如果创建了新记录
*/ */
private void updateQrcodeContentForNormalUpdate(WmsMaterialCoil oldCoil, WmsMaterialCoilBo bo) { private void updateQrcodeContentForNormalUpdate(WmsMaterialCoil oldCoil, WmsMaterialCoilBo bo, Long newCoilId) {
try { try {
// 获取原二维码记录 // 获取原二维码记录
WmsGenerateRecordVo oldRecord = generateRecordService.queryById(oldCoil.getQrcodeRecordId()); WmsGenerateRecordVo oldRecord = generateRecordService.queryById(oldCoil.getQrcodeRecordId());
@@ -872,6 +875,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
newStep.put("old_current_coil_no", oldCoil.getCurrentCoilNo()); newStep.put("old_current_coil_no", oldCoil.getCurrentCoilNo());
newStep.put("new_current_coil_no", bo.getCurrentCoilNo()); newStep.put("new_current_coil_no", bo.getCurrentCoilNo());
newStep.put("old_coil_id", String.valueOf(oldCoil.getCoilId())); newStep.put("old_coil_id", String.valueOf(oldCoil.getCoilId()));
newStep.put("new_coil_id", String.valueOf(newCoilId));
newStep.put("operator", LoginHelper.getUsername()); newStep.put("operator", LoginHelper.getUsername());
// 记录具体的变更字段 // 记录具体的变更字段
@@ -909,7 +913,10 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
contentMap.put("current_coil_no", bo.getCurrentCoilNo()); contentMap.put("current_coil_no", bo.getCurrentCoilNo());
} }
// current_coil_id保持不变因为coilId没有变化 // 更新 current_coil_id 为新记录的ID
if (newCoilId != null) {
contentMap.put("current_coil_id", String.valueOf(newCoilId));
}
// 更新二维码记录 // 更新二维码记录
String newContentJson = objectMapper.writeValueAsString(contentMap); String newContentJson = objectMapper.writeValueAsString(contentMap);