From 1800c05a61a53d528e4f137fa42413cb0bf26734 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期五, 18 四月 2025 16:21:15 +0800 Subject: [PATCH] art: 设备管理-周保工单-自动生成周保,周保过期未保养标记过期 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java | 13 ++ lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java | 7 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderExpiredJob.java | 86 ++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java | 10 + lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/IFlowMyBusinessService.java | 9 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/WeekMaintenanceStatusEnum.java | 1 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrderDetail.java | 9 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java | 126 +++++++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java | 7 + lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/util/ThrowableUtil.java | 0 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardDetailService.java | 9 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java | 9 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardDetailServiceImpl.java | 15 ++ lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java | 21 +++ 14 files changed, 317 insertions(+), 5 deletions(-) diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java index f1f4f8f..92f023e 100644 --- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java +++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java @@ -5,6 +5,8 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; @@ -764,8 +766,21 @@ return dateFormat.format(date); } + /** + * Date 杞� LocalDate + * @param date + * @return + */ + public static LocalDate dateToLocalDate(Date date) { + return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + } - - - + /** + * LocalDate 杞� Date + * @param localDate + * @return + */ + public static Date localDateToDate(LocalDate localDate) { + return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); + } } \ No newline at end of file diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/WeekMaintenanceStatusEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/WeekMaintenanceStatusEnum.java index b22a1bf..a7800d9 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/WeekMaintenanceStatusEnum.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/WeekMaintenanceStatusEnum.java @@ -8,6 +8,7 @@ WAIT_FINAL_ACCEPTANCE, //寰呯粓楠� COMPLETE, //宸插畬鎴� ABOLISH, //宸蹭綔搴� + EXPIRED, //宸茶繃鏈� ; public static WeekMaintenanceStatusEnum getInstance(String code) { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrderDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrderDetail.java index 4372cde..0d010bb 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrderDetail.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamWeekMaintenanceOrderDetail.java @@ -64,4 +64,13 @@ /**鎶ヤ慨鏍囪*/ @ApiModelProperty(value = "鎶ヤ慨鏍囪") private String reportFlag; + + public EamWeekMaintenanceOrderDetail(){} + + public EamWeekMaintenanceOrderDetail(EamMaintenanceStandardDetail detail) { + this.itemCode = detail.getItemCode(); + this.itemName = detail.getItemName(); + this.subItemName = detail.getSubItemName(); + this.itemDemand = detail.getItemDemand(); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderExpiredJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderExpiredJob.java new file mode 100644 index 0000000..227c0e8 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderExpiredJob.java @@ -0,0 +1,86 @@ +package org.jeecg.modules.eam.job; + +import cn.hutool.core.collection.CollectionUtil; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum; +import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder; +import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; +import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; +import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; +import org.jeecg.modules.flowable.service.IFlowTaskService; +import org.jeecg.modules.mdc.util.ThrowableUtil; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.util.Date; +import java.util.List; + +@Component +@Slf4j +public class WeekMaintenanceOrderExpiredJob implements Job { + + @Autowired + private IEamWeekMaintenanceOrderService eamWeekMaintenanceOrderService; + + @Autowired + private IFlowMyBusinessService flowMyBusinessService; + @Autowired + private IFlowTaskService flowTaskService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; + + @Override + @Transactional(rollbackFor = Exception.class) + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); + LocalDate now = LocalDate.now(); + try { + List<EamWeekMaintenanceOrder> unCompleteOrderList = eamWeekMaintenanceOrderService.selectUnCompleteOrder(now.toString()); + if (CollectionUtil.isEmpty(unCompleteOrderList)) { + //娌℃湁闇�瑕佸鐞嗙殑鏁版嵁 + return; + } + for (EamWeekMaintenanceOrder order : unCompleteOrderList) { + if (WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(order.getMaintenanceStatus())) { + order.setMaintenanceStatus(WeekMaintenanceStatusEnum.EXPIRED.name()); + } else if (WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name().equals(order.getMaintenanceStatus())) { + //宸茬粡琚帴鍗� 浣嗘湭鎵ц瀹屾垚 + order.setMaintenanceStatus(WeekMaintenanceStatusEnum.EXPIRED.name()); + //寮哄埗缁撴潫娴佺▼ 鍒犻櫎鐢ㄦ埛鐨勬寰呭姙浠诲姟 + FlowMyBusiness flowMyBusiness = flowMyBusinessService.selectByDataId(order.getId()); + if (flowMyBusiness != null) { + flowTaskService.end(flowMyBusiness.getProcessInstanceId(), "杩囨湡鍒犻櫎"); + } + } + } + eamWeekMaintenanceOrderService.updateBatchById(unCompleteOrderList); + quartzLog.setIsSuccess(0); + } catch (Exception e) { + log.error("鍛ㄤ繚杩囨湡鎵ц瀹氭椂浠诲姟澶辫触锛寋}", e.getMessage(), e); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + } + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java new file mode 100644 index 0000000..e676870 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/WeekMaintenanceOrderGenerateJob.java @@ -0,0 +1,126 @@ +package org.jeecg.modules.eam.job; + +import cn.hutool.core.collection.CollectionUtil; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; +import org.jeecg.modules.eam.entity.EamMaintenanceStandard; +import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; +import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail; +import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest; +import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; +import org.jeecg.modules.eam.service.IEamMaintenanceStandardService; +import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; +import org.jeecg.modules.mdc.util.ThrowableUtil; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.entity.SysQuartzLog; +import org.jeecg.modules.quartz.service.IQuartzJobService; +import org.jeecg.modules.quartz.service.ISysQuartzLogService; +import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +@Component +@Slf4j +public class WeekMaintenanceOrderGenerateJob implements Job { + @Autowired + private IEamMaintenanceStandardService eamMaintenanceStandardService; + @Autowired + private IEamMaintenanceStandardDetailService eamMaintenanceStandardDetailService; + @Autowired + private IEamWeekMaintenanceOrderService eamWeekMaintenanceOrderService; + @Autowired + private ISysBusinessCodeRuleService businessCodeRuleService; + @Autowired + private ISysQuartzLogService sysQuartzLogService; + @Autowired + private IQuartzJobService quartzJobService; + + /** + * 宸ュ崟鐢熸垚 + * + * @param jobExecutionContext + * @throws JobExecutionException + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + //浠诲姟鏃ュ織 + SysQuartzLog quartzLog = new SysQuartzLog(); + quartzLog.setCreateTime(new Date()); + List<QuartzJob> byJobClassName = quartzJobService.findByJobClassName(this.getClass().getName()); + if (byJobClassName != null && !byJobClassName.isEmpty()) { + quartzLog.setJobId(byJobClassName.get(0).getId()); + } + long startTime = System.currentTimeMillis(); + /** + * 鑾峰彇 閰嶇疆浜� 鍛ㄤ繚鏍囧噯鐨� 淇℃伅 + */ + List<EamMaintenanceStandard> standardList = eamMaintenanceStandardService.queryListByCategory(MaintenanceCategoryEnum.WEEK_MAINTENANCE.name()); + if (CollectionUtil.isEmpty(standardList)) { + log.warn("娌℃湁閰嶇疆浠讳綍鍛ㄤ繚鏍囧噯锛屼换鍔$粨鏉�"); + return; + } + //褰撳墠鏃ユ湡 + LocalDate now = LocalDate.now(); + try { + for (EamMaintenanceStandard standard : standardList) { + if (standard.getMaintenancePeriod() == null || standard.getMaintenancePeriod() < 1) { + log.error("鍛ㄤ繚鏍囧噯鍛ㄦ湡璁剧疆閿欒锛岃鍏堥厤缃爣鍑嗗懆鏈�, standard:{}", standard); + continue; + } + if (standard.getInitialDate() == null) { + //璁剧疆鍒濆鏃ユ湡涓哄墠涓�澶� + standard.setInitialDate(DateUtils.localDateToDate(now.minusDays(1))); + } + LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate()); + if (standard.getLastGenerateTime() != null) { + generateDate = DateUtils.dateToLocalDate(standard.getLastGenerateTime()); + } + //鍔犲懆鏈� + do { + //鍒濆鏃ユ湡璁剧疆鐨勬瘮杈冩棭锛屾垨浠诲姟闀挎椂闂存病鎵ц锛屽繀椤诲懆鏈熷埌浠婂ぉ鎵嶄細鐢熸垚宸ュ崟 + generateDate = generateDate.plusDays(standard.getMaintenancePeriod()); + } while (now.isAfter(generateDate)); + if(now.compareTo(generateDate) != 0) { + //杩樻湭鍒扮敓鎴愭棩鏈燂紝璺宠繃鎵ц + continue; + } + //鑾峰彇淇濆吇椤规槑缁� + List<EamMaintenanceStandardDetail> standardDetailList = eamMaintenanceStandardDetailService.selectByStandardId(standard.getId()); + if(CollectionUtil.isEmpty(standardDetailList)) { + log.error("鍛ㄤ繚鏍囧噯娌℃湁淇濆吇鏄庣粏锛岃鍏堥厤缃繚鍏绘槑缁�, standard:{}", standard); + continue; + } + //寮�濮嬬敓鎴� + EamWeekMaintenanceRequest request = new EamWeekMaintenanceRequest(); + request.setEquipmentId(standard.getEquipmentId()); + request.setStandardId(standard.getId()); + request.setMaintenanceDate(DateUtils.localDateToDate(generateDate)); + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.WEEK_MAINTENANCE_CODE_RULE); + request.setOrderNum(codeSeq); + List<EamWeekMaintenanceOrderDetail> collect = standardDetailList.stream().map(EamWeekMaintenanceOrderDetail::new).collect(Collectors.toList()); + request.setTableDetailList(collect); + eamWeekMaintenanceOrderService.addWeekMaintenance(request); + } + quartzLog.setIsSuccess(0); + } catch (Exception e) { + log.error("鍛ㄤ繚杩囩敓鎴愭墽琛屽畾鏃朵换鍔″け璐ワ紝{}", e.getMessage(), e); + quartzLog.setIsSuccess(-1); + quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); + } + long endTime = System.currentTimeMillis(); + quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); + sysQuartzLogService.save(quartzLog); + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardDetailService.java index 676cfbe..eff776a 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardDetailService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardDetailService.java @@ -3,6 +3,8 @@ import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @Description: 淇濆吇鏍囧噯鏄庣粏 * @Author: jeecg-boot @@ -10,5 +12,10 @@ * @Version: V1.0 */ public interface IEamMaintenanceStandardDetailService extends IService<EamMaintenanceStandardDetail> { - + /** + * 鑾峰彇鏍囧噯涓嬫槑缁嗛」淇℃伅 + * @param standardId + * @return + */ + List<EamMaintenanceStandardDetail> selectByStandardId(String standardId); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java index 4a4b3cd..c136e81 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMaintenanceStandardService.java @@ -57,4 +57,11 @@ * @return */ List<EamMaintenanceStandard> queryListByKeywordAndCategory(String keyword, String equipmentId, Integer pageSize, String maintenanceCategory); + + /** + * 鏌ヨ淇濆吇绫诲瀷涓嬫甯哥殑淇濆吇鏍囧噯 + * @param maintenanceCategory 淇濆吇绫诲瀷 + * @return + */ + List<EamMaintenanceStandard> queryListByCategory(String maintenanceCategory); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java index 8e22279..4b56eb4 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamWeekMaintenanceOrderService.java @@ -7,6 +7,8 @@ import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery; import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest; +import java.util.List; + /** * @Description: 鍛ㄤ繚宸ュ崟 * @Author: jeecg-boot @@ -50,4 +52,11 @@ * @return */ boolean approval(EamWeekMaintenanceRequest request); + + /** + * 鑾峰彇浠婂ぉ涔嬪墠鏈繚鍏诲畬鎴愮殑宸ュ崟 + * @param expiredDate 杩囨湡鏃ユ湡 + * @return + */ + List<EamWeekMaintenanceOrder> selectUnCompleteOrder(String expiredDate); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardDetailServiceImpl.java index 966f604..5a0327a 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardDetailServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardDetailServiceImpl.java @@ -1,11 +1,17 @@ package org.jeecg.modules.eam.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.jeecg.common.api.vo.Result; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.mapper.EamMaintenanceStandardDetailMapper; import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; /** * @Description: 淇濆吇鏍囧噯鏄庣粏 @@ -15,5 +21,14 @@ */ @Service public class EamMaintenanceStandardDetailServiceImpl extends ServiceImpl<EamMaintenanceStandardDetailMapper, EamMaintenanceStandardDetail> implements IEamMaintenanceStandardDetailService { + @Resource + private EamMaintenanceStandardDetailMapper emMaintenanceStandardDetailMapper; + @Override + public List<EamMaintenanceStandardDetail> selectByStandardId(String standardId) { + LambdaQueryWrapper<EamMaintenanceStandardDetail> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamMaintenanceStandardDetail::getStandardId, standardId); + queryWrapper.orderByAsc(EamMaintenanceStandardDetail::getItemCode); + return emMaintenanceStandardDetailMapper.selectList(queryWrapper); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java index 4c02fc4..abc92aa 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java @@ -28,6 +28,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -283,4 +284,13 @@ IPage<EamMaintenanceStandard> pageData = this.queryPageList(page, query); return pageData.getRecords(); } + + @Override + public List<EamMaintenanceStandard> queryListByCategory(String maintenanceCategory) { + LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory); + queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.NORMAL.name()); + return eamMaintenanceStandardMapper.selectList(queryWrapper); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java index 8eb1d69..3b16ddb 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamWeekMaintenanceOrderServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -461,6 +462,18 @@ return true; } + @Override + public List<EamWeekMaintenanceOrder> selectUnCompleteOrder(String expiredDate) { + LambdaQueryWrapper<EamWeekMaintenanceOrder> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.lt(EamWeekMaintenanceOrder::getMaintenanceDate, expiredDate); + List<String> unCompleteStatus = new ArrayList<>(); + unCompleteStatus.add(WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name()); + unCompleteStatus.add(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); + queryWrapper.in(EamWeekMaintenanceOrder::getMaintenanceStatus, unCompleteStatus); + queryWrapper.orderByAsc(EamWeekMaintenanceOrder::getMaintenanceDate); + return eamWeekMaintenanceOrderMapper.selectList(queryWrapper); + } + private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) { List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class); return todoUsers != null && todoUsers.contains(user.getUsername()); diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/IFlowMyBusinessService.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/IFlowMyBusinessService.java index 0af1a5b..853e3cc 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/IFlowMyBusinessService.java +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/IFlowMyBusinessService.java @@ -11,9 +11,16 @@ public interface IFlowMyBusinessService extends IService<FlowMyBusiness> { /** - * 鏍规嵁娴佺▼瀹炰緥id 鑾峰彇 鎴戠殑寰呭姙 + * 鏍规嵁娴佺▼瀹炰緥id 鑾峰彇 娴佺▼瀹炰緥 * @param instanceId 娴佺▼瀹炰緥id * @return */ FlowMyBusiness getFlowMyBusiness(String instanceId); + + /** + * 鑾峰彇娴佺▼瀹炰緥 + * @param dataId 涓氬姟Id + * @return + */ + FlowMyBusiness selectByDataId(String dataId); } diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java index 5148928..e3c10e2 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java @@ -132,4 +132,11 @@ new QueryWrapper<FlowMyBusiness>().eq("process_instance_id", instanceId)); return businessList.isEmpty() ? null : businessList.get(0); } + + @Override + public FlowMyBusiness selectByDataId(String dataId) { + List<FlowMyBusiness> businessList = super.list( + new QueryWrapper<FlowMyBusiness>().eq("data_id", dataId)); + return businessList.isEmpty() ? null : businessList.get(0); + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/ThrowableUtil.java b/lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/util/ThrowableUtil.java similarity index 100% rename from lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/ThrowableUtil.java rename to lxzn-module-mdc-common/src/main/java/org/jeecg/modules/mdc/util/ThrowableUtil.java -- Gitblit v1.9.3