| | |
| | | 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 { |
| | |
| | | |
| | | 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 { |
| | |
| | | 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; |
| | |
| | | String teamId = equipmentImportVo.getTeamId(); |
| | | String propertyStatus = equipmentImportVo.getPropertyStatus(); |
| | | String abc = equipmentImportVo.getEquipmentImportanceId(); |
| | | Date thirdMaintenanceTime = equipmentImportVo.getThirdMaintenanceTime(); |
| | | Date technologyStatusQualificationTime = equipmentImportVo.getTechnologyStatusQualificationTime(); |
| | | if(StringUtils.isBlank(equipmentImportVo.getNum())){ |
| | | exceptionInfo = exceptionInfo+"第"+(i+2)+"è¡å¯¼å
¥å¤±è´¥,åå :ç»ä¸ç¼ç 缺失,请填åå¿
填项åå导å
¥;"; |
| | | exceptionNum++; |
| | |
| | | .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+""); |
| | |
| | | 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; |
| | |
| | | |
| | | 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.*; |
| | | |
| | |
| | | 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 |
| | | //彿æ
éæ¶é´æ¶MTBFï¼ï¼æ»å¯å©ç¨æ¶é´-æ»æ
éæ¶é´ï¼/ï¼æ»æ
鿬¡æ°+1ï¼ |
| | | //彿 æ
éæ¶é´æ¶MTBFï¼MTBF=æ»å¯å©ç¨æ¶é´ |
| | | 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); |
| | |
| | | }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); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | 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; |
| | |
| | | @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; |
| | | |
| | | } |
| | |
| | | @TableField(exist = false) |
| | | private String endTime; |
| | | |
| | | @TableField(exist = false) |
| | | private String serviceabilityRate; |
| | | |
| | | @TableField(exist = false) |
| | | private String startRate; |
| | | |
| | | @TableField(exist = false) |
| | | private String equipmentNumer; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | 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 = "设å¤ä¸æ¬¡ä¸ä¿å°ææé!"; |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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"> |
| | |
| | | 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'--> |
| | |
| | | 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 |
| | |
| | | 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 COUNT(ss.equipmentNum) as equipmentNum,ss.totalAvailableTime,ss.faultTime,ss.repairTime,ss.noFaultTime,ss.totalDay,ss.repairDay from ( |
| | | SELECT |
| | | t3.work_center_id as workCenterId, |
| | | 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( 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 |
| | |
| | | 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 |
| | |
| | | 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, |
| | |
| | | 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, |