zhanghl
2025-04-21 1859ddd5514b7df454f8b8c98aa5020ef808c33b
ApsPartPlan 更新字段类型
已修改2个文件
18 ■■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartRouteStat.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartRouteStat.java
@@ -7,6 +7,7 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * 零件统计表对象 aps_part_route_stat
@@ -49,7 +50,7 @@
    /** 计划开工日 */
    @Excel(name = "计划开工日")
    private LocalDateTime processPlanStartDay;
    private Date processPlanStartDay;
    /** 设计工时 */
    @Excel(name = "设计工时")
@@ -132,12 +133,12 @@
        return processTotalTime;
    }
    public void setProcessPlanStartDay(LocalDateTime processPlanStartDay)
    public void setProcessPlanStartDay(Date processPlanStartDay)
    {
        this.processPlanStartDay = processPlanStartDay;
    }
    public LocalDateTime getProcessPlanStartDay()
    public Date getProcessPlanStartDay()
    {
        return processPlanStartDay;
    }
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPartRouteStatServiceImpl.java
@@ -3,6 +3,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
@@ -149,14 +150,18 @@
                /*判断当前工序 当前工序只有一条*/
                if (stat.getCurrentProcessNumber().equals(stat.getRoadProcessNumber())) {
                    /* 对 stat.getProcessPlanStartDay() 和当前日期 进行对比,只对比到日,不用管十分秒*/
                    if (stat.getProcessPlanStartDay().toLocalDate().isBefore(LocalDateTime.now().toLocalDate())) {
                        stat.setProcessPlanStartDay(LocalDateTime.now());
                    LocalDate startLocalDate = LocalDate.ofInstant(stat.getProcessPlanStartDay().toInstant(), ZoneId.systemDefault());
                    LocalDate nowLocalDate = LocalDate.now();
                    if (startLocalDate.isBefore(nowLocalDate)) {
                        stat.setProcessPlanStartDay(new Date());
                    }
                }
                /*未开工工序的计划开工日=上一道工序的计划开工日+上一道工序的工序总工时。*/
                if (stat.getCurrentProcessNumber().compareTo(stat.getRoadProcessNumber()) < 0) {
                    if (last != null) {
                        stat.setProcessPlanStartDay(last.getProcessPlanStartDay().plusHours(last.getProcessTotalTime()));
                        LocalDateTime lastStartDate = LocalDateTime.ofInstant(last.getProcessPlanStartDay().toInstant(), ZoneId.systemDefault());
                        lastStartDate.plusHours(last.getProcessTotalTime());
                        stat.setProcessPlanStartDay(Date.from(lastStartDate.atZone(ZoneId.systemDefault()).toInstant()));
                    }
                }
                /*保存上一步计算的 开工日*/