feat(wms): 添加父钢卷ID字段和发货报表导出功能
- 在WmsMaterialCoil实体类中添加parentCoilId字段 - 在WmsMaterialCoilBo业务对象中添加parentCoilId字段 - 在WmsMaterialCoilVo视图对象中添加parentCoilId字段 - 在MyBatis映射文件中添加parent_coil_id字段映射 - 实现分卷、切边、合卷操作中设置父钢卷ID的逻辑 - 新增发货报表导出查询方法和对应的SQL映射 - 添加按coilIds联查钢卷发货相关数据的功能 - 实现CSV格式长整型解析工具方法
This commit is contained in:
@@ -1138,6 +1138,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
|
||||
validEntityBeforeSave(newCoil);
|
||||
|
||||
// 把老记录的coilId赋值给新纪录的parentCoilId
|
||||
newCoil.setParentCoilId(String.valueOf(oldCoil.getCoilId()));
|
||||
// 插入新记录
|
||||
boolean flag = baseMapper.insert(newCoil) > 0;
|
||||
|
||||
@@ -1419,6 +1421,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
newCoil.setQrcodeRecordId(newQrcodeId);
|
||||
|
||||
validEntityBeforeSave(newCoil);
|
||||
// 把老记录的coilId赋值给新纪录的parentCoilId
|
||||
newCoil.setParentCoilId(String.valueOf(oldCoil.getCoilId()));
|
||||
baseMapper.insert(newCoil);
|
||||
newCoils.add(newCoil);
|
||||
|
||||
@@ -1517,6 +1521,18 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
newCoil.setQrcodeRecordId(mergedQrcodeId);
|
||||
|
||||
validEntityBeforeSave(newCoil);
|
||||
// 收集所有参与合卷的原始钢卷ID并用逗号分隔
|
||||
List<Long> parentCoilIds = new ArrayList<>();
|
||||
for (WmsMaterialCoilBo originalCoilBo : bo.getNewCoils()) {
|
||||
if (originalCoilBo.getCoilId() != null) {
|
||||
parentCoilIds.add(originalCoilBo.getCoilId());
|
||||
}
|
||||
}
|
||||
String parentCoilIdsStr = parentCoilIds.stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.joining(","));
|
||||
newCoil.setParentCoilId(parentCoilIdsStr);
|
||||
|
||||
baseMapper.insert(newCoil);
|
||||
newCoils.add(newCoil);
|
||||
|
||||
@@ -2350,6 +2366,36 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
return wmsMaterialCoilExportVos;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发货报表导出:按 coilIds 查询钢卷 + 发货单明细/主表/计划联查数据
|
||||
*/
|
||||
@Override
|
||||
public List<WmsMaterialCoilDeliveryExportVo> queryDeliveryExportList(WmsMaterialCoilBo bo) {
|
||||
List<Long> coilIds = parseCsvLongs(bo == null ? null : bo.getCoilIds());
|
||||
if (coilIds.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return baseMapper.selectDeliveryExportListByCoilIds(coilIds);
|
||||
}
|
||||
|
||||
private List<Long> parseCsvLongs(String csv) {
|
||||
if (StringUtils.isBlank(csv)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
String[] arr = csv.split(",");
|
||||
List<Long> list = new ArrayList<>();
|
||||
for (String s : arr) {
|
||||
if (StringUtils.isBlank(s)) {
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
list.add(Long.parseLong(s.trim()));
|
||||
} catch (NumberFormatException ignore) {
|
||||
}
|
||||
}
|
||||
return list.stream().distinct().collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 钢卷发货
|
||||
* @param coilId
|
||||
|
||||
Reference in New Issue
Block a user