Merge remote-tracking branch 'origin/develop-hlq20260421mpm' into develop

This commit is contained in:
10001392 2026-05-19 10:13:15 +08:00
commit e285bef578
8 changed files with 50 additions and 15 deletions

View File

@ -86,7 +86,16 @@ public class MaterialControllerService {
VUtil.trueThrowBusinessError(Objects.nonNull(old) && !old.getComplete())
.throwMessage("该物料存在草稿版本");
WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request);
wmsMaterial.setVersion(1);
// 根据fromMpm字段决定版本号设置逻辑
if (Boolean.TRUE.equals(wmsMaterial.getFromMpm())) {
// 来自MPM使用传入的版本号如果未传则默认为"1"
if (StrUtil.isBlank(wmsMaterial.getVersion())) {
wmsMaterial.setVersion("1");
}
} else {
// 非MPM来源版本号初始化为"1"
wmsMaterial.setVersion("1");
}
wmsMaterial.setCreateBy(UserUtil.getUserName());
wmsMaterial.setCreateTime(LocalDateTime.now());
materialService.add(wmsMaterial);
@ -97,7 +106,16 @@ public class MaterialControllerService {
VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("数据不存在!");
WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request);
if (old.getComplete()) {
wmsMaterial.setVersion(old.getVersion() + 1);
// 根据fromMpm字段决定版本号设置逻辑
if (Boolean.TRUE.equals(wmsMaterial.getFromMpm())) {
// 来自MPM使用传入的版本号如果未传则递增
if (StrUtil.isBlank(wmsMaterial.getVersion())) {
wmsMaterial.setVersion(incrementVersion(old.getVersion()));
}
} else {
// 非MPM来源版本号递增
wmsMaterial.setVersion(incrementVersion(old.getVersion()));
}
wmsMaterial.setCreateBy(UserUtil.getUserName());
wmsMaterial.setCreateTime(LocalDateTime.now());
wmsMaterial.setId(null);
@ -180,7 +198,7 @@ public class MaterialControllerService {
} else {
if (Objects.isNull(old) || StrUtil.isNotBlank(old.getImage())) {
WmsMaterial material = new WmsMaterial()
.setVersion(Objects.isNull(old) ? 1 : old.getVersion() + 1)
.setVersion(Objects.isNull(old) ? "1" : incrementVersion(old.getVersion()))
.setNo(bomMaterialDTO.getMaterialNo())
.setDescribe(bomMaterialDTO.getMaterialDesc())
.setDrawingNo(bomMaterialDTO.getDrawingNo())
@ -300,14 +318,14 @@ public class MaterialControllerService {
material.setCreateBy(UserUtil.getUserName());
material.setCreateTime(LocalDateTime.now());
if (Objects.isNull(currentMaterial)) {
material.setVersion(1);
material.setVersion("1");
forAdd.add(material);
} else {
if (Objects.equals(UserUtil.getType(), UserType.Supplier)
&& !Objects.equals(currentMaterial.getSupplierId(), UserUtil.getUserId())) {
sb.append("无权限修改此物料;");
} else {
material.setVersion(currentMaterial.getVersion() + 1);
material.setVersion(incrementVersion(String.valueOf(currentMaterial.getVersion())));
forAdd.add(material);
}
}
@ -425,4 +443,23 @@ public class MaterialControllerService {
log.info("批量从MPM系统同步图纸数据完成");
}
/**
* 递增版本号
* @param currentVersion 当前版本号
* @return 递增后的版本号
*/
private String incrementVersion(String currentVersion) {
if (currentVersion == null || currentVersion.isEmpty()) {
return "1";
}
try {
// 尝试将版本号解析为整数并递增
int versionNum = Integer.parseInt(currentVersion);
return String.valueOf(versionNum + 1);
} catch (NumberFormatException e) {
// 如果不是纯数字直接在末尾追加.1
return currentVersion + ".1";
}
}
}

View File

@ -276,10 +276,8 @@ public class StructuralPackageControllerService {
}
if (StrUtil.isBlank(dto.getVersion())) {
sb.append("图纸版本不能为空;");
} else if (!NumberUtils.isCreatable(dto.getVersion())) {
sb.append("图纸版本无效;");
} else {
materialDTO.setVersion(Integer.valueOf(dto.getVersion()));
materialDTO.setVersion(dto.getVersion());
}
dto.setError(sb.toString());
materialDTO.setCreateBy(UserUtil.getUserName());
@ -374,7 +372,7 @@ public class StructuralPackageControllerService {
dto.setImage(material1.getImage());
String v = row.getString(6);
if (StrUtil.isNotBlank(v)) {
dto.setVersion(Integer.valueOf(v));
dto.setVersion(v);
} else {
dto.setVersion(material1.getVersion());
}

View File

@ -59,7 +59,7 @@ public class PackageMaterialDTO {
* 版本
*/
@NotNull
private Integer version;
private String version;
/**
* 图片

View File

@ -75,5 +75,5 @@ public class MaterialAddQO {
/**
* 版本号
*/
private Integer version;
private String version;
}

View File

@ -39,7 +39,7 @@ public class MaterialVO {
/**
* 当前版本号
*/
private Integer version;
private String version;
/**
* 重量
*/

View File

@ -33,7 +33,7 @@ public class TrayItemVO {
/**
* 版本
*/
private Integer version;
private String version;
/**
* 单重

View File

@ -56,7 +56,7 @@ public class WmsMaterial implements Serializable {
/**
* 当前版本号
*/
private Integer version;
private String version;
/**
* 重量

View File

@ -32,7 +32,7 @@ public class WmsMaterialServiceImpl extends ServiceImpl<WmsMaterialMapper, WmsMa
@Override
public void add(WmsMaterial wmsMaterial) {
VUtil.trueThrowBusinessError(wmsMaterial.getVersion()==1
VUtil.trueThrowBusinessError("1".equals(wmsMaterial.getVersion())
&& lambdaQuery().eq(WmsMaterial::getNo, wmsMaterial.getNo()).exists())
.throwMessage("SAP料号已存在");
save(wmsMaterial);