lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateApplyController.java
@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.jeecg.modules.eam.vo.EquipmentDisposalPage; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -262,4 +263,17 @@ return Result.OK("æä»¶å¯¼å ¥å¤±è´¥ï¼"); } /** * æäº¤ãå®¡æ ¸ãå®¡æ¹ * * @param operationCertificateApply * @return */ @AutoLog(value = "æäº¤ãå®¡æ ¸ã审æ¹") @PostMapping(value = "/approve") public Result<String> submit(@RequestBody OperationCertificateApply operationCertificateApply) { this.operationCertificateApplyService.updateById(operationCertificateApply); return Result.OK("æä½æåï¼"); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/InspectionCycle.java
@@ -54,6 +54,11 @@ @ApiModelProperty(value = "馿¬¡ç¹æ£æ¶é´") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") private Date firstInspectionTime; /**䏿¬¡ç¹æ£æ¶é´*/ @Excel(name = "䏿¬¡ç¹æ£æ¶é´", width = 15) @ApiModelProperty(value = "䏿¬¡ç¹æ£æ¶é´") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") private Date lastInspectionTime; /**æåæ¶é´*/ @Excel(name = "æåæ¶é´", width = 15) @ApiModelProperty(value = "æåæ¶é´") @@ -152,4 +157,28 @@ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private java.util.Date loseEfficacyTime; @TableField(exist = false) private String equipmentId; @TableField(exist = false) private String teamId; @TableField(exist = false) private String inspectionStandardId; @TableField(exist = false) private String inspectionStandardNum; @TableField(exist = false) private String inspectionProjectId; @TableField(exist = false) private String inspectionProjectName; @TableField(exist = false) private String detectionStandard; @TableField(exist = false) private String inspectionStandardDetailId; @TableField(exist = false) private String location; @TableField(exist = false) private String photo; @TableField(exist = false) private String inspectionMethod; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/DailyInspectionOrderJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,168 @@ package org.jeecg.modules.eam.job; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.service.*; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.DayOfWeek; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Calendar; import java.util.Date; import java.util.List; /** * èªä¸»ç»´æ¤å·¥åèªå¨çæ */ @Slf4j public class DailyInspectionOrderJob implements Job { @Autowired private IInspectionCycleService inspectionCycleService; @Autowired private IdentityService identityService; @Autowired private IInspectionOrderService inspectionOrderService; @Autowired private IInspectionOrderDetailService inspectionOrderDetailService; @Autowired private IDailyInspectionStandardDetailService dailyInspectionStandardDetailService; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { /*//éåç¹æ£æ åï¼éè¿ç¹æ£æ åçæç¹æ£å·¥å SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<InspectionCycle> inspectionCycleList = inspectionCycleService.getInspectionOrder(); //å½åæ¶é´ String currentDateTime = formatter.format(LocalDateTime.now()); for(InspectionCycle inspectionCycle : inspectionCycleList){ //æåæ¶é´ BigDecimal leadTime = new BigDecimal("0"); //æææ¶é´ BigDecimal effectiveTime = new BigDecimal("0"); //æ¬æ¬¡ç¹æ£æ¶é´ Date newInspecttionTime = null; if("min".equals(inspectionCycle.getUnit())){ leadTime = inspectionCycle.getLeadTime().multiply(new BigDecimal("60")); effectiveTime = inspectionCycle.getEffectiveTime().multiply(new BigDecimal("60")); }else if("hour".equals(inspectionCycle.getUnit())){ leadTime = inspectionCycle.getLeadTime().multiply(new BigDecimal("3600")); effectiveTime = inspectionCycle.getEffectiveTime().multiply(new BigDecimal("3600")); }else if("day".equals(inspectionCycle.getUnit())){ leadTime = inspectionCycle.getLeadTime().multiply(new BigDecimal("86400")); effectiveTime = inspectionCycle.getEffectiveTime().multiply(new BigDecimal("86400")); } if("day".equals(inspectionCycle.getCycleUnit())){ Calendar calendar = Calendar.getInstance(); if(inspectionCycle.getLastInspectionTime() != null){ calendar.setTime(inspectionCycle.getLastInspectionTime()); }else { calendar.setTime(inspectionCycle.getFirstInspectionTime()); } calendar.add(Calendar.DAY_OF_YEAR, inspectionCycle.getCycle().intValue()); Date inspecttionTime = calendar.getTime(); Instant instant = inspecttionTime.toInstant(); instant = instant.minusSeconds(leadTime.intValue()); newInspecttionTime = Date.from(instant); }else if("week".equals(inspectionCycle.getCycleUnit())){ Calendar calendar = Calendar.getInstance(); if(inspectionCycle.getLastInspectionTime() != null){ calendar.setTime(inspectionCycle.getLastInspectionTime()); }else { calendar.setTime(inspectionCycle.getFirstInspectionTime()); } calendar.add(Calendar.WEEK_OF_MONTH, inspectionCycle.getCycle().intValue()); Date inspecttionTime = calendar.getTime(); Instant instant = inspecttionTime.toInstant(); instant = instant.minusSeconds(leadTime.intValue()); newInspecttionTime = Date.from(instant); } Instant instant = newInspecttionTime.toInstant(); instant = instant.plusSeconds(effectiveTime.intValue()); //æ¬æ¬¡ç¹æ£æªæ¢æ¶é´ Date newnspectionDeadline = Date.from(instant); String newDate = formatter.format(newInspecttionTime); if(currentDateTime.equals(newDate)){ //ä¿åç¹æ£å·¥åä¸»è¡¨æ°æ® InspectionOrder inspectionOrder = new InspectionOrder(); inspectionOrder.setNum(identityService.getNumByTypeAndLength("DailylnspectionOrder",4)); inspectionOrder.setInspectionCycleId(inspectionCycle.getId()); inspectionOrder.setInspectionStandardId(inspectionCycle.getInspectionStandardId()); inspectionOrder.setInspectionTime(newInspecttionTime); inspectionOrder.setInspectionStandardType("1"); inspectionOrder.setInspectionDeadline(newnspectionDeadline); inspectionOrder.setEquipmentId(inspectionCycle.getEquipmentId()); inspectionOrder.setTeamId(inspectionCycle.getTeamId()); inspectionOrderService.save(inspectionOrder); //æ´æ°ä¸æ¬¡ç¹æ£æ¶é´ inspectionCycle.setLastInspectionTime(newInspecttionTime); inspectionCycleService.updateById(inspectionCycle); //æ ¹æ®æ åå卿æ¥è¯¢ç¹æ£é¡¹ç® //ä¿åç¹æ£å·¥ååè¡¨æ°æ® } }*/ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List<InspectionCycle> inspectionCycleList = inspectionCycleService.getInspectionOrder(); LocalDate today = LocalDate.now(); DayOfWeek dayOfWeek = today.getDayOfWeek(); for(InspectionCycle inspectionCycle : inspectionCycleList){ if("day".equals(inspectionCycle.getCycleUnit())){ //ä¿åç¹æ£å·¥åä¸»è¡¨æ°æ® InspectionOrder inspectionOrder = new InspectionOrder(); inspectionOrder.setNum(identityService.getNumByTypeAndLength("DailylnspectionOrder",4)); inspectionOrder.setInspectionCycleId(inspectionCycle.getId()); inspectionOrder.setInspectionStandardId(inspectionCycle.getInspectionStandardId()); inspectionOrder.setInspectionTime(new Date()); inspectionOrder.setInspectionStandardType("1"); inspectionOrder.setEquipmentId(inspectionCycle.getEquipmentId()); inspectionOrder.setTeamId(inspectionCycle.getTeamId()); inspectionOrderService.save(inspectionOrder); //ä¿åç¹æ£å·¥ååè¡¨æ°æ® List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = dailyInspectionStandardDetailService.lambdaQuery() .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,inspectionOrder.getInspectionStandardId()) .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId()).list(); for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){ InspectionOrderDetail inspectionOrderDetail = new InspectionOrderDetail(); inspectionOrderDetail.setInspectionOrderId(inspectionOrder.getId()); inspectionOrderDetail.setInspectionProjectId(dailyInspectionStandardDetail.getInspectionProjectId()); inspectionOrderDetail.setInspectionStandardDetailId(dailyInspectionStandardDetail.getId()); inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation()); inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto()); inspectionOrderDetailService.save(inspectionOrderDetail); } }else if("week".equals(inspectionCycle.getCycleUnit()) && dayOfWeek == DayOfWeek.FRIDAY){ //ä¿åç¹æ£å·¥åä¸»è¡¨æ°æ® InspectionOrder inspectionOrder = new InspectionOrder(); inspectionOrder.setNum(identityService.getNumByTypeAndLength("DailylnspectionOrder",4)); inspectionOrder.setInspectionCycleId(inspectionCycle.getId()); inspectionOrder.setInspectionStandardId(inspectionCycle.getInspectionStandardId()); inspectionOrder.setInspectionTime(new Date()); inspectionOrder.setInspectionStandardType("1"); inspectionOrder.setEquipmentId(inspectionCycle.getEquipmentId()); inspectionOrder.setTeamId(inspectionCycle.getTeamId()); inspectionOrderService.save(inspectionOrder); //ä¿åç¹æ£å·¥ååè¡¨æ°æ® List<DailyInspectionStandardDetail> dailyInspectionStandardDetailList = dailyInspectionStandardDetailService.lambdaQuery() .eq(DailyInspectionStandardDetail::getDailyInspectionStandardId,inspectionOrder.getInspectionStandardId()) .eq(DailyInspectionStandardDetail::getInspectionCycleId,inspectionOrder.getInspectionCycleId()).list(); for(DailyInspectionStandardDetail dailyInspectionStandardDetail : dailyInspectionStandardDetailList){ InspectionOrderDetail inspectionOrderDetail = new InspectionOrderDetail(); inspectionOrderDetail.setInspectionOrderId(inspectionOrder.getId()); inspectionOrderDetail.setInspectionProjectId(dailyInspectionStandardDetail.getInspectionProjectId()); inspectionOrderDetail.setInspectionStandardDetailId(dailyInspectionStandardDetail.getId()); inspectionOrderDetail.setLocation(dailyInspectionStandardDetail.getLocation()); inspectionOrderDetail.setPhoto(dailyInspectionStandardDetail.getPhoto()); inspectionOrderDetailService.save(inspectionOrderDetail); } } } } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/OperationCertificateJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ package org.jeecg.modules.eam.job; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.eam.entity.OperationCertificate; import org.jeecg.modules.eam.service.IOperationCertificateService; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; /** * æä½è¯æ´æ°è®¡å卿 */ @Slf4j public class OperationCertificateJob implements Job { @Resource private IOperationCertificateService operationCertificateService; @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { //éåæææä½è¯ä¿¡æ¯ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); List<OperationCertificate> operationCertificateList = operationCertificateService.list(); for(OperationCertificate operationCertificate : operationCertificateList){ String endTime = formatter.format(operationCertificate.getEndTime()); String newDate = formatter.format(new Date()); if(endTime.equals(newDate)){ Date currentDate = operationCertificate.getEndTime(); operationCertificate.setStartTime(operationCertificate.getEndTime()); Calendar c = Calendar.getInstance(); c.setTime(currentDate); c.add(Calendar.YEAR, 1); currentDate = c.getTime(); operationCertificate.setEndTime(currentDate); operationCertificate.setCurrentCycleScore(12); operationCertificateService.updateById(operationCertificate); } } } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/InspectionCycleMapper.java
@@ -37,4 +37,8 @@ @Select("<script> select dbo.F_GET_SEQ_ID('InspectionCycleNum') </script>") public String getInspectionCycleNum(); public List<InspectionCycle> getInspectionOrder(); public List<InspectionCycle> getInspectionProject(String inspectionStandardId,String inspectionCycleId); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionCycleMapper.xml
@@ -82,4 +82,18 @@ where t2.version_status='2' and t1.del_flag=0 </select> <select id="getInspectionOrder" resultType="org.jeecg.modules.eam.entity.InspectionCycle"> select DISTINCT t1.num inspectionStandardNum, t1.equipment_id, t2.daily_inspection_standard_id inspectionStandardId, t3.*, t4.team_id teamId from mom_eam_daily_inspection_standard t1 left join mom_eam_daily_inspection_standard_detail t2 on t1.id = t2.daily_inspection_standard_id left join mom_eam_inspection_cycle t3 on t3.id = t2.inspection_cycle_id left join mom_eam_equipment t4 on t4.id = t1.equipment_id where t1.version_status = 2 and t1.status = 1 and t1.del_flag=0 and t3.name is not NULL </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateApplyDetailMapper.xml
@@ -9,10 +9,9 @@ operation_certificate_apply_id = #{mainId} </delete> <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.eam.entity.OperationCertificateApplyDetail"> SELECT t1.*,t2.realname,t3.name equipmentNames SELECT t1.*,t2.realname FROM mom_eam_operation_certificate_apply_detail t1 left join (select * from sys_user where del_flag = 0) t2 on t1.user_id = t2.username left join (select * from mom_eam_equipment where del_flag = 0) t3 on t1.equipment_ids = t3.id left join (select * from sys_user where del_flag = 0) t2 on t1.user_id = t2.id WHERE operation_certificate_apply_id = #{mainId} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IInspectionCycleService.java
@@ -30,4 +30,11 @@ * @return */ List<Integer> getUsableVersion(); /** * è·åéè¦çæå·¥åçæ°æ® * @return */ List<InspectionCycle> getInspectionOrder(); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/InspectionCycleServiceImpl.java
@@ -35,4 +35,10 @@ public List<Integer> getUsableVersion() { return baseMapper.getUsableVersion(); } @Override public List<InspectionCycle> getInspectionOrder(){ return baseMapper.getInspectionOrder(); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateApplyDetailServiceImpl.java
@@ -1,10 +1,18 @@ package org.jeecg.modules.eam.service.impl; import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.eam.entity.Equipment; import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail; import org.jeecg.modules.eam.mapper.OperationCertificateApplyDetailMapper; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IOperationCertificateApplyDetailService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -19,9 +27,24 @@ @Autowired private OperationCertificateApplyDetailMapper operationCertificateApplyDetailMapper; @Autowired private IEamEquipmentService equipmentService; @Override public List<OperationCertificateApplyDetail> selectByMainId(String mainId) { return operationCertificateApplyDetailMapper.selectByMainId(mainId); List<OperationCertificateApplyDetail> operationCertificateApplyDetailList = operationCertificateApplyDetailMapper.selectByMainId(mainId); for(OperationCertificateApplyDetail operationCertificateApplyDetail : operationCertificateApplyDetailList){ List<String> equipmentIdLsit = Arrays.asList(operationCertificateApplyDetail.getEquipmentIds().split(",")); List<String> equipmentNameLsit = new ArrayList<>(); for(String equipmentId : equipmentIdLsit){ Equipment equipment = equipmentService.lambdaQuery().eq(Equipment::getId,equipmentId).eq(Equipment::getDelFlag, CommonConstant.DEL_FLAG_0).one(); if(equipment != null){ equipmentNameLsit.add(equipment.getNum()); } } String equipmentNames = equipmentNameLsit.stream().map(String::toString).collect(Collectors.joining(",")); operationCertificateApplyDetail.setEquipmentNames(equipmentNames); } return operationCertificateApplyDetailList; } }