|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.math.BigDecimal; | 
|---|
|  |  |  | import java.time.LocalDate; | 
|---|
|  |  |  | import java.time.LocalDateTime; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | 
|---|
|  |  |  | i.setFinishUnQualifiedNum(Objects.isNull(plansExtListVO.getUnqulifiedNum())?Constants.ZERO:plansExtListVO.getUnqulifiedNum()); | 
|---|
|  |  |  | i.setFinishNum(Objects.isNull(plansExtListVO.getDoneNum())?Constants.ZERO:plansExtListVO.getDoneNum()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (Objects.nonNull(i.getPlanDate())){ | 
|---|
|  |  |  | i.setHasExpire(DateUtil.toDateLocalDateTime(i.getPlanDate()).toLocalDate().isBefore(LocalDate.now())); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | i.setHasExpire(false); | 
|---|
|  |  |  | i.setHasExpire(false); | 
|---|
|  |  |  | i.setStatus(Constants.formatIntegerNum(i.getStatus())); | 
|---|
|  |  |  | if ( !i.getStatus().equals(Constants.WORKPLANHISTORY_TYPE.done) && | 
|---|
|  |  |  | !i.getStatus().equals(Constants.WORKPLANHISTORY_TYPE.close)){ | 
|---|
|  |  |  | if (Objects.nonNull(i.getPlanDate())){ | 
|---|
|  |  |  | i.setHasExpire(DateUtil.toDateLocalDateTime(i.getPlanDate()).toLocalDate().isBefore(LocalDate.now())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | if(p.getPlanDate() == null){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(index+2)+"】行【计划结束日期】数据错误,正确格式为:yyyy-MM-dd(如2022-06-07)!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(p.getPlanDate().getTime() <= p.getStartDate().getTime()){ | 
|---|
|  |  |  | if(p.getPlanDate().getTime() < p.getStartDate().getTime()){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(index+2)+"】行【计划开始日期】要早于【计划结束日期】!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isBlank(p.getMaterialCode())){ | 
|---|
|  |  |  | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,第【"+(index+2)+"】行【生产批次】数据错误!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Date pDate = DateUtil.getDateFromString(DateUtil.getShortTime(p.getPlanDate()) +" 00:00:00"); | 
|---|
|  |  |  | Date nDate =  DateUtil.getDateFromString(DateUtil.getShortTime(DateUtil.getCurrentDate()) +" 00:00:00"); | 
|---|
|  |  |  | if( nDate.getTime() > pDate.getTime()){ | 
|---|
|  |  |  | LocalDateTime localLocalDateTime = DateUtil.toDateLocalDateTime(p.getStartDate()); | 
|---|
|  |  |  | if( localLocalDateTime.toLocalDate().isBefore(LocalDate.now())){ | 
|---|
|  |  |  | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起,计划生产日期必须为今天以后的日期!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | p.setMaterialCode(p.getMaterialCode().trim()); | 
|---|