From 582bb2627712f66157b5608c8f5798775fc38266 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 22 八月 2025 15:20:31 +0800 Subject: [PATCH] 设备管理首页 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml | 13 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml | 11 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamFactorySecondMaintPlanMapper.xml | 5 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 34 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 80 ++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 48 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamFactorySecondMaintPlanController.java | 167 ++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamFactorySecondMaintPlanMapper.java | 17 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java | 5 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java | 103 +++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java | 7 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java | 10 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java | 6 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java | 86 ++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java | 14 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java | 7 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java | 19 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EchartsDto.java | 52 ++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamFactorySecondMaintPlan.java | 69 +++++ 20 files changed, 761 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EchartsDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EchartsDto.java new file mode 100644 index 0000000..b7d7637 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EchartsDto.java @@ -0,0 +1,52 @@ +package org.jeecg.modules.eam.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * @Description: EchartsDto + * @Date:2021/5/20 + * @Version:V1.0 + */ +@Data +@Accessors(chain = true) +public class EchartsDto { + + public EchartsDto() { + + } + + public EchartsDto(String code, String name, String value, String total, String percentage) { + this.code = code; + this.name = name; + this.value = value; + this.total = total; + this.percentage = percentage; + } + + /** + * code + */ + private String code; + /** + * name + */ + private String name; + /** + * 鍊� + */ + private String value; + + /** + * 鎬绘暟 + */ + private String total; + + /** + * 鍗犳瘮 + */ + private String percentage; + + + +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamFactorySecondMaintPlan.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamFactorySecondMaintPlan.java new file mode 100644 index 0000000..7995efa --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamFactorySecondMaintPlan.java @@ -0,0 +1,69 @@ +package org.jeecg.modules.eam.entity; + +import java.io.Serializable; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @Description: 鈥滈椤佃溅闂翠簩淇濊鍒� + * @Author: jeecg-boot + * @Date: 2025-08-22 + * @Version: V1.0 + */ +@Data +@TableName("eam_factory_second_maint_plan") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="eam_factory_second_maint_plan瀵硅薄", description="鈥滈椤佃溅闂翠簩淇濊鍒�") +public class EamFactorySecondMaintPlan { + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @Excel(name = "鍒涘缓浜�", width = 15) + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃堕棿*/ + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + /**鏇存柊浜�*/ + @Excel(name = "鏇存柊浜�", width = 15) + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃堕棿*/ + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date updateTime; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + private Integer delFlag; + /**宸ュ巶ID*/ + @Excel(name = "宸ュ巶ID", width = 15) + @ApiModelProperty(value = "宸ュ巶ID") + private String factoryId; + /**宸ュ巶鍚嶇О*/ + @Excel(name = "宸ュ巶鍚嶇О", width = 15) + @ApiModelProperty(value = "宸ュ巶鍚嶇О") + private String factoryName; + /**璁″垝鏈堜唤*/ + @Excel(name = "璁″垝鏈堜唤", width = 15) + @ApiModelProperty(value = "璁″垝鏈堜唤") + private String monthPlan; + /**鏁伴噺*/ + @Excel(name = "鏁伴噺", width = 15) + @ApiModelProperty(value = "鏁伴噺") + private String quantity; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java index 30d1106..984e76b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.EamEquipment; import java.util.List; @@ -60,4 +61,11 @@ */ List<EamEquipment> selectThreeMaintenanceEquipmentList(@Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper); + /** + * 璁惧绠$悊棣栭〉 + * @param ids + * @return + */ + List<EchartsDto> echartsList(List<String> ids); + } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamFactorySecondMaintPlanMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamFactorySecondMaintPlanMapper.java new file mode 100644 index 0000000..b47bad4 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamFactorySecondMaintPlanMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.eam.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.EamFactorySecondMaintPlan; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 鈥滈椤佃溅闂翠簩淇濊鍒� + * @Author: jeecg-boot + * @Date: 2025-08-22 + * @Version: V1.0 + */ +public interface EamFactorySecondMaintPlanMapper extends BaseMapper<EamFactorySecondMaintPlan> { + +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java index 6c1eca2..7220a2a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java @@ -36,4 +36,11 @@ * @return */ IPage<EamReportRepairDto> queryPageList(Page<EamReportRepairDto> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportRepairDto> queryWrapper); + + /** + * 鍒楄〃鏌ヨ + * @param queryWrapper + * @return + */ + List<EamReportRepairDto> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamReportRepairDto> queryWrapper); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index bea93b0..b32141a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml @@ -77,4 +77,52 @@ on e.id = ext.id ${ew.customSqlSegment} </select> + <select id="echartsList" resultType="org.jeecg.modules.eam.dto.EchartsDto"> + SELECT COUNT + ( t.technology_status ) AS "value", + item.item_text AS "name", + item.item_value AS "code", + ( SELECT COUNT ( a.id ) FROM eam_equipment_extend a WHERE a.technology_status IS NOT NULL + <if test="ids != null and ids != ''"> + AND a.id IN + <foreach collection="ids" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + </if> + ) AS "total", + concat ( + round( + ISNULL ( + COUNT ( t.id ) / ( SELECT COUNT ( a.id ) FROM eam_equipment_extend a WHERE a.technology_status IS NOT NULL + <if test="ids != null and ids != ''"> + AND a.id IN + <foreach collection="ids" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + </if>), + 0 + ) * 100, + 2 + ), + '%' + ) AS "percentage" + FROM + sys_dict c + LEFT JOIN sys_dict_item item ON c.id = item.dict_id + LEFT JOIN eam_equipment_extend t ON t.technology_status = item.item_value + <if test="ids != null and ids != ''"> + AND t.id IN + <foreach collection="ids" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + </if> + WHERE + c.dict_code = 'equipment_technology_status' + GROUP BY + item.item_text, + t.technology_status, + item.item_value + ORDER BY + item.item_value + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamFactorySecondMaintPlanMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamFactorySecondMaintPlanMapper.xml new file mode 100644 index 0000000..8218c89 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamFactorySecondMaintPlanMapper.xml @@ -0,0 +1,5 @@ +<?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.eam.mapper.EamFactorySecondMaintPlanMapper"> + +</mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml index 036a908..a4d054b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml @@ -61,4 +61,17 @@ and aar.del_flag=0 ${ew.customSqlSegment} </select> + <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamReportRepairDto"> + select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model, e.installation_position, + aar.operation_certificate, power_off_restart, batch_first_piece, variable_factors, + variable_factors_value, execute_nc, accident_phenomenon, measure, causing_results + from eam_report_repair wmo + inner join eam_equipment e + on wmo.equipment_id = e.id + and e.del_flag=0 + left join eam_report_accidents_register aar + on wmo.id = aar.report_id + and aar.del_flag=0 + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java index a10838d..fb8dd6a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java @@ -1,6 +1,10 @@ package org.jeecg.modules.eam.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.EamEquipment; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamEquipmentQuery; @@ -82,4 +86,10 @@ * 鑾峰彇鍙敓鎴愪笁淇濆伐鍗曠殑璁惧鍒楄〃 */ List<EamEquipment> selectThreeMaintenanceEquipmentList(); + + /** + * 璁惧绠$悊棣栭〉-鎶�鏈姸鎬� + * @return + */ + List<EchartsDto> echartsList(); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java new file mode 100644 index 0000000..d6982db --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamFactorySecondMaintPlanService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.eam.service; + +import org.jeecg.modules.eam.entity.EamFactorySecondMaintPlan; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 鈥滈椤佃溅闂翠簩淇濊鍒� + * @Author: jeecg-boot + * @Date: 2025-08-22 + * @Version: V1.0 + */ +public interface IEamFactorySecondMaintPlanService extends IService<EamFactorySecondMaintPlan> { + +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java index c6252d3..66ac3ee 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.dto.EamReportRepairDto; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.request.EamReportRepairQuery; import org.jeecg.modules.eam.request.EamReportRepairRequest; @@ -68,4 +69,9 @@ */ EamReportRepair reportRepairFromThirdMaintenance(String equipmentId, String reportUser, List<EamThirdMaintenanceOrderDetail> detailList); + /** + * 璁惧绠$悊棣栭〉-璁惧鎶ヤ慨鏁呴殰鎯呭喌 + * @return + */ + List<EchartsDto> reportRepairList(); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java index 20b1c9b..24afdf3 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java @@ -15,6 +15,7 @@ import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; import org.jeecg.modules.eam.constant.*; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamEquipmentExtend; import org.jeecg.modules.eam.mapper.EamEquipmentMapper; @@ -428,6 +429,39 @@ } /** + * 璁惧绠$悊棣栭〉-鎶�鏈姸鎬� + * @return + */ + @Override + public List<EchartsDto> echartsList(){ + QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("e.del_flag", CommonConstant.DEL_FLAG_0); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return null; + } + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + //娌℃湁閫夋嫨璁惧锛屾牴鎹腑蹇冭繃婊よ澶� + List<BaseFactoryUser> baseFactoryUserList=baseFactoryUserService. + list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId,sysUser.getId())); + if(!CollectionUtils.isEmpty(baseFactoryUserList)){ + Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet()); + Set<String> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCode); + }else { + return null; + } + } + List<String> ids=this.baseMapper.queryList(queryWrapper).stream().map(EamEquipment::getId).collect(Collectors.toList()); + return this.baseMapper.echartsList(ids); + } + + /** * 鑾峰彇鎵�鏈夌殑浜х嚎id锛堝寘鍚墍鏈変笂绾э級 */ private void getAllProductionIds(List<MdcProduction> productionList, String productionId, List<String> allProductionIds) { diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java new file mode 100644 index 0000000..04ed629 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamFactorySecondMaintPlanServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.eam.service.impl; + +import org.jeecg.modules.eam.entity.EamFactorySecondMaintPlan; +import org.jeecg.modules.eam.mapper.EamFactorySecondMaintPlanMapper; +import org.jeecg.modules.eam.service.IEamFactorySecondMaintPlanService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 鈥滈椤佃溅闂翠簩淇濊鍒� + * @Author: jeecg-boot + * @Date: 2025-08-22 + * @Version: V1.0 + */ +@Service +public class EamFactorySecondMaintPlanServiceImpl extends ServiceImpl<EamFactorySecondMaintPlanMapper, EamFactorySecondMaintPlan> implements IEamFactorySecondMaintPlanService { + +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java index 331183b..a3e0161 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java @@ -17,7 +17,9 @@ import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; import org.jeecg.modules.eam.constant.*; +import org.jeecg.modules.eam.dto.EamRepairOrderDto; import org.jeecg.modules.eam.dto.EamReportRepairDto; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamReportRepairMapper; import org.jeecg.modules.eam.request.EamReportRepairQuery; @@ -37,6 +39,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -354,4 +358,103 @@ eamEquipmentExtendService.updateEquipmentRepairStatus(entity.getEquipmentId(), EquipmentRepairStatus.WAIT_REPAIR.name()); return entity; } + + public List<EchartsDto> reportRepairList() { + List<EchartsDto> echartsDtoList = new ArrayList<>(); + + // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + + QueryWrapper<EamReportRepairDto> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); + + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService + .list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return echartsDtoList; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + + Set<String> factoryIds = baseFactoryUserList.stream() + .map(BaseFactoryUser::getFactoryId) + .collect(Collectors.toSet()); + + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) + .stream() + .map(BaseFactory::getOrgCode) + .collect(Collectors.toSet()); + + queryWrapper.in("e.factory_org_code", factoryCodes); + } + + // 鑾峰彇鍩虹鏁版嵁 + List<EamReportRepairDto> baseList = this.baseMapper.queryList(queryWrapper); + int totalCount = baseList.size(); + + // 鑾峰彇鍋滄満鏁伴噺 + int shutdownCount = this.baseMapper.queryList( + queryWrapper.clone().eq("breakdown_flag", "1") + ).size(); + + // 璁$畻杩愯鏁伴噺 + int runningCount = totalCount - shutdownCount; + + // 澶勭悊闆跺�兼儏鍐� + if (totalCount == 0) { + // 娣诲姞鎵�鏈夐浂鍊兼暟鎹」 + addZeroValueData(echartsDtoList, "鎶ヤ慨鎬绘暟", "bx"); + addZeroValueData(echartsDtoList, "鍋滄満鎬绘暟", "stop"); + addZeroValueData(echartsDtoList, "杩愯鎬绘暟", "run"); + return echartsDtoList; + } + + // 璁$畻鐧惧垎姣� + BigDecimal total = new BigDecimal(totalCount); + String bxPercentage = calculatePercentage(totalCount, BigDecimal.valueOf(totalCount)); + String stopPercentage = calculatePercentage(shutdownCount, BigDecimal.valueOf(totalCount)); + String runPercentage = calculatePercentage(runningCount, BigDecimal.valueOf(totalCount)); + + // 鏋勫缓杩斿洖鏁版嵁 + echartsDtoList.add(createEchartsDto("鎶ヤ慨鎬绘暟", "bx", totalCount, bxPercentage)); + echartsDtoList.add(createEchartsDto("鍋滄満鎬绘暟", "stop", shutdownCount, stopPercentage)); + echartsDtoList.add(createEchartsDto("杩愯鎬绘暟", "run", runningCount, runPercentage)); + + return echartsDtoList; + } + + // 杈呭姪鏂规硶锛氭坊鍔犻浂鍊兼暟鎹� + private void addZeroValueData(List<EchartsDto> list, String name, String code) { + EchartsDto dto = new EchartsDto(); + dto.setName(name); + dto.setCode(code); + dto.setValue("0"); + dto.setPercentage("0.00%"); + list.add(dto); + } + + // 杈呭姪鏂规硶锛氳绠楃櫨鍒嗘瘮 + private String calculatePercentage(int value, BigDecimal total) { + return new BigDecimal(value) + .multiply(new BigDecimal(100)) + .divide(total, 2, RoundingMode.HALF_UP) + "%"; + } + + // 杈呭姪鏂规硶锛氬垱寤篍chartsDto瀵硅薄 + private EchartsDto createEchartsDto(String name, String code, int value, String percentage) { + EchartsDto dto = new EchartsDto(); + dto.setName(name); + dto.setCode(code); + dto.setValue(String.valueOf(value)); + dto.setPercentage(percentage); + return dto; + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamFactorySecondMaintPlanController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamFactorySecondMaintPlanController.java new file mode 100644 index 0000000..b5e6fc8 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamFactorySecondMaintPlanController.java @@ -0,0 +1,167 @@ +package org.jeecg.modules.eam.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.eam.entity.EamFactorySecondMaintPlan; +import org.jeecg.modules.eam.service.IEamFactorySecondMaintPlanService; +import java.util.Date; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + + /** + * @Description: 鈥滈椤佃溅闂翠簩淇濊鍒� + * @Author: jeecg-boot + * @Date: 2025-08-22 + * @Version: V1.0 + */ +@Slf4j +@Api(tags="鈥滈椤佃溅闂翠簩淇濊鍒�") +@RestController +@RequestMapping("/eam/eamFactorySecondMaintPlan") +public class EamFactorySecondMaintPlanController extends JeecgController<EamFactorySecondMaintPlan, IEamFactorySecondMaintPlanService> { + @Autowired + private IEamFactorySecondMaintPlanService eamFactorySecondMaintPlanService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param eamFactorySecondMaintPlan + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "鈥滈椤佃溅闂翠簩淇濊鍒�-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="鈥滈椤佃溅闂翠簩淇濊鍒�-鍒嗛〉鍒楄〃鏌ヨ", notes="鈥滈椤佃溅闂翠簩淇濊鍒�-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamFactorySecondMaintPlan eamFactorySecondMaintPlan, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<EamFactorySecondMaintPlan> queryWrapper = QueryGenerator.initQueryWrapper(eamFactorySecondMaintPlan, req.getParameterMap()); + Page<EamFactorySecondMaintPlan> page = new Page<EamFactorySecondMaintPlan>(pageNo, pageSize); + IPage<EamFactorySecondMaintPlan> pageList = eamFactorySecondMaintPlanService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param eamFactorySecondMaintPlan + * @return + */ + @AutoLog(value = "鈥滈椤佃溅闂翠簩淇濊鍒�-娣诲姞") + @ApiOperation(value="鈥滈椤佃溅闂翠簩淇濊鍒�-娣诲姞", notes="鈥滈椤佃溅闂翠簩淇濊鍒�-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamFactorySecondMaintPlan eamFactorySecondMaintPlan) { + eamFactorySecondMaintPlanService.save(eamFactorySecondMaintPlan); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param eamFactorySecondMaintPlan + * @return + */ + @AutoLog(value = "鈥滈椤佃溅闂翠簩淇濊鍒�-缂栬緫") + @ApiOperation(value="鈥滈椤佃溅闂翠簩淇濊鍒�-缂栬緫", notes="鈥滈椤佃溅闂翠簩淇濊鍒�-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<?> edit(@RequestBody EamFactorySecondMaintPlan eamFactorySecondMaintPlan) { + eamFactorySecondMaintPlanService.updateById(eamFactorySecondMaintPlan); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鈥滈椤佃溅闂翠簩淇濊鍒�-閫氳繃id鍒犻櫎") + @ApiOperation(value="鈥滈椤佃溅闂翠簩淇濊鍒�-閫氳繃id鍒犻櫎", notes="鈥滈椤佃溅闂翠簩淇濊鍒�-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<?> delete(@RequestParam(name="id",required=true) String id) { + eamFactorySecondMaintPlanService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鈥滈椤佃溅闂翠簩淇濊鍒�-鎵归噺鍒犻櫎") + @ApiOperation(value="鈥滈椤佃溅闂翠簩淇濊鍒�-鎵归噺鍒犻櫎", notes="鈥滈椤佃溅闂翠簩淇濊鍒�-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.eamFactorySecondMaintPlanService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @AutoLog(value = "鈥滈椤佃溅闂翠簩淇濊鍒�-閫氳繃id鏌ヨ") + @ApiOperation(value="鈥滈椤佃溅闂翠簩淇濊鍒�-閫氳繃id鏌ヨ", notes="鈥滈椤佃溅闂翠簩淇濊鍒�-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<?> queryById(@RequestParam(name="id",required=true) String id) { + EamFactorySecondMaintPlan eamFactorySecondMaintPlan = eamFactorySecondMaintPlanService.getById(id); + return Result.OK(eamFactorySecondMaintPlan); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param eamFactorySecondMaintPlan + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, EamFactorySecondMaintPlan eamFactorySecondMaintPlan) { + return super.exportXls(request, eamFactorySecondMaintPlan, EamFactorySecondMaintPlan.class, "鈥滈椤佃溅闂翠簩淇濊鍒�"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, EamFactorySecondMaintPlan.class); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java new file mode 100644 index 0000000..bf90445 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamHomeController.java @@ -0,0 +1,86 @@ +package org.jeecg.modules.eam.controller; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.eam.dto.EchartsDto; +import org.jeecg.modules.eam.entity.EamFactorySecondMaintPlan; +import org.jeecg.modules.eam.service.IEamEquipmentService; +import org.jeecg.modules.eam.service.IEamFactorySecondMaintPlanService; +import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Lyh + * @Description: EAM棣栭〉鎺ュ彛 + * @date 2024/3/13 14:27 + */ +@Slf4j +@Api(tags = "EAM棣栭〉鎺ュ彛") +@RestController +@RequestMapping("/eam/home") +public class EamHomeController { + @Autowired + private IEamEquipmentService iEamEquipmentService; + + @Autowired + private IEamReportRepairService iEamReportRepairService; + + @Autowired + private IEamThirdMaintenanceOrderService iEamThirdMaintenanceOrderService; + + @Autowired + private IEamFactorySecondMaintPlanService iEamFactorySecondMaintPlanService; + + /** + * 璁惧绠$悊棣栭〉-鎶�鏈姸鎬佷笌璁惧鎶ヤ慨鏁呴殰鎯呭喌 + * @param + * @return + */ + @ApiOperation(value = "璁惧绠$悊棣栭〉-鎶�鏈姸鎬佷笌璁惧鎶ヤ慨鏁呴殰鎯呭喌", notes = "璁惧绠$悊棣栭〉-鎶�鏈姸鎬佷笌璁惧鎶ヤ慨鏁呴殰鎯呭喌") + @GetMapping(value = "/techornology") + public Result<?> techOrNology() { + //鎶�鏈姸鎬� + List<EchartsDto> echartsDtoList=iEamEquipmentService.echartsList(); + //璁惧鎶ヤ慨鏁呴殰鎯呭喌 + List<EchartsDto> echartsDtoList1=iEamReportRepairService.reportRepairList(); + Map<String,Object> map=new HashMap<>(); + map.put("jszt",echartsDtoList); + map.put("bxqk",echartsDtoList1); + return Result.ok(map); + } + + /** + * 璁惧绠$悊棣栭〉-涓夌骇淇濆吇 + * @param + * @return + */ + @ApiOperation(value = "璁惧绠$悊棣栭〉-涓夌骇淇濆吇", notes = "璁惧绠$悊棣栭〉-涓夌骇淇濆吇") + @GetMapping(value = "/maintenance") + public Result<?> maintenance() { + //涓夌骇淇濆吇 + List<EchartsDto> echartsDtoList = iEamThirdMaintenanceOrderService.selectList(); + return Result.ok(echartsDtoList); + } + + /** + * 璁惧绠$悊棣栭〉-浜屼繚鍒楄〃 + * @param + */ + @ApiOperation(value = "璁惧绠$悊棣栭〉-浜屼繚鍒楄〃", notes = "璁惧绠$悊棣栭〉-浜屼繚鍒楄〃") + @GetMapping(value = "/secondmaintenance") + public Result<?> secondmaintenance() { + //浜岀骇淇濆吇 + List<EamFactorySecondMaintPlan> echartsDtoList = iEamFactorySecondMaintPlanService.list(); + return Result.ok(echartsDtoList); + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java index 54e5579..677695a 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java @@ -31,6 +31,11 @@ /** * 鍒楄〃鏌ヨ + */ + List<EamThirdMaintenanceOrder> queryAsList(@Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceOrder> queryWrapper); + + /** + * 鍒楄〃鏌ヨ * @param queryWrapper * @return */ diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml index e89ebba..498f3ef 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml @@ -49,4 +49,15 @@ LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 ) ${ew.customSqlSegment} </select> + <select id="queryAsList" resultType="org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder"> + select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model,f.process_instance_id as 'procInstId', + f.process_definition_key, + f.process_definition_id, + f.process_instance_id + from eam_third_maintenance_order wmo + inner join eam_equipment e + on wmo.equipment_id = e.id + left join flow_my_business f on f.data_id=wmo.id + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java index 3c74110..ba1132b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java @@ -6,6 +6,7 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExportYj; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery; @@ -102,4 +103,10 @@ * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇楠屾敹鍗� */ List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids); + + /** + * 璁惧绠$悊棣栭〉-涓変繚璁″垝 + * @return + */ + List<EchartsDto> selectList(); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index be80f73..ffdd2f4 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -27,6 +27,7 @@ import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExportYj; +import org.jeecg.modules.eam.dto.EchartsDto; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; @@ -54,6 +55,7 @@ import javax.annotation.Resource; import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -700,6 +702,84 @@ } /** + * 璁惧绠$悊棣栭〉-涓変繚璁″垝 + * @return + */ + @Override + public List<EchartsDto> selectList() { + List<EchartsDto> echartsDtos = new ArrayList<>(); + + // 鐢ㄦ埛鏁版嵁鏉冮檺妫�鏌� + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + + QueryWrapper<EamThirdMaintenanceOrder> queryWrapper = new QueryWrapper<>(); + + // 璁惧杩囨护閫昏緫 + if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) { + List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(",")); + queryWrapper.in("e.equipment_code", equipArr); + } else { + List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService + .list(new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, sysUser.getId())); + + if (CollectionUtils.isEmpty(baseFactoryUserList)) { + return echartsDtos; // 杩斿洖绌哄垪琛ㄨ�岄潪null + } + + Set<String> factoryIds = baseFactoryUserList.stream() + .map(BaseFactoryUser::getFactoryId) + .collect(Collectors.toSet()); + + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds) + .stream() + .map(BaseFactory::getOrgCode) + .collect(Collectors.toSet()); + + queryWrapper.in("e.factory_org_code", factoryCodes); + } + + // 鑾峰彇褰撳墠骞存湀鍜屼笅涓や釜鏈堢殑骞存湀瀛楃涓� + String currentYearMonth = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM")); + String nextMonth = LocalDate.now().plusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM")); + String nextNextMonth = LocalDate.now().plusMonths(2).format(DateTimeFormatter.ofPattern("yyyy-MM")); + + // 鏈湀涓変繚璁″垝鎬绘暟 + List<EamThirdMaintenanceOrder> currentMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", currentYearMonth) + ); + echartsDtos.add(new EchartsDto("bysbzs", "鏈湀涓変繚璁″垝鎬绘暟", + String.valueOf(currentMonthOrders.size()), null, null)); + + // 鏈湀瀹屾垚 + List<EamThirdMaintenanceOrder> currentMonthCompleted = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", currentYearMonth) + .eq("maintenance_status", ThirdMaintenanceStatusEnum.COMPLETE.name()) + ); + echartsDtos.add(new EchartsDto("bwc", "鏈湀瀹屾垚", + String.valueOf(currentMonthCompleted.size()), null, null)); + + // 涓嬫湀涓変繚璁″垝 + List<EamThirdMaintenanceOrder> nextMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", nextMonth) + ); + echartsDtos.add(new EchartsDto("xysb", "涓嬫湀涓変繚璁″垝", + String.valueOf(nextMonthOrders.size()), null, null)); + + // 涓嬩笅鏈堜笁淇濊鍒� + List<EamThirdMaintenanceOrder> nextNextMonthOrders = this.baseMapper.queryAsList( + queryWrapper.clone().like("maintenance_date", nextNextMonth) + ); + echartsDtos.add(new EchartsDto("xxysb", "涓嬩笅鏈堜笁淇濊鍒�", + String.valueOf(nextNextMonthOrders.size()), null, null)); + + return echartsDtos; + } + + /** * 鏇存柊宸ュ崟鐘舵�� */ private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) { -- Gitblit v1.9.3