package com.zy.asrs.entity.param; 
 | 
  
 | 
import com.core.common.Cools; 
 | 
import lombok.Data; 
 | 
  
 | 
import java.util.ArrayList; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * Created by vincent on 2020/6/18 
 | 
 */ 
 | 
@Data 
 | 
public class LocDetlAdjustParam { 
 | 
  
 | 
    // 库位号 
 | 
    private String locNo; 
 | 
  
 | 
    // 调整库存明细集合 
 | 
    private List<LocDetlAdjust> list; 
 | 
  
 | 
    @Data 
 | 
    public static class LocDetlAdjust { 
 | 
  
 | 
        // 商品编号 
 | 
        private String matnr; 
 | 
  
 | 
        // 序列码 
 | 
        private String batch; 
 | 
  
 | 
        // 变更数量 
 | 
        private Double count; 
 | 
  
 | 
        public LocDetlAdjust(String matnr, String batch, Double count) { 
 | 
            this.matnr = matnr; 
 | 
            this.batch = batch; 
 | 
            this.count = count; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    public void integrate() { 
 | 
        if (Cools.isEmpty(list)) { 
 | 
            return; 
 | 
        } 
 | 
        List<LocDetlAdjust> copyList = new ArrayList<>(); 
 | 
        for (LocDetlAdjust adjust : list) { 
 | 
            boolean exit = false; 
 | 
            for (LocDetlAdjust copy : copyList) { 
 | 
                if (adjust.getMatnr().equals(copy.getMatnr()) && Cools.eq(adjust.getBatch(), copy.getBatch())) { 
 | 
                    copy.setCount(copy.getCount() + adjust.getCount()); 
 | 
                    exit = true; 
 | 
                    break; 
 | 
                } 
 | 
            } 
 | 
            if (!exit) { 
 | 
                copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount())); 
 | 
            } 
 | 
        } 
 | 
        list = copyList; 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |