lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamSecondMaintenanceOrderExport.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,164 @@ 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.aspect.annotation.DictList; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrderDetail; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; import java.util.List; @Data @TableName("eam_second_maintenance_order") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value = "eam_second_maintenance_order对象", description = "设å¤äºçº§ä¿å »") public class EamSecondMaintenanceOrderExport { /** * ä¸»é® */ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®") private String id; /** * å·¥åå· */ @Excel(name = "å·¥åå·", width = 15) @ApiModelProperty(value = "å·¥åå·") private String orderNum; /** * 设å¤ID */ @Excel(name = "设å¤ID", width = 15) @ApiModelProperty(value = "设å¤ID") private String equipmentId; /** * æ åID */ @Excel(name = "æ åID", width = 15) @ApiModelProperty(value = "æ åID") @Dict(dictTable = "eam_maintenance_standard", dicCode = "id", dicText = "standard_name") private String standardId; /** * 计åä¿å »æ¥æ */ @ApiModelProperty(value = "计åä¿å »æ¥æ") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date maintenanceDate; /** * å®é å¼å§æ¶é´ */ @ApiModelProperty(value = "å®é å¼å§æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actualStartTime; /** * å®é ç»ææ¶é´ */ @ApiModelProperty(value = "å®é ç»ææ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actualEndTime; /** æä½å·¥ */ @ApiModelProperty(value = "æä½å·¥") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String operator ; /** 维修工 */ @ApiModelProperty(value = "维修工") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String repairman ; /** * ä¿å »ç¶æ å¾ ä¿å »ãä¿å »ä¸ã管çåç¡®è®¤ãæ£æ¥äººç¡®è®¤ã已宿 */ @Excel(name = "ä¿å »ç¶æ", width = 15) @ApiModelProperty(value = "ä¿å »ç¶æ") @Dict(dicCode = "second_maintenance_status") private String maintenanceStatus; /** * å建æ¹å¼ */ @Excel(name = "å建æ¹å¼", width = 15) @ApiModelProperty(value = "å建æ¹å¼") @Dict(dicCode = "order_creation_method") private String creationMethod; /** * 管çå确认 */ @Excel(name = "管çå确认", width = 15) @ApiModelProperty(value = "管çå确认") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String manageUser; /** * 管çåç¡®è®¤ç»æ */ @ApiModelProperty(value = "管çåç¡®è®¤ç»æ") @Dict(dicCode = "approve_reject") private String manageUserResult; /** é®é¢æè¿°;é»è®¤ æ */ @ApiModelProperty(name = "é®é¢æè¿°",notes = "é»è®¤ æ ") private String problemDescription ; /** å¤çæè¿°;é»è®¤ æ */ @ApiModelProperty(name = "å¤çæè¿°",notes = "é»è®¤ æ ") private String dealDescription ; /** 管çå确认æ¶é´ */ @ApiModelProperty(name = "管çå确认æ¶é´",notes = "") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmTime; /** æ£æ¥äººç¡®è®¤ */ @ApiModelProperty(name = "æ£æ¥äººç¡®è®¤",notes = "") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String inspector; /** * æ£æ¥äººç¡®è®¤ç»æ */ @ApiModelProperty(name = "æ£æ¥äººç¡®è®¤ç»æ",notes = "") @Dict(dicCode = "approve_reject") private String inspectorResult; /** æ£æ¥äººæè§ */ @ApiModelProperty(name = "æ£æ¥äººæè§",notes = "") private String inspectConfirmComment; /** æ£æ¥äººç¡®è®¤æ¶é´ */ @ApiModelProperty(name = "æ£æ¥äººç¡®è®¤æ¶é´",notes = "") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date inspectConfirmTime; /** HFç¼ç */ @ApiModelProperty(name = "HFç¼ç ",notes = "") private String hfCode; /** * 夿³¨ */ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; //å表å±ç¤º @TableField(exist = false) private String equipmentCode; @TableField(exist = false) private String equipmentName; //åå· @TableField(exist = false) private String equipmentModel; //维修人åä¿å »å 容 @DictList private List<EamSecondMaintenanceOrderDetail> maintenanceOrderDetails; //æä½äººåä¿å »å 容 @DictList private List<EamSecondMaintenanceOrderDetail> operationOrderDetails; } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrderDetail.java
@@ -8,6 +8,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; @@ -59,6 +60,7 @@ private String itemName; /** ä¿å »ç»æ */ @ApiModelProperty(name = "ä¿å »ç»æ",notes = "") @Dict(dicCode = "maintenance_result") private String maintenanceResult; /** æ¥ä¿®æ è®° */ @ApiModelProperty(name = "æ¥ä¿®æ è®°",notes = "") lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java
@@ -251,6 +251,18 @@ } /** * æ¹éæå°äºä¿å·¥å * @param ids * @return */ @AutoLog(value = "设å¤äºçº§ä¿å »-æ¹éæå°äºä¿å·¥å") @ApiOperation(value = "设å¤äºçº§ä¿å »-æ¹éæå°äºä¿å·¥å", notes = "设å¤äºçº§ä¿å »-æ¹éæå°äºä¿å·¥å") @GetMapping(value = "/batchExport") public Result<?> export(String ids){ return Result.ok(eamSecondMaintenanceOrderService.export(ids)); } /** * éè¿idæ¥è¯¢ * * @param id lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java
@@ -6,8 +6,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.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; import org.jeecg.modules.eam.dto.EamSecondMaintenanceOrderExport; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; import java.util.List; @@ -22,9 +21,18 @@ /** * å页æ¥è¯¢ * * @param page * @param queryWrapper * @return */ IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamSecondMaintenanceOrder> queryWrapper); /** * å表æ¥è¯¢ * @param queryWrapper * @return */ List<EamSecondMaintenanceOrderExport> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamSecondMaintenanceOrderExport> queryWrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml
@@ -10,4 +10,11 @@ left join flow_my_business f on f.data_id=wmo.id ${ew.customSqlSegment} </select> <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamSecondMaintenanceOrderExport"> select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model from eam_second_maintenance_order wmo inner join eam_equipment e on wmo.equipment_id = e.id ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.dto.EamSecondMaintenanceOrderExport; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; @@ -57,4 +58,11 @@ * @return */ EamSecondMaintenanceOrder approval(EamSecondMaintenanceRequest request); /** * æ¹éæå°äºä¿å·¥å * @param ids * @return */ List<EamSecondMaintenanceOrderExport> export(String ids); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
@@ -22,6 +22,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.EamSecondMaintenanceOrderExport; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamEquipmentMapper; import org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper; @@ -95,6 +96,8 @@ private EamMaintenanceStandardMapper eamMaintenanceStandardMapper; @Resource private BaseFactoryMapper baseFactoryMapper; @Autowired private IEamSecondMaintenanceOrderDetailService eamSecondMaintenanceOrderDetailService; @Override public IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, EamSecondMaintenanceQuery query) { @@ -666,6 +669,68 @@ return entity; } /** * æ¹éæå°äºä¿å·¥å * @param ids * @return */ @Override public List<EamSecondMaintenanceOrderExport> export(String ids){ QueryWrapper<EamSecondMaintenanceOrderExport> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString()); //ç¨æ·æ°æ®æé 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 (StrUtil.isNotEmpty(ids)) { List<String> idList = Arrays.asList(ids.split(",")); queryWrapper.in("wmo.id", idList); } else { queryWrapper.orderByDesc("wmo.create_time"); } List<EamSecondMaintenanceOrderExport> eamSecondMaintenanceOrderExports=eamSecondMaintenanceOrderMapper.queryList(queryWrapper); //å¡«å 对åºäºä¿æç» if (!eamSecondMaintenanceOrderExports.isEmpty()){ eamSecondMaintenanceOrderExports.forEach(item->{ //维修人åä¿å »å 容 List<EamSecondMaintenanceOrderDetail> maintenanceOrderDetails=eamSecondMaintenanceOrderDetailService. list(new QueryWrapper<EamSecondMaintenanceOrderDetail>().eq("order_id",item.getId()). eq("item_category",EamMaintenanceStandardDetailCategory.REPAIRER_MAINTENANCE.name()) .orderByAsc("item_code")); if (!maintenanceOrderDetails.isEmpty()){ item.setMaintenanceOrderDetails(maintenanceOrderDetails); } //æä½äººåä¿å »å 容 List<EamSecondMaintenanceOrderDetail> operationOrderDetails=eamSecondMaintenanceOrderDetailService. list(new QueryWrapper<EamSecondMaintenanceOrderDetail>().eq("order_id",item.getId()). eq("item_category",EamMaintenanceStandardDetailCategory.OPERATOR_MAINTENANCE.name()) .orderByAsc("item_code")); if (!operationOrderDetails.isEmpty()) { item.setOperationOrderDetails(operationOrderDetails); } }); } return eamSecondMaintenanceOrderExports; } private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) { List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class); return todoUsers != null && todoUsers.contains(user.getUsername());