forked from I3-YF/i3plus-mes-yfai
Merge remote-tracking branch 'origin/dev' into dev
commit
f0f812fbfa
@ -0,0 +1,50 @@
|
||||
package cn.estsh.i3plus.ext.mes.api.base.file;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.base.IBaseMesService;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
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 io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @Description : 模块EXCEL管理表
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/6/17 15:02
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesModuleExcelService extends IBaseMesService<MesModuleExcel> {
|
||||
|
||||
/**
|
||||
* 按条件分页查询模块EXCEL模板信息
|
||||
*
|
||||
* @param mesModuleExcel 查询条件
|
||||
* @param pager 分页条件
|
||||
* @return SOP分页数据
|
||||
*/
|
||||
@ApiOperation(value = "按条件分页查询模块EXCEL模板信息", notes = "按条件分页查询模块EXCEL模板信息")
|
||||
ListPager<MesModuleExcelModel> queryModuleExcelByPager(MesModuleExcel mesModuleExcel, Pager pager);
|
||||
|
||||
/**
|
||||
* 新增模块EXCEL模板信息
|
||||
*
|
||||
* @param file 文件
|
||||
* @param mesModuleExcel 模块EXCEL模板信息
|
||||
*/
|
||||
@ApiOperation(value = "新增模块EXCEL模板信息", notes = "新增模块EXCEL模板信息")
|
||||
void insertModuleExcel(MultipartFile file, MesModuleExcel mesModuleExcel);
|
||||
|
||||
/**
|
||||
* 更新模块EXCEL模板信息
|
||||
*
|
||||
* @param file 文件
|
||||
* @param mesModuleExcel 模块EXCEL模板信息
|
||||
*/
|
||||
@ApiOperation(value = "更新模块EXCEL模板信息", notes = "更新模块EXCEL模板信息")
|
||||
void updateModuleExcel(MultipartFile file, MesModuleExcel mesModuleExcel);
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cn.estsh.i3plus.ext.mes.api.busi.report;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditionModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
|
||||
/**
|
||||
* @Description : 报表-业务方法
|
||||
* @Reference :
|
||||
* @Author : logic
|
||||
* @CreateDate : 2024/6/15 11:30
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesYfReportService {
|
||||
|
||||
/**
|
||||
* 设备数据查询报表-查询
|
||||
* @param queryReportModel 查询条件封装
|
||||
* @param pager 分页信息
|
||||
* @return 分页查询结果
|
||||
*/
|
||||
ListPager<MesDeviceDataQueryReportResultModel> queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager);
|
||||
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesYfReportService;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditionModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
|
||||
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
||||
import cn.estsh.impp.framework.base.controller.MesBaseController;
|
||||
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
||||
import cn.estsh.impp.framework.boot.util.ResultBean;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @Description : 设备数据查询报表
|
||||
* @Reference :
|
||||
* @Author : logic
|
||||
* @CreateDate : 2024/6/15 11:23
|
||||
* @Modify:
|
||||
**/
|
||||
@Api("设备数据查询报表")
|
||||
@RestController
|
||||
@RequestMapping(MesCommonConstant.MES_YANFEN + "/device-data-query-report")
|
||||
public class MesDeviceDataQueryReportController extends MesBaseController {
|
||||
|
||||
@Autowired
|
||||
private IMesYfReportService mesYfReportService;
|
||||
|
||||
@ApiOperation(value = "查询设备数据", notes = "查询设备数据")
|
||||
@GetMapping("/query")
|
||||
public ResultBean queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel conditionModel, Pager pager){
|
||||
try {
|
||||
//查询条件核验
|
||||
if (StringUtils.isEmpty(conditionModel.getCreateDateTimeStart()) || StringUtils.isEmpty(conditionModel.getCreateDateTimeEnd())) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
||||
.setErrorDetail("【查询时间区间】条件必填!")
|
||||
.build();
|
||||
}
|
||||
if (StringUtils.isEmpty(conditionModel.getWorkCellCode()) && StringUtils.isEmpty(conditionModel.getEquipmentCode())) {
|
||||
throw ImppExceptionBuilder.newInstance()
|
||||
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
||||
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
||||
.setErrorDetail("请至少指定【工位】与【设备编号】其中一个查询条件!")
|
||||
.build();
|
||||
}
|
||||
String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
|
||||
conditionModel.setOrganizeCode(organizeCode);
|
||||
ListPager<MesDeviceDataQueryReportResultModel> queryResultListPager = mesYfReportService.queryMesDeviceDataByPager(conditionModel, pager);
|
||||
return ResultBean.success("查询设备数据成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(queryResultListPager);
|
||||
} catch (ImppBusiException e) {
|
||||
return ResultBean.fail(e);
|
||||
} catch (Exception e) {
|
||||
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.dao;
|
||||
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesModuleExcel;
|
||||
import cn.estsh.i3plus.pojo.mes.model.MesModuleExcelModel;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description : 模块EXCEL管理
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/6/17 14:28
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesModuleExcelDao {
|
||||
|
||||
/**
|
||||
* 查询模块EXCEL管理数量
|
||||
*
|
||||
* @param mesModuleExcel 模块EXCEL管理信息
|
||||
* @return 数量
|
||||
*/
|
||||
@ApiOperation(value = "查询模块EXCEL管理数量", notes = "查询模块EXCEL管理数量")
|
||||
int queryModuleExcelCount(MesModuleExcel mesModuleExcel);
|
||||
|
||||
/**
|
||||
* 查询模块EXCEL管理信息集合
|
||||
*
|
||||
* @param mesModuleExcel 查询条件
|
||||
* @param pager 分页条件
|
||||
* @return 模块EXCEL管理信息集合
|
||||
*/
|
||||
@ApiOperation(value = "查询模块EXCEL管理信息集合", notes = "查询模块EXCEL管理信息集合")
|
||||
List<MesModuleExcelModel> queryModuleExcelByPager(MesModuleExcel mesModuleExcel, Pager pager);
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.dao.report;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditionModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
|
||||
/**
|
||||
* @Description : 报表-数据方法
|
||||
* @Reference :
|
||||
* @Author : logic
|
||||
* @CreateDate : 2024/6/15 13:30
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesYfReportDao {
|
||||
|
||||
/**
|
||||
* 设备数据查询报表-查询
|
||||
* @param queryReportModel 查询条件封装
|
||||
* @param pager 分页信息
|
||||
* @return 分页查询结果
|
||||
*/
|
||||
ListPager<MesDeviceDataQueryReportResultModel> queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager);
|
||||
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesModuleExcelDao;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesModuleExcel;
|
||||
import cn.estsh.i3plus.pojo.mes.model.MesModuleExcelModel;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.Query;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description : 模块EXCEL管理
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/6/17 14:30
|
||||
* @Modify:
|
||||
**/
|
||||
@Service
|
||||
public class MesModuleExcelDaoImpl implements IMesModuleExcelDao {
|
||||
|
||||
@Autowired
|
||||
private EntityManager entityManager;
|
||||
|
||||
@Override
|
||||
public int queryModuleExcelCount(MesModuleExcel mesModuleExcel) {
|
||||
StringBuffer hql = new StringBuffer();
|
||||
hql.append(" select count(distinct mem.id) ");
|
||||
|
||||
packHqlForQueryModuleExcelManage(hql, mesModuleExcel);
|
||||
|
||||
Query query = entityManager.createQuery(hql.toString(), Long.class);
|
||||
|
||||
packParameterForQueryModuleExcelManage(query, mesModuleExcel);
|
||||
|
||||
return ((Long) query.getSingleResult()).intValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MesModuleExcelModel> queryModuleExcelByPager(MesModuleExcel mesModuleExcel, Pager pager) {
|
||||
StringBuffer hql = new StringBuffer();
|
||||
hql.append(" select new " + MesModuleExcelModel.class.getName() + "(mem.id, mem.moduleCode, mem.moduleName, mem.fileId, f.fileUrl, f.fileOriginName, " +
|
||||
" mem.organizeCode, mem.createUser, mem.createDatetime, mem.modifyUser, mem.modifyDatetime ) ");
|
||||
|
||||
packHqlForQueryModuleExcelManage(hql, mesModuleExcel);
|
||||
|
||||
hql.append(" order by mem.modifyDatetime desc ");
|
||||
Query query = entityManager.createQuery(hql.toString(), MesModuleExcelModel.class);
|
||||
|
||||
packParameterForQueryModuleExcelManage(query, mesModuleExcel);
|
||||
|
||||
query.setMaxResults(pager.getPageSize());
|
||||
if (pager.getCurrentPage() == 0) {
|
||||
pager.setCurrentPage(1);
|
||||
}
|
||||
query.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
|
||||
return query.getResultList();
|
||||
}
|
||||
|
||||
private void packHqlForQueryModuleExcelManage(StringBuffer hql, MesModuleExcel mesModuleExcel) {
|
||||
hql.append(" from MesModuleExcel as mem ");
|
||||
hql.append(" left join MesFile as f on (mem.fileId = f.id and f.organizeCode = :organizeCode and f.isValid = :isValid1 and f.isDeleted = :isDeleted) ");
|
||||
hql.append(" where mem.organizeCode = :organizeCode ");
|
||||
hql.append(" and mem.isValid = :isValid ");
|
||||
hql.append(" and mem.isDeleted = :isDeleted ");
|
||||
if (!StringUtils.isEmpty(mesModuleExcel.getModuleCode())) {
|
||||
hql.append(" and mem.moduleCode like :moduleCode ");
|
||||
}
|
||||
if (!StringUtils.isEmpty(mesModuleExcel.getModuleName())) {
|
||||
hql.append(" and mem.moduleName like :moduleName ");
|
||||
}
|
||||
}
|
||||
|
||||
private void packParameterForQueryModuleExcelManage(Query query, MesModuleExcel mesModuleExcel) {
|
||||
query.setParameter(MesExtConstWords.ORGANIZE_CODE, mesModuleExcel.getOrganizeCode());
|
||||
query.setParameter(MesExtConstWords.IS_VALID, mesModuleExcel.getIsValid());
|
||||
query.setParameter(MesExtConstWords.IS_VALID1, CommonEnumUtil.IS_VAILD.VAILD.getValue());
|
||||
query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
if (!StringUtils.isEmpty(mesModuleExcel.getModuleCode())) {
|
||||
query.setParameter(MesExtConstWords.MODULE_CODE, "%" + mesModuleExcel.getModuleCode() + "%");
|
||||
}
|
||||
if (!StringUtils.isEmpty(mesModuleExcel.getModuleName())) {
|
||||
query.setParameter(MesExtConstWords.MODULE_NAME, "%" + mesModuleExcel.getModuleName() + "%");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,109 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl.report;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IMesYfReportDao;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditionModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
|
||||
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 org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.Query;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description : 报表-数据方法实现
|
||||
* @Reference :
|
||||
* @Author : logic
|
||||
* @CreateDate : 2024/6/15 13:30
|
||||
* @Modify:
|
||||
**/
|
||||
@Service
|
||||
public class MesYfReportDaoImpl implements IMesYfReportDao {
|
||||
|
||||
@Autowired
|
||||
private EntityManager entityManager;
|
||||
|
||||
@Override
|
||||
public ListPager<MesDeviceDataQueryReportResultModel> queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager) {
|
||||
StringBuilder dataQuerySql = new StringBuilder();
|
||||
StringBuilder countQuerySql = new StringBuilder();
|
||||
StringBuilder commonQuerySql = new StringBuilder();
|
||||
dataQuerySql.append("select new ")
|
||||
.append(MesDeviceDataQueryReportResultModel.class.getName())
|
||||
.append("(organizeCode, workCenterCode, workCellCode, workOrderNo, serialNumber, ")
|
||||
.append("logType, message, errorType, equipmentCode, equipmentName, createDatetime, createUser) ");
|
||||
countQuerySql.append("select count(1) ");
|
||||
commonQuerySql.append("from MesWorkCellScanMonitorLog " +
|
||||
"where isValid = :isValid and isDeleted = :isDeleted and organizeCode = :organizeCode " +
|
||||
"and createDatetime >= :createDateTimeStart and createDatetime <= :createDateTimeEnd ");
|
||||
//非空查询条件拼接语句
|
||||
if (!StringUtils.isEmpty(queryReportModel.getWorkCenterCode())) {
|
||||
commonQuerySql.append("and workCenterCode = :workCenterCode ");
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getWorkCellCode())) {
|
||||
commonQuerySql.append("and workCellCode = :workCellCode ");
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getWorkOrderNo())) {
|
||||
commonQuerySql.append("and workOrderNo = :workOrderNo ");
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getSerialNumber())) {
|
||||
commonQuerySql.append("and serialNumber = :serialNumber ");
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getEquipmentCode())) {
|
||||
commonQuerySql.append("and equipmentCode = :equipmentCode ");
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getLogType())) {
|
||||
commonQuerySql.append("and logType = :logType ");
|
||||
}
|
||||
Query dataQuery = entityManager.createQuery(dataQuerySql.append(commonQuerySql).toString(), MesDeviceDataQueryReportResultModel.class);
|
||||
dataQuery.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue());
|
||||
dataQuery.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
dataQuery.setParameter("organizeCode", queryReportModel.getOrganizeCode());
|
||||
dataQuery.setParameter("createDateTimeStart", queryReportModel.getCreateDateTimeStart());
|
||||
dataQuery.setParameter("createDateTimeEnd", queryReportModel.getCreateDateTimeEnd());
|
||||
Query countQuery = entityManager.createQuery(countQuerySql.append(commonQuerySql).toString());
|
||||
countQuery.setParameter("isValid", CommonEnumUtil.IS_VAILD.VAILD.getValue());
|
||||
countQuery.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
countQuery.setParameter("organizeCode", queryReportModel.getOrganizeCode());
|
||||
countQuery.setParameter("createDateTimeStart", queryReportModel.getCreateDateTimeStart());
|
||||
countQuery.setParameter("createDateTimeEnd", queryReportModel.getCreateDateTimeEnd());
|
||||
if (!StringUtils.isEmpty(queryReportModel.getWorkCenterCode())) {
|
||||
dataQuery.setParameter("workCenterCode", queryReportModel.getWorkCenterCode());
|
||||
countQuery.setParameter("workCenterCode", queryReportModel.getWorkCenterCode());
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getWorkCellCode())) {
|
||||
dataQuery.setParameter("workCellCode", queryReportModel.getWorkCellCode());
|
||||
countQuery.setParameter("workCellCode", queryReportModel.getWorkCellCode());
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getWorkOrderNo())) {
|
||||
dataQuery.setParameter("workOrderNo", queryReportModel.getWorkOrderNo());
|
||||
countQuery.setParameter("workOrderNo", queryReportModel.getWorkOrderNo());
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getSerialNumber())) {
|
||||
dataQuery.setParameter("serialNumber", queryReportModel.getSerialNumber());
|
||||
countQuery.setParameter("serialNumber", queryReportModel.getSerialNumber());
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getEquipmentCode())) {
|
||||
dataQuery.setParameter("equipmentCode", queryReportModel.getEquipmentCode());
|
||||
countQuery.setParameter("equipmentCode", queryReportModel.getEquipmentCode());
|
||||
}
|
||||
if (!StringUtils.isEmpty(queryReportModel.getLogType())) {
|
||||
dataQuery.setParameter("logType", queryReportModel.getLogType());
|
||||
countQuery.setParameter("logType", queryReportModel.getLogType());
|
||||
}
|
||||
//本次查询满足条件的总数
|
||||
int count = Integer.parseInt(String.valueOf(countQuery.getSingleResult()));
|
||||
pager = PagerHelper.getPager(pager, count);
|
||||
//查询本页数据
|
||||
dataQuery.setMaxResults(pager.getPageSize());
|
||||
dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
|
||||
List<MesDeviceDataQueryReportResultModel> resultList = dataQuery.getResultList();
|
||||
return new ListPager<>(resultList, pager);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,107 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.file;
|
||||
|
||||
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;
|
||||
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.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 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 java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description : 模块EXCEL管理表
|
||||
* @Reference :
|
||||
* @Author : junsheng.li
|
||||
* @CreateDate 2024/6/17 14:52
|
||||
* @Modify:
|
||||
**/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MesModuleExcelServiceImpl extends BaseMesService<MesModuleExcel> implements IMesModuleExcelService {
|
||||
|
||||
@Autowired
|
||||
private IMesModuleExcelDao mesModuleExcelDao;
|
||||
|
||||
@Autowired
|
||||
private MesFileRepository mesFileRDao;
|
||||
|
||||
@Override
|
||||
public ListPager<MesModuleExcelModel> queryModuleExcelByPager(MesModuleExcel mesModuleExcel, Pager pager) {
|
||||
pager = PagerHelper.getPager(pager, mesModuleExcelDao.queryModuleExcelCount(mesModuleExcel));
|
||||
List<MesModuleExcelModel> moduleExcelManageModelList = mesModuleExcelDao.queryModuleExcelByPager(mesModuleExcel, pager);
|
||||
return new ListPager(moduleExcelManageModelList, pager);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertModuleExcel(MultipartFile file, MesModuleExcel mesModuleExcel) {
|
||||
DdlPackBean packBean = MesExtHqlPack.getAllBaseData(mesModuleExcel.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(mesModuleExcel.getModuleCode(), MesExtConstWords.MODULE_CODE, packBean);
|
||||
MesModuleExcel moduleExcelManageDb = baseRDao.getByProperty(packBean);
|
||||
if (null != moduleExcelManageDb) {
|
||||
MesException.throwMesBusiException("模块代码【%s】记录已存在", mesModuleExcel.getModuleCode());
|
||||
}
|
||||
|
||||
MesFile f = getMesFile(file, mesModuleExcel);
|
||||
mesModuleExcel.setFileId(mesFileRDao.insert(f).getId());
|
||||
ConvertBean.serviceModelInitialize(mesModuleExcel, mesModuleExcel.getCreateUser());
|
||||
baseRDao.insert(mesModuleExcel);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateModuleExcel(MultipartFile file, MesModuleExcel mesModuleExcel) {
|
||||
MesModuleExcel moduleExcelManageDb = baseRDao.getById(mesModuleExcel.getId());
|
||||
if (moduleExcelManageDb == null) {
|
||||
MesException.throwMesBusiException("ID【%s】记录不存在", mesModuleExcel.getId());
|
||||
}
|
||||
|
||||
//改变文件时清除fileUrl
|
||||
if (StringUtils.isEmpty(mesModuleExcel.getFileUrl())) {
|
||||
MesFile mesFile = getMesFile(file, mesModuleExcel);
|
||||
moduleExcelManageDb.setFileId(mesFileRDao.insert(mesFile).getId());
|
||||
}
|
||||
moduleExcelManageDb.setModuleName(mesModuleExcel.getModuleName());
|
||||
ConvertBean.serviceModelUpdate(moduleExcelManageDb, mesModuleExcel.getModifyUser());
|
||||
baseRDao.update(moduleExcelManageDb);
|
||||
}
|
||||
|
||||
private MesFile getMesFile(MultipartFile file, MesModuleExcel mesModuleExcel) {
|
||||
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(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;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.report;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.busi.report.IMesYfReportService;
|
||||
import cn.estsh.i3plus.ext.mes.apiservice.dao.report.IMesYfReportDao;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditionModel;
|
||||
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
|
||||
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
||||
import cn.estsh.i3plus.pojo.base.common.Pager;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @Description : 报表-业务方法实现
|
||||
* @Reference :
|
||||
* @Author : logic
|
||||
* @CreateDate : 2024/6/15 11:31
|
||||
* @Modify:
|
||||
**/
|
||||
@Service
|
||||
public class MesYfReportServiceImpl implements IMesYfReportService {
|
||||
|
||||
@Autowired
|
||||
private IMesYfReportDao mesYfReportDao;
|
||||
|
||||
@Override
|
||||
public ListPager<MesDeviceDataQueryReportResultModel> queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager) {
|
||||
return mesYfReportDao.queryMesDeviceDataByPager(queryReportModel, pager);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package cn.estsh.i3plus.ext.mes.pojo.model.report;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Description : 设备数据查询报表-查询条件封装
|
||||
* @Reference :
|
||||
* @Author : logic
|
||||
* @CreateDate : 2024/6/15 11:38
|
||||
* @Modify:
|
||||
**/
|
||||
@Data
|
||||
@ApiModel("设备数据查询报表-查询条件封装")
|
||||
public class MesDeviceDataQueryReportConditionModel {
|
||||
|
||||
@ApiParam(value = "组织代码")
|
||||
private String organizeCode;
|
||||
|
||||
/**
|
||||
* 查询条件
|
||||
*/
|
||||
@ApiParam(value = "工作中心(产线)")
|
||||
private String workCenterCode;
|
||||
|
||||
@ApiParam(value = "工作单元代码(工位)")
|
||||
private String workCellCode;
|
||||
|
||||
@ApiParam(value = "生产工单号(工单)")
|
||||
private String workOrderNo;
|
||||
|
||||
@ApiParam(value = "过程条码(主条码)")
|
||||
private String serialNumber;
|
||||
|
||||
@ApiParam(value = "设备代码(设备编号)")
|
||||
private String equipmentCode;
|
||||
|
||||
@ApiParam(value = "日志类型")
|
||||
private Integer logType;
|
||||
|
||||
@ApiParam(value = "创建日期查询用,查询起始日期")
|
||||
private String createDateTimeStart;
|
||||
|
||||
@ApiParam(value = "创建日期查询用,查询结束日期")
|
||||
private String createDateTimeEnd;
|
||||
|
||||
}
|
Loading…
Reference in New Issue