|  |  | 
 |  |  |  | 
 |  |  | import com.doumee.core.constants.ResponseStatus; | 
 |  |  | import com.doumee.core.exception.BusinessException; | 
 |  |  | import com.doumee.core.model.PageData; | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | import com.doumee.service.business.third.model.PageData; | 
 |  |  | import com.doumee.service.business.third.model.PageWrap; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.business.PlatformWmsDetailMapper; | 
 |  |  | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  | import org.springframework.util.CollectionUtils; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.function.BinaryOperator; | 
 |  |  | import java.util.function.Function; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public PlatformWmsJob findByDetailId(Integer id) { | 
 |  |  |         PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda().eq(PlatformWmsJob::getIsdeleted, Constants.ZERO).eq(PlatformWmsJob::getJobId,id).last(" limit 1 ")); | 
 |  |  |         PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>(). | 
 |  |  |                 lambda().eq(PlatformWmsJob::getIsdeleted, Constants.ZERO) | 
 |  |  |                 .eq(PlatformWmsJob::getJobId,id).last(" limit 1 ")); | 
 |  |  |         if(Objects.isNull(platformWmsJob)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"未查询到运单信息"); | 
 |  |  |         } | 
 |  |  | 
 |  |  |             platformWmsJob.setIoQty( | 
 |  |  |                     platformWmsDetailList.stream().map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add) | 
 |  |  |             ); | 
 |  |  |             //获取所有合同号 | 
 |  |  |             List<String> ioCodeList = platformWmsDetailList.stream().map(m->m.getIocode()).collect(Collectors.toList()); | 
 |  |  |             //获取所有合同号(去重) | 
 |  |  |             List<String> ioCodeList = platformWmsDetailList.stream().map(m->m.getContractNum()).distinct().collect(Collectors.toList()); | 
 |  |  |             Set<String> ioCodeSet = new HashSet<String>(ioCodeList); | 
 |  |  |             List<WmsJobContractVO> wmsJobContractVOList = new ArrayList<>(); | 
 |  |  |             for (String ioCode:ioCodeSet) { | 
 |  |  |                 if(StringUtils.isBlank(ioCode)){ | 
 |  |  | //                    continue; | 
 |  |  |                 } | 
 |  |  |                 WmsJobContractVO wmsJobContractVO = new WmsJobContractVO(); | 
 |  |  |                 wmsJobContractVO.setContractCode(ioCode); | 
 |  |  |                 wmsJobContractVO.setAddress(platformWmsJob.getRepertotyAddress()); | 
 |  |  |                 wmsJobContractVO.setPlatformWmsDetailList( | 
 |  |  |                         platformWmsDetailList.stream().filter(i->i.getIocode().equals(ioCode)).collect(Collectors.toList()) | 
 |  |  |                         platformWmsDetailList.stream().filter(i-> StringUtils.equals(i.getContractNum(),ioCode)).collect(Collectors.toList()) | 
 |  |  |                 ); | 
 |  |  |                 if(wmsJobContractVO.getPlatformWmsDetailList()!=null&& wmsJobContractVO.getPlatformWmsDetailList().size()>0){ | 
 |  |  |                     wmsJobContractVO.setAddress(wmsJobContractVO.getPlatformWmsDetailList().get(0).getRepertotyAddress()); | 
 |  |  |                 } | 
 |  |  |                 if(Objects.isNull(wmsJobContractVO.getLockStatus())&& | 
 |  |  |                         com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(wmsJobContractVO.getPlatformWmsDetailList())){ | 
 |  |  |                     if(Constants.equalsInteger(platformWmsJob.getType(),Constants.ONE)){ | 
 |  |  |                         if(Objects.isNull(wmsJobContractVO.getPlatformWmsDetailList().get(Constants.ZERO).getLockStatus())){ | 
 |  |  |                             wmsJobContractVO.setLockStatus(Constants.ZERO | 
 |  |  |                                      wmsJobContractVO.setLockStatus(Constants.ZERO | 
 |  |  |                             ); | 
 |  |  |                         }else{ | 
 |  |  |                             wmsJobContractVO.setLockStatus( |