调整数据库表结构

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,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);
}
}