2024-1-9-3 设备-1.增加故障次数 停机次数 2.完善手持、PC和维修流程 3.完善当日设备稳定性

master
A0010407 1 year ago
parent ddfb519fbf
commit 51f62a5853

@ -72,8 +72,7 @@ public class DevicePDAController extends BaseController {
return devicePDAService.updateInspectionRecord(equOrder);
}
//报修
//////////报修
/**
*
*
@ -85,8 +84,7 @@ public class DevicePDAController extends BaseController {
return devicePDAService.addRepairRecord(equRepairOrder);
}
//维修
//////////维修
/**
*
*
@ -120,7 +118,6 @@ public class DevicePDAController extends BaseController {
return devicePDAService.updateDowntime(equRepairWorkOrder);
}
/**
*
*/
@ -198,6 +195,4 @@ public class DevicePDAController extends BaseController {
public AjaxResult getFaultReasonList(EquFaultReason equFaultReason) {
return devicePDAService.selectEquFaultReasonList(equFaultReason);
}
}

@ -95,6 +95,14 @@ public class EquOperation extends BaseEntity {
/** 删除标识 */
private String delFlag;
/** 故障次数 */
@Excel(name = "故障次数")
private Integer failureTimes;
/** 停机次数 */
@Excel(name = "停机次数")
private Integer shutdownTimes;
// 创建日期范围list
private List<Date> createTimeArray;
@ -353,6 +361,22 @@ public class EquOperation extends BaseEntity {
return intactRate;
}
//故障次数
public void setFailureTimes(Integer failureTimes) {
this.failureTimes = failureTimes;
}
public Integer getFailureTimes() {
return failureTimes;
}
//停机次数
public void setShutdownTimes(Integer shutdownTimes) {
this.shutdownTimes = shutdownTimes;
}
public Integer getShutdownTimes() {
return shutdownTimes;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -785,18 +785,20 @@ public class DevicePDAServiceImpl implements IDevicePDAService {
//2.3修改完好率报表
if(equOperation != null){
DecimalFormat df = new DecimalFormat("#.##");
//实际运行时间 = 实际运行时间 - 故障时间
double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour;
//故障时间 = 原来的故障时间 + 这次的故障时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour;
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
if (list.getWorkDownMachine().equals("1")) {
DecimalFormat df = new DecimalFormat("#.##");
//实际运行时间 = 实际运行时间 - 故障时间
double result = Double.parseDouble(equOperation.getActualOperationTime()) - hour;
//故障时间 = 原来的故障时间 + 这次的故障时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + hour;
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());//运行时间
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
equOperation.setShutdownTimes(equOperation.getShutdownTimes()+1);//停机次数加1
}
equOperation.setFailureTimes(equOperation.getFailureTimes()+1);//故障次数加1
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());
equOperationMapper.updateEquOperation(equOperation);

@ -234,22 +234,25 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
String time = sdf.format(equRepairWorkOrder.getWorkEndTime());
EquOperation equOperation = equOperationMapper.selectEquipmentIntegrityRate(time,equRepairWorkOrder.getEquipmentCode());
if(equOperation != null){
DecimalFormat df = new DecimalFormat("#.##");
//实际运行时间 = 实际运行时间 - 故障时间
double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours);
//故障时间 = 原来的故障时间 + 这次的故障时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours);
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
// 故障率计算(故障时间/运行时间)
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
if(equOperation != null){
if (equRepairWorkOrder.getWorkDownMachine().equals("1")) {
DecimalFormat df = new DecimalFormat("#.##");
//实际运行时间 = 实际运行时间 - 故障时间
double result = Double.parseDouble(equOperation.getActualOperationTime()) - Double.parseDouble(hours);
//故障时间 = 原来的故障时间 + 这次的故障时间
double faultTime = Double.parseDouble(equOperation.getFaultTime()) + Double.parseDouble(hours);
BigDecimal faultTimeBD = new BigDecimal(faultTime);// 故障时间
BigDecimal operationTimeBD = new BigDecimal(equOperation.getOperationTime());// 运行时间
equOperation.setFaultTime(String.valueOf(faultTime));//故障时间
equOperation.setActualOperationTime(String.valueOf(df.format(result)));//实际运行时间
// 故障率计算(故障时间/运行时间)
equOperation.setFailureRate(faultTimeBD.multiply(new BigDecimal(100)).divide(operationTimeBD,2, RoundingMode.HALF_UP).toString()+"%");
equOperation.setShutdownTimes(equOperation.getShutdownTimes()+1);//停机次数加1
}
equOperation.setUpdateBy(SecurityUtils.getUsername());
equOperation.setUpdateTime(DateUtils.getNowDate());
//故障次数增加,但是停机次数可能不增加
equOperation.setFailureTimes(equOperation.getFailureTimes()+1);//故障次数加1
equOperationMapper.updateEquOperation(equOperation);
}
}
@ -258,7 +261,6 @@ public class EquRepairWorkOrderServiceImpl implements IEquRepairWorkOrderService
// BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equRepairWorkOrder.getOrderCode());
// BigDecimal orderCost = BigDecimal.valueOf(Double.valueOf(equRepairWorkOrder.getWorkCost()));
// equRepairWorkOrder.setWorkCost(String.valueOf(sparePartsCost.add(orderCost)));
return equRepairWorkOrderMapper.updateEquRepairWorkOrder(equRepairWorkOrder);
}

@ -77,11 +77,14 @@
<select id="getMTBFList" parameterType="EquOperation" resultType="com.op.device.domain.EquOperation">
select
row_number() over (order by cast(eo.actual_operation_time as decimal(6, 2))/2 desc) as serialNumber,
eo.equipment_code as equipmentCode,
cast(cast(eo.actual_operation_time as decimal(18,2))/(SELECT count(*) from equ_repair_work_order erwo where erwo.equipment_code = eo.equipment_code and erwo.work_status = '1' and erwo.work_down_machine = '1') as decimal(18,2)) AS mtbf
eo.equipment_code as equipmentCode,
eo.equipment_name as equipmentName,
case
when eo.shutdown_times > 0 THEN cast(cast(eo.actual_operation_time as decimal(18,2))/eo.shutdown_times as decimal(18,2))
else 0
end as mtbf
from equ_operation eo
where day(eo.create_time) = day(getdate())
and cast(eo.fault_time as decimal(6, 0)) > 0
</select>
<!--完好设备占比-->

@ -29,6 +29,8 @@
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="failureTimes" column="failure_times"/>
<result property="shutdownTimes" column="shutdown_times"/>
</resultMap>
<sql id="selectEquOperationVo">
@ -55,7 +57,9 @@
create_by,
create_time,
update_by,
update_time
update_time,
failure_times,
shutdown_times
from equ_operation
</sql>
@ -159,6 +163,8 @@
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="failureTimes != null">failure_times,</if>
<if test="shutdownTimes != null">shutdown_times,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@ -185,6 +191,8 @@
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="failureTimes != null">#{failureTimes},</if>
<if test="shutdownTimes != null">#{shutdownTimes},</if>
</trim>
</insert>
@ -236,6 +244,8 @@
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="failureTimes != null">failure_times = #{failureTimes},</if>
<if test="shutdownTimes != null">shutdown_times = #{shutdownTimes},</if>
</trim>
where id = #{id}
</update>

Loading…
Cancel
Save