From 454545bd4207d99d153e263c68f821f856f0e884 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期日, 29 九月 2024 09:47:20 +0800 Subject: [PATCH] 430最终问题项修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnologyStatusAlart.java | 74 ++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java | 7 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java | 19 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java | 87 +++++++++++++- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml | 87 +++++++++----- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 16 +- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java | 7 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java | 14 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionCycleMapper.xml | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 9 + 11 files changed, 272 insertions(+), 52 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java index c0be5b7..b00dc2f 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java @@ -677,6 +677,11 @@ finishTransferOrder.setDelFlag(0); finishTransferOrderService.save(finishTransferOrder); + String equipmentId = maintenanceOrder.getEquipmentId(); + Equipment equipment = equipmentService.getById(equipmentId); + equipment.setSecondMaintenanceTime(new Date()); + equipmentService.updateById(equipment); + if (!b) { return Result.error("鎶ュ伐澶辫触!"); } else { @@ -722,6 +727,20 @@ this.createMaintenanceStoveExempt(maintenanceOrder); + /** + * 涓変繚鎶ュ伐鏃� 鏇存柊鏈涓変繚鏃ユ湡 鍜屼笅娆′笁淇濇棩鏈� + */ + String equipmentImportanceId = equipment.getEquipmentImportanceId(); + equipment.setThirdMaintenanceTime(new Date()); + if("A".equals(equipmentImportanceId)){ + equipment.setNextThirdMaintenanceTime(DateUtils.getYearAfter(new Date(),3)); + }else if("B".equals(equipmentImportanceId)){ + equipment.setNextThirdMaintenanceTime(DateUtils.getYearAfter(new Date(),4)); + }else if("C".equals(equipmentImportanceId)){ + equipment.setNextThirdMaintenanceTime(DateUtils.getYearAfter(new Date(),4)); + } + equipmentService.updateById(equipment); + if (!b) { return Result.error("鎶ュ伐澶辫触!"); } else { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java index 18dfb59..1ee1cdb 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java @@ -1,6 +1,7 @@ package org.jeecg.modules.eam.controller; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -673,7 +674,9 @@ String teamId = equipmentImportVo.getTeamId(); String propertyStatus = equipmentImportVo.getPropertyStatus(); String abc = equipmentImportVo.getEquipmentImportanceId(); - if(StringUtils.isBlank(equipmentImportVo.getNum())){ + Date thirdMaintenanceTime = equipmentImportVo.getThirdMaintenanceTime(); + Date technologyStatusQualificationTime = equipmentImportVo.getTechnologyStatusQualificationTime(); + if(StringUtils.isBlank(equipmentImportVo.getNum())){ exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐�,鍘熷洜:缁熶竴缂栫爜缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"; exceptionNum++; continue; @@ -883,12 +886,14 @@ .setSourceCountry(equipmentImportVo.getSourceCountry()) .setModel(equipmentImportVo.getModel()) .setSpecification(equipmentImportVo.getSpecification()) - .setPropertyStatus(equipmentImportVo.getPropertyStatus()) + .setPropertyStatus("normal") .setWarrantyStart(equipmentImportVo.getWarrantyStart()) .setWarrantyEnd(equipmentImportVo.getWarrantyEnd()) .setIsLineEquip("no") .setIsLine("no") .setNextTechnologyStatusQualificationTime(equipmentImportVo.getNextTechnologyStatusQualificationTime()) + .setThirdMaintenanceTime(equipmentImportVo.getThirdMaintenanceTime()) + .setTechnologyStatusQualificationTime(equipmentImportVo.getTechnologyStatusQualificationTime()) .setGpo(equipmentImportVo.getGpo()); if(equipmentCategory.getEquipmentCategoryUda1().equals("weldingMachine")){ equipment.setCheckPeriod(365*3+""); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java index db85b64..f395efd 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/FaultIntervalTimeController.java @@ -7,6 +7,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.record.DVALRecord; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; @@ -24,6 +25,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.ParseException; import java.util.*; @@ -209,9 +212,41 @@ faultIntervalTime.setNoFaultTime(equipmentMTBF.get(0).get("noFaultTime").toString()); faultIntervalTime.setFaultTime(equipmentMTBF.get(0).get("faultTime").toString()); faultIntervalTime.setFaultNumber(equipmentMTBF.get(0).get("faultNumber").toString()); - faultIntervalTime.setAverageRepairTime(equipmentMTBF.get(0).get("averageRepairTime").toString()); - faultIntervalTime.setAverageFaultIntervalTime(equipmentMTBF.get(0).get("averageFaultIntervalTime").toString()); faultIntervalTime.setRepairTime(equipmentMTBF.get(0).get("repairTime").toString()); + //璁$畻mttr + BigDecimal repairTime = new BigDecimal(equipmentMTBF.get(0).get("repairTime").toString()); + BigDecimal faultNumber = new BigDecimal(equipmentMTBF.get(0).get("faultNumber").toString()); + BigDecimal averageRepairTime; + if(new BigDecimal(0).compareTo(faultNumber) == 0){ + averageRepairTime = new BigDecimal(0.00).setScale(2, RoundingMode.HALF_UP); + }else{ + averageRepairTime = repairTime.divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + } + //璁$畻mtbf + //褰撴湁鏁呴殰鏃堕棿鏃禡TBF锛氾紙鎬诲彲鍒╃敤鏃堕棿-鎬绘晠闅滄椂闂达級/锛堟�绘晠闅滄鏁�+1锛� + //褰撴棤鏁呴殰鏃堕棿鏃禡TBF锛歁TBF=鎬诲彲鍒╃敤鏃堕棿 + BigDecimal averageFaultIntervalTime; + BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString()); + BigDecimal faultTime = new BigDecimal(equipmentMTBF.get(0).get("faultTime").toString()); + if(new BigDecimal(0).compareTo(faultNumber) == 0){ + averageFaultIntervalTime = new BigDecimal(totalAvailableTime + ".00").setScale(2, RoundingMode.HALF_UP);; + }else{ + averageFaultIntervalTime = (totalAvailableTime.subtract(faultTime)).divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + } + //璁$畻瀹屽ソ鐜� 鍙紑鍔ㄧ巼 + BigDecimal totalDay = new BigDecimal(equipmentMTBF.get(0).get("totalDay").toString()); + BigDecimal repairDay = new BigDecimal(equipmentMTBF.get(0).get("repairDay").toString()); + BigDecimal serviceabilityRate = (totalDay.subtract(repairDay)).divide(totalDay,2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + + //鍙紑鍔ㄧ巼 +// BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString()); +// BigDecimal repairTime = new BigDecimal(equipmentMTBF.get(0).get("repairTime").toString()); + BigDecimal startRate = (totalAvailableTime.subtract(repairTime)).divide(totalAvailableTime,2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + + faultIntervalTime.setAverageRepairTime(averageRepairTime.toString()); + faultIntervalTime.setAverageFaultIntervalTime(averageFaultIntervalTime.toString()); + faultIntervalTime.setServiceabilityRate(serviceabilityRate+"%"); + faultIntervalTime.setStartRate(startRate+"%"); faultIntervalTimeList.add(faultIntervalTime); }else{ List<Map<String, Object>> mtbfTotalAvailableTime = faultIntervalTimeService.getMTBFTotalAvailableTime(query); @@ -222,12 +257,14 @@ }else{ faultIntervalTime.setTotalAvailableTime("0"); faultIntervalTime.setNoFaultTime("0"); - faultIntervalTime.setAverageFaultIntervalTime("0"); + faultIntervalTime.setAverageFaultIntervalTime("0.00"); } faultIntervalTime.setFaultTime("0"); faultIntervalTime.setFaultNumber("0"); - faultIntervalTime.setAverageRepairTime("0"); + faultIntervalTime.setAverageRepairTime("0.00"); faultIntervalTime.setRepairTime("0"); + faultIntervalTime.setServiceabilityRate("0.00%"); + faultIntervalTime.setStartRate("0.00%"); faultIntervalTimeList.add(faultIntervalTime); } @@ -375,25 +412,54 @@ faultIntervalTime.setNoFaultTime(equipmentMTBF.get(0).get("noFaultTime").toString()); faultIntervalTime.setFaultTime(equipmentMTBF.get(0).get("faultTime").toString()); faultIntervalTime.setFaultNumber(equipmentMTBF.get(0).get("faultNumber").toString()); - faultIntervalTime.setAverageRepairTime(equipmentMTBF.get(0).get("averageRepairTime").toString()); - faultIntervalTime.setAverageFaultIntervalTime(equipmentMTBF.get(0).get("averageFaultIntervalTime").toString()); faultIntervalTime.setRepairTime(equipmentMTBF.get(0).get("repairTime").toString()); + faultIntervalTime.setEquipmentNumer(equipmentMTBF.get(0).get("equipmentNumer").toString()); + + BigDecimal repairTime = new BigDecimal(equipmentMTBF.get(0).get("repairTime").toString()); + BigDecimal faultNumber = new BigDecimal(equipmentMTBF.get(0).get("faultNumber").toString()); + BigDecimal totalAvailableTime = new BigDecimal(equipmentMTBF.get(0).get("totalAvailableTime").toString()); + BigDecimal faultTime = new BigDecimal(equipmentMTBF.get(0).get("faultTime").toString()); + BigDecimal equipmentNumer = new BigDecimal(equipmentMTBF.get(0).get("equipmentNumer").toString()); + BigDecimal totalDay = new BigDecimal(equipmentMTBF.get(0).get("totalDay").toString()); + BigDecimal repairDay = new BigDecimal(equipmentMTBF.get(0).get("repairDay").toString()); + //璁$畻mttr 淇鏃堕棿/鏁呴殰娆℃暟 + BigDecimal averageRepairTime = repairTime.divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + //璁$畻mtbf 锛堟�诲彲鍒╃敤鏃堕棿-鏁呴殰鏃堕棿锛�/鏁呴殰娆℃暟 + BigDecimal averageFaultIntervalTime; + if(new BigDecimal(0).compareTo(faultNumber)==0){ + averageFaultIntervalTime = new BigDecimal("0.00").setScale(2, RoundingMode.HALF_UP); + }else{ + averageFaultIntervalTime = (totalAvailableTime.subtract(faultTime)).divide(faultNumber, 2, BigDecimal.ROUND_HALF_EVEN); + } + //瀹屽ソ鐜� 锛堢粺璁″ぉ鏁�*璁惧鏁伴噺-鏁呴殰澶╂暟锛�/锛堢粺璁″ぉ鏁�*璁惧鏁伴噺锛� + BigDecimal serviceabilityRate = ((totalDay.multiply(equipmentNumer)).subtract(repairDay)).divide((totalDay.multiply(equipmentNumer)), 2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + //寮�鍔ㄧ巼 锛堟�诲彲鍒╃敤鏃堕棿-鏁呴殰鏃堕棿锛�/鎬诲彲鍒╃敤鏃堕棿 + BigDecimal startRate = (totalAvailableTime.subtract(faultTime)).divide(totalAvailableTime, 2, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100)); + + faultIntervalTime.setAverageRepairTime(averageRepairTime.toString()); + faultIntervalTime.setAverageFaultIntervalTime(averageFaultIntervalTime.toString()); + faultIntervalTime.setServiceabilityRate(serviceabilityRate+"%"); + faultIntervalTime.setStartRate(startRate+"%"); faultIntervalTimeList.add(faultIntervalTime); }else{ List<Map<String, Object>> mtbfTotalAvailableTime = faultIntervalTimeService.getCenterMTBFTotalAvailableTime(query); if(query.get("startTime") != "" && query.get("endTime") != ""){ faultIntervalTime.setTotalAvailableTime(mtbfTotalAvailableTime.get(0).get("totalAvailableTime").toString()); faultIntervalTime.setNoFaultTime(mtbfTotalAvailableTime.get(0).get("totalAvailableTime").toString()); - faultIntervalTime.setAverageFaultIntervalTime(mtbfTotalAvailableTime.get(0).get("totalAvailableTime").toString()); + faultIntervalTime.setAverageFaultIntervalTime("0.00"); }else{ faultIntervalTime.setTotalAvailableTime("0"); faultIntervalTime.setNoFaultTime("0"); - faultIntervalTime.setAverageFaultIntervalTime("0"); + faultIntervalTime.setAverageFaultIntervalTime("0.00"); } faultIntervalTime.setFaultTime("0"); faultIntervalTime.setFaultNumber("0"); - faultIntervalTime.setAverageRepairTime("0"); + faultIntervalTime.setEquipmentNumer("0"); + faultIntervalTime.setAverageRepairTime("0.00"); faultIntervalTime.setRepairTime("0"); + faultIntervalTime.setServiceabilityRate("0.00%"); + faultIntervalTime.setStartRate("0.00%"); + faultIntervalTime.setStartTime("0"); faultIntervalTimeList.add(faultIntervalTime); } @@ -464,4 +530,7 @@ } + + + } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java index 5ac21d5..c4aebe8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentImportVo.java @@ -1,9 +1,11 @@ package org.jeecg.modules.eam.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; @@ -122,5 +124,10 @@ @Excel(name = "涓嬫鎶�鏈姸鎬侀壌瀹氭椂闂�", width = 20, format = "yyyyMMdd") private Date nextTechnologyStatusQualificationTime; + @Excel(name = "涓変繚鏃ユ湡", format = "yyyy-MM-dd") + private java.util.Date thirdMaintenanceTime; + + @Excel(name = "鎶�鏈姸鎬侀壌瀹氭棩鏈�", format = "yyyy-MM-dd") + private java.util.Date technologyStatusQualificationTime; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java index c02fa0b..375b8e2 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/FaultIntervalTime.java @@ -110,5 +110,12 @@ @TableField(exist = false) private String endTime; + @TableField(exist = false) + private String serviceabilityRate; + @TableField(exist = false) + private String startRate; + + @TableField(exist = false) + private String equipmentNumer; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnologyStatusAlart.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnologyStatusAlart.java new file mode 100644 index 0000000..fc51b15 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/TechnologyStatusAlart.java @@ -0,0 +1,74 @@ +package org.jeecg.modules.eam.job; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.jeecg.common.api.dto.message.MessageDTO; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.modules.eam.entity.Equipment; +import org.jeecg.modules.eam.service.IEamEquipmentService; +import org.jeecg.modules.system.entity.*; +import org.jeecg.modules.system.service.*; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; + +public class TechnologyStatusAlart implements Job { + + @Resource + private IEamEquipmentService equipmentService; + @Resource + private ISysBaseAPI sysBaseApi; + @Resource + private ISysRoleService sysRoleService; + @Resource + private ISysDictService sysDictService; + @Resource + private ISysDictItemService sysDictItemService; + @Resource + private ISysUserRoleService sysUserRoleService; + @Resource + private ISysUserService sysUserService; + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + LocalDateTime currentDateTime = LocalDateTime.now(); + LocalDateTime dateBefore2Months = currentDateTime.plusMonths(2); + Date result = Date.from(dateBefore2Months.atZone(ZoneId.systemDefault()).toInstant()); + List<Equipment> needAlerts = equipmentService.list( + new QueryWrapper<Equipment>() + .lt("next_technology_status_qualification_time",result) + .eq("property_status","normal") + .eq("del_flag",0)); + SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false); + SysDictItem sysDictItem = sysDictItemService.getOne( + new QueryWrapper<SysDictItem>() + .eq("item_text","鎶�鏈姸鎬侀壌瀹氭彁閱�") + .eq("dict_id",sysDict.getId()),false); + String roleCode = sysDictItem.getItemValue(); + SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false); + List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>() + .eq("role_id",sysRole.getId())); + for(SysUserRole sysUserRole:sysUserRoles){ + SysUser sysUser = sysUserService.getById(sysUserRole.getUserId()); + String title = "璁惧鎶�鏈姸鎬侀壌瀹氬埌鏈熸彁閱�!"; + String msg = "缁熶竴缂栫爜涓猴細"; + for(Equipment equipment:needAlerts){ + msg = msg+"銆�"+equipment.getNum()+"銆�"; + } + msg = msg+"鐨勮澶囨妧鏈姸鎬侀壌瀹氱殑鏃ユ湡涓嶈冻涓や釜鏈堬紝璇峰強鏃跺鐞�"; + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle(title); + messageDTO.setContent(msg); + messageDTO.setCategory("鎶�鏈姸鎬侀壌瀹氭秷鎭�"); + messageDTO.setFromUser("admin"); + messageDTO.setToUser(sysUser.getUsername()); + if(needAlerts.size()!=0){ + sysBaseApi.sendSysAnnouncement(messageDTO); + } + } + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java index a0ccf5d..574b718 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenaceAlart.java @@ -42,12 +42,20 @@ LocalDateTime currentDateTime = LocalDateTime.now(); LocalDateTime dateBefore2Months = currentDateTime.plusMonths(2); Date result = Date.from(dateBefore2Months.atZone(ZoneId.systemDefault()).toInstant()); - List<Equipment> needAlerts = equipmentService.list(new QueryWrapper<Equipment>().lt("next_third_maintenance_time",result).eq("property_status","normal").eq("del_flag",0)); + List<Equipment> needAlerts = equipmentService.list( + new QueryWrapper<Equipment>() + .lt("next_third_maintenance_time",result) + .eq("property_status","normal") + .eq("del_flag",0)); SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false); - SysDictItem sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_text","涓変繚娑堟伅").eq("dict_id",sysDict.getId()),false); + SysDictItem sysDictItem = sysDictItemService.getOne( + new QueryWrapper<SysDictItem>() + .eq("item_text","涓変繚娑堟伅") + .eq("dict_id",sysDict.getId()),false); String roleCode = sysDictItem.getItemValue(); SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false); - List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId())); + List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>() + .eq("role_id",sysRole.getId())); for(SysUserRole sysUserRole:sysUserRoles){ SysUser sysUser = sysUserService.getById(sysUserRole.getUserId()); String title = "璁惧涓嬫涓変繚鍒版湡鎻愰啋!"; diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index 2b4251a..fc2084d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml @@ -165,13 +165,14 @@ mom_eam_equipment t1 LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'equipment_status' ) t2 ON t1.equipment_status = t2.item_value WHERE t1.del_flag = '0' - <if test="params.num != 'null' and params.num != ''"> - and t1.num like concat('%',#{params.num},'%') - </if> - <if test="params.name != 'null' and params.name != ''"> - and t1.name like concat('%',#{params.name},'%') - </if> + </select> + <!-- <if test="params.num != 'null' and params.num != ''">--> + <!-- and t1.num like concat('%',#{params.num},'%')--> + <!-- </if>--> + <!-- <if test="params.name != 'null' and params.name != ''">--> + <!-- and t1.name like concat('%',#{params.name},'%')--> + <!-- </if>--> <select id="getEquipmentList" resultType="org.jeecg.modules.eam.entity.Equipment"> select t1.id id, @@ -405,6 +406,9 @@ t1.next_technology_status_qualification_time nextTechnologyStatusQualificationTime, t1.technology_status_qualification_time technologyStatusQualificationTime, t1.technology_status_verification_type technologyStatusVerificationType, + t1.second_maintenance_time secondMaintenanceTime, + t1.third_maintenance_time thirdMaintenanceTime, + t1.next_third_maintenance_time nextThirdMaintenanceTime, t1.line_id lineId, t1.is_meta isMeta, t1.id showId, diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml index 0a22cc2..b85ef4e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/FaultIntervalTimeMapper.xml @@ -22,8 +22,12 @@ and t1.equipment_importance_id =#{params.abc} </if> <if test="params.specificEquipment != null and params.specificEquipment != ''"> - and t1.specific_equipment in ('0','1','2') + and t1.specific_equipment =#{params.specificEquipment} </if> + <if test="params.equipmentNum != null and params.equipmentNum != ''"> + and t1.num =#{params.equipmentNum} + </if> + ORDER BY t2.name ASC </select> <select id="getWorkCenterList" parameterType="Map" resultType="Map"> @@ -35,14 +39,17 @@ mom_eam_equipment t1 LEFT JOIN mom_base_area t2 ON t1.work_center_id = t2.id WHERE t2.type = '1' and t1.work_center_id IS NOT NULL - <if test="params.abc != null and params.abc != ''"> - and t1.equipment_importance_id =#{params.abc} - </if> <if test="params.useDepartName != null and params.useDepartName != ''"> and t2.name =#{params.useDepartName} </if> GROUP BY t1.work_center_id,t2.name </select> +<!-- <if test="params.abc != null and params.abc != ''">--> +<!-- and t1.equipment_importance_id =#{params.abc}--> +<!-- </if>--> +<!-- <if test="params.specificEquipment != null and params.specificEquipment != ''">--> +<!-- and t1.specific_equipment =#{params.specificEquipment}--> +<!-- </if>--> <!-- <if test="params.useDepartName == ''">--> <!-- and t2.depart_name = '-1'--> @@ -55,15 +62,17 @@ SUM(tt.faultTime) AS faultTime, SUM(tt.repairTime) AS repairTime, SUM(tt.noFaultTime) AS noFaultTime, - SUM(tt.repairTime) /COUNT(tt.equipmentId) AS averageRepairTime, - SUM(tt.noFaultTime) /COUNT(tt.equipmentId) AS averageFaultIntervalTime + sum(tt.totalDay) as totalDay, + sum(tt.repairDay) as repairDay FROM( SELECT t1.equipment_id AS equipmentId, datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime, datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS faultTime, datediff( HOUR, isnull( t2.actual_start_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairTime, - (datediff( HOUR, #{params.startTime}, #{params.endTime}) + 24) - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS noFaultTime + (datediff( HOUR, #{params.startTime}, #{params.endTime}) + 24) - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS noFaultTime, + datediff( DAY, #{params.startTime}, #{params.endTime} )+1 AS totalDay, + datediff( DAY, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairDay FROM mom_eam_equipment_report_repair t1 LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id @@ -75,39 +84,57 @@ GROUP BY tt.equipmentId,tt.totalAvailableTime </select> - +<!-- SUM(tt.repairTime) /COUNT(tt.equipmentId) AS averageRepairTime,--> +<!-- SUM(tt.noFaultTime) /(COUNT(tt.equipmentId) + 1) AS averageFaultIntervalTime,--> +<!-- (sum(tt.totalDay) - sum(tt.repairDay))/sum(tt.totalDay) as serviceabilityRate,--> +<!-- (tt.totalAvailableTime - SUM(tt.repairTime))/tt.totalAvailableTime as startRate--> <select id="getMTBFTotalAvailableTime" parameterType="Map" resultType="Map"> select datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime </select> <select id="getCenterEquipmentMTBF" parameterType="Map" resultType="Map"> SELECT - COUNT(tt.workCenterId) AS faultNumber, - tt.totalAvailableTime * COUNT(tt.workCenterId) as totalAvailableTime, - SUM(tt.faultTime) * COUNT(tt.workCenterId) AS faultTime, - SUM(tt.repairTime) * COUNT(tt.workCenterId) AS repairTime, - SUM(tt.noFaultTime) * COUNT(tt.workCenterId) AS noFaultTime, - SUM(tt.repairTime) /COUNT(tt.workCenterId) * COUNT(tt.workCenterId) AS averageRepairTime, - SUM(tt.noFaultTime) /COUNT(tt.workCenterId) * COUNT(tt.workCenterId) AS averageFaultIntervalTime + COUNT(tt.equipmentNum) AS equipmentNumer, + sum(tt.equipmentNum) as faultNumber, + tt.totalAvailableTime * COUNT(tt.equipmentNum) as totalAvailableTime, + SUM(tt.faultTime) AS faultTime, + SUM(tt.repairTime) AS repairTime, + tt.totalAvailableTime * COUNT(tt.equipmentNum) - SUM(tt.faultTime) AS noFaultTime, + tt.totalDay, + tt.repairDay FROM( - SELECT - t3.work_center_id as workCenterId, - datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime, - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS faultTime, - datediff( HOUR, isnull( t2.actual_start_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairTime, - (datediff( HOUR, #{params.startTime}, #{params.endTime}) + 24) - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS noFaultTime - FROM - mom_eam_equipment_report_repair t1 - LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id - left join mom_eam_equipment t3 on t1.equipment_id = t3.id - WHERE 1=1 - AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) >= #{params.startTime} - AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) <= #{params.endTime} - AND t3.work_center_id = #{params.workCenterId} + select COUNT(ss.equipmentNum) as equipmentNum,ss.totalAvailableTime,ss.faultTime,ss.repairTime,ss.noFaultTime,ss.totalDay,ss.repairDay from ( + SELECT + t3.num as equipmentNum, + datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime, + datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS faultTime, + datediff( HOUR, isnull( t2.actual_start_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairTime, + (datediff( HOUR, #{params.startTime}, #{params.endTime}) + 24) - datediff( HOUR, isnull( t1.fault_time, GETDATE( ) ), isnull( t1.accept_time, GETDATE( ) ) ) AS noFaultTime, + datediff( DAY, #{params.startTime}, #{params.endTime} )+1 AS totalDay, + datediff( DAY, isnull( t1.fault_time, GETDATE( ) ), isnull( t2.actual_end_time, GETDATE( ) ) ) AS repairDay + FROM + mom_eam_equipment_report_repair t1 + LEFT JOIN mom_eam_repair_order t2 ON t2.report_repair_id = t1.id + left join mom_eam_equipment t3 on t1.equipment_id = t3.id + WHERE 1=1 + AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) >= #{params.startTime} + AND SUBSTRING ( CONVERT ( VARCHAR ( 10 ), t1.fault_time, 120 ), 1, 10 ) <= #{params.endTime} + AND t3.work_center_id = #{params.workCenterId} + <if test="params.abc != null and params.abc != ''"> + and t3.equipment_importance_id =#{params.abc} + </if> + <if test="params.specificEquipment != null and params.specificEquipment != ''"> + and t3.specific_equipment =#{params.specificEquipment} + </if> + ) ss group by ss.totalAvailableTime,ss.faultTime,ss.repairTime,ss.noFaultTime,ss.totalDay,ss.repairDay ) AS tt GROUP BY - tt.workCenterId,tt.totalAvailableTime + tt.equipmentNum,tt.totalAvailableTime,tt.totalDay,tt.repairDay </select> +<!-- SUM(tt.repairTime) /sum(tt.equipmentNum) AS averageRepairTime,--> +<!-- (tt.totalAvailableTime * COUNT(tt.equipmentNum) - SUM(tt.faultTime))/sum(tt.equipmentNum) AS averageFaultIntervalTime,--> +<!-- (tt.totalDay * COUNT(tt.equipmentNum) -tt.repairDay)/ (tt.totalDay * COUNT(tt.equipmentNum)) as serviceabilityRate,--> +<!-- (tt.totalAvailableTime * COUNT(tt.equipmentNum) - SUM(tt.repairTime))/(tt.totalAvailableTime * COUNT(tt.equipmentNum)) as startRate--> <select id="getCenterMTBFTotalAvailableTime" parameterType="Map" resultType="Map"> select datediff( HOUR, #{params.startTime}, #{params.endTime} ) + 24 AS totalAvailableTime diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionCycleMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionCycleMapper.xml index 582757a..c3897fb 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionCycleMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/InspectionCycleMapper.xml @@ -6,7 +6,7 @@ select t1.id id, t1.code code, - concat(t1.cycle,t2.item_text) name, + t1.cycle name, t1.version version, t1.create_by createBy, t1.create_time createTime, diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml index 1231877..352d482 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceCycleMapper.xml @@ -6,7 +6,7 @@ select t1.id id, t1.code code, - concat(t1.cycle,t2.item_text) name, + t1.cycle name, t1.version version, t1.create_by createBy, t1.create_time createTime, -- Gitblit v1.9.3