完善图片上传功能
This commit is contained in:
@ -1,150 +0,0 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.xkrs.model.vo.FileServerResultVo;
|
||||
import com.xkrs.model.vo.FileServiceResDetailVo;
|
||||
import com.xkrs.service.FileServerService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static com.xkrs.util.FileServerTool.postFileManage;
|
||||
import static com.xkrs.util.RequestUtil.postFile;
|
||||
|
||||
/**
|
||||
* 文件服务器接口
|
||||
* @author tajochen
|
||||
*/
|
||||
@Service
|
||||
public class FileServerServiceImpl implements FileServerService {
|
||||
|
||||
Logger logger = LoggerFactory.getLogger(FileServerServiceImpl.class);
|
||||
|
||||
@Value("${my.FileServerAdminAdress}")
|
||||
private String fileServerAdminAdress;
|
||||
|
||||
@Value("${my.FileServerAdress}")
|
||||
private String fileServerAdress;
|
||||
|
||||
/**
|
||||
* 上传文件
|
||||
* @param theFile 本地文件
|
||||
* @param path 文件服务器路径 项目名/功能模块名/具体分类名根据业务定
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServiceResDetailVo uploadFile(File theFile, String path){
|
||||
Map<String,String> postParam = new HashMap<>(16);
|
||||
postParam.put("output","json");
|
||||
postParam.put("path",path);
|
||||
postParam.put("scene","");
|
||||
String resFileServer = postFile(theFile, fileServerAdress+"/group1/upload", postParam);
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
FileServiceResDetailVo result = null;
|
||||
try {
|
||||
result = objectMapper.readValue(resFileServer,FileServiceResDetailVo.class);
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件统计信息
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServerResultVo getFileStat(){
|
||||
String requestUrl = fileServerAdminAdress + "/group1/stat";
|
||||
Map<String,String> map = new HashMap<>(16);
|
||||
return postFileManage(requestUrl,map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除文件
|
||||
* @param md5 信息摘要
|
||||
* @param path 路径
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServerResultVo deleteFile(String md5,String path){
|
||||
String requestUrl = fileServerAdminAdress + "/group1/delete";
|
||||
Map<String,String> map = new HashMap<>(16);
|
||||
if(md5 != null && !md5.isEmpty()){
|
||||
map.put("md5",md5);
|
||||
}
|
||||
if(path != null && !path.isEmpty()){
|
||||
map.put("path",path);
|
||||
}
|
||||
return postFileManage(requestUrl,map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件信息
|
||||
* @param md5 信息摘要
|
||||
* @param path 路径
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServerResultVo getFileInfo(String md5,String path){
|
||||
String requestUrl = fileServerAdminAdress + "/group1/get_file_info";
|
||||
Map<String,String> map = new HashMap<>(16);
|
||||
if(md5 != null && !md5.isEmpty()){
|
||||
map.put("md5",md5);
|
||||
}
|
||||
if(path != null && !path.isEmpty()){
|
||||
map.put("path",path);
|
||||
}
|
||||
return postFileManage(requestUrl,map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件列表
|
||||
* @param dir 目录名
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServerResultVo getFileList(String dir){
|
||||
String requestUrl = fileServerAdminAdress + "/group1/list_dir";
|
||||
Map<String,String> map = new HashMap<>(16);
|
||||
map.put("dir",dir);
|
||||
return postFileManage(requestUrl,map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修复统计信息
|
||||
* @param date 要修复的日期,格式如:20190725
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServerResultVo getFileRepairStat(String date){
|
||||
String requestUrl = fileServerAdminAdress + "/group1/repair_stat";
|
||||
Map<String,String> map = new HashMap<>(16);
|
||||
map.put("date",date);
|
||||
return postFileManage(requestUrl,map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步失败修复
|
||||
* @param force 是否强行修复(0|1)
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public FileServerResultVo getFileRepair(String force){
|
||||
String requestUrl = fileServerAdminAdress + "/group1/repair";
|
||||
Map<String,String> map = new HashMap<>(16);
|
||||
map.put("force",force);
|
||||
return postFileManage(requestUrl,map);
|
||||
}
|
||||
|
||||
public static void main(){
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -6,7 +6,7 @@ import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.QcInspectionDataSource;
|
||||
import com.xkrs.model.entity.QcInspectionItemDict;
|
||||
import com.xkrs.model.qo.QcInspectionDataSourceQo;
|
||||
import com.xkrs.service.DataSourceService;
|
||||
import com.xkrs.service.QcInspectionDataSourceService;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -20,7 +20,7 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
|
||||
* @Date: 2022/1/19 16:43
|
||||
*/
|
||||
@Service
|
||||
public class DataSourceServiceImpl implements DataSourceService {
|
||||
public class QcInspectionDataSourceServiceImpl implements QcInspectionDataSourceService {
|
||||
|
||||
@Resource
|
||||
private QcInspectionDataSourceDao inspectionDataSourceDao;
|
||||
@ -37,12 +37,28 @@ public class DataSourceServiceImpl implements DataSourceService {
|
||||
@Override
|
||||
public String insertDataSource(QcInspectionDataSourceQo inspectionDataSourceQo) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
QcInspectionItemDict byDictEnglishName = inspectionItemDictDao.findByInspectionItemCode(inspectionDataSourceQo.getInspectionItemCode());
|
||||
if (byDictEnglishName == null) {
|
||||
String lotNo = inspectionDataSourceQo.getLotNo();
|
||||
String machineNo = inspectionDataSourceQo.getMachineNo();
|
||||
String materialNo = inspectionDataSourceQo.getMaterialNo();
|
||||
String modelNo = inspectionDataSourceQo.getModelNo();
|
||||
String partNo = inspectionDataSourceQo.getPartNo();
|
||||
String inspectionItemCode = inspectionDataSourceQo.getInspectionItemCode();
|
||||
String inspectValue = inspectionDataSourceQo.getInspectValue();
|
||||
QcInspectionItemDict byInspectionItemCode = inspectionItemDictDao.findByInspectionItemCode(inspectionDataSourceQo.getInspectionItemCode());
|
||||
if (byInspectionItemCode == null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该字典类型!", locale);
|
||||
}
|
||||
QcInspectionDataSource qcInspectionDataSource = new QcInspectionDataSource();
|
||||
//TODO 补充字段
|
||||
if (inspectionDataSourceQo.getId() > 0) {
|
||||
qcInspectionDataSource.setId(inspectionDataSourceQo.getId());
|
||||
}
|
||||
qcInspectionDataSource.setLotNo(lotNo);
|
||||
qcInspectionDataSource.setMachineNo(machineNo);
|
||||
qcInspectionDataSource.setMaterialNo(materialNo);
|
||||
qcInspectionDataSource.setModelNo(modelNo);
|
||||
qcInspectionDataSource.setPartNo(partNo);
|
||||
qcInspectionDataSource.setInspectionItemCode(inspectionItemCode);
|
||||
qcInspectionDataSource.setInspectValue(inspectValue);
|
||||
inspectionDataSourceDao.save(qcInspectionDataSource);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
@ -7,7 +7,7 @@ import com.xkrs.model.entity.QcInspectionDataSource;
|
||||
import com.xkrs.model.entity.QcInspectionFile;
|
||||
import com.xkrs.model.entity.QcInspectionItemDict;
|
||||
import com.xkrs.model.qo.QcInspectionFileQo;
|
||||
import com.xkrs.service.FileService;
|
||||
import com.xkrs.service.QcInspectionFileService;
|
||||
import com.xkrs.util.ExcelUploadUtil;
|
||||
import com.xkrs.util.ExportExcel;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
@ -30,7 +30,7 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
|
||||
* @Date: 2022/1/20 15:24
|
||||
*/
|
||||
@Service
|
||||
public class FileServiceImpl implements FileService {
|
||||
public class QcInspectionFileServiceImpl implements QcInspectionFileService {
|
||||
|
||||
@Resource
|
||||
private QcInspectionFileDao inspectionFileDao;
|
||||
@ -55,23 +55,25 @@ public class FileServiceImpl implements FileService {
|
||||
String modelNo = inspectionFileQo.getModelNo();
|
||||
String partNo = inspectionFileQo.getPartNo();
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
QcInspectionFile qcInspectionFile = inspectionFileDao.selectFile(lotNo, machineNo, materialNo, modelNo, partNo);
|
||||
if (qcInspectionFile != null) {
|
||||
List<QcInspectionFile> qcInspectionFiles = inspectionFileDao.selectFile(lotNo, machineNo, materialNo, modelNo, partNo);
|
||||
if (qcInspectionFiles != null || qcInspectionFiles.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "已存在该产品的模板!", locale);
|
||||
}
|
||||
if (fileExcel == null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "模板不能为空!", locale);
|
||||
}
|
||||
String file = ExcelUploadUtil.memoryFile(fileExcel);
|
||||
QcInspectionFile fileEntity1 = new QcInspectionFile();
|
||||
//TODO 补充字段
|
||||
// fileEntity1.setFileModelNumber(fileQo.getFileModelNumber());
|
||||
// fileEntity1.setFileBatchNumber(fileQo.getFileBatchNumber());
|
||||
// fileEntity1.setFileMachineCode(fileQo.getFileMachineCode());
|
||||
// fileEntity1.setFileProductNumber(fileQo.getFileProductNumber());
|
||||
// fileEntity1.setFileUploadPath(file);
|
||||
|
||||
inspectionFileDao.save(fileEntity1);
|
||||
QcInspectionFile fileEntity = new QcInspectionFile();
|
||||
if (inspectionFileQo.getId() > 0) {
|
||||
fileEntity.setId(inspectionFileQo.getId());
|
||||
}
|
||||
fileEntity.setLotNo(lotNo);
|
||||
fileEntity.setMachineNo(machineNo);
|
||||
fileEntity.setMaterialNo(materialNo);
|
||||
fileEntity.setModelNo(modelNo);
|
||||
fileEntity.setPartNo(partNo);
|
||||
fileEntity.setTemplatePath(file);
|
||||
inspectionFileDao.save(fileEntity);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
|
||||
@ -90,11 +92,11 @@ public class FileServiceImpl implements FileService {
|
||||
String modelNo = inspectionFileQo.getModelNo();
|
||||
String partNo = inspectionFileQo.getPartNo();
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
QcInspectionFile inspectionFile = inspectionFileDao.selectFile(lotNo, machineNo, materialNo, modelNo, partNo);
|
||||
if (inspectionFile == null) {
|
||||
List<QcInspectionFile> qcInspectionFiles = inspectionFileDao.selectFile(lotNo, machineNo, materialNo, modelNo, partNo);
|
||||
if (qcInspectionFiles == null || qcInspectionFiles.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的模板,请添加!", locale);
|
||||
}
|
||||
String templatePath = inspectionFile.getTemplatePath();
|
||||
String templatePath = qcInspectionFiles.get(0).getTemplatePath();
|
||||
List<QcInspectionDataSource> inspectionDataSources = inspectionDataSourceDao.selectDataSource(lotNo, machineNo, materialNo, modelNo, partNo);
|
||||
if (inspectionDataSources == null || inspectionDataSources.isEmpty()) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的信息!", locale);
|
@ -4,7 +4,7 @@ import com.xkrs.dao.QcInspectionItemDictDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.QcInspectionItemDict;
|
||||
import com.xkrs.model.qo.QcInspectionItemDictQo;
|
||||
import com.xkrs.service.DataDictService;
|
||||
import com.xkrs.service.QcInspectionItemDictService;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -18,7 +18,7 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
|
||||
* @Date: 2022/1/19 10:28
|
||||
*/
|
||||
@Service
|
||||
public class DataDictServiceImpl implements DataDictService {
|
||||
public class QcInspectionItemDictServiceImpl implements QcInspectionItemDictService {
|
||||
|
||||
@Resource
|
||||
private QcInspectionItemDictDao inspectionItemDictDao;
|
||||
@ -32,12 +32,6 @@ public class DataDictServiceImpl implements DataDictService {
|
||||
@Override
|
||||
public String insertDataDict(QcInspectionItemDictQo inspectionItemDictQo) {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
//DataDict byDictChineseName = inspectionItemDictDao.findByDictChineseName(dataDictQo.getDictChineseName());
|
||||
/*DataDict chineseName = inspectionItemDictDao.findByModelNumberAndBatchNumberAndMachineCodeAndDictProductNumberAndDictChineseName(dataDictQo.getModelNumber(), dataDictQo.getBatchNumber(), dataDictQo.getMachineCode(), dataDictQo.getDictProductNumber(), dataDictQo.getDictChineseName());
|
||||
if(chineseName != null){
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT,"该产品变量已存在,请勿重复添加!",locale);
|
||||
}*/
|
||||
//DataDict byDictEnglishName = inspectionItemDictDao.findByDictEnglishName(dataDictQo.getDictEnglishName());
|
||||
QcInspectionItemDict englishName = inspectionItemDictDao.findByInspectionItemCode(inspectionItemDictQo.getInspectionItemCode());
|
||||
if (englishName != null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "该产品变量已存在,请勿重复添加!", locale);
|
@ -0,0 +1,38 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.QcInspectionPictureDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.QcInspectionPicture;
|
||||
import com.xkrs.model.qo.QcInspectionPictureQo;
|
||||
import com.xkrs.service.QcInspectionPictureService;
|
||||
import com.xkrs.util.ExcelUploadUtil;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
public class QcInspectionPictureServiceImpl implements QcInspectionPictureService {
|
||||
|
||||
@Resource
|
||||
private QcInspectionPictureDao inspectionPictureDao;
|
||||
|
||||
@Override
|
||||
public String insertPicture(QcInspectionPictureQo inspectionPictureQo, MultipartFile pictureFile) throws IOException {
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
String file = ExcelUploadUtil.memoryFile(pictureFile);
|
||||
QcInspectionPicture qcInspectionPicture = new QcInspectionPicture();
|
||||
qcInspectionPicture.setId(inspectionPictureQo.getId());
|
||||
qcInspectionPicture.setLotNo(inspectionPictureQo.getLotNo());
|
||||
qcInspectionPicture.setMachineNo(inspectionPictureQo.getMachineNo());
|
||||
qcInspectionPicture.setMaterialNo(inspectionPictureQo.getMaterialNo());
|
||||
qcInspectionPicture.setModelNo(inspectionPictureQo.getModelNo());
|
||||
qcInspectionPicture.setPartNo(inspectionPictureQo.getPartNo());
|
||||
qcInspectionPicture.setPicturePath(file);
|
||||
inspectionPictureDao.save(qcInspectionPicture);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
package com.xkrs.service.impl;
|
||||
|
||||
import com.xkrs.dao.QcInspectionItemDictDao;
|
||||
import com.xkrs.dao.QcInspectionSpecDao;
|
||||
import com.xkrs.encapsulation.PromptMessageEnum;
|
||||
import com.xkrs.model.entity.QcInspectionItemDict;
|
||||
import com.xkrs.model.entity.QcInspectionSpec;
|
||||
import com.xkrs.model.qo.QcInspectionSpecQo;
|
||||
import com.xkrs.service.QcInspectionSpecService;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Locale;
|
||||
|
||||
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
|
||||
|
||||
public class QcInspectionSpecServiceImpl implements QcInspectionSpecService {
|
||||
|
||||
@Resource
|
||||
private QcInspectionSpecDao inspectionSpecDao;
|
||||
|
||||
@Resource
|
||||
private QcInspectionItemDictDao inspectionItemDictDao;
|
||||
|
||||
|
||||
/**
|
||||
* 新增规格数据
|
||||
*
|
||||
* @param inspectionSpecQo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String insertSpec(QcInspectionSpecQo inspectionSpecQo) {
|
||||
String partNo = inspectionSpecQo.getPartNo();
|
||||
String inspectionItemCode = inspectionSpecQo.getInspectionItemCode();
|
||||
String max = inspectionSpecQo.getMax();
|
||||
String mean = inspectionSpecQo.getMean();
|
||||
String min = inspectionSpecQo.getMin();
|
||||
String unit = inspectionSpecQo.getUnit();
|
||||
String inspectionMethod = inspectionSpecQo.getInspectionMethod();
|
||||
String inspectionStandard = inspectionSpecQo.getInspectionStandard();
|
||||
String remark = inspectionSpecQo.getRemark();
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
QcInspectionItemDict byInspectionItemCode = inspectionItemDictDao.findByInspectionItemCode(inspectionSpecQo.getInspectionItemCode());
|
||||
if (byInspectionItemCode == null) {
|
||||
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该字典类型!", locale);
|
||||
}
|
||||
QcInspectionSpec inspectionSpec = new QcInspectionSpec();
|
||||
if (inspectionSpecQo.getId() > 0) {
|
||||
inspectionSpec.setId(inspectionSpecQo.getId());
|
||||
}
|
||||
inspectionSpec.setPartNo(partNo);
|
||||
inspectionSpec.setInspectionItemCode(inspectionItemCode);
|
||||
inspectionSpec.setMax(max);
|
||||
inspectionSpec.setMean(mean);
|
||||
inspectionSpec.setMin(min);
|
||||
inspectionSpec.setUnit(unit);
|
||||
inspectionSpec.setInspectionMethod(inspectionMethod);
|
||||
inspectionSpec.setInspectionStandard(inspectionStandard);
|
||||
inspectionSpec.setRemark(remark);
|
||||
inspectionSpecDao.save(inspectionSpec);
|
||||
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user