From ace4b2924c5af8f8fb080e17aedc2bcbf9474da5 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 12 十二月 2024 10:48:44 +0800 Subject: [PATCH] Oee列表接口 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java | 86 ++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java | 20 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java | 25 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java | 2 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java | 73 +++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java | 149 ++++++++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java | 45 ++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml | 30 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java | 112 +++++++++++ 9 files changed, 540 insertions(+), 2 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java new file mode 100644 index 0000000..40df540 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java @@ -0,0 +1,86 @@ +package org.jeecg.modules.mdc.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.mdc.entity.MdcOeeInfo; +import org.jeecg.modules.mdc.service.IMdcOeeInfoService; +import org.jeecg.modules.mdc.vo.MdcOeeInfoVo; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +/** + * @Description: OEE琛� + * @Author: lius + * @Date: 2024-12-12 + */ +@Slf4j +@Api(tags = "OEE琛�") +@RestController +@RequestMapping("/mdc/mdcOeeInfo") +public class MdcOeeInfoController extends JeecgController<MdcOeeInfo, IMdcOeeInfoService> { + + @Resource + private IMdcOeeInfoService mdcOeeInfoService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param mdcOeeInfoVo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "OEE琛�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "OEE琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "OEE琛�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(MdcOeeInfoVo mdcOeeInfoVo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + Page<MdcOeeInfo> page = new Page<MdcOeeInfo>(pageNo, pageSize); + IPage<MdcOeeInfo> pageList = mdcOeeInfoService.pageList(userId, page, mdcOeeInfoVo, req); + return Result.OK(pageList); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @AutoLog(value = "OEE琛�-閫氳繃id鏌ヨ") + @ApiOperation(value = "OEE琛�-閫氳繃id鏌ヨ", notes = "OEE琛�-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { + MdcOeeInfo mdcOeeInfo = mdcOeeInfoService.getById(id); + return Result.OK(mdcOeeInfo); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param mdcOeeInfoVo + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, MdcOeeInfoVo mdcOeeInfoVo) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + return mdcOeeInfoService.exportXls(userId, mdcOeeInfoVo); + } + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java index 22087e5..d0b6413 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java @@ -1,6 +1,5 @@ package org.jeecg.modules.mdc.controller; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -11,7 +10,6 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mdc.entity.MdcPartProcessInfo; import org.jeecg.modules.mdc.service.IMdcPartProcessInfoService; diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java new file mode 100644 index 0000000..4cdb420 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java @@ -0,0 +1,112 @@ +package org.jeecg.modules.mdc.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Description: OEE琛� + * @Author: lius + * @Date: 2024-12-12 + */ +@Data +@TableName("mdc_oee_info") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "mdc_oee_info瀵硅薄", description = "OEE琛�") +public class MdcOeeInfo extends JeecgEntity implements Serializable { + + /** + * 璁惧缂栧彿 + */ + @Excel(name = "璁惧缂栧彿", width = 15) + @ApiModelProperty(value = "璁惧缂栧彿") + private String equipmentId; + /** + * 鏃ユ湡 + */ + @Excel(name = "鏃ユ湡", width = 15) + @ApiModelProperty(value = "鏃ユ湡") + private String theDate; + /** + * 宸ヤ綔鏃ュ巻鏃堕棿(min) + */ + @Excel(name = "宸ヤ綔鏃ュ巻鏃堕棿(min)", width = 15) + @ApiModelProperty(value = "宸ヤ綔鏃ュ巻鏃堕棿(min)") + private Integer calendarLong; + /** + * 璁″垝鍋滄満鏃堕棿(min) + */ + @Excel(name = "璁″垝鍋滄満鏃堕棿(min)", width = 15) + @ApiModelProperty(value = "璁″垝鍋滄満鏃堕棿(min)") + private Integer planCloseLong; + /** + * 璐熻嵎鏃堕棿(min) + */ + @Excel(name = "璐熻嵎鏃堕棿(min)", width = 15) + @ApiModelProperty(value = "璐熻嵎鏃堕棿(min)") + private Integer loadLong; + /** + * 闈炶鍒掑仠鏈烘椂闂�(min) + */ + @Excel(name = "闈炶鍒掑仠鏈烘椂闂�(min)", width = 15) + @ApiModelProperty(value = "闈炶鍒掑仠鏈烘椂闂�(min)") + private Integer noplanCloseLong; + /** + * 寮�鍔ㄦ椂闂�(min) + */ + @Excel(name = "寮�鍔ㄦ椂闂�(min)", width = 15) + @ApiModelProperty(value = "寮�鍔ㄦ椂闂�(min)") + private Integer actuateLong; + /** + * 鏃堕棿寮�鍔ㄧ巼 + */ + @Excel(name = "鏃堕棿寮�鍔ㄧ巼", width = 15) + @ApiModelProperty(value = "鏃堕棿寮�鍔ㄧ巼") + private BigDecimal timeActuationRate; + /** + * 鏈夋晥杩愯鏃堕棿 + */ + @Excel(name = "鏈夋晥杩愯鏃堕棿", width = 15) + @ApiModelProperty(value = "鏈夋晥杩愯鏃堕棿") + private Integer effectiveRunLong; + /** + * 鎬ц兘寮�鍔ㄧ巼 + */ + @Excel(name = "鎬ц兘寮�鍔ㄧ巼", width = 15) + @ApiModelProperty(value = "鎬ц兘寮�鍔ㄧ巼") + private BigDecimal performanceRate; + /** + * 鍔犲伐闆朵欢鏁伴噺 + */ + @Excel(name = "鍔犲伐闆朵欢鏁伴噺", width = 15) + @ApiModelProperty(value = "鍔犲伐闆朵欢鏁伴噺") + private Integer processCount; + /** + * 鍚堟牸闆朵欢鏁伴噺 + */ + @Excel(name = "鍚堟牸闆朵欢鏁伴噺", width = 15) + @ApiModelProperty(value = "鍚堟牸闆朵欢鏁伴噺") + private Integer passCount; + /** + * 鍚堟牸鐜� + */ + @Excel(name = "鍚堟牸鐜�", width = 15) + @ApiModelProperty(value = "鍚堟牸鐜�") + private BigDecimal passRate; + /** + * OEE + */ + @Excel(name = "OEE", width = 15) + @ApiModelProperty(value = "OEE") + private BigDecimal oee; + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java new file mode 100644 index 0000000..ed43af6 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java @@ -0,0 +1,73 @@ +package org.jeecg.modules.mdc.job; + +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.mdc.service.IMdcOeeInfoService; +import org.jeecg.modules.mdc.util.ThrowableUtil; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; +import org.jeecg.modules.system.service.ISysAnnouncementService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * @Description: 瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟 + * @author Lius + * @date 2024/12/11 16:21 + */ +@Slf4j +public class RunningOEEJob implements Job { + + /** + * 鑻ュ弬鏁板彉閲忓悕淇敼 QuartzJobController涓篃闇�瀵瑰簲淇敼 鏃堕棿锛� yyyyMMdd 渚嬶細 20230414 + */ + private String parameter; + + public void setParameter(String parameter) { + this.parameter = parameter; + } + + @Resource + private IQuartzJobService quartzJobService; + + @Resource + private ISysAnnouncementService sysAnnouncementService; + + @Resource + private ISysQuartzLogService sysQuartzLogService; + + @Resource + private IMdcOeeInfoService mdcOeeInfoService; + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + quartzLog.setParams(this.parameter); + log.info("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟 RunningOEEJob start! 鏃堕棿:" + DateUtils.now(), this.parameter); + long startTime = System.currentTimeMillis(); + try { + mdcOeeInfoService.runningComputeOee(this.parameter); + quartzLog.setIsSuccess(0); + } catch (Exception e) { + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + // 鍙戦�佹秷鎭�氱煡 + sysAnnouncementService.jobSendMessage("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟", quartzLog.getExceptionDetail()); + } + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); + } +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java new file mode 100644 index 0000000..041a098 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java @@ -0,0 +1,25 @@ +package org.jeecg.modules.mdc.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.mdc.entity.MdcOeeInfo; +import org.jeecg.modules.mdc.vo.MdcOeeInfoVo; + +/** + * @Description: OEE琛� + * @Author: lius + * @Date: 2024-12-12 + */ +public interface MdcOeeInfoMapper extends BaseMapper<MdcOeeInfo> { + + /** + * 鍒嗛〉鍒楄〃 + * + * @param page + * @param mdcOeeInfoVo + * @return + */ + IPage<MdcOeeInfo> pageList(Page<MdcOeeInfo> page, @Param("mdcOeeInfoVo") MdcOeeInfoVo mdcOeeInfoVo); +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml new file mode 100644 index 0000000..664b2fa --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.mdc.mapper.MdcOeeInfoMapper"> + + <!--鍒嗛〉鍒楄〃--> + <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcOeeInfo"> + SELECT + * + FROM + mdc_oee_info + <where> + <if test="mdcOeeInfoVo.equipmentId != null and mdcOeeInfoVo.equipmentId != ''"> + AND equipment_id = #{ mdcOeeInfoVo.equipmentId } + </if> + <if test="mdcOeeInfoVo.startTime != null and mdcOeeInfoVo.startTime != ''"> + AND the_date >= #{ mdcOeeInfoVo.startTime } + </if> + <if test="mdcOeeInfoVo.endTime != null and mdcOeeInfoVo.endTime != ''"> + AND the_date <= #{mdcOeeInfoVo.endTime } + </if> + <if test="mdcOeeInfoVo.equipmentIdList != null and mdcOeeInfoVo.equipmentIdList.size() > 0 "> + AND equipment_id IN + <foreach collection="mdcOeeInfoVo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{ id } + </foreach> + </if> + </where> + ORDER BY the_date DESC, equipment_id ASC + </select> +</mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java new file mode 100644 index 0000000..4b4e2cb --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.mdc.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.mdc.entity.MdcOeeInfo; +import org.jeecg.modules.mdc.vo.MdcOeeInfoVo; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Description: OEE琛� + * @Author: lius + * @Date: 2024-12-12 + */ +public interface IMdcOeeInfoService extends IService<MdcOeeInfo> { + + /** + * 鍒嗛〉鍒楄〃 + * + * @param userId + * @param page + * @param mdcOeeInfoVo + * @param req + * @return + */ + IPage<MdcOeeInfo> pageList(String userId, Page<MdcOeeInfo> page, MdcOeeInfoVo mdcOeeInfoVo, HttpServletRequest req); + + /** + * 璁$畻oee + * + * @param dateTime + */ + void runningComputeOee(String dateTime); + + /** + * 瀵煎嚭 + * + * @param userId + * @param mdcOeeInfoVo + * @return + */ + ModelAndView exportXls(String userId, MdcOeeInfoVo mdcOeeInfoVo); +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java new file mode 100644 index 0000000..ee6dd03 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java @@ -0,0 +1,149 @@ +package org.jeecg.modules.mdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.mdc.entity.MdcOeeInfo; +import org.jeecg.modules.mdc.mapper.MdcOeeInfoMapper; +import org.jeecg.modules.mdc.service.IMdcEquipmentService; +import org.jeecg.modules.mdc.service.IMdcOeeInfoService; +import org.jeecg.modules.mdc.vo.MdcOeeInfoVo; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.stereotype.Service; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @Description: OEE琛� + * @Author: lius + * @Date: 2024-12-12 + */ +@Service +public class MdcOeeInfoServiceImpl extends ServiceImpl<MdcOeeInfoMapper, MdcOeeInfo> implements IMdcOeeInfoService { + + @Resource + private IMdcEquipmentService mdcEquipmentService; + + /** + * 鍒嗛〉鍒楄〃 + * @param userId + * @param page + * @param mdcOeeInfoVo + * @param req + * @return + */ + @Override + public IPage<MdcOeeInfo> pageList(String userId, Page<MdcOeeInfo> page, MdcOeeInfoVo mdcOeeInfoVo, HttpServletRequest req) { + List<String> equipmentIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(mdcOeeInfoVo.getParentId()) && StringUtils.isEmpty(mdcOeeInfoVo.getEquipmentId())) { + if ("2".equals(mdcOeeInfoVo.getTypeTree())) { + //閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOeeInfoVo.getParentId()); + } else { + //浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOeeInfoVo.getParentId()); + } + } else if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) { + //鍗曞彴璁惧淇℃伅 + mdcOeeInfoVo.setEquipmentIdList(Collections.singletonList(mdcOeeInfoVo.getEquipmentId())); + } else { + //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭� + if ("2".equals(mdcOeeInfoVo.getTypeTree())) { + //閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); + } else { + //浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); + } + } + + if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) { + mdcOeeInfoVo.setEquipmentIdList(equipmentIds); + } + + if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) { + return null; + } + return this.baseMapper.pageList(page, mdcOeeInfoVo); + } + + /** + * 瀵煎嚭 + * @param userId + * @param mdcOeeInfoVo + * @return + */ + @Override + public ModelAndView exportXls(String userId, MdcOeeInfoVo mdcOeeInfoVo) { + LambdaQueryWrapper<MdcOeeInfo> queryWrapper = new LambdaQueryWrapper(); + List<String> equipmentIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(mdcOeeInfoVo.getParentId()) && StringUtils.isEmpty(mdcOeeInfoVo.getEquipmentId())) { + if ("2".equals(mdcOeeInfoVo.getTypeTree())) { + //閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOeeInfoVo.getParentId()); + } else { + //浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOeeInfoVo.getParentId()); + } + } else if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) { + //鍗曞彴璁惧淇℃伅 + mdcOeeInfoVo.setEquipmentIdList(Collections.singletonList(mdcOeeInfoVo.getEquipmentId())); + } else { + //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭� + if ("2".equals(mdcOeeInfoVo.getTypeTree())) { + //閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); + } else { + //浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); + } + } + + if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) { + mdcOeeInfoVo.setEquipmentIdList(equipmentIds); + } + + if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) { + return null; + } else { + queryWrapper.in(MdcOeeInfo::getEquipmentId, mdcOeeInfoVo.getEquipmentIdList()); + } + if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) { + queryWrapper.eq(MdcOeeInfo::getEquipmentId, mdcOeeInfoVo.getEquipmentId()); + } + if (StringUtils.isNotEmpty(mdcOeeInfoVo.getStartTime()) && StringUtils.isNotEmpty(mdcOeeInfoVo.getEndTime())) { + queryWrapper.between(MdcOeeInfo::getTheDate, mdcOeeInfoVo.getStartTime(), mdcOeeInfoVo.getEndTime()); + } + queryWrapper.orderByDesc(MdcOeeInfo::getTheDate).orderByDesc(MdcOeeInfo::getEquipmentId); + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List<MdcOeeInfo> mdcOeeInfos = this.baseMapper.selectList(queryWrapper); + // 瀵煎嚭鏂囦欢鍚嶇О + mv.addObject(NormalExcelConstants.FILE_NAME, "OEE鏁版嵁鍒楄〃"); + mv.addObject(NormalExcelConstants.CLASS, MdcOeeInfo.class); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("OEE鏁版嵁鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "OEE鏁版嵁")); + //update-end---author:wangshuai ---date:20211227 for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------ + mv.addObject(NormalExcelConstants.DATA_LIST, mdcOeeInfos); + return mv; + } + + /** + * 璁$畻oee + * @param dateTime + */ + @Override + public void runningComputeOee(String dateTime) { + + } +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java new file mode 100644 index 0000000..783ebfc --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.mdc.vo; + +import lombok.Data; +import org.jeecg.modules.mdc.entity.MdcOeeInfo; + +import java.util.List; + +/** + * @author Lius + * @date 2024/12/12 10:14 + */ +@Data +public class MdcOeeInfoVo extends MdcOeeInfo { + private String startTime; + private String endTime; + private String parentId; + private String typeTree; + private List<String> equipmentIdList; + private String equipmentIds; +} -- Gitblit v1.9.3