add: 添加物料图片显示

This commit is contained in:
yanps
2024-11-21 10:18:06 +08:00
parent 462f516c3f
commit a0011c62cf
7 changed files with 82 additions and 9 deletions

View File

@@ -39,6 +39,14 @@ public class SchBaseVehiclematerialgroupController {
return new ResponseEntity<>(TableDataInfo.build(schBaseVehiclematerialgroupService.queryAll(whereJson,page)),HttpStatus.OK);
}
@GetMapping("selectMaterialFile")
@Log("查询物料图片啊")
@ApiOperation("查询物料图片啊")
//@SaCheckPermission("@el.check('schBaseVehiclematerialgroup:list')")
public ResponseEntity<Object> selectMaterialFile(@RequestParam String groupId){
return new ResponseEntity<>(schBaseVehiclematerialgroupService.selectMaterialFile(groupId),HttpStatus.OK);
}
@PostMapping
@Log("新增组盘信息管理")
@ApiOperation("新增组盘信息管理")

View File

@@ -99,4 +99,11 @@ public interface ISchBaseVehiclematerialgroupService extends IService<SchBaseVeh
* 查询物料路径是空的
*/
List<SchBaseVehiclematerialgroup> selectMaterialPathIsEmpty();
/**
* 查询物料图片路径
* @param groupId
* @return
*/
String selectMaterialFile(String groupId);
}

View File

@@ -162,6 +162,9 @@ public class SchBaseVehiclematerialgroup implements Serializable {
@ApiModelProperty(value = "物料图片路径")
private String material_path;
@TableField(exist = false)
private String materialFile;
@TableField(exist = false)
private String material_name;

View File

@@ -33,7 +33,12 @@ import org.nl.wms.sch.task.service.ISchBaseTaskService;
import org.nl.wms.sch.task_manage.task.tasks.pcoperation.PcOperationCMTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sun.misc.BASE64Encoder;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
@@ -215,8 +220,45 @@ public class SchBaseVehiclematerialgroupServiceImpl extends ServiceImpl<SchBaseV
@Override
public List<SchBaseVehiclematerialgroup> selectMaterialPathIsEmpty() {
return this.list(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
.isNull(SchBaseVehiclematerialgroup::getMaterial_path)
.eq(SchBaseVehiclematerialgroup::getGroup_id,"9434"));
.isNull(SchBaseVehiclematerialgroup::getMaterial_path));
}
@Override
public String selectMaterialFile(String groupId) {
SchBaseVehiclematerialgroup one = this.getOne(Wrappers.lambdaQuery(SchBaseVehiclematerialgroup.class)
.eq(SchBaseVehiclematerialgroup::getGroup_id, groupId));
if (ObjectUtil.isNotEmpty(one)){
if(StrUtil.isNotEmpty(one.getMaterial_path())){
InputStream inputStream = null;
byte[] data = null;
String contentType="";
try {
String fileName = one.getMaterial_path().substring(one.getMaterial_path().lastIndexOf("/") + 1, one.getMaterial_path().length());
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length());
if ("jpg".equalsIgnoreCase(suffix) || "jpeg".equalsIgnoreCase(suffix)) {
contentType = "data:image/jpeg;base64,";
} else if ("png".equalsIgnoreCase(suffix)) {
contentType = "data:image/png;base64,";
} else if("aac".equalsIgnoreCase(suffix)){
contentType = "data:audio/aac;base64,";
} else if("mp3".equalsIgnoreCase(suffix)){
contentType = "data:audio/x-mpeg;base64,";
} else if("wav".equalsIgnoreCase(suffix)){
contentType = "data:audio/x-wav;base64,";
}
inputStream = new FileInputStream(one.getMaterial_path());
data = new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
BASE64Encoder encoder = new BASE64Encoder();
return contentType + encoder.encode(data).replace("\r\n", "");
}
}
return null;
}
private Long getTime(String dateString) {

View File

@@ -99,7 +99,8 @@ public class CNTTask extends AbstractTask {
} else if(task.getPoint_code1().endsWith("4")){
String replace = task.getPoint_code1().replace("4", "3");
SchBaseTask schBaseTask = taskService.getOne(Wrappers.lambdaQuery(SchBaseTask.class)
.eq(SchBaseTask::getPoint_code1, replace));
.eq(SchBaseTask::getPoint_code1, replace)
.le(SchBaseTask::getTask_status,TaskStatus.EXECUTING.getCode()));
if(ObjectUtil.isNotEmpty(schBaseTask)){
task.setTask_status(TaskStatus.TIMEOUT.getCode());
}