diff --git a/src/main/java/com/zilber/boot/intelligencesite/mapper/IProgressMapper.java b/src/main/java/com/zilber/boot/intelligencesite/mapper/IProgressMapper.java index d306a23..929f6c4 100644 --- a/src/main/java/com/zilber/boot/intelligencesite/mapper/IProgressMapper.java +++ b/src/main/java/com/zilber/boot/intelligencesite/mapper/IProgressMapper.java @@ -2,6 +2,7 @@ package com.zilber.boot.intelligencesite.mapper; import com.zilber.boot.intelligencesite.entity.IProgress; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; @@ -21,4 +22,6 @@ public interface IProgressMapper extends BaseMapper { List queryListByContion(IProgress iProgress); List queryYsg(); + + List queryProcessSj(@Param("planId") Long planId, @Param("date") String date); } diff --git a/src/main/java/com/zilber/boot/intelligencesite/service/impl/IProductionPlanServiceImpl.java b/src/main/java/com/zilber/boot/intelligencesite/service/impl/IProductionPlanServiceImpl.java index bd1f502..ed3e2ae 100644 --- a/src/main/java/com/zilber/boot/intelligencesite/service/impl/IProductionPlanServiceImpl.java +++ b/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,28 +62,34 @@ public class IProductionPlanServiceImpl extends ServiceImpl progresseslist = iProgressMapper.queryProcessSj(iProductionPlan.getId(),recentWeekDates.get(i)); + long total = progresseslist.stream().mapToLong(IProgress::getDayProgress).sum(); + map.put("sj", total); res.add(map); }else{ //获取每个计划时间差(结束时间-开始时间) //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); map.put("date", recentWeekDates.get(i)); //查询计划实际填报情况 - List progresseslist = iProgressMapper.queryList(new IProgress().setPlanId(iProductionPlan.getId())); + List progresseslist = iProgressMapper.queryProcessSj(iProductionPlan.getId(),recentWeekDates.get(i)); long total = progresseslist.stream().mapToLong(IProgress::getDayProgress).sum(); - map.put("total", total); + /* List progresseslist = iProgressMapper.queryList(new IProgress().setPlanId(iProductionPlan.getId())); + long total = progresseslist.stream().mapToLong(IProgress::getDayProgress).sum();*/ + map.put("sj", total); res.add(map); } } diff --git a/src/main/resources/mappers/IProgressMapper.xml b/src/main/resources/mappers/IProgressMapper.xml index e1ad55b..e3fe7f5 100644 --- a/src/main/resources/mappers/IProgressMapper.xml +++ b/src/main/resources/mappers/IProgressMapper.xml @@ -59,10 +59,14 @@ FROM and accumulative_progress like concat('%', #{accumulativeProgress}, '%') and create_time=#{createTime} and creator=#{creator} + and date_format(process_date,'%y%m%d') = date_format(#{processDate},'%y%m%d') +