feat: 图纸导入调整,如果导入的是图片,则每次都新增版本,如果是excel则逻辑不变

This commit is contained in:
曹鹏飞 2025-10-22 09:24:23 +08:00
parent a5ab1f9538
commit 1e2e8cdb88
2 changed files with 30 additions and 48 deletions

View File

@ -161,26 +161,17 @@ public class MaterialControllerService {
if (Objects.isNull(bomMaterialDTO)) {
pics.add(name);
} else {
WmsMaterial wmsMaterial = materialService.getCurrent(materialNo);
if (Objects.isNull(wmsMaterial) || wmsMaterial.getComplete())
{
wmsMaterial = new WmsMaterial()
.setId(null)
.setVersion(Objects.isNull(wmsMaterial) ? 1 : wmsMaterial.getVersion() + 1)
WmsMaterial old = materialService.getCurrent(materialNo);
String url = fileUploadService.upload(buildFilePath(name), file);
WmsMaterial material = new WmsMaterial()
.setVersion(Objects.isNull(old) ? 1 : old.getVersion() + 1)
.setNo(bomMaterialDTO.getMaterialNo())
.setDescribe(bomMaterialDTO.getMaterialDesc())
.setDrawingNo(bomMaterialDTO.getDrawingNo())
.setImage(url)
.setCreateBy(UserUtil.getUserName())
.setCreateTime(LocalDateTime.now());
}else{
wmsMaterial.setDescribe(bomMaterialDTO.getMaterialDesc());
wmsMaterial.setDrawingNo(bomMaterialDTO.getDrawingNo());
wmsMaterial.setUpdateBy(UserUtil.getUserName());
wmsMaterial.setUpdateTime(LocalDateTime.now());
}
String url = fileUploadService.upload(buildFilePath(name), file);
wmsMaterial.setImage(url);
materials.add(wmsMaterial);
materials.add(material);
}
}
if (CollectionUtil.isEmpty(pics)) {

View File

@ -43,9 +43,9 @@ public class MaterialZipImportProcessor implements BasicProcessor {
@Override
public ProcessResult process(TaskContext context) throws Exception {
OmsLogger omsLogger = context.getOmsLogger();
List<String> params=StrUtil.split(context.getInstanceParams(), "|");
String zipUrl=params.get(0);
String userName= params.get(1);
List<String> params = StrUtil.split(context.getInstanceParams(), "|");
String zipUrl = params.get(0);
String userName = params.get(1);
if (StrUtil.isBlank(zipUrl)) {
omsLogger.error("无效的zip地址");
return new ProcessResult(false, "无效的zip地址");
@ -54,7 +54,7 @@ public class MaterialZipImportProcessor implements BasicProcessor {
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {
String name = entry.getName();
omsLogger.info("开始处理文件:{}",name);
omsLogger.info("开始处理文件:{}", name);
if (!entry.isDirectory()) {
ByteArrayOutputStream osOut = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
@ -68,34 +68,25 @@ public class MaterialZipImportProcessor implements BasicProcessor {
if (Objects.isNull(bomMaterialDTO)) {
omsLogger.error("主数据中未查找到该物料:{}", materialNo);
} else {
WmsMaterial wmsMaterial = materialService.getCurrent(materialNo);
if (Objects.isNull(wmsMaterial) || wmsMaterial.getComplete()) {
omsLogger.info("添加图纸");
wmsMaterial = new WmsMaterial()
.setId(null)
.setVersion(Objects.isNull(wmsMaterial) ? 1 : wmsMaterial.getVersion() + 1)
WmsMaterial old = materialService.getCurrent(materialNo);
WmsMaterial material = new WmsMaterial()
.setVersion(Objects.isNull(old) ? 1 : old.getVersion() + 1)
.setNo(bomMaterialDTO.getMaterialNo())
.setDescribe(bomMaterialDTO.getMaterialDesc())
.setDrawingNo(bomMaterialDTO.getDrawingNo())
.setCreateBy(userName)
.setCreateTime(LocalDateTime.now());
} else {
omsLogger.info("更新图纸");
wmsMaterial.setDescribe(bomMaterialDTO.getMaterialDesc());
wmsMaterial.setDrawingNo(bomMaterialDTO.getDrawingNo());
wmsMaterial.setUpdateBy(userName);
wmsMaterial.setUpdateTime(LocalDateTime.now());
}
try(ByteArrayInputStream isIn = new ByteArrayInputStream(osOut.toByteArray())) {
try (ByteArrayInputStream isIn = new ByteArrayInputStream(osOut.toByteArray())) {
String picUrl = fileUploadService.upload(buildFilePath(name), isIn, MediaType.IMAGE_JPEG_VALUE);
omsLogger.info("上传后的图片地址:{}", picUrl);
wmsMaterial.setImage(picUrl);
if (materialService.saveOrUpdate(wmsMaterial)){
omsLogger.info("保存成功,id:"+wmsMaterial.getId());
}else {
material.setImage(picUrl);
if (materialService.save(material)) {
omsLogger.info("保存成功,id:" + material.getId());
} else {
omsLogger.error("保存失败");
}
}catch (Exception ex){
} catch (Exception ex) {
omsLogger.error("上传图片失败:{}", ex.getMessage());
}
}
@ -109,7 +100,7 @@ public class MaterialZipImportProcessor implements BasicProcessor {
}
private String buildFilePath(String fileName) {
String fileType="." + FilenameUtils.getExtension(fileName);
String fileType = "." + FilenameUtils.getExtension(fileName);
return StrUtil.format("admin/task/{}/{}/{}{}", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"))
, RandomUtil.randomString(4), IdUtil.fastUUID(), fileType);
}