lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,272 @@ package org.jeecg.modules.eam.dto; import com.baomidou.mybatisplus.annotation.*; 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.common.system.base.entity.JeecgEntity; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; import java.util.List; /** * @Description: 设å¤ä¸çº§ä¿å » * @Author: jeecg-boot * @Date: 2025-04-29 * @Version: V1.0 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) public class EamThirdMaintenanceOrderExport { /** * ID */ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "ID") private String id; /** * å 餿 è®° */ @ApiModelProperty(value = "å 餿 è®°") private Integer delFlag; /** * å·¥åå· */ @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 = "计åä¿å »æ¥æ;æå70天çæå·¥å") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @TableField(updateStrategy = FieldStrategy.IGNORED) private String maintenanceDate; /** * éå®å·¥åæ¥æ */ @ApiModelProperty(value = "éå®å·¥åæ¥æ;æå55天éå®å·¥å") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date freezeOrderDate; /** * å·¥åè¿ææ¥æ */ @ApiModelProperty(value = "å·¥åè¿ææ¥æ;å°ææªåç´æ¥è¿æ") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date orderExpirationDate; /** * å®é å¼å§æ¶é´ */ @Excel(name = "å®é å¼å§æ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "å®é å¼å§æ¶é´") private Date actualStartTime; /** * å®é ç»ææ¶é´ */ @Excel(name = "å®é ç»ææ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "å®é ç»ææ¶é´") private Date actualEndTime; /** * 维修人 */ @Excel(name = "维修人", width = 15) @ApiModelProperty(value = "维修人") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String repairman; /** * ä¿å »ç¶æ */ @Excel(name = "ä¿å »ç¶æ", width = 15) @ApiModelProperty(value = "ä¿å »ç¶æ;å¾ ä¿å »ãä¿å »ä¸ãå¾ æ£æ¥ãæä½äººç¾åã维修人ç¾åã维修室主任ç¾åãè®¾å¤æ£æ¥äººç¾åã已宿ãå·²éå®ãåæ´ä¸ã已忶") @Dict(dicCode = "third_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(dicCode = "yn") private String fullyFunctional; /** * 设å¤åè½æ¯å¦é½å¤;æ¯å¦ */ @Excel(name = "设å¤è½å¦æ£å¸¸è¿è½¬;æ¯å¦", width = 15) @ApiModelProperty(value = "设å¤åè½æ¯å¦é½å¤;æ¯å¦") @Dict(dicCode = "yn") private String runningNormally; /** * é®é¢æè¿° */ @Excel(name = "é®é¢æè¿°", width = 30) @ApiModelProperty(value = "é®é¢æè¿°") private String problemDescription; /** * æ£æ¥äºº */ @Excel(name = "æ£æ¥äºº", width = 15) @ApiModelProperty(value = "æ£æ¥äºº") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String inspector; /** * æ£æ¥æ¶é´ */ @ApiModelProperty(value = "æ£æ¥æ¶é´") @Excel(name = "æ£æ¥æ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date inspectTime; /** * æä½äººç¾å */ @Excel(name = "æä½äººç¾å", width = 15) @ApiModelProperty(value = "æä½äººç¾å") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String operatorSignature; /** * å婿ä½äºº */ @Excel(name = "å婿ä½äºº", width = 15) @ApiModelProperty(value = "å婿ä½äºº") private String assistantOperator; /** * æä½äººç¾åæ¶é´ */ @ApiModelProperty(value = "æä½äººç¾åæ¶é´") @Excel(name = "æä½äººç¾åæ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date operatorSignatureTime; /** * 维修人ç¾å */ @Excel(name = "维修人ç¾å", width = 15) @ApiModelProperty(value = "维修人ç¾å") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String repairmanSignature; /** * åå©ç»´ä¿®äºº */ @Excel(name = "åå©ç»´ä¿®äºº", width = 15) @ApiModelProperty(value = "åå©ç»´ä¿®äºº") private String assistantRepairman; /** * 维修人ç¾åæ¶é´ */ @ApiModelProperty(value = "维修人ç¾åæ¶é´") @Excel(name = "维修人ç¾åæ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date repairmanSignatureTime; /** * 维修室主任ç¾å */ @Excel(name = "维修室主任ç¾å", width = 15) @ApiModelProperty(value = "维修室主任ç¾å") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String repairManagerSignature; /** * 维修室主任ç¾åæ¶é´ */ @ApiModelProperty(value = "维修室主任ç¾åæ¶é´") @Excel(name = "维修室主任ç¾åæ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date repairManagerSignatureTime; /** * è®¾å¤æ£æ¥äººç¾å */ @Excel(name = "è®¾å¤æ£æ¥äººç¾å", width = 15) @ApiModelProperty(value = "è®¾å¤æ£æ¥äººç¾å") @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String inspectorSignature; /** * è®¾å¤æ£æ¥äººç¾åæ¶é´ */ @ApiModelProperty(value = "è®¾å¤æ£æ¥äººç¾åæ¶é´") @Excel(name = "è®¾å¤æ£æ¥äººç¾åæ¶é´", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date inspectorSignatureTime; /** * 夿³¨ */ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; /** * 移交åHFç¼ç */ @Excel(name = "移交åHFç¼ç ", width = 15) @ApiModelProperty(value = "移交åHFç¼ç ") private String hfCodeA; /** * éªæ¶åHFç¼ç */ @Excel(name = "éªæ¶åHFç¼ç ", width = 15) @ApiModelProperty(value = "éªæ¶åHFç¼ç ") private String hfCodeB; //å表å±ç¤º @TableField(exist = false) private String equipmentCode; @TableField(exist = false) private String equipmentName; //åå· @TableField(exist = false) private String equipmentModel; //ä¿å »æ¥æ private String maintenanceDateFormatted; //使ç¨åä½ private String factoryName; /** * å¤ä»¶æç» */ @ApiModelProperty(value = "å¤ä»¶ä½¿ç¨æç»") @DictList private List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpareList; /** * å表 ä¿å »é¡¹æç» */ @ApiModelProperty(value = "å表 ä¿å »é¡¹æç»") @DictList private List<EamThirdMaintenanceOrderDetail> eamThirdMaintenanceOrderDetailList; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java
@@ -278,4 +278,28 @@ public JSONObject exportThirdMaintenanceOrderBaseInfo(@RequestParam(name = "id", required = true) String id) { return eamThirdMaintenanceOrderService.exportThirdMaintenanceOrderBaseInfo(id); } /** * æ¹éå 工设å¤ä¸çº§ä¿å »å®å·¥ç§»äº¤å * @param ids * @return */ @AutoLog(value = "设å¤ä¸çº§ä¿å »-å 工设å¤ä¸çº§ä¿å »å®å·¥ç§»äº¤å") @ApiOperation(value = "设å¤ä¸çº§ä¿å »-å 工设å¤ä¸çº§ä¿å »å®å·¥ç§»äº¤å", notes = "设å¤ä¸çº§ä¿å »-å 工设å¤ä¸çº§ä¿å »å®å·¥ç§»äº¤å") @GetMapping(value = "/batchExport") public Result<?> export(String ids){ return Result.ok(eamThirdMaintenanceOrderService.export(ids)); } /** * æ¹éå 工设å¤ä¸çº§ä¿å »éªæ¶å * @param ids * @return */ @AutoLog(value = "设å¤ä¸çº§ä¿å »-å 工设å¤ä¸çº§ä¿å »éªæ¶å") @ApiOperation(value = "设å¤ä¸çº§ä¿å »-å 工设å¤ä¸çº§ä¿å »éªæ¶å", notes = "设å¤ä¸çº§ä¿å »-å 工设å¤ä¸çº§ä¿å »éªæ¶å") @GetMapping(value = "/batchExportCheck") public Result<?> exportCheck(String ids) { return Result.ok(eamThirdMaintenanceOrderService.exportAcceptance(ids)); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java
@@ -6,8 +6,11 @@ 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.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; import java.util.List; /** * @Description: 设å¤ä¸çº§ä¿å » @@ -27,6 +30,12 @@ IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceOrder> queryWrapper); /** * å表æ¥è¯¢ * @param queryWrapper * @return */ List<EamThirdMaintenanceOrderExport> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper); /** * * @param id * @return lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml
@@ -35,4 +35,12 @@ LEFT JOIN eam_base_factory t3 ON t3.org_code = SUBSTRING ( t2.factory_org_code , 1, 6 ) WHERE t1.id = #{id} </select> </mapper> <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport"> select wmo.*,FORMAT(CAST(wmo.maintenance_date AS DATE), 'yyyyå¹´MMæddæ¥') AS maintenance_date_formatted, e.equipment_code, e.equipment_name, e.equipment_model,f.factory_name from eam_third_maintenance_order wmo inner join eam_equipment e on wmo.equipment_id = e.id LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 ) ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.Result; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery; @@ -88,4 +89,16 @@ * @return */ JSONObject exportThirdMaintenanceOrderBaseInfo(String id); /** * æ¹éæå°å 工设å¤ä¸çº§ä¿å »å®å·¥ç§»äº¤å * @param ids * @return */ List<EamThirdMaintenanceOrderExport> export(String ids); /** * æ¹éæå°å 工设å¤ä¸çº§ä¿å »éªæ¶å */ List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -24,6 +24,8 @@ 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.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; @@ -591,6 +593,104 @@ } /** * æ¹éæå°å 工设å¤ä¸çº§ä¿å »å®å·¥ç§»äº¤å * @param ids * @return */ @Override public List<EamThirdMaintenanceOrderExport> export(String ids){ QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString()); queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name()); //ç¨æ·æ°æ®æé 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<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper); //å¡«å 对åºä¿®çæ´æ¢å¤ä»¶æç» eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{ List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list( new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExport.getId())); if (!eamThirdMaintenanceSpares.isEmpty()){ eamThirdMaintenanceOrderExport.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); } }); return eamThirdMaintenanceOrderExports; } /** * æ¹éæå°å 工设å¤ä¸çº§ä¿å »éªæ¶å */ @Override public List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids){ QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString()); queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name()); //ç¨æ·æ°æ®æé 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<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper); //å¡«å 对åºä¿å »é¡¹æç» eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{ List<EamThirdMaintenanceOrderDetail> eamThirdMaintenanceSpares=eamThirdMaintenanceOrderDetailService.list( new QueryWrapper<EamThirdMaintenanceOrderDetail>().eq("order_Id",eamThirdMaintenanceOrderExport.getId())); if (!eamThirdMaintenanceSpares.isEmpty()){ eamThirdMaintenanceOrderExport.setEamThirdMaintenanceOrderDetailList(eamThirdMaintenanceSpares); } }); return eamThirdMaintenanceOrderExports; } /** * æ´æ°å·¥åç¶æ */ private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) {