feat: 图纸导入调整,如果导入的是图片,则每次都新增版本,如果是excel则逻辑不变
This commit is contained in:
parent
a5ab1f9538
commit
1e2e8cdb88
|
|
@ -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)
|
||||
.setNo(bomMaterialDTO.getMaterialNo())
|
||||
.setDescribe(bomMaterialDTO.getMaterialDesc())
|
||||
.setDrawingNo(bomMaterialDTO.getDrawingNo())
|
||||
.setCreateBy(UserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
}else{
|
||||
wmsMaterial.setDescribe(bomMaterialDTO.getMaterialDesc());
|
||||
wmsMaterial.setDrawingNo(bomMaterialDTO.getDrawingNo());
|
||||
wmsMaterial.setUpdateBy(UserUtil.getUserName());
|
||||
wmsMaterial.setUpdateTime(LocalDateTime.now());
|
||||
}
|
||||
WmsMaterial old = materialService.getCurrent(materialNo);
|
||||
String url = fileUploadService.upload(buildFilePath(name), file);
|
||||
wmsMaterial.setImage(url);
|
||||
materials.add(wmsMaterial);
|
||||
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());
|
||||
materials.add(material);
|
||||
}
|
||||
}
|
||||
if (CollectionUtil.isEmpty(pics)) {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
.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())) {
|
||||
omsLogger.info("添加图纸");
|
||||
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());
|
||||
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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue