|
|
|
@ -1,10 +1,11 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.file;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.file.IMesFileService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.file.IMesModuleExcelService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesModuleExcelDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.BaseMesService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.utils.HuaWeiOBSUtil;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.sqlpack.MesExtHqlPack;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
@ -12,20 +13,19 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesFile;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesModuleExcel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.MesModuleExcelModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesFileRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
|
|
|
|
|
import com.obs.services.model.PutObjectResult;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -43,9 +43,6 @@ public class MesModuleExcelServiceImpl extends BaseMesService<MesModuleExcel> im
|
|
|
|
|
private IMesModuleExcelDao mesModuleExcelDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesFileService mesFileService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesFileRepository mesFileRDao;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -64,12 +61,6 @@ public class MesModuleExcelServiceImpl extends BaseMesService<MesModuleExcel> im
|
|
|
|
|
MesException.throwMesBusiException("模块代码【%s】记录已存在", mesModuleExcel.getModuleCode());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SysFile sysFile = mesFileService.uploadFile(file);
|
|
|
|
|
if (sysFile.getFileTypeId() == null) {
|
|
|
|
|
log.error("FastDFS上传文件出错:{}", "未在字典中定义该文件类型,无法上传成功,请先添加file_type字典");
|
|
|
|
|
MesException.throwMesBusiException("未在字典中定义该文件类型,无法上传成功,请先添加file_type字典");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MesFile f = getMesFile(file, mesModuleExcel);
|
|
|
|
|
mesModuleExcel.setFileId(mesFileRDao.insert(f).getId());
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesModuleExcel, mesModuleExcel.getCreateUser());
|
|
|
|
@ -83,10 +74,6 @@ public class MesModuleExcelServiceImpl extends BaseMesService<MesModuleExcel> im
|
|
|
|
|
MesException.throwMesBusiException("ID【%s】记录不存在", mesModuleExcel.getId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (file == null && StringUtils.isEmpty(mesModuleExcel.getFileId())) {
|
|
|
|
|
MesException.throwMesBusiException("上传的文件为null,后台未能接收到");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//改变文件时清除fileUrl
|
|
|
|
|
if (StringUtils.isEmpty(mesModuleExcel.getFileUrl())) {
|
|
|
|
|
MesFile mesFile = getMesFile(file, mesModuleExcel);
|
|
|
|
@ -97,38 +84,23 @@ public class MesModuleExcelServiceImpl extends BaseMesService<MesModuleExcel> im
|
|
|
|
|
baseRDao.update(moduleExcelManageDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void doDownLoadModuleExcel(HttpServletResponse resp, String fileUrl) {
|
|
|
|
|
mesFileService.getFileByUrl(resp, fileUrl);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesFile getTemplateFile(String organizeCode, String templateCode) {
|
|
|
|
|
MesModuleExcel moduleExcelManageDb = baseRDao.getByProperty(
|
|
|
|
|
new String[]{MesExtConstWords.ORGANIZE_CODE, MesExtConstWords.IS_DELETED, MesExtConstWords.IS_VALID, MesExtConstWords.MODULE_CODE},
|
|
|
|
|
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), templateCode});
|
|
|
|
|
if (null == moduleExcelManageDb || StringUtils.isEmpty(moduleExcelManageDb.getFileId())) {
|
|
|
|
|
MesException.throwMesBusiException("模板代码为【%s】数据信息不存在", templateCode);
|
|
|
|
|
}
|
|
|
|
|
MesFile fileDb = mesFileRDao.getById(moduleExcelManageDb.getFileId());
|
|
|
|
|
if (null == fileDb || StringUtils.isEmpty(fileDb.getFileUrl())) {
|
|
|
|
|
MesException.throwMesBusiException("模板代码为【%s】对应文件信息不存在", templateCode);
|
|
|
|
|
}
|
|
|
|
|
return fileDb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesFile getMesFile(MultipartFile file, MesModuleExcel mesModuleExcel) {
|
|
|
|
|
SysFile sysFile = mesFileService.uploadFile(file);
|
|
|
|
|
String fileName = file.getOriginalFilename();
|
|
|
|
|
PutObjectResult putObjectResult = null;
|
|
|
|
|
try {
|
|
|
|
|
putObjectResult = HuaWeiOBSUtil.putObjectByMultipartFile(MesCommonConstant.OBS_BUCKET_NAME, fileName, file);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
MesException.throwMesBusiException("文件上传失败");
|
|
|
|
|
}
|
|
|
|
|
MesFile mesFile = new MesFile();
|
|
|
|
|
mesFile.setOrganizeCode(mesModuleExcel.getOrganizeCode());
|
|
|
|
|
mesFile.setFileName(sysFile.getDfsFileName());
|
|
|
|
|
mesFile.setFileUrl(sysFile.getFilePath());
|
|
|
|
|
mesFile.setFileSize(String.valueOf(sysFile.getFileSize()));
|
|
|
|
|
mesFile.setFileType(String.valueOf(sysFile.getFileTypeName()));
|
|
|
|
|
mesFile.setFileOriginName(sysFile.getFileOriginalName());
|
|
|
|
|
mesFile.setGroupName(sysFile.getDfsGroupName());
|
|
|
|
|
mesFile.setSyncTag(0);
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesFile, mesModuleExcel.getModifyUser());
|
|
|
|
|
mesFile.setFileName(fileName);
|
|
|
|
|
mesFile.setFileUrl(putObjectResult.getObjectUrl());
|
|
|
|
|
mesFile.setFileSize(String.valueOf(file.getSize()));
|
|
|
|
|
mesFile.setGroupName(putObjectResult.getBucketName());
|
|
|
|
|
mesFile.setFileType(fileName != null && fileName.contains(".") ? fileName.substring(fileName.indexOf(".") + 1) : "");
|
|
|
|
|
mesFile.setFileOriginName(fileName);
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesFile, mesModuleExcel.getCreateUser());
|
|
|
|
|
return mesFile;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|