规程添加绑定功能

This commit is contained in:
2026-05-13 13:56:19 +08:00
parent dce80a225b
commit 5e3d0f0c00
11 changed files with 1110 additions and 33 deletions

View File

@@ -12,13 +12,20 @@ import java.util.List;
*/
public interface IWmsProcessCoilRecordService {
/** 分页列表,携带版本/规程名称JOIN */
TableDataInfo<WmsProcessCoilRecordVo> queryPageList(WmsProcessCoilRecordBo bo, PageQuery pageQuery);
List<WmsProcessCoilRecordVo> queryList(WmsProcessCoilRecordBo bo);
/** 按版本统计服役钢卷总数(含异常数) */
/** 按版本统计服役钢卷总数 */
long countByVersion(Long versionId);
/** 新增或更新(按 version_id + coil_id 唯一键) */
void upsert(WmsProcessCoilRecordBo bo);
/**
* 批量重绑:将指定钢卷的服役记录从旧版本迁移到新版本。
* oldVersionId 非空时先删除旧记录,再写入新版本记录。
*/
void batchRebind(List<String> coilIds, Long newVersionId, Long oldVersionId);
}

View File

@@ -13,6 +13,7 @@ import com.klp.mapper.WmsProcessCoilRecordMapper;
import com.klp.service.IWmsProcessCoilRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -27,13 +28,13 @@ public class WmsProcessCoilRecordServiceImpl implements IWmsProcessCoilRecordSer
@Override
public TableDataInfo<WmsProcessCoilRecordVo> queryPageList(WmsProcessCoilRecordBo bo, PageQuery pageQuery) {
Page<WmsProcessCoilRecordVo> result = baseMapper.selectVoPage(pageQuery.build(), buildQueryWrapper(bo));
return TableDataInfo.build(result);
Page<WmsProcessCoilRecordVo> page = pageQuery.build();
return TableDataInfo.build(baseMapper.selectVoPageJoin(page, bo));
}
@Override
public List<WmsProcessCoilRecordVo> queryList(WmsProcessCoilRecordBo bo) {
return baseMapper.selectVoList(buildQueryWrapper(bo));
return baseMapper.selectVoListJoin(bo);
}
@Override
@@ -60,6 +61,24 @@ public class WmsProcessCoilRecordServiceImpl implements IWmsProcessCoilRecordSer
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void batchRebind(List<String> coilIds, Long newVersionId, Long oldVersionId) {
for (String coilId : coilIds) {
if (oldVersionId != null) {
baseMapper.delete(Wrappers.<WmsProcessCoilRecord>lambdaQuery()
.eq(WmsProcessCoilRecord::getVersionId, oldVersionId)
.eq(WmsProcessCoilRecord::getCoilId, coilId));
}
WmsProcessCoilRecordBo bo = new WmsProcessCoilRecordBo();
bo.setVersionId(newVersionId);
bo.setCoilId(coilId);
bo.setHasAnomaly(0);
bo.setAnomalyCnt(0);
upsert(bo);
}
}
private LambdaQueryWrapper<WmsProcessCoilRecord> buildQueryWrapper(WmsProcessCoilRecordBo bo) {
LambdaQueryWrapper<WmsProcessCoilRecord> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getVersionId() != null, WmsProcessCoilRecord::getVersionId, bo.getVersionId());