修改进度监控计划完成数为平均值

main
刘胜超 2 weeks ago
parent 89e2080ef4
commit 021bc54a07
  1. 12
      src/main/java/com/zilber/boot/intelligencesite/service/impl/IProductionPlanServiceImpl.java

@ -18,6 +18,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
@ -60,7 +62,9 @@ public class IProductionPlanServiceImpl extends ServiceImpl<IProductionPlanMappe
Map map = new HashMap();
if(ObjectUtils.isEmpty(iP)){
map.put("name", iProductionPlan.getPlanName());
map.put("plan", 0);
BigDecimal daypercent = new BigDecimal(1).divide(new BigDecimal(iProductionPlan.getDuration()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
map.put("plan", daypercent);
map.put("date", recentWeekDates.get(i));
List<IProgress> progresseslist = iProgressMapper.queryProcessSj(iProductionPlan.getId(),recentWeekDates.get(i));
long total = progresseslist.stream().mapToLong(IProgress::getDayProgress).sum();
@ -70,12 +74,12 @@ public class IProductionPlanServiceImpl extends ServiceImpl<IProductionPlanMappe
//获取每个计划时间差(结束时间-开始时间)
//long datePoorByDay = DateUtils.getDatePoorByDay(iProductionPlan.getEndTime(), iProductionPlan.getStartTime());
//获取每个计划每天应完成的百分比
BigDecimal daypercent = new BigDecimal(1).divide(new BigDecimal(iProductionPlan.getDuration()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
BigDecimal currentpercent = new BigDecimal(1).divide(new BigDecimal(iProductionPlan.getDuration()), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
//获取当前日期,减去开始日期,乘以每个计划每天应完成的百分比,算出截止今天应该完成的百分比
BigDecimal currentpercent = BigDecimal.valueOf(DateUtils.getDatePoorByDay(new Date(), iProductionPlan.getStartTime())).multiply(daypercent);
/* BigDecimal currentpercent = BigDecimal.valueOf(DateUtils.getDatePoorByDay(new Date(), iProductionPlan.getStartTime())).multiply(daypercent);
if (DateUtils.getDatePoorByDay(new Date(), iProductionPlan.getEndTime()) > 0) {
currentpercent = BigDecimal.valueOf(100);
}
}*/
map.put("name", iProductionPlan.getPlanName());
map.put("plan", currentpercent);

Loading…
Cancel
Save