工业测量

This commit is contained in:
2022-02-12 08:48:57 +08:00
commit 92b683a7a4
48 changed files with 3291 additions and 0 deletions

View File

@ -0,0 +1,18 @@
package com.xkrs.service;
import com.xkrs.model.entity.DataDict;
import com.xkrs.model.qo.DataDictQo;
/**
* @Author: XinYi Song
* @Date: 2022/1/19 10:10
*/
public interface DataDictService {
/**
* 添加字典数据
* @param dataDictQo
* @return
*/
String insertDataDict(DataDictQo dataDictQo);
}

View File

@ -0,0 +1,17 @@
package com.xkrs.service;
import com.xkrs.model.qo.DataSourceQo;
/**
* @Author: XinYi Song
* @Date: 2022/1/19 16:42
*/
public interface DataSourceService {
/**
* 添加测量数据
* @param dataSourceQo
* @return
*/
String insertDataSource(DataSourceQo dataSourceQo);
}

View File

@ -0,0 +1,29 @@
package com.xkrs.service;
import com.xkrs.model.qo.FileQo;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @Author: XinYi Song
* @Date: 2022/1/20 15:24
*/
public interface FileService {
/**
* 添加模板信息
* @param fileQo
* @return
*/
String insertFileExcel(FileQo fileQo,MultipartFile fileExcel) throws IOException;
/**
* 导出excel
* @param fileQo
* @return
*/
String exportExcel(FileQo fileQo) throws IOException, InvalidFormatException;
}

View File

@ -0,0 +1,50 @@
package com.xkrs.service.impl;
import com.xkrs.dao.DataDictDao;
import com.xkrs.encapsulation.PromptMessageEnum;
import com.xkrs.model.entity.DataDict;
import com.xkrs.model.qo.DataDictQo;
import com.xkrs.service.DataDictService;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Locale;
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
/**
* @Author: XinYi Song
* @Date: 2022/1/19 10:28
*/
@Service
public class DataDictServiceImpl implements DataDictService {
@Resource
private DataDictDao dataDictDao;
/**
* 添加字典数据
* @param dataDictQo
* @return
*/
@Override
public String insertDataDict(DataDictQo dataDictQo) {
Locale locale = LocaleContextHolder.getLocale();
//DataDict byDictChineseName = dataDictDao.findByDictChineseName(dataDictQo.getDictChineseName());
/*DataDict chineseName = dataDictDao.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 dataDict = new DataDict();
dataDict.setDictChineseName(dataDictQo.getDictChineseName());
dataDict.setDictEnglishName(dataDictQo.getDictEnglishName());
dataDictDao.save(dataDict);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"添加成功!",locale);
}
}

View File

@ -0,0 +1,57 @@
package com.xkrs.service.impl;
import com.xkrs.dao.DataDictDao;
import com.xkrs.dao.DataSourceDao;
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.service.DataSourceService;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Locale;
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
/**
* @Author: XinYi Song
* @Date: 2022/1/19 16:43
*/
@Service
public class DataSourceServiceImpl implements DataSourceService {
@Resource
private DataSourceDao dataSourceDao;
@Resource
private DataDictDao dataDictDao;
/**
* 添加测量数据
* @param dataSourceQo
* @return
*/
@Override
public String insertDataSource(DataSourceQo dataSourceQo) {
Locale locale = LocaleContextHolder.getLocale();
DataDict byDictEnglishName = dataDictDao.findByDictEnglishName(dataSourceQo.getDataName());
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.setDataName(dataSourceQo.getDataName());
dataSource.setNumericalValue(dataSourceQo.getNumericalValue());
dataSourceDao.save(dataSource);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"添加成功!",locale);
}
}

View File

@ -0,0 +1,97 @@
package com.xkrs.service.impl;
import com.xkrs.dao.DataDictDao;
import com.xkrs.dao.DataSourceDao;
import com.xkrs.dao.FileDao;
import com.xkrs.encapsulation.PromptMessageEnum;
import com.xkrs.model.entity.FileEntity;
import com.xkrs.model.qo.FileQo;
import com.xkrs.service.FileService;
import com.xkrs.util.ExcelUploadUtil;
import com.xkrs.util.ExportExcel;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.context.i18n.LocaleContextHolder;
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;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject;
/**
* @Author: XinYi Song
* @Date: 2022/1/20 15:24
*/
@Service
public class FileServiceImpl implements FileService {
@Resource
private FileDao fileDao;
@Resource
private DataDictDao dataDictDao;
@Resource
private DataSourceDao dataSourceDao;
/**
* 添加模板信息
* @param fileQo
* @return
*/
@Override
public String insertFileExcel(FileQo fileQo, MultipartFile fileExcel) throws IOException {
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);
}
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);
fileDao.save(fileEntity1);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,"添加成功!",locale);
}
/**
* 导出excel
* @param fileQo
* @return
*/
@Transactional(rollbackOn = Exception.class)
@Override
public String exportExcel(FileQo fileQo) throws IOException, InvalidFormatException {
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);
}
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);
}
Map<String,String> map = new HashMap<String,String>();
for(Map<String,String> stringMap : maps){
map.put(stringMap.get("dataname"),stringMap.get("numericalvalue"));
}
String fill = ExportExcel.exportToProveExcel(map,fileUploadPath);
fileDao.updateFileDownloadPath(fileQo.getFileModelNumber(), fileQo.getFileBatchNumber(), fileQo.getFileMachineCode(), fileQo.getFileProductNumber(),fill);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS,fill,locale);
}
}