1、更改图纸上传图片的版本逻辑
This commit is contained in:
parent
59948a87da
commit
c5ecfd8409
|
|
@ -87,7 +87,7 @@ public class MaterialControllerService {
|
|||
wmsMaterial.setCreateTime(LocalDateTime.now());
|
||||
wmsMaterial.setId(null);
|
||||
materialService.add(wmsMaterial);
|
||||
}else {
|
||||
} else {
|
||||
wmsMaterial.setUpdateBy(UserUtil.getUserName());
|
||||
wmsMaterial.setUpdateTime(LocalDateTime.now());
|
||||
materialService.update(wmsMaterial);
|
||||
|
|
@ -113,16 +113,16 @@ public class MaterialControllerService {
|
|||
}
|
||||
|
||||
public void exportSelect(HttpServletResponse response, List<Long> ids) throws IOException {
|
||||
if (CollectionUtil.isEmpty(ids)){
|
||||
if (CollectionUtil.isEmpty(ids)) {
|
||||
exportTemplate(response);
|
||||
}else {
|
||||
} else {
|
||||
List<WmsMaterial> wmsMaterials = materialService.listByIds(ids);
|
||||
List<MaterialAllExcelExportDTO> datas = wmsMaterials.stream().map(model -> Convert.convert(MaterialAllExcelExportDTO.class, model)).collect(Collectors.toList());
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("图纸导出.xlsx", StandardCharsets.UTF_8));
|
||||
if (CollectionUtil.isEmpty(datas)) {
|
||||
exportTemplate(response);
|
||||
}else {
|
||||
} else {
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(datas).setRowHeight(100))
|
||||
.writeTo(response.getOutputStream());
|
||||
|
|
@ -150,24 +150,25 @@ public class MaterialControllerService {
|
|||
public ApiResult uploadPics(HttpServletResponse response, @Valid @NotEmpty List<MultipartFile> files) throws Exception {
|
||||
List<String> pics = new ArrayList<>();
|
||||
List<WmsMaterial> materials = new ArrayList<>();
|
||||
for (MultipartFile file : files){
|
||||
for (MultipartFile file : files) {
|
||||
String name = file.getOriginalFilename();
|
||||
String materialNo = name.substring(0, name.lastIndexOf("."));
|
||||
BomMaterialDTO bomMaterialDTO = bomMaterialService.getMaterialInfo(materialNo);
|
||||
if (Objects.isNull(bomMaterialDTO)) {
|
||||
pics.add(name);
|
||||
} else {
|
||||
WmsMaterial wmsMaterial=materialService.getCurrent(materialNo);
|
||||
if (Objects.isNull(wmsMaterial) || !(StrUtil.isNotBlank(wmsMaterial.getImage()) && Objects.nonNull(wmsMaterial.getWeight()))){
|
||||
wmsMaterial=new WmsMaterial()
|
||||
WmsMaterial wmsMaterial = materialService.getCurrent(materialNo);
|
||||
if (Objects.isNull(wmsMaterial) || StrUtil.isNotBlank(wmsMaterial.getImage()))
|
||||
{
|
||||
wmsMaterial = new WmsMaterial()
|
||||
.setId(null)
|
||||
.setVersion(Objects.isNull(wmsMaterial)?1:wmsMaterial.getVersion()+1)
|
||||
.setVersion(Objects.isNull(wmsMaterial) ? 1 : wmsMaterial.getVersion() + 1)
|
||||
.setNo(bomMaterialDTO.getMaterialNo())
|
||||
.setDescribe(bomMaterialDTO.getMaterialDesc())
|
||||
.setDrawingNo(bomMaterialDTO.getDrawingNo())
|
||||
.setCreateBy(UserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
}else {
|
||||
}else{
|
||||
wmsMaterial.setDescribe(bomMaterialDTO.getMaterialDesc());
|
||||
wmsMaterial.setDrawingNo(bomMaterialDTO.getDrawingNo());
|
||||
wmsMaterial.setUpdateBy(UserUtil.getUserName());
|
||||
|
|
@ -183,18 +184,18 @@ public class MaterialControllerService {
|
|||
materialService.saveOrUpdateBatch(materials);
|
||||
}
|
||||
return ApiResult.success();
|
||||
}else {
|
||||
return ApiResult.error("以下图片SAP料号无效:"+StrUtil.join(",", pics));
|
||||
} else {
|
||||
return ApiResult.error("以下图片SAP料号无效:" + StrUtil.join(",", pics));
|
||||
}
|
||||
}
|
||||
|
||||
private String buildFilePath(String fileName) {
|
||||
String fileType="." + FilenameUtils.getExtension(fileName);
|
||||
String fileType = "." + FilenameUtils.getExtension(fileName);
|
||||
return StrUtil.format("admin/{}/{}/{}/{}{}", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")), UserUtil.getUserId()
|
||||
, RandomUtil.randomString(4), IdUtil.fastUUID(), fileType);
|
||||
}
|
||||
|
||||
public ApiResult uploadZip(HttpServletResponse response, @Valid @NotEmpty MultipartFile file) throws Exception{
|
||||
public ApiResult uploadZip(HttpServletResponse response, @Valid @NotEmpty MultipartFile file) throws Exception {
|
||||
String name = file.getOriginalFilename();
|
||||
VUtil.trueThrowBusinessError(!StrUtil.endWith(name, ".zip")).throwMessage("请上传zip格式的压缩包");
|
||||
String url = fileUploadService.upload(buildFilePath(name), file);
|
||||
|
|
@ -202,7 +203,7 @@ public class MaterialControllerService {
|
|||
query.setJobNameEq("图纸zip导入");
|
||||
ResultDTO<List<JobInfoDTO>> result = powerJobClient.queryJob(query);
|
||||
if (result.isSuccess()) {
|
||||
powerJobClient.runJob(result.getData().get(0).getId(),url+"|"+UserUtil.getUserName(),0);
|
||||
powerJobClient.runJob(result.getData().get(0).getId(), url + "|" + UserUtil.getUserName(), 0);
|
||||
return ApiResult.success("任务已提交");
|
||||
} else {
|
||||
return ApiResult.error(result.getMessage());
|
||||
|
|
@ -225,14 +226,14 @@ public class MaterialControllerService {
|
|||
if (checkAndImport(data)) {
|
||||
return ApiResult.success();
|
||||
} else {
|
||||
try(ByteArrayOutputStream osOut = new ByteArrayOutputStream()) {
|
||||
try (ByteArrayOutputStream osOut = new ByteArrayOutputStream()) {
|
||||
new Workbook()
|
||||
.addSheet(new ListSheet<>(data))
|
||||
.writeTo(osOut);
|
||||
try(ByteArrayInputStream isIn = new ByteArrayInputStream(osOut.toByteArray())) {
|
||||
try (ByteArrayInputStream isIn = new ByteArrayInputStream(osOut.toByteArray())) {
|
||||
return ApiResult.error(STATE.DataNoCheckPass, "导入文件失败", fileUploadService.upload("temp/" + DateTimeUtil.format(LocalDate.now(), "yyyyMMdd") + "/" + IdUtil.fastUUID() + ".xlsx", isIn, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
|
||||
}
|
||||
}catch (Exception e){
|
||||
} catch (Exception e) {
|
||||
return ApiResult.error(STATE.BusinessError, "保存文件出错");
|
||||
}
|
||||
}
|
||||
|
|
@ -242,28 +243,28 @@ public class MaterialControllerService {
|
|||
public boolean checkAndImport(List<MaterialExcelImportDTO> data) {
|
||||
List<WmsMaterial> forAdd = new ArrayList<>();
|
||||
List<WmsMaterial> forupdate = new ArrayList<>();
|
||||
MaterialSearchQO qo=new MaterialSearchQO();
|
||||
MaterialSearchQO qo = new MaterialSearchQO();
|
||||
qo.setPageSize(Integer.MAX_VALUE);
|
||||
List<MaterialVO> dbMaterials=materialService.search(qo).getRecords();
|
||||
List<BomMaterialDTO> bomMaterials=bomMaterialService.getList(data.stream().map(MaterialExcelImportDTO::getNo).collect(Collectors.toSet()));
|
||||
int index=0;
|
||||
List<MaterialVO> dbMaterials = materialService.search(qo).getRecords();
|
||||
List<BomMaterialDTO> bomMaterials = bomMaterialService.getList(data.stream().map(MaterialExcelImportDTO::getNo).collect(Collectors.toSet()));
|
||||
int index = 0;
|
||||
for (MaterialExcelImportDTO dto : data) {
|
||||
System.out.println((++index)+" 处理物料:"+dto.getNo());
|
||||
System.out.println((++index) + " 处理物料:" + dto.getNo());
|
||||
WmsMaterial material = new WmsMaterial();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (StrUtil.isBlank(dto.getNo())) {
|
||||
sb.append("SAP料号不能为空;");
|
||||
} else {
|
||||
BomMaterialDTO bomMaterial = bomMaterials.stream().filter(m->StrUtil.equals(dto.getNo(),m.getMaterialNo())).findFirst().orElse(null);
|
||||
BomMaterialDTO bomMaterial = bomMaterials.stream().filter(m -> StrUtil.equals(dto.getNo(), m.getMaterialNo())).findFirst().orElse(null);
|
||||
if (Objects.isNull(bomMaterial)) {
|
||||
sb.append("SAP料号无效;");
|
||||
} else {
|
||||
MaterialVO currentMaterial = dbMaterials.stream().filter(m->StrUtil.equals(m.getNo(),dto.getNo())).findFirst().orElse(null);
|
||||
if (Objects.isNull(currentMaterial) || (StrUtil.isNotBlank(currentMaterial.getImage()) && Objects.nonNull(currentMaterial.getWeight()))){
|
||||
MaterialVO currentMaterial = dbMaterials.stream().filter(m -> StrUtil.equals(m.getNo(), dto.getNo())).findFirst().orElse(null);
|
||||
if (Objects.isNull(currentMaterial) || (StrUtil.isNotBlank(currentMaterial.getImage()) && Objects.nonNull(currentMaterial.getWeight()))) {
|
||||
material.setCreateBy(UserUtil.getUserName());
|
||||
material.setCreateTime(LocalDateTime.now());
|
||||
forAdd.add(material);
|
||||
}else {
|
||||
} else {
|
||||
material.setId(currentMaterial.getId());
|
||||
material.setUpdateBy(UserUtil.getUserName());
|
||||
material.setUpdateTime(LocalDateTime.now());
|
||||
|
|
@ -276,41 +277,41 @@ public class MaterialControllerService {
|
|||
}
|
||||
if (StrUtil.isBlank(dto.getWeight())) {
|
||||
sb.append("重量不能为空;");
|
||||
} else if (!NumberUtils.isCreatable(dto.getWeight())){
|
||||
} else if (!NumberUtils.isCreatable(dto.getWeight())) {
|
||||
sb.append("重量无效;");
|
||||
}else {
|
||||
} else {
|
||||
material.setWeight(new BigDecimal(dto.getWeight()));
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getHeight())) {
|
||||
sb.append("高度不能为空;");
|
||||
} else if (!NumberUtils.isCreatable(dto.getHeight())){
|
||||
} else if (!NumberUtils.isCreatable(dto.getHeight())) {
|
||||
sb.append("高度无效;");
|
||||
}else {
|
||||
} else {
|
||||
material.setHeight(new BigDecimal(dto.getHeight()));
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getLength())) {
|
||||
sb.append("长度不能为空;");
|
||||
} else if (!NumberUtils.isCreatable(dto.getLength())){
|
||||
} else if (!NumberUtils.isCreatable(dto.getLength())) {
|
||||
sb.append("长度无效;");
|
||||
}else {
|
||||
} else {
|
||||
material.setLength(new BigDecimal(dto.getLength()));
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getWidth())) {
|
||||
sb.append("宽度不能为空;");
|
||||
} else if (!NumberUtils.isCreatable(dto.getWidth())){
|
||||
} else if (!NumberUtils.isCreatable(dto.getWidth())) {
|
||||
sb.append("宽度无效;");
|
||||
}else {
|
||||
} else {
|
||||
material.setWidth(new BigDecimal(dto.getWidth()));
|
||||
}
|
||||
material.setRequirement(dto.getRequirement());
|
||||
dto.setError(sb.toString());
|
||||
}
|
||||
if (data.stream().noneMatch(it -> StrUtil.isNotBlank(it.getError()))) {
|
||||
if (CollectionUtil.isNotEmpty(forAdd)){
|
||||
materialService.saveBatch(forAdd,1000);
|
||||
if (CollectionUtil.isNotEmpty(forAdd)) {
|
||||
materialService.saveBatch(forAdd, 1000);
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(forupdate)){
|
||||
materialService.updateBatchById(forupdate,1000);
|
||||
if (CollectionUtil.isNotEmpty(forupdate)) {
|
||||
materialService.updateBatchById(forupdate, 1000);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -318,7 +319,7 @@ public class MaterialControllerService {
|
|||
}
|
||||
|
||||
public void exportSearch(HttpServletResponse response, @Valid MaterialSearchQO request) throws IOException {
|
||||
List<MaterialVO> list=materialService.searchNonPage(request);
|
||||
List<MaterialVO> list = materialService.searchNonPage(request);
|
||||
List<MaterialAllExcelExportDTO> datas = list.stream().map(model -> Convert.convert(MaterialAllExcelExportDTO.class, model)).collect(Collectors.toList());
|
||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("图纸导出.xlsx", StandardCharsets.UTF_8));
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ public class DeployTest {
|
|||
//处理字体目录
|
||||
handleDir(sshUtil, localPath, remotePath, "fonts");
|
||||
//处理lib目录
|
||||
// handleDir(sshUtil, localPath, remotePath, "lib");
|
||||
handleDir(sshUtil, localPath, remotePath, "lib");
|
||||
//执行脚本启动服务
|
||||
sshUtil.exec("cd " + remotePath + " && ./restart.sh");
|
||||
sshUtil.disconnect();
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ public class MaterialZipImportProcessor implements BasicProcessor {
|
|||
omsLogger.error("主数据中未查找到该物料:{}", materialNo);
|
||||
} else {
|
||||
WmsMaterial wmsMaterial = materialService.getCurrent(materialNo);
|
||||
if (Objects.isNull(wmsMaterial) || !(StrUtil.isNotBlank(wmsMaterial.getImage()) && Objects.nonNull(wmsMaterial.getWeight()))) {
|
||||
if (Objects.isNull(wmsMaterial) || StrUtil.isNotBlank(wmsMaterial.getImage())) {
|
||||
omsLogger.info("添加图纸");
|
||||
wmsMaterial = new WmsMaterial()
|
||||
.setId(null)
|
||||
|
|
|
|||
Loading…
Reference in New Issue