调整数据库表结构

This commit is contained in:
2022-02-28 13:55:17 +08:00
parent 6ed366abe0
commit 3d053e63de
40 changed files with 1492 additions and 1031 deletions

View File

@ -1,9 +1,9 @@
package com.xkrs.service.impl;
import com.xkrs.dao.DataDictDao;
import com.xkrs.dao.QcInspectionItemDictDao;
import com.xkrs.encapsulation.PromptMessageEnum;
import com.xkrs.model.entity.DataDict;
import com.xkrs.model.qo.DataDictQo;
import com.xkrs.model.entity.QcInspectionItemDict;
import com.xkrs.model.qo.QcInspectionItemDictQo;
import com.xkrs.service.DataDictService;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
@ -21,30 +21,31 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
public class DataDictServiceImpl implements DataDictService {
@Resource
private DataDictDao dataDictDao;
private QcInspectionItemDictDao inspectionItemDictDao;
/**
* 添加字典数据
* @param dataDictQo
*
* @param inspectionItemDictQo
* @return
*/
@Override
public String insertDataDict(DataDictQo dataDictQo) {
public String insertDataDict(QcInspectionItemDictQo inspectionItemDictQo) {
Locale locale = LocaleContextHolder.getLocale();
//DataDict byDictChineseName = dataDictDao.findByDictChineseName(dataDictQo.getDictChineseName());
/*DataDict chineseName = dataDictDao.findByModelNumberAndBatchNumberAndMachineCodeAndDictProductNumberAndDictChineseName(dataDictQo.getModelNumber(), dataDictQo.getBatchNumber(), dataDictQo.getMachineCode(), dataDictQo.getDictProductNumber(), dataDictQo.getDictChineseName());
//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 = dataDictDao.findByDictEnglishName(dataDictQo.getDictEnglishName());
DataDict englishName = dataDictDao.findByDictEnglishName(dataDictQo.getDictEnglishName());
if(englishName != 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);
}
DataDict dataDict = new DataDict();
dataDict.setDictChineseName(dataDictQo.getDictChineseName());
dataDict.setDictEnglishName(dataDictQo.getDictEnglishName());
dataDictDao.save(dataDict);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"添加成功!",locale);
QcInspectionItemDict qcInspectionItemDict = new QcInspectionItemDict();
qcInspectionItemDict.setInspectionItemName(inspectionItemDictQo.getInspectionItemName());
qcInspectionItemDict.setInspectionItemCode(inspectionItemDictQo.getInspectionItemCode());
inspectionItemDictDao.save(qcInspectionItemDict);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
}
}

View File

@ -1,11 +1,11 @@
package com.xkrs.service.impl;
import com.xkrs.dao.DataDictDao;
import com.xkrs.dao.DataSourceDao;
import com.xkrs.dao.QcInspectionDataSourceDao;
import com.xkrs.dao.QcInspectionItemDictDao;
import com.xkrs.encapsulation.PromptMessageEnum;
import com.xkrs.model.entity.DataDict;
import com.xkrs.model.entity.DataSource;
import com.xkrs.model.qo.DataSourceQo;
import com.xkrs.model.entity.QcInspectionDataSource;
import com.xkrs.model.entity.QcInspectionItemDict;
import com.xkrs.model.qo.QcInspectionDataSourceQo;
import com.xkrs.service.DataSourceService;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
@ -23,37 +23,27 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
public class DataSourceServiceImpl implements DataSourceService {
@Resource
private DataSourceDao dataSourceDao;
private QcInspectionDataSourceDao inspectionDataSourceDao;
@Resource
private DataDictDao dataDictDao;
private QcInspectionItemDictDao inspectionItemDictDao;
/**
* 添加测量数据
* @param dataSourceQo
*
* @param inspectionDataSourceQo
* @return
*/
@Override
public String insertDataSource(DataSourceQo dataSourceQo) {
public String insertDataSource(QcInspectionDataSourceQo inspectionDataSourceQo) {
Locale locale = LocaleContextHolder.getLocale();
DataDict byDictEnglishName = dataDictDao.findByDictEnglishName(dataSourceQo.getDataName());
if(byDictEnglishName == null){
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE,"不存在该字典类型!",locale);
QcInspectionItemDict byDictEnglishName = inspectionItemDictDao.findByInspectionItemCode(inspectionDataSourceQo.getInspectionItemCode());
if (byDictEnglishName == null) {
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "不存在该字典类型!", locale);
}
/*DataSource byDataName = dataSourceDao.findByDataName(dataSourceQo.getDataName());
if(byDataName != null){
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT,"该字典类型数据已添加,请勿重复添加!",locale);
}*/
DataSource dataSource = new DataSource();
dataSource.setDataModelNumber(dataSourceQo.getDataModelNumber());
dataSource.setDataBatchNumber(dataSourceQo.getDataBatchNumber());
dataSource.setDataMachineCode(dataSourceQo.getDataMachineCode());
dataSource.setProductNumber(dataSourceQo.getProductNumber());
dataSource.setMaterial(dataSourceQo.getMaterial());
dataSource.setDataName(dataSourceQo.getDataName());
dataSource.setNumericalValue(dataSourceQo.getNumericalValue());
dataSourceDao.save(dataSource);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"添加成功!",locale);
QcInspectionDataSource qcInspectionDataSource = new QcInspectionDataSource();
//TODO 补充字段
inspectionDataSourceDao.save(qcInspectionDataSource);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
}
}

View File

@ -1,11 +1,12 @@
package com.xkrs.service.impl;
import com.xkrs.dao.DataDictDao;
import com.xkrs.dao.DataSourceDao;
import com.xkrs.dao.FileDao;
import com.xkrs.dao.QcInspectionDataSourceDao;
import com.xkrs.dao.QcInspectionFileDao;
import com.xkrs.encapsulation.PromptMessageEnum;
import com.xkrs.model.entity.FileEntity;
import com.xkrs.model.qo.FileQo;
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.util.ExcelUploadUtil;
import com.xkrs.util.ExportExcel;
@ -15,7 +16,6 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional;
import java.io.IOException;
import java.util.HashMap;
@ -33,65 +33,78 @@ import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObje
public class FileServiceImpl implements FileService {
@Resource
private FileDao fileDao;
private QcInspectionFileDao inspectionFileDao;
@Resource
private DataDictDao dataDictDao;
private QcInspectionItemDict inspectionItemDict;
@Resource
private DataSourceDao dataSourceDao;
private QcInspectionDataSourceDao inspectionDataSourceDao;
/**
* 添加模板信息
* @param fileQo
*
* @param inspectionFileQo
* @return
*/
@Override
public String insertFileExcel(FileQo fileQo, MultipartFile fileExcel) throws IOException {
public String insertFileExcel(QcInspectionFileQo inspectionFileQo, MultipartFile fileExcel) throws IOException {
String lotNo = inspectionFileQo.getLotNo();
String machineNo = inspectionFileQo.getMachineNo();
String materialNo = inspectionFileQo.getMaterialNo();
String modelNo = inspectionFileQo.getModelNo();
String partNo = inspectionFileQo.getPartNo();
Locale locale = LocaleContextHolder.getLocale();
FileEntity fileEntity = fileDao.findByFileModelNumberAndFileBatchNumberAndFileMachineCodeAndFileProductNumber(fileQo.getFileModelNumber(), fileQo.getFileBatchNumber(), fileQo.getFileMachineCode(), fileQo.getFileProductNumber());
if(fileEntity != null){
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT,"已存在该产品的模板!",locale);
QcInspectionFile qcInspectionFile = inspectionFileDao.selectFile(lotNo, machineNo, materialNo, modelNo, partNo);
if (qcInspectionFile != null) {
return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "已存在该产品的模板!", locale);
}
if(fileExcel == null){
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE,"模板不能为空!",locale);
if (fileExcel == null) {
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "模板不能为空!", locale);
}
String file = ExcelUploadUtil.memoryFile(fileExcel);
FileEntity fileEntity1 = new FileEntity();
fileEntity1.setFileModelNumber(fileQo.getFileModelNumber());
fileEntity1.setFileBatchNumber(fileQo.getFileBatchNumber());
fileEntity1.setFileMachineCode(fileQo.getFileMachineCode());
fileEntity1.setFileProductNumber(fileQo.getFileProductNumber());
fileEntity1.setFileUploadPath(file);
QcInspectionFile fileEntity1 = new QcInspectionFile();
//TODO 补充字段
// fileEntity1.setFileModelNumber(fileQo.getFileModelNumber());
// fileEntity1.setFileBatchNumber(fileQo.getFileBatchNumber());
// fileEntity1.setFileMachineCode(fileQo.getFileMachineCode());
// fileEntity1.setFileProductNumber(fileQo.getFileProductNumber());
// fileEntity1.setFileUploadPath(file);
fileDao.save(fileEntity1);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"添加成功!",locale);
inspectionFileDao.save(fileEntity1);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功!", locale);
}
/**
* 导出excel
* @param fileQo
*
* @param inspectionFileQo
* @return
*/
@Transactional(rollbackOn = Exception.class)
@Override
public String exportExcel(FileQo fileQo) throws IOException, InvalidFormatException {
public String exportExcel(QcInspectionFileQo inspectionFileQo) throws IOException, InvalidFormatException {
String lotNo = inspectionFileQo.getLotNo();
String machineNo = inspectionFileQo.getMachineNo();
String materialNo = inspectionFileQo.getMaterialNo();
String modelNo = inspectionFileQo.getModelNo();
String partNo = inspectionFileQo.getPartNo();
Locale locale = LocaleContextHolder.getLocale();
FileEntity entity = fileDao.findByFileModelNumberAndFileBatchNumberAndFileMachineCodeAndFileProductNumber(fileQo.getFileModelNumber(), fileQo.getFileBatchNumber(), fileQo.getFileMachineCode(), fileQo.getFileProductNumber());
if(entity == null){
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE,"暂时没有该产品的模板,请添加!",locale);
QcInspectionFile inspectionFile = inspectionFileDao.selectFile(lotNo, machineNo, materialNo, modelNo, partNo);
if (inspectionFile == null) {
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的模板,请添加!", locale);
}
String fileUploadPath = entity.getFileUploadPath();
List<Map<String, String>> maps = dataSourceDao.selectDataNameAndData(fileQo.getFileModelNumber(), fileQo.getFileBatchNumber(), fileQo.getFileMachineCode(), fileQo.getFileProductNumber());
if(maps == null || maps.size() == 0){
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE,"暂时没有该产品的信息!",locale);
String templatePath = inspectionFile.getTemplatePath();
List<QcInspectionDataSource> inspectionDataSources = inspectionDataSourceDao.selectDataSource(lotNo, machineNo, materialNo, modelNo, partNo);
if (inspectionDataSources == null || inspectionDataSources.isEmpty()) {
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的信息!", locale);
}
Map<String,String> map = new HashMap<String,String>();
for(Map<String,String> stringMap : maps){
map.put(stringMap.get("dataname"),stringMap.get("numericalvalue"));
Map<String, String> map = new HashMap<>();
for (QcInspectionDataSource inspectionDataSource : inspectionDataSources) {
map.put(inspectionDataSource.getInspectionItemCode(), inspectionDataSource.getInspectValue());
}
String fill = ExportExcel.exportToProveExcel(map,fileUploadPath);
fileDao.updateFileDownloadPath(fileQo.getFileModelNumber(), fileQo.getFileBatchNumber(), fileQo.getFileMachineCode(), fileQo.getFileProductNumber(),fill);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,fill,locale);
String fill = ExportExcel.exportToProveExcel(map, templatePath);
inspectionFileDao.updateFilePath(lotNo, machineNo, materialNo, modelNo, partNo, fill);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, fill, locale);
}
}