Commit a43ebd42 authored by 温志超's avatar 温志超

Merge remote-tracking branch 'origin/dev' into dev

parents 931640bc a4f12d60
......@@ -2,6 +2,7 @@ package com.ximai.mes.kanban.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.mes.cal.domain.CalPlanWorkunit;
......@@ -22,6 +23,7 @@ import com.ximai.mes.qc.dto.QcAbnormalReportDto;
import com.ximai.mes.qc.dto.QcAbnormalReportStatusEnum;
import com.ximai.mes.qc.mapper.QcAbnormalReportMapper;
import com.ximai.mes.qc.service.IQcAbnormalReportService;
import com.ximai.system.service.ISysConfigService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -50,6 +52,12 @@ public class KanbanEquipmentService {
IQcAbnormalReportService abnormalReportService;
@Autowired
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("设备统计")
@PostMapping("/currentMonthStat")
......@@ -178,6 +186,7 @@ public class KanbanEquipmentService {
}
if(calTime.get().compareTo(BigDecimal.ZERO)>0){
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 {
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;
}
}
......@@ -120,7 +120,8 @@ public class KanbanTaskService {
.add(feedbackDto.getQuantityQualify().add(feedbackDto.getQuantityUnqualify())));
}
}
if(s.getActualEndDate()!=null&&s.getActualEndDate().compareTo(s.getScheduleEndDate())<0){
if(s.getActualEndDate()!=null&&s.getActualEndDate().compareTo(s.getScheduleEndDate())<0
&&s.getScheduleEndDate().compareTo(curr.getTime())<0){
endOnTimeRatioNumerator.set(endOnTimeRatioNumerator.get().add(BigDecimal.ONE));
}
if(s.getScheduleEndDate().compareTo(curr.getTime())<0){
......@@ -142,7 +143,8 @@ public class KanbanTaskService {
AtomicReference<BigDecimal> startOnTimeRatioDenominator = new AtomicReference<>(BigDecimal.ZERO);
taskWorkunitDtoMap2.forEach((k,v)->{
v.forEach(s->{
if(s.getActualStartDate()!=null&&s.getActualStartDate().compareTo(s.getScheduleStartDate())<0){
if(s.getActualStartDate()!=null&&s.getActualStartDate().compareTo(s.getScheduleStartDate())<0
&&s.getScheduleStartDate().compareTo(curr.getTime())<0){
startOnTimeRatioNumerator.set(startOnTimeRatioNumerator.get().add(BigDecimal.ONE));
}
if(s.getScheduleStartDate().compareTo(curr.getTime())<0){
......
......@@ -961,7 +961,7 @@ public class ProTaskServiceImpl implements IProTaskService {
proStartWorkService.updateProStartWork(x);
}
);
proTaskWorkunit.setActualEndDate(new Date());
proTaskWorkunit.setStatus(TaskWorkunitStatusEnum.FINISHED.getStatus());
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