From 4545af9041b432cbe79214d52be599e4ce8659aa Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 14 八月 2025 15:55:39 +0800 Subject: [PATCH] 二保结构树代码 维修工单添加 领取按钮 领取后 生成维修开始时间 提交后 生成维修结束时间 计算 维修时长 故障时长 添加导出 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java | 153 +++++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java | 12 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java | 19 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamRepairOrderExport.java | 188 ++++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java | 48 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java | 6 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java | 8 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java | 12 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java | 15 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java | 88 ++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml | 10 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java | 4 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EamEquipmentTree.java | 11 + 15 files changed, 572 insertions(+), 16 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamRepairOrderExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamRepairOrderExport.java new file mode 100644 index 0000000..177e94c --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamRepairOrderExport.java @@ -0,0 +1,188 @@ +package org.jeecg.modules.eam.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 缁翠慨宸ュ崟 + * @Author: Lius + * @Date: 2025-04-03 + */ +@Data +@TableName("eam_repair_order") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "eam_repair_order瀵硅薄", description = "缁翠慨宸ュ崟瀵煎嚭") +public class EamRepairOrderExport { + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + + /** 鎶ヤ慨ID*/ + @ApiModelProperty(value = "鎶ヤ慨ID") + private String reportId; + /**璁惧鍚嶇О*/ + @ApiModelProperty(value = "璁惧ID") + @Dict(dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_name") + private String equipmentId; + /** + * 璁惧缂栫爜 + */ + @Excel(name = "缁熶竴缂栫爜", width = 15) + @TableField(exist = false) + @ApiModelProperty(value = "缁熶竴缂栫爜") + private String equipmentCode; + /** + * 璁惧鍚嶇О + */ + @Excel(name = "璁惧鍚嶇О", width = 15) + @TableField(exist = false) + @ApiModelProperty(value = "璁惧鍚嶇О") + private String equipmentName; + /** + * 璁惧鍨嬪彿 + */ + @Excel(name = "璁惧鍨嬪彿", width = 15) + @TableField(exist = false) + @ApiModelProperty(value = "璁惧鍨嬪彿") + private String equipmentModel; + + /**缁翠慨鐘舵��*/ + @Excel(name = "缁翠慨鐘舵��", width = 15,dicCode = "repair_status") + @ApiModelProperty(name = "缁翠慨鐘舵��",notes = "寰呯淮淇�佺淮淇腑銆佸緟纭銆佺淮淇畬鎴�") + @Dict(dicCode = "repair_status") + private String repairStatus; + + /**棰嗗彇鐘舵��*/ + @Excel(name = "棰嗗彇鐘舵��", width = 15,dicCode = "claim_status") + @ApiModelProperty(name = "棰嗗彇鐘舵��",notes = "鏈鍙栥�佸凡棰嗗彇") + @Dict(dicCode = "claim_status") + private String claimStatus; + + /** + * 宸ュ崟缂栧彿 + */ + @Excel(name = "宸ュ崟缂栧彿", width = 15) + @ApiModelProperty(value = "宸ュ崟缂栧彿") + private String repairCode; + + /**鏁呴殰绫诲瀷*/ + @Excel(name = "鏁呴殰绫诲瀷", width = 15,dicCode = "fault_type") + @ApiModelProperty(value = "鏁呴殰绫诲瀷") + @Dict(dicCode = "fault_type") + private String faultType; + + /**鎶ヤ慨浜�*/ + @Excel(name = "鎶ヤ慨浜�", width = 15,dictTable = "sys_user", dicCode = "username", dicText = "realname") + @ApiModelProperty(value = "鎶ヤ慨浜�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") + private String reportPerson; + + /** 缁翠慨寮�濮嬫椂闂� */ + @Excel(name = "缁翠慨寮�濮嬫椂闂�", width = 15,format = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(name = "缁翠慨寮�濮嬫椂闂�",notes = "") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date actualStartTime; + + /** 缁翠慨缁撴潫鏃堕棿 */ + @Excel(name = "缁翠慨缁撴潫鏃堕棿", width = 15,format = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(name = "缁翠慨缁撴潫鏃堕棿",notes = "") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date actualEndTime; + + /** 缁翠慨鏃堕暱*/ + @Excel(name = "缁翠慨鏃堕暱", width = 15) + @ApiModelProperty(name = "缁翠慨鏃堕暱",notes = "") + private String repairDuration; + + /**鏁呴殰鏃堕暱*/ + @Excel(name = "鏁呴殰鏃堕暱", width = 15) + @ApiModelProperty(name = "鏁呴殰鏃堕暱",notes = "") + private String faultDuration; + + /** 缁翠慨纭 */ + @Excel(name = "缁翠慨纭", width = 15,dictTable = "sys_user", dicCode = "username", dicText = "realname") + @ApiModelProperty(name = "缁翠慨纭",notes = "") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") + private String repairConfirm; + + /** 缁翠慨纭鎰忚 */ + @Excel(name = "缁翠慨纭鎰忚", width = 15) + @ApiModelProperty(name = "缁翠慨纭鎰忚",notes = "") + private String repairConfirmComment; + + /** 缁翠慨纭鏃堕棿 */ + @Excel(name = "缁翠慨纭鏃堕棿", width = 15,format = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(name = "缁翠慨纭鏃堕棿",notes = "") + private Date repairConfirmTime; + + /**鏁呴殰鐜拌薄*/ + @Excel(name = "鏁呴殰鐜拌薄", width = 15) + @ApiModelProperty(value = "鏁呴殰鐜拌薄") + private String faultPhenomenon; + + /** 鏁呴殰鍘熷洜 */ + @Excel(name = "鏁呴殰鍘熷洜", width = 15) + @ApiModelProperty(name = "鏁呴殰鍘熷洜",notes = "") + private String faultReason; + + /** 鏁呴殰鍒嗘瀽 */ + @Excel(name = "鏁呴殰鍒嗘瀽", width = 15) + @ApiModelProperty(name = "鏁呴殰鍒嗘瀽",notes = "") + private String faultAnalysis; + + /** 鎺掓晠杩囩▼ */ + @Excel(name = "鎺掓晠杩囩▼", width = 15) + @ApiModelProperty(name = "鎺掓晠杩囩▼",notes = "") + private String faultProcess; + + /** 棰勯槻鎺柦 */ + @Excel(name = "棰勯槻鎺柦", width = 15) + @ApiModelProperty(name = "棰勯槻鎺柦",notes = "") + private String faultPrevent; + + /** 鎿嶄綔宸� */ + @Excel(name = "鎿嶄綔宸�", width = 15,dictTable = "sys_user", dicCode = "username", dicText = "realname") + @ApiModelProperty(name = "鎿嶄綔宸�",notes = "") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") + private String confirmer; + + /** 鎿嶄綔宸ョ‘璁ょ粨鏋�*/ + @Excel(name = "鎿嶄綔宸ョ‘璁ょ粨鏋�", width = 15) + @ApiModelProperty(name = "鎿嶄綔宸ョ‘璁ょ粨鏋�",notes = "") + private String confirmResult; + + /** 鎿嶄綔宸ョ‘璁ゆ剰瑙� */ + @Excel(name = "鎿嶄綔宸ョ‘璁ゆ剰瑙�", width = 15) + @ApiModelProperty(name = "鎿嶄綔宸ョ‘璁ゆ剰瑙�",notes = "") + private String confirmComment; + + /** 鎿嶄綔宸ョ‘璁ゆ椂闂�*/ + @Excel(name = "鎿嶄綔宸ョ‘璁ゆ椂闂�", width = 15,format = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鎿嶄綔宸ョ‘璁ゆ椂闂�") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date confirmTime; + + @TableField(exist = false) + private String installationPosition; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java index e35853c..198f15f 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java @@ -470,6 +470,18 @@ @TableField(exist = false) private String thirdMaintenanceGenerateFlag; + /** + * 淇濆吇瑙勮寖鍚嶇О + */ + @TableField(exist = false) + private String maintenanceStandardName; + + /** + * 淇濆吇瑙勮寖Id + */ + @TableField(exist = false) + private String maintenanceStandardId; + public void setFactoryOrgCode(String factoryOrgCode){ this.factoryOrgCode = factoryOrgCode; diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java index 04db245..655ca3f 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java @@ -72,10 +72,14 @@ @ApiModelProperty(value = "璁惧ID") @Dict(dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_name") private String equipmentId; - /** 缁翠慨鐘舵��*/ + /**缁翠慨鐘舵��*/ @ApiModelProperty(name = "缁翠慨鐘舵��",notes = "寰呯淮淇�佺淮淇腑銆佸緟纭銆佺淮淇畬鎴�") @Dict(dicCode = "repair_status") private String repairStatus; + /**棰嗗彇鐘舵��*/ + @ApiModelProperty(name = "棰嗗彇鐘舵��",notes = "鏈鍙栥�佸凡棰嗗彇") + @Dict(dicCode = "claim_status") + private String claimStatus; /**鏁呴殰绫诲瀷*/ @Excel(name = "鏁呴殰绫诲瀷", width = 15) @ApiModelProperty(value = "鏁呴殰绫诲瀷") @@ -100,6 +104,12 @@ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date actualEndTime; + /** 缁翠慨鏃堕暱*/ + @ApiModelProperty(name = "缁翠慨鏃堕暱",notes = "") + private String repairDuration; + /**鏁呴殰鏃堕暱*/ + @ApiModelProperty(name = "鏁呴殰鏃堕暱",notes = "") + private String faultDuration; /** 缁翠慨纭 */ @ApiModelProperty(name = "缁翠慨纭",notes = "") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java index 5213ff2..3c2fe99 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.dto.EamRepairOrderExport; import org.jeecg.modules.eam.entity.EamRepairOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.request.EamRepairOrderQuery; @@ -36,4 +37,11 @@ * @return */ IPage<EamRepairOrder> queryPageList(Page<EamRepairOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamRepairOrder> queryWrapper); + + /** + * 瀵煎嚭鍒楄〃鏌ヨ + * @param queryWrapper + * @return + */ + List<EamRepairOrderExport> queryExportList(@Param(Constants.WRAPPER) QueryWrapper<EamRepairOrderExport> queryWrapper); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml index 3a92e7d..b92d089 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml @@ -52,4 +52,11 @@ on wmo.equipment_id = e.id ${ew.customSqlSegment} </select> + <select id="queryExportList" resultType="org.jeecg.modules.eam.dto.EamRepairOrderExport"> + select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model, e.installation_position + from eam_repair_order wmo + inner join eam_equipment e + on wmo.equipment_id = e.id + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java index a3417c6..604c72c 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java @@ -4,12 +4,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import liquibase.pro.packaged.S; import org.jeecg.modules.eam.dto.EamRepairOrderDto; +import org.jeecg.modules.eam.dto.EamRepairOrderExport; +import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamRepairOrder; import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.eam.request.EamRepairOrderQuery; -import org.jeecg.modules.eam.request.EamRepairOrderRequest; -import org.jeecg.modules.eam.request.EamRepairOrderResponse; -import org.jeecg.modules.eam.request.EamReportRepairQuery; +import org.jeecg.modules.eam.request.*; import java.util.List; @@ -54,4 +53,12 @@ EamRepairOrder perform(EamRepairOrderRequest request); EamRepairOrderResponse findById(String id); + + + /** + * 缁翠慨宸ュ崟瀵煎嚭 + * @param eamRepairOrderQuery + * @return + */ + List<EamRepairOrderExport> exportList(EamRepairOrderQuery eamRepairOrderQuery); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java index 15ca1f2..1f74848 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java @@ -19,6 +19,7 @@ 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.EamRepairOrderExport; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamRepairOrder; import org.jeecg.modules.eam.entity.EamRepairPerson; @@ -36,6 +37,7 @@ import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.flowable.service.IFlowDefinitionService; import org.jeecg.modules.flowable.service.IFlowTaskService; +import org.jeecg.modules.flowable.util.TimeUtil; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.service.IBaseFactoryService; @@ -205,6 +207,18 @@ } BeanUtils.copyProperties(eamRepairOrderDto,eamRepairOrder); eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); + eamRepairOrder.setActualEndTime(new Date()); + //璁$畻缁翠慨鏃堕棿涓庢晠闅滄椂闂� + Date startTime; + Date endTime; + //缁翠慨缁撴潫鏃堕棿-缁翠慨寮�濮嬫椂闂�=缁翠慨鏃堕暱 + startTime=eamRepairOrder.getActualStartTime(); + endTime=eamRepairOrder.getActualEndTime(); + eamRepairOrder.setRepairDuration(TimeUtil.howLong(startTime,endTime,2)); + //缁翠慨缁撴潫鏃堕棿-鏁呴殰鎶ヤ慨鏃堕棿=鏁呴殰鏃堕暱 + startTime=eamRepairOrder.getCreateTime(); + endTime=eamRepairOrder.getActualEndTime(); + eamRepairOrder.setFaultDuration(TimeUtil.howLong(startTime,endTime,2)); this.updateById(eamRepairOrder); EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId()); if (eamReportRepair==null){ @@ -237,12 +251,6 @@ } if (StrUtil.isEmpty(eamRepairOrder.getRepairCode())) { throw new RuntimeException("宸ュ崟缂栧彿涓虹┖"); - } - if (eamRepairOrder.getActualStartTime()==null){ - throw new RuntimeException("缁翠慨寮�濮嬫椂闂翠负绌�"); - } - if (eamRepairOrder.getActualEndTime()==null){ - throw new RuntimeException("缁翠慨缁撴潫鏃堕棿涓虹┖"); } if (StrUtil.isEmpty(eamRepairOrder.getFaultReason())){ throw new RuntimeException("鏁呴殰鍘熷洜涓虹┖"); @@ -371,6 +379,74 @@ return eamRepairOrderResponse; } + /** + * 缁翠慨宸ュ崟瀵煎嚭 + * @param eamRepairOrderQuery + * @return + */ + @Override + public List<EamRepairOrderExport> exportList(EamRepairOrderQuery eamRepairOrderQuery){ + QueryWrapper<EamRepairOrderExport> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag", CommonConstant.DEL_FLAG_0); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return new ArrayList<>(); + } + 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 new ArrayList<>(); + } + } + //鏌ヨ鏉′欢杩囨护 + if (eamRepairOrderQuery != null) { + if (StringUtils.isNotBlank(eamRepairOrderQuery.getEquipmentId())) { + queryWrapper.eq("wmo.equipment_id", eamRepairOrderQuery.getEquipmentId()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getEquipmentCode())) { + queryWrapper.like("e.equipment_code", eamRepairOrderQuery.getEquipmentCode()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getEquipmentName())) { + queryWrapper.like("e.equipment_name", eamRepairOrderQuery.getEquipmentName()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getRepairStatus())) { + queryWrapper.eq("wmo.repair_status", eamRepairOrderQuery.getRepairStatus()); + } + if (StringUtils.isNotBlank(eamRepairOrderQuery.getRepairCode())) { + queryWrapper.like("wmo.repair_code", eamRepairOrderQuery.getRepairCode()); + } + //鎺掑簭 + if (StringUtils.isNotBlank(eamRepairOrderQuery.getColumn()) && StringUtils.isNotBlank(eamRepairOrderQuery.getOrder())) { + String column = eamRepairOrderQuery.getColumn(); + if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { + column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); + } + if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(eamRepairOrderQuery.getOrder())) { + queryWrapper.orderByAsc("wmo." + oConvertUtils.camelToUnderline(column)); + } else { + queryWrapper.orderByDesc("wmo." + oConvertUtils.camelToUnderline(column)); + } + } else { + queryWrapper.orderByDesc("wmo.create_time"); + } + } else { + queryWrapper.orderByDesc("wmo.create_time"); + } + return this.baseMapper.queryExportList(queryWrapper); + + } + private boolean claimTask(String taskId, LoginUser user) { Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); if (task == null) { diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EamEquipmentTree.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EamEquipmentTree.java index 222d290..8ee85cc 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EamEquipmentTree.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/vo/EamEquipmentTree.java @@ -72,6 +72,15 @@ */ private String orgType; + /** + * 淇濆吇瑙勮寖鍚嶇О + */ + private String maintenanceStandardName; + + /** + * 淇濆吇瑙勮寖Id + */ + private String maintenanceStandardId; private List<EamEquipmentTree> children = new ArrayList<>(); @@ -87,6 +96,8 @@ this.title = mdcEquipment.getEquipmentCode() + "/" + mdcEquipment.getEquipmentName(); this.equipmentId = mdcEquipment.getEquipmentCode(); this.equipmentName = mdcEquipment.getEquipmentName(); + this.maintenanceStandardId=mdcEquipment.getMaintenanceStandardId(); + this.maintenanceStandardName=mdcEquipment.getMaintenanceStandardName(); this.isLeaf = true; return this; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java index f840478..30e0f98 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java @@ -15,6 +15,7 @@ import org.jeecg.common.util.TranslateDictTextUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.dto.EamRepairOrderDto; +import org.jeecg.modules.eam.dto.EamRepairOrderExport; import org.jeecg.modules.eam.entity.EamRepairOrder; import org.jeecg.modules.eam.request.EamRepairOrderQuery; import org.jeecg.modules.eam.request.EamRepairOrderRequest; @@ -27,10 +28,16 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; + +import java.util.Date; +import java.util.List; /** * @Description: 缁翠慨宸ュ崟 @@ -75,7 +82,33 @@ /** * 棰嗗彇 - * + * @param id + * @return + */ + @AutoLog(value = "缁翠慨宸ュ崟-棰嗗彇") + @ApiOperation(value = "缁翠慨宸ュ崟-棰嗗彇", notes = "缁翠慨宸ュ崟-棰嗗彇") + @GetMapping(value = "/claim") + public Result<?> claim(String id) { + // 鏍¢獙棰嗗彇鏉冮檺 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (!BusinessCodeConst.PCR0002.equals(user.getPost())) { + return Result.error("棰嗗彇澶辫触,娌℃湁棰嗗彇鏉冮檺锛�,闇�缁翠慨宸ラ鍙�"); + } + EamRepairOrder eamRepairOrder=eamRepairOrderService.getById(id); + if (eamRepairOrder==null) { + return Result.error("缁翠慨宸ュ崟涓嶅瓨鍦�"); + }else { + if ("1".equals(eamRepairOrder.getClaimStatus())) { + return Result.error("璇ョ淮淇伐鍗曞凡琚鍙�"); + } + } + eamRepairOrder.setClaimStatus("1"); + eamRepairOrder.setActualStartTime(new Date()); + eamRepairOrderService.updateById(eamRepairOrder); + return Result.OK("棰嗗彇鎴愬姛"); + } + /** + * 鎻愪氦 * @param id * @return */ @@ -184,11 +217,18 @@ * 瀵煎嚭excel * * @param request - * @param eamRepairOrder + * @param eamRepairOrderQuery */ @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, EamRepairOrder eamRepairOrder) { - return super.exportXls(request, eamRepairOrder, EamRepairOrder.class, "缁翠慨宸ュ崟"); + public ModelAndView exportXls(HttpServletRequest request, EamRepairOrderQuery eamRepairOrderQuery) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List<EamRepairOrderExport> eamRepairOrderExports=eamRepairOrderService.exportList(eamRepairOrderQuery); + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "缁翠慨宸ュ崟鍙拌处"); //姝ゅ璁剧疆鐨刦ilename鏃犳晥 ,鍓嶇浼氶噸鏇存柊璁剧疆涓�涓� + mv.addObject(NormalExcelConstants.CLASS, EamRepairOrderExport.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("缁翠慨宸ュ崟鍙拌处" + "鎶ヨ〃", "瀵煎嚭浜�:" + sysUser.getRealname(), "缁翠慨宸ュ崟鍙拌处")); + mv.addObject(NormalExcelConstants.DATA_LIST, eamRepairOrderExports); + return mv; } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java index 2405991..e5c3882 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java @@ -21,6 +21,7 @@ import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest; import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService; +import org.jeecg.modules.eam.vo.EamEquipmentTree; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -70,6 +71,24 @@ } /** + * 浜屼繚鎵归噺鏍戠粨鏋� + * + */ + @ApiOperation(value = "璁惧浜岀骇淇濆吇-浜屼繚鎵归噺鏍戠粨鏋�", notes = "璁惧浜岀骇淇濆吇-浜屼繚鎵归噺鏍戠粨鏋�") + @GetMapping(value = "/BatchTreeStructure") + public Result<List<EamEquipmentTree>> BatchTreeStructure() { + Result<List<EamEquipmentTree>> result = new Result<>(); + try { + List<EamEquipmentTree> mdcEquipmentTreeList =eamSecondMaintenanceOrderService.getTree(); + result.setSuccess(true); + result.setResult(mdcEquipmentTreeList); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + return result; + } + + /** * 娣诲姞 * * @param request diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java index 2c0fd59..eb513c9 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMaintenanceStandardMapper.java @@ -5,6 +5,7 @@ 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.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import java.util.List; @@ -24,4 +25,9 @@ * @return */ IPage<EamMaintenanceStandard> queryPageList(IPage<EamMaintenanceStandard> page, @Param(Constants.WRAPPER) Wrapper<EamMaintenanceStandard> queryWrapper); + + /** + * 鍒楄〃鏌ヨ + */ + List<EamEquipment> queryList(@Param(Constants.WRAPPER) Wrapper<EamMaintenanceStandard> queryWrapper); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java index f153d95..52eb99a 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java @@ -6,8 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.EamEquipment; +import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; +import java.util.List; + /** * @Description: 璁惧浜岀骇淇濆吇 * @Author: jeecg-boot diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml index ff47337..1bc0828 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml @@ -11,4 +11,14 @@ on f.data_id=ems.id ${ew.customSqlSegment} </select> + <select id="queryList" resultType="org.jeecg.modules.eam.entity.EamEquipment"> + SELECT + e.*, + ems.id as 'maintenanceStandardId', + ems.standard_name as 'maintenanceStandardName' + FROM + eam_equipment e + INNER JOIN eam_maintenance_standard ems ON ems.equipment_id = e.id + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java index 4d0ac15..6501ae8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java @@ -6,6 +6,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; +import org.jeecg.modules.eam.vo.EamEquipmentTree; + +import java.util.List; /** * @Description: 璁惧浜岀骇淇濆吇 @@ -24,6 +27,10 @@ IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, EamSecondMaintenanceQuery query); /** + * 鎵归噺鏂板鏍戠粨鏋� + */ + List<EamEquipmentTree> getTree(); + /** * 娣诲姞 * @param request * @return diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java index 429a12f..2b9c57c 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java @@ -9,11 +9,11 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import liquibase.pro.packaged.Q; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.flowable.engine.TaskService; import org.flowable.task.api.Task; -import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; @@ -23,10 +23,14 @@ import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog; import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.mapper.EamEquipmentMapper; +import org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper; import org.jeecg.modules.eam.mapper.EamSecondMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; import org.jeecg.modules.eam.service.*; +import org.jeecg.modules.eam.tree.FindsEquipmentEamCenterUtil; +import org.jeecg.modules.eam.vo.EamEquipmentTree; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; @@ -35,6 +39,7 @@ import org.jeecg.modules.flowable.service.IFlowTaskService; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; +import org.jeecg.modules.system.mapper.BaseFactoryMapper; import org.jeecg.modules.system.service.IBaseFactoryService; import org.jeecg.modules.system.service.IBaseFactoryUserService; import org.jeecg.modules.system.service.ISysUserService; @@ -46,6 +51,7 @@ import javax.annotation.Resource; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -85,10 +91,15 @@ private IEamBaseHFCodeService hfCodeService; @Autowired private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService; + @Autowired + private EamMaintenanceStandardMapper eamMaintenanceStandardMapper; + @Resource + private BaseFactoryMapper baseFactoryMapper; @Override public IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, EamSecondMaintenanceQuery query) { QueryWrapper<EamSecondMaintenanceOrder> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString()); //鐢ㄦ埛鏁版嵁鏉冮檺 LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { @@ -148,6 +159,146 @@ return eamSecondMaintenanceOrderMapper.queryPageList(page, queryWrapper); } + /** + * 鎵归噺鏂板鏍戠粨鏋� + */ + @Override + public List<EamEquipmentTree> getTree(){ + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) return Collections.emptyList(); + + // 鏋勫缓閫氱敤鏌ヨ鏉′欢 + QueryWrapper<EamMaintenanceStandard> baseQuery = new QueryWrapper<EamMaintenanceStandard>() + .eq("ems.maintenance_category", "SECOND_MAINTENANCE") + .eq("ems.standard_status", MaintenanceStandardStatusEnum.START.name()) + .eq("ems.del_flag", CommonConstant.DEL_FLAG_0.toString()); + + // 搴旂敤鏁版嵁鏉冮檺杩囨护 + applyDataPermissionFilter(sysUser, baseQuery); + + // 鍗曟鏌ヨ璁惧鍒楄〃 + List<EamEquipment> equipmentList = eamMaintenanceStandardMapper.queryList(baseQuery); + if (CollectionUtils.isEmpty(equipmentList)) { + return Collections.emptyList(); + } + + // 鑾峰彇鍏宠仈鐨勫伐鍘備唬鐮� + Set<String> factoryOrgCodes = equipmentList.stream() + .map(EamEquipment::getFactoryOrgCode) + .collect(Collectors.toSet()); + + // 鍗曟鏌ヨ鎵�鏈夊伐鍘傛暟鎹紙鍖呭惈瀹屾暣鏍戠粨鏋勶級 + List<BaseFactory> allFactories = baseFactoryService.list( + new LambdaQueryWrapper<BaseFactory>() + .eq(BaseFactory::getDelFlag, CommonConstant.DEL_FLAG_0.toString()) + .orderByAsc(BaseFactory::getSorter)); + + // 鎻愬彇鏉冮檺鍏宠仈鐨勫伐鍘傝妭鐐笽D锛堝寘鍚墍鏈夌埗鑺傜偣锛� + Set<String> authorizedFactoryIds = extractAuthorizedFactoryIds( + allFactories, factoryOrgCodes); + + // 杩囨护鍑烘湁鏁堝伐鍘傜粨鏋� + List<BaseFactory> validFactories = allFactories.stream() + .filter(f -> authorizedFactoryIds.contains(f.getId())) + .collect(Collectors.toList()); + + // ===鏋勫缓璁惧鏍� === + Map<String, List<EamEquipment>> equipmentMap = equipmentList.stream() + .collect(Collectors.groupingBy(EamEquipment::getFactoryOrgCode)); + + // 鏋勫缓鍩虹鏍� + List<EamEquipmentTree> treeList = FindsEquipmentEamCenterUtil.wrapEquipmentBaseFactoryTreeList(validFactories); + + // 濉厖璁惧鏁版嵁 + populateEquipmentNodes(treeList, equipmentMap); + return treeList; + } + + // 搴旂敤鏁版嵁鏉冮檺鏉′欢锛堝叡鐢ㄦ柟娉曪級 + private void applyDataPermissionFilter(LoginUser user, QueryWrapper<EamMaintenanceStandard> query) { + if (StringUtils.isNotBlank(user.getEamEquipmentIds())) { + List<String> equipmentIds = Arrays.asList(user.getEamEquipmentIds().split(",")); + query.in("e.equipment_code", equipmentIds); + } else { + List<BaseFactoryUser> factoryUsers = baseFactoryUserService.list( + new LambdaQueryWrapper<BaseFactoryUser>() + .eq(BaseFactoryUser::getUserId, user.getId())); + + if (CollectionUtils.isNotEmpty(factoryUsers)) { + Set<String> factoryIds = factoryUsers.stream() + .map(BaseFactoryUser::getFactoryId) + .collect(Collectors.toSet()); + + Set<String> factoryCodes = baseFactoryService.listByIds(factoryIds).stream() + .map(BaseFactory::getOrgCode) + .collect(Collectors.toSet()); + + query.in("e.factory_org_code", factoryCodes); + } + } + } + + // 鎻愬彇鎺堟潈宸ュ巶ID + private Set<String> extractAuthorizedFactoryIds(List<BaseFactory> allFactories, Set<String> authOrgCodes) { + Set<String> result = new HashSet<>(); + // 鏋勫缓ID->宸ュ巶鐨勬槧灏� + Map<String, BaseFactory> factoryMap = allFactories.stream() + .collect(Collectors.toMap(BaseFactory::getId, Function.identity())); + + // 閫嗗悜鏌ユ壘鐖惰妭鐐归摼 + for (BaseFactory factory : allFactories) { + if (authOrgCodes.contains(factory.getOrgCode())) { + collectParentIds(factoryMap, factory.getId(), result); + } + } + return result; + } + + // 閫掑綊鏀堕泦鐖惰妭鐐笽D + private void collectParentIds(Map<String, BaseFactory> factoryMap, String currentId, Set<String> idSet) { + if (StringUtils.isEmpty(currentId) || idSet.contains(currentId)) return; + + idSet.add(currentId); + BaseFactory factory = factoryMap.get(currentId); + if (factory != null && StringUtils.isNotBlank(factory.getParentId())) { + collectParentIds(factoryMap, factory.getParentId(), idSet); + } + } + + // 濉厖璁惧鑺傜偣锛堥潪閫掑綊锛� + private void populateEquipmentNodes(List<EamEquipmentTree> treeList, + Map<String, List<EamEquipment>> equipmentMap) { + for (EamEquipmentTree node : treeList) { + + String orgCode = resolveOrgCodeFromTree(node); // 闇�瀹炵幇璇ラ�昏緫 + + // 鍏宠仈璁惧鏁版嵁 + List<EamEquipment> devices = equipmentMap.getOrDefault(orgCode, Collections.emptyList()); + if (!CollectionUtils.isEmpty(devices)) { + for (EamEquipment device : devices) { + EamEquipmentTree deviceNode = new EamEquipmentTree().convert(device); + deviceNode.setParentId(node.getKey()); + deviceNode.setType(2); + deviceNode.setLeaf(true); // 鏄庣‘鏍囪涓哄彾瀛愯妭鐐� + node.getChildren().add(deviceNode); + } + // 鍙湁褰撳瓨鍦ㄨ澶囨椂鎵嶆爣璁颁负闈炲彾瀛� + node.setLeaf(false); + } + + // 缁х画澶勭悊瀛愯妭鐐癸紙宸ュ巶灞傜骇锛� + if (!CollectionUtils.isEmpty(node.getChildren())) { + populateEquipmentNodes(node.getChildren(), equipmentMap); + } + } + } + + // 瑙f瀽鏂规硶 + private String resolveOrgCodeFromTree(EamEquipmentTree node) { + BaseFactory factory =baseFactoryMapper.selectById(node.getKey()); + return factory != null ? factory.getOrgCode() : null; + } + @Override @Transactional(rollbackFor = Exception.class) public boolean addMaintenance(EamSecondMaintenanceRequest request) { -- Gitblit v1.9.3