Commit 3a79e021 authored by 李驰骋's avatar 李驰骋

看板BUG修复

parent 3d89a915
......@@ -2,6 +2,7 @@ package com.ximai.mes.kanban.service;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ximai.common.utils.data.StringUtils;
import com.ximai.mes.constant.TaskWorkunitStatusEnum;
import com.ximai.mes.kanban.dto.task.TaskStatDto;
import com.ximai.mes.pro.domain.ProFeedback;
......@@ -105,16 +106,15 @@ public class KanbanTaskService {
//工序任务计划结束时间为当月的工序任务单总数
processMonthlyIndexDto.setMonthPlanQuantity(processMonthlyIndexDto.getMonthPlanQuantity().add(s.getQuantity()));
//获取工序任务计划结束时间为当月 任务状态为完工的工序任务单数量
if(s.getStatus().equals(TaskWorkunitStatusEnum.FINISHED.getStatus())) {
processMonthlyIndexDto.setActualFinishQuantity(processMonthlyIndexDto.getActualFinishQuantity().add(s.getQuantityQualify()));
}
processMonthlyIndexDto.setActualFinishQuantity(processMonthlyIndexDto.getActualFinishQuantity().add(s.getQuantityProduced()));
//是否存在超期报工
List<ProFeedbackDto> feedbackList = feedbackDtoMap2.getOrDefault(s.getTaskWorkunitId(), new ArrayList<>());
for(ProFeedbackDto feedbackDto:feedbackList){
if(feedbackDto.getFeedbackTime().compareTo(s.getScheduleEndDate())>0){
//报工时间大于计划结束时间工序任务单数量(如果工序任务出现多次超期报工 这种只计算1次 )
processMonthlyIndexDto.setExpireFinishQuantity(processMonthlyIndexDto.getExpireFinishQuantity().add(feedbackDto.getQuantityQualify()));
break;
//报工时间大于计划结束时间工序任务单数量
processMonthlyIndexDto.setExpireFinishQuantity(processMonthlyIndexDto.getExpireFinishQuantity()
.add(feedbackDto.getQuantityQualify().add(feedbackDto.getQuantityUnqualify())));
}
}
if(s.getActualEndDate()!=null&&s.getActualEndDate().compareTo(s.getScheduleEndDate())>0){
......@@ -156,7 +156,7 @@ public class KanbanTaskService {
feedbackDtoMap1.forEach((k,v)->{
v.forEach(s->{
qualifiedRatioNumerator.set(qualifiedRatioNumerator.get().add(s.getQuantityQualify()));
qualifiedRatioDenominator.set(qualifiedRatioDenominator.get().add(s.getQuantityFeedback()));
qualifiedRatioDenominator.set(qualifiedRatioDenominator.get().add(s.getQuantityQualify().add(s.getQuantityUnqualify())));
});
});
if(qualifiedRatioNumerator.get().compareTo(BigDecimal.ZERO)!=0) {
......@@ -197,7 +197,7 @@ public class KanbanTaskService {
AtomicReference<BigDecimal> qualifiedRateDenominator = new AtomicReference<>(BigDecimal.ZERO);//当月报工数量
v.forEach(s->{
qualifiedRateNumerator.set(qualifiedRateNumerator.get().add(s.getQuantityQualify()));
qualifiedRateDenominator.set(qualifiedRateDenominator.get().add(s.getQuantityFeedback()));
qualifiedRateDenominator.set(qualifiedRateDenominator.get().add(s.getQuantityQualify().add(s.getQuantityUnqualify())));
});
if(qualifiedRateNumerator.get().compareTo(BigDecimal.ZERO)!=0) {
tempLine.setQualifiedRate(qualifiedRateNumerator.get()
......@@ -214,6 +214,9 @@ public class KanbanTaskService {
//按不合格原因分组
Map<String, List<ProFeedback>> feedbackMap = feedbackList.stream().collect(Collectors.groupingBy(s->s.getAbnormalReason()));
feedbackMap.forEach((k,v)->{
if(StringUtils.isBlank(k)){
return;
}
TaskStatDto.AbnormalCauseStat tempLine = new TaskStatDto.AbnormalCauseStat();
tempLine.setCause(k);
v.forEach(s->{
......
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