调整数据库表结构
This commit is contained in:
		| @@ -1,7 +1,6 @@ | ||||
| package com.xkrs.service; | ||||
|  | ||||
| import com.xkrs.model.entity.DataDict; | ||||
| import com.xkrs.model.qo.DataDictQo; | ||||
| import com.xkrs.model.qo.QcInspectionItemDictQo; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
| @@ -11,8 +10,8 @@ public interface DataDictService { | ||||
|  | ||||
|     /** | ||||
|      * 添加字典数据 | ||||
|      * @param dataDictQo | ||||
|      * @param inspectionItemDictQo | ||||
|      * @return | ||||
|      */ | ||||
|     String insertDataDict(DataDictQo dataDictQo); | ||||
|     String insertDataDict(QcInspectionItemDictQo inspectionItemDictQo); | ||||
| } | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| package com.xkrs.service; | ||||
|  | ||||
| import com.xkrs.model.qo.DataSourceQo; | ||||
| import com.xkrs.model.qo.QcInspectionDataSourceQo; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
| @@ -10,8 +10,9 @@ public interface DataSourceService { | ||||
|  | ||||
|     /** | ||||
|      * 添加测量数据 | ||||
|      * @param dataSourceQo | ||||
|      * | ||||
|      * @param inspectionDataSourceQo | ||||
|      * @return | ||||
|      */ | ||||
|     String insertDataSource(DataSourceQo dataSourceQo); | ||||
|     String insertDataSource(QcInspectionDataSourceQo inspectionDataSourceQo); | ||||
| } | ||||
|   | ||||
| @@ -1,10 +1,9 @@ | ||||
| package com.xkrs.service; | ||||
|  | ||||
| import com.xkrs.model.qo.FileQo; | ||||
| import com.xkrs.model.qo.QcInspectionFileQo; | ||||
| import org.apache.poi.openxml4j.exceptions.InvalidFormatException; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import javax.servlet.http.HttpServletResponse; | ||||
| import java.io.IOException; | ||||
|  | ||||
| /** | ||||
| @@ -15,15 +14,17 @@ public interface FileService { | ||||
|  | ||||
|     /** | ||||
|      * 添加模板信息 | ||||
|      * @param fileQo | ||||
|      * | ||||
|      * @param inspectionFileQo | ||||
|      * @return | ||||
|      */ | ||||
|     String insertFileExcel(FileQo fileQo,MultipartFile fileExcel) throws IOException; | ||||
|     String insertFileExcel(QcInspectionFileQo inspectionFileQo, MultipartFile fileExcel) throws IOException; | ||||
|  | ||||
|     /** | ||||
|      * 导出excel | ||||
|      * @param fileQo | ||||
|      * | ||||
|      * @param inspectionFileQo | ||||
|      * @return | ||||
|      */ | ||||
|     String exportExcel(FileQo fileQo) throws IOException, InvalidFormatException; | ||||
|     String exportExcel(QcInspectionFileQo inspectionFileQo) throws IOException, InvalidFormatException; | ||||
| } | ||||
|   | ||||
| @@ -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); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user