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

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 javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@ -60,7 +62,9 @@ public class IProductionPlanServiceImpl extends ServiceImpl<IProductionPlanMappe
Map map = new HashMap(); Map map = new HashMap();
if(ObjectUtils.isEmpty(iP)){ if(ObjectUtils.isEmpty(iP)){
map.put("name", iProductionPlan.getPlanName()); 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)); map.put("date", recentWeekDates.get(i));
List<IProgress> progresseslist = iProgressMapper.queryProcessSj(iProductionPlan.getId(),recentWeekDates.get(i)); List<IProgress> progresseslist = iProgressMapper.queryProcessSj(iProductionPlan.getId(),recentWeekDates.get(i));
long total = progresseslist.stream().mapToLong(IProgress::getDayProgress).sum(); 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()); //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) { if (DateUtils.getDatePoorByDay(new Date(), iProductionPlan.getEndTime()) > 0) {
currentpercent = BigDecimal.valueOf(100); currentpercent = BigDecimal.valueOf(100);
} }*/
map.put("name", iProductionPlan.getPlanName()); map.put("name", iProductionPlan.getPlanName());
map.put("plan", currentpercent); map.put("plan", currentpercent);

Loading…
Cancel
Save