1449 MPM同步物料图片及钢构包管理的接口开发
This commit is contained in:
parent
41e30dbc63
commit
ce973f9d6d
|
|
@ -86,7 +86,16 @@ public class MaterialControllerService {
|
||||||
VUtil.trueThrowBusinessError(Objects.nonNull(old) && !old.getComplete())
|
VUtil.trueThrowBusinessError(Objects.nonNull(old) && !old.getComplete())
|
||||||
.throwMessage("该物料存在草稿版本");
|
.throwMessage("该物料存在草稿版本");
|
||||||
WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request);
|
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.setCreateBy(UserUtil.getUserName());
|
||||||
wmsMaterial.setCreateTime(LocalDateTime.now());
|
wmsMaterial.setCreateTime(LocalDateTime.now());
|
||||||
materialService.add(wmsMaterial);
|
materialService.add(wmsMaterial);
|
||||||
|
|
@ -97,7 +106,16 @@ public class MaterialControllerService {
|
||||||
VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("数据不存在!");
|
VUtil.trueThrowBusinessError(Objects.isNull(old)).throwMessage("数据不存在!");
|
||||||
WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request);
|
WmsMaterial wmsMaterial = Convert.convert(WmsMaterial.class, request);
|
||||||
if (old.getComplete()) {
|
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.setCreateBy(UserUtil.getUserName());
|
||||||
wmsMaterial.setCreateTime(LocalDateTime.now());
|
wmsMaterial.setCreateTime(LocalDateTime.now());
|
||||||
wmsMaterial.setId(null);
|
wmsMaterial.setId(null);
|
||||||
|
|
@ -180,7 +198,7 @@ public class MaterialControllerService {
|
||||||
} else {
|
} else {
|
||||||
if (Objects.isNull(old) || StrUtil.isNotBlank(old.getImage())) {
|
if (Objects.isNull(old) || StrUtil.isNotBlank(old.getImage())) {
|
||||||
WmsMaterial material = new WmsMaterial()
|
WmsMaterial material = new WmsMaterial()
|
||||||
.setVersion(Objects.isNull(old) ? 1 : old.getVersion() + 1)
|
.setVersion(Objects.isNull(old) ? "1" : incrementVersion(old.getVersion()))
|
||||||
.setNo(bomMaterialDTO.getMaterialNo())
|
.setNo(bomMaterialDTO.getMaterialNo())
|
||||||
.setDescribe(bomMaterialDTO.getMaterialDesc())
|
.setDescribe(bomMaterialDTO.getMaterialDesc())
|
||||||
.setDrawingNo(bomMaterialDTO.getDrawingNo())
|
.setDrawingNo(bomMaterialDTO.getDrawingNo())
|
||||||
|
|
@ -300,14 +318,14 @@ public class MaterialControllerService {
|
||||||
material.setCreateBy(UserUtil.getUserName());
|
material.setCreateBy(UserUtil.getUserName());
|
||||||
material.setCreateTime(LocalDateTime.now());
|
material.setCreateTime(LocalDateTime.now());
|
||||||
if (Objects.isNull(currentMaterial)) {
|
if (Objects.isNull(currentMaterial)) {
|
||||||
material.setVersion(1);
|
material.setVersion("1");
|
||||||
forAdd.add(material);
|
forAdd.add(material);
|
||||||
} else {
|
} else {
|
||||||
if (Objects.equals(UserUtil.getType(), UserType.Supplier)
|
if (Objects.equals(UserUtil.getType(), UserType.Supplier)
|
||||||
&& !Objects.equals(currentMaterial.getSupplierId(), UserUtil.getUserId())) {
|
&& !Objects.equals(currentMaterial.getSupplierId(), UserUtil.getUserId())) {
|
||||||
sb.append("无权限修改此物料;");
|
sb.append("无权限修改此物料;");
|
||||||
} else {
|
} else {
|
||||||
material.setVersion(currentMaterial.getVersion() + 1);
|
material.setVersion(incrementVersion(String.valueOf(currentMaterial.getVersion())));
|
||||||
forAdd.add(material);
|
forAdd.add(material);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -425,4 +443,23 @@ public class MaterialControllerService {
|
||||||
|
|
||||||
log.info("批量从MPM系统同步图纸数据完成");
|
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";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,5 +75,5 @@ public class MaterialAddQO {
|
||||||
/**
|
/**
|
||||||
* 版本号
|
* 版本号
|
||||||
*/
|
*/
|
||||||
private Integer version;
|
private String version;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public class MaterialVO {
|
||||||
/**
|
/**
|
||||||
* 当前版本号
|
* 当前版本号
|
||||||
*/
|
*/
|
||||||
private Integer version;
|
private String version;
|
||||||
/**
|
/**
|
||||||
* 重量
|
* 重量
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ public class WmsMaterial implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 当前版本号
|
* 当前版本号
|
||||||
*/
|
*/
|
||||||
private Integer version;
|
private String version;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 重量
|
* 重量
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue