三级页面修改
This commit is contained in:
@@ -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. 创建新记录
|
||||||
|
WmsMaterialCoil newCoil = BeanUtil.toBean(bo, WmsMaterialCoil.class);
|
||||||
|
newCoil.setCoilId(null); // 清空ID,让数据库自动生成新ID
|
||||||
|
newCoil.setDataType(1); // 设置为当前数据
|
||||||
|
newCoil.setQrcodeRecordId(oldCoil.getQrcodeRecordId()); // 继续使用原二维码
|
||||||
|
|
||||||
// 确保关键字段不丢失
|
// 继承原记录的关键字段
|
||||||
if (updateCoil.getEnterCoilNo() == null) {
|
if (newCoil.getEnterCoilNo() == null) {
|
||||||
updateCoil.setEnterCoilNo(oldCoil.getEnterCoilNo());
|
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user