Commit 2972f171 authored by 李驰骋's avatar 李驰骋

完工作业记录完成时间

设备看板利用率系统参数配置
parent 053d0d3b
...@@ -2,6 +2,7 @@ package com.ximai.mes.kanban.service; ...@@ -2,6 +2,7 @@ package com.ximai.mes.kanban.service;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.utils.data.StringUtils; import com.ximai.common.utils.data.StringUtils;
import com.ximai.mes.cal.domain.CalPlanWorkunit; import com.ximai.mes.cal.domain.CalPlanWorkunit;
...@@ -22,6 +23,7 @@ import com.ximai.mes.qc.dto.QcAbnormalReportDto; ...@@ -22,6 +23,7 @@ import com.ximai.mes.qc.dto.QcAbnormalReportDto;
import com.ximai.mes.qc.dto.QcAbnormalReportStatusEnum; import com.ximai.mes.qc.dto.QcAbnormalReportStatusEnum;
import com.ximai.mes.qc.mapper.QcAbnormalReportMapper; import com.ximai.mes.qc.mapper.QcAbnormalReportMapper;
import com.ximai.mes.qc.service.IQcAbnormalReportService; import com.ximai.mes.qc.service.IQcAbnormalReportService;
import com.ximai.system.service.ISysConfigService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -50,6 +52,12 @@ public class KanbanEquipmentService { ...@@ -50,6 +52,12 @@ public class KanbanEquipmentService {
IQcAbnormalReportService abnormalReportService; IQcAbnormalReportService abnormalReportService;
@Autowired @Autowired
QcAbnormalReportMapper abnormalReportMapper; QcAbnormalReportMapper abnormalReportMapper;
@Autowired
ISysConfigService configService;
//利用率增长
private String OT_RATIO_APPEND_KEY= "kanban.equ.output.ratio.append";
//最低利用率
private String OT_RATIO_LOWER_KEY= "kanban.equ.output.ratio.lower";
@ApiOperation("设备统计") @ApiOperation("设备统计")
@PostMapping("/currentMonthStat") @PostMapping("/currentMonthStat")
...@@ -178,6 +186,7 @@ public class KanbanEquipmentService { ...@@ -178,6 +186,7 @@ public class KanbanEquipmentService {
} }
if(calTime.get().compareTo(BigDecimal.ZERO)>0){ if(calTime.get().compareTo(BigDecimal.ZERO)>0){
rst.setEquipAvailability(machineTime.get().divide(calTime.get(), 3, BigDecimal.ROUND_DOWN).multiply(new BigDecimal("100")));//利用率 rst.setEquipAvailability(machineTime.get().divide(calTime.get(), 3, BigDecimal.ROUND_DOWN).multiply(new BigDecimal("100")));//利用率
rst.setEquipAvailability(this.resetAvailability(rst.getEquipAvailability()));
} }
} }
...@@ -203,4 +212,17 @@ public class KanbanEquipmentService { ...@@ -203,4 +212,17 @@ public class KanbanEquipmentService {
return calTime.get(); return calTime.get();
} }
private BigDecimal resetAvailability(BigDecimal source){
String otRatioAppend = configService.selectConfigByKey(OT_RATIO_APPEND_KEY);
String otRatioLower = configService.selectConfigByKey(OT_RATIO_LOWER_KEY);
if(StrUtil.isNumeric(otRatioAppend) && StrUtil.isNumeric(otRatioLower)){
BigDecimal otRatioAppend1 = new BigDecimal(otRatioAppend);
BigDecimal otRatioLower1 = new BigDecimal(otRatioLower);
if(source.compareTo(otRatioLower1)<0){
source = source.add(otRatioAppend1);
}
}
return source;
}
} }
...@@ -961,7 +961,7 @@ public class ProTaskServiceImpl implements IProTaskService { ...@@ -961,7 +961,7 @@ public class ProTaskServiceImpl implements IProTaskService {
proStartWorkService.updateProStartWork(x); proStartWorkService.updateProStartWork(x);
} }
); );
proTaskWorkunit.setActualEndDate(new Date());
proTaskWorkunit.setStatus(TaskWorkunitStatusEnum.FINISHED.getStatus()); proTaskWorkunit.setStatus(TaskWorkunitStatusEnum.FINISHED.getStatus());
proTaskWorkunitService.updateProTaskWorkunit(proTaskWorkunit); proTaskWorkunitService.updateProTaskWorkunit(proTaskWorkunit);
//最后一道工序完工 //最后一道工序完工
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment