From 3e1a770800cc7d5462672588d77b85f3afb8fbda Mon Sep 17 00:00:00 2001 From: lius <Lius2225@163.com> Date: 星期五, 30 六月 2023 14:47:07 +0800 Subject: [PATCH] 利用率报表接口 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java | 3 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyDto.java | 60 ++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java | 40 ++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyListDto.java | 32 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java | 34 +++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyVo.java | 26 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java | 20 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentCalendarVo.java | 8 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java | 12 + lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyResultDto.java | 49 +++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java | 4 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java | 128 ++++++++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java | 42 ++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java | 22 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java | 8 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml | 37 ++++ 16 files changed, 521 insertions(+), 4 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java new file mode 100644 index 0000000..b6df6c8 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEfficiencyReportController.java @@ -0,0 +1,42 @@ +package org.jeecg.modules.mdc.controller; + +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.vo.LoginUser; +import org.jeecg.modules.mdc.service.MdcEfficiencyReportService; +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; +import org.jeecg.modules.mdc.vo.MdcEfficiencyVo; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @author: LiuS + * @create: 2023-06-15 17:17 + */ +@Slf4j +@Api(tags = "璁惧鏁堢巼鎶ヨ〃") +@RestController +@RequestMapping("/mdc/efficiencyReport") +public class MdcEfficiencyReportController { + + @Resource + private MdcEfficiencyReportService mdcEfficiencyReportService; + + @AutoLog(value = "璁惧鏁堢巼鎶ヨ〃-鍒╃敤鐜囧垪琛ㄦ煡璇�") + @ApiOperation(value = "璁惧鏁堢巼鎶ヨ〃-鍒╃敤鐜囧垪琛ㄦ煡璇�", notes = "璁惧鏁堢巼鎶ヨ〃-鍒╃敤鐜囧垪琛ㄦ煡璇�") + @GetMapping("/efficiencyList") + public Result efficiencyList(MdcEfficiencyReportQueryVo vo) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); + MdcEfficiencyVo result = mdcEfficiencyReportService.efficiencyList(userId, vo); + return Result.OK(result); + } + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyDto.java new file mode 100644 index 0000000..d868159 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyDto.java @@ -0,0 +1,60 @@ +package org.jeecg.modules.mdc.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author: LiuS + * @create: 2023-06-16 15:12 + */ +@Data +public class MdcEfficiencyDto { + + /** + * 璁惧缂栫爜 + */ + private String equipmentId; + /** + * 璁惧鍚嶇О + */ + private String equipmentName; + /** + * 璁惧绫诲瀷 + */ + private String equipmentType; + /** + * 鏈夋晥鏃ユ湡 + */ + private String theDate; + /** + * 鍔犲伐鏃堕暱 + */ + private BigDecimal processLong; + /** + * 鍒╃敤鐜� + */ + private BigDecimal utilizationRate; + /** + * 寮�鍔ㄧ巼 + */ + private BigDecimal startRate; + /** + * 寮�鏈虹巼 + */ + private BigDecimal openRate; + /** + * 寮�鏈烘椂闀� + */ + private BigDecimal openLong; + /** + * 寰呮満鏃堕暱 + */ + private BigDecimal waitLong; + /** + * 鍏虫満鏃堕暱 + */ + private BigDecimal closeLong; + + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyListDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyListDto.java new file mode 100644 index 0000000..ceea58a --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyListDto.java @@ -0,0 +1,32 @@ +package org.jeecg.modules.mdc.dto; + +import lombok.Data; + +import java.util.List; + +/** + * @author: LiuS + * @create: 2023-06-19 10:37 + */ + +@Data +public class MdcEfficiencyListDto { + + /** + * 璁惧缂栫爜 + */ + private String equipmentId; + /** + * 璁惧鍚嶇О + */ + private String equipmentName; + /** + * 璁惧绫诲瀷 + */ + private String equipmentType; + + /** + * 鍒╃敤鐜囨暟鎹� + */ + private List<MdcEfficiencyResultDto> list; +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyResultDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyResultDto.java new file mode 100644 index 0000000..d0c97ae --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEfficiencyResultDto.java @@ -0,0 +1,49 @@ +package org.jeecg.modules.mdc.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author: LiuS + * @create: 2023-06-27 16:34 + */ +@Data +public class MdcEfficiencyResultDto { + /** + * 鏈夋晥鏃ユ湡 + */ + private String theDate; + /** + * 鍔犲伐鏃堕暱 + */ + private BigDecimal processLong; + /** + * 鍒╃敤鐜� + */ + private BigDecimal utilizationRate; + /** + * 寮�鍔ㄧ巼 + */ + private BigDecimal startRate; + /** + * 寮�鏈虹巼 + */ + private BigDecimal openRate; + /** + * 寮�鏈烘椂闀� + */ + private BigDecimal openLong; + /** + * 寰呮満鏃堕暱 + */ + private BigDecimal waitLong; + /** + * 鍏虫満鏃堕暱 + */ + private BigDecimal closeLong; + /** + * 棰滆壊 + */ + private String color; +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java new file mode 100644 index 0000000..73d6da4 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java @@ -0,0 +1,22 @@ +package org.jeecg.modules.mdc.mapper; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.mdc.dto.MdcEfficiencyDto; +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; + +import java.util.List; + +/** + * @author: LiuS + * @create: 2023-06-19 10:40 + */ +public interface MdcEfficiencyReportMapper { + + /** + * 鏌ヨ鍒╃敤鐜囨暟鎹� + * + * @param vo + * @return + */ + List<MdcEfficiencyDto> efficiencyList(@Param("vo") MdcEfficiencyReportQueryVo vo); +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml new file mode 100644 index 0000000..66aa54f --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml @@ -0,0 +1,37 @@ +<?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.MdcEfficiencyReportMapper"> + + <!--鏌ヨ鍒╃敤鐜囨暟鎹�--> + <select id="efficiencyList" resultType="org.jeecg.modules.mdc.dto.MdcEfficiencyDto"> + SELECT + t2.equipment_id equipmentId, + t2.equipment_name equipmentName, + t2.equipment_type equipmentType, + t1.the_date, + t1.process_long processLong, + t1.process_long / 86400 utilizationRate, + CASE + WHEN t1.open_long > 0 THEN + t1.process_long / t1.open_long ELSE 0 + END startRate, + t1.open_long / 86400 openRate, + t1.open_long openLong, + t1.wait_long waitLong, + t1.close_long closeLong + FROM + mdc_equipment t2 + LEFT JOIN mdc_equipment_statistical_info t1 ON t1.equipment_id = t2.equipment_id + WHERE + t1.the_date <= #{ vo.endTime } + AND t1.the_date >= #{ vo.startTime } + <if test="vo.equipmentIdList != null and vo.equipmentIdList.size() > 0 "> + AND t2.equipment_id IN + <foreach collection="vo.equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{ id } + </foreach> + </if> + ORDER BY + t1.the_date + </select> +</mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java index dd32aab..2ccf4dc 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java @@ -6,13 +6,15 @@ /** * @Description: 璁惧鍗曟棩杩愯鏁版嵁琛� * @Author: jeecg-boot - * @Date: 2023-04-14 + * @Date: 2023-04-14 * @Version: V1.0 */ public interface IMdcEquipmentStatisticalInfoService extends IService<MdcEquipmentStatisticalInfo> { /** * 璁$畻璁惧鍗曟棩杩愯鏁版嵁 + * + * @param dateTime */ void runningAllEquipmentStatisticalProcess(String dateTime); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java index 2253a43..fee7d2b 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcUtilizationRateService.java @@ -6,6 +6,7 @@ import org.jeecg.modules.mdc.entity.MdcUtilizationRate; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @Description: 鐜囧弬鏁拌缃� @@ -50,4 +51,11 @@ * @return */ Boolean deleteBatchUtilization(String ids); + + /** + * 鏍规嵁绫诲瀷鏌ヨ + * @param type + * @return + */ + List<MdcUtilizationRate> listByType(String type); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java new file mode 100644 index 0000000..0471926 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.mdc.service; + +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; +import org.jeecg.modules.mdc.vo.MdcEfficiencyVo; + +/** + * @author: LiuS + * @create: 2023-06-15 17:25 + */ +public interface MdcEfficiencyReportService { + + /** + * 鍒╃敤鐜囨姤琛� + * + * @param userId + * @param vo + * @return + */ + MdcEfficiencyVo efficiencyList(String userId, MdcEfficiencyReportQueryVo vo); +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java new file mode 100644 index 0000000..de8846c --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java @@ -0,0 +1,128 @@ +package org.jeecg.modules.mdc.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import net.sf.saxon.expr.Component; +import org.apache.commons.lang3.StringUtils; +import org.jeecg.modules.mdc.dto.MdcEfficiencyDto; +import org.jeecg.modules.mdc.dto.MdcEfficiencyListDto; +import org.jeecg.modules.mdc.dto.MdcEfficiencyResultDto; +import org.jeecg.modules.mdc.entity.MdcEquipment; +import org.jeecg.modules.mdc.entity.MdcUtilizationRate; +import org.jeecg.modules.mdc.mapper.MdcEfficiencyReportMapper; +import org.jeecg.modules.mdc.service.IMdcEquipmentService; +import org.jeecg.modules.mdc.service.IMdcUtilizationRateService; +import org.jeecg.modules.mdc.service.MdcEfficiencyReportService; +import org.jeecg.modules.mdc.util.DateUtils; +import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo; +import org.jeecg.modules.mdc.vo.MdcEfficiencyVo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author: LiuS + * @create: 2023-06-16 09:52 + */ +@Service +public class MdcEfficiencyReportServiceImpl implements MdcEfficiencyReportService { + + @Resource + private IMdcEquipmentService mdcEquipmentService; + + @Resource + private MdcEfficiencyReportMapper mdcEfficiencyReportMapper; + + @Resource + private IMdcUtilizationRateService mdcUtilizationRateService; + + /** + * 鍒╃敤鐜囨姤琛� + * + * @param userId + * @param vo + * @return + */ + @Override + public MdcEfficiencyVo efficiencyList(String userId, MdcEfficiencyReportQueryVo vo) { + MdcEfficiencyVo result = new MdcEfficiencyVo(); + List<MdcEfficiencyListDto> listDtos = new ArrayList<>(); + List<String> equipmentIds = new ArrayList<>(); + if (StringUtils.isNotEmpty(vo.getParentId()) && StringUtils.isEmpty(vo.getEquipmentId())) { + if ("2".equals(vo.getTypeTree())) { + // 閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, vo.getParentId()); + } else { + // 浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, vo.getParentId()); + } + } else if (StringUtils.isNotEmpty(vo.getEquipmentId())) { + // 鍗曞彴璁惧淇℃伅 + vo.setEquipmentIdList(Collections.singletonList(vo.getEquipmentId())); + } else { + // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭� + if ("2".equals(vo.getTypeTree())) { + // 閮ㄩ棬灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null); + } else { + // 浜х嚎灞傜骇 + equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null); + } + } + vo.setEquipmentIdList(equipmentIds); + + // 鏌ヨ鍒╃敤鐜囨暟鎹� + List<MdcEfficiencyDto> efficiencyList = mdcEfficiencyReportMapper.efficiencyList(vo); + // 鍒╃敤鐜囩瓑绾� + List<MdcUtilizationRate> mdcUtilizationRateList = mdcUtilizationRateService.listByType("lyl"); + + //灏佽缁撴灉 + List<MdcEfficiencyDto> equipmentList = efficiencyList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MdcEfficiencyDto::getEquipmentId))), ArrayList::new)); + + List<String> dates = DateUtils.getDatesStringList2(DateUtils.getShortDate2(vo.getStartTime()), DateUtils.getShortDate2(vo.getEndTime())); + + for (MdcEfficiencyDto mdcEfficiencyDto : equipmentList) { + MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto(); + mdcEfficiencyListDto.setEquipmentId(mdcEfficiencyDto.getEquipmentId()); + mdcEfficiencyListDto.setEquipmentName(mdcEfficiencyDto.getEquipmentName()); + mdcEfficiencyListDto.setEquipmentType(mdcEfficiencyDto.getEquipmentType()); + List<MdcEfficiencyResultDto> list = new ArrayList<>(); + for (String date : dates) { + list.add(this.efficiencyRate(efficiencyList, date, mdcEfficiencyDto, mdcUtilizationRateList)); + } + mdcEfficiencyListDto.setList(list); + listDtos.add(mdcEfficiencyListDto); + } + + result.setLists(listDtos); + result.setDates(dates); + + return result; + } + + private MdcEfficiencyResultDto efficiencyRate(List<MdcEfficiencyDto> efficiencyList, String date, MdcEfficiencyDto mdcEfficiencyDto, List<MdcUtilizationRate> mdcUtilizationRateList) { + MdcEfficiencyResultDto mdcEfficiencyResultDto = new MdcEfficiencyResultDto(); + for (MdcEfficiencyDto efficiencyDto : efficiencyList) { + if (date.equals(efficiencyDto.getTheDate()) && efficiencyDto.getEquipmentId().equals(mdcEfficiencyDto.getEquipmentId())) { + mdcEfficiencyResultDto.setTheDate(efficiencyDto.getTheDate()); + mdcEfficiencyResultDto.setProcessLong(efficiencyDto.getProcessLong()); + mdcEfficiencyResultDto.setUtilizationRate(efficiencyDto.getUtilizationRate()); + mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); + mdcEfficiencyResultDto.setStartRate(efficiencyDto.getStartRate()); + mdcEfficiencyResultDto.setOpenRate(efficiencyDto.getOpenRate()); + mdcEfficiencyResultDto.setOpenLong(efficiencyDto.getOpenLong()); + mdcEfficiencyResultDto.setWaitLong(efficiencyDto.getWaitLong()); + mdcEfficiencyResultDto.setCloseLong(efficiencyDto.getCloseLong()); + for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) { + if (efficiencyDto.getUtilizationRate().longValue() * 100 > mdcUtilizationRate.getMinimumRange() && efficiencyDto.getUtilizationRate().longValue() * 100 <= mdcUtilizationRate.getMaximumRange()) { + mdcEfficiencyResultDto.setColor(mdcUtilizationRate.getRateParameterColor()); + } + } + + } + } + return mdcEfficiencyResultDto; + } + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java index d57b283..865fa7e 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java @@ -155,8 +155,9 @@ list = notExecuteData; } } else { - if (notExecuteData != null && !notExecuteData.isEmpty()) + if (notExecuteData != null && !notExecuteData.isEmpty()) { list.addAll(notExecuteData); + } } } else { LambdaQueryWrapper<MdcEquipmentRunningSection> queryWrapper = new LambdaQueryWrapper<>(); diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java index 247a499..b9d4024 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcUtilizationRateServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.mdc.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,6 +14,7 @@ import javax.servlet.http.HttpServletRequest; import java.sql.Array; import java.util.Arrays; +import java.util.List; /** * @Description: 鐜囧弬鏁拌缃� @@ -56,4 +58,14 @@ public Boolean deleteBatchUtilization(String ids) { return this.removeByIds(Arrays.asList(ids.split(","))); } + + /** + * 鏍规嵁绫诲瀷鏌ヨ鍒╃敤鐜囧眰绾� + * @param type + * @return + */ + @Override + public List<MdcUtilizationRate> listByType(String type) { + return this.baseMapper.selectList(new LambdaQueryWrapper<MdcUtilizationRate>().eq(MdcUtilizationRate::getRateParameterType, type)); + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java index 25776c5..8f37912 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java @@ -635,6 +635,25 @@ return list; } + /** + * 鑾峰彇start/end鐨勬墍鏈夋棩鏈熷瓧绗︿覆 鏍煎紡yyyyMMdd + * @param start + * @param end + * @return + */ + public static List<String> getDatesStringList2(Date start, Date end) { + List<String> list = new ArrayList<>(); + int i = getDays(start, end); + for(int j = 0; j <= i; j++) { + if(j == 0) { + list.add(format(start, STRDATE)); + } else { + list.add(format(plusTime(start, j), STRDATE)); + } + } + return list; + } + public static List<String> getMonthBetween(Date start, Date end){ List<String> list = new ArrayList<>(); Calendar min = Calendar.getInstance(); @@ -666,6 +685,21 @@ return startTime == null ? removeTime(new Date()) : startTime; } + /** + * 鑾峰彇dateStr鐨勬棩鏈熸牸寮弝yyyMMdd + * @param dateStr + * @return + */ + public static Date getShortDate2(String dateStr) { + SimpleDateFormat sdf = new SimpleDateFormat(STRDATE); + Date startTime = null; + try { + startTime = sdf.parse(dateStr); + } catch (ParseException e) { + } + return startTime == null ? removeTime(new Date()) : startTime; + } + public static Date getFormatDate(String dateStr,String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); Date startTime = null; diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentCalendarVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentCalendarVo.java index 271c269..cd9e110 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentCalendarVo.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentCalendarVo.java @@ -13,10 +13,14 @@ public class EquipmentCalendarVo { private String equipmentId; - /*寮�濮嬫椂闂�*/ + /** + * 寮�濮嬫椂闂� + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") private LocalDate takeEffectDate; - /*缁撴潫鏃堕棿*/ + /** + * 缁撴潫鏃堕棿 + */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'") private LocalDate invalidDate; diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java new file mode 100644 index 0000000..6af5883 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyReportQueryVo.java @@ -0,0 +1,40 @@ +package org.jeecg.modules.mdc.vo; + +import lombok.Data; + +import java.util.List; + +/** + * @author: LiuS + * @create: 2023-06-15 17:58 + */ +@Data +public class MdcEfficiencyReportQueryVo { + + /** + * 寮�濮嬫椂闂� -> 20220101 + */ + private String startTime; + /** + * 缁撴潫鏃堕棿 -> 20220101 + */ + private String endTime; + /** + * 鏍戠被鍨� -> 1:杞﹂棿灞傜骇 2:閮ㄩ棬灞傜骇 + */ + private String typeTree; + /** + * 灞傜骇ID + */ + private String parentId; + /** + * 璁惧Id + */ + private String equipmentId; + + /** + * 璁惧ids + */ + private List<String> equipmentIdList; + +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyVo.java new file mode 100644 index 0000000..214c7ca --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEfficiencyVo.java @@ -0,0 +1,26 @@ +package org.jeecg.modules.mdc.vo; + +import lombok.Data; +import org.jeecg.modules.mdc.dto.MdcEfficiencyListDto; + +import java.util.List; + +/** + * @author: LiuS + * @create: 2023-06-16 09:44 + */ +@Data +public class MdcEfficiencyVo { + + /** + * 鍒╃敤鐜囨暟鎹� + */ + private List<MdcEfficiencyListDto> lists; + +// /** +// * 鍒╃敤鐜囨暟鎹� +// */ +// private List<MdcEfficiencyDto> list; + + private List<String> dates; +} -- Gitblit v1.9.3