chenyuesheng преди 3 години
родител
ревизия
f81ac451db

+ 11 - 0
src/main/java/com/jeeplus/modules/sg/balancedlibrary/materialReportDetails/entity/MaterialReportDetails.java

@@ -2,6 +2,7 @@ package com.jeeplus.modules.sg.balancedlibrary.materialReportDetails.entity;
 
 import com.jeeplus.common.utils.excel.annotation.ExcelField;
 import com.jeeplus.core.persistence.DataEntity;
+import com.jeeplus.modules.sg.balancedlibrary.materialReportDetails.constant.AreaCodeFlagEnum;
 
 import java.util.List;
 
@@ -214,6 +215,8 @@ public class MaterialReportDetails extends DataEntity<MaterialReportDetails> {
     private String numberOfConLocal;
 
     private Double lengthOfMetre;//段长物资的长度(以米为单位)
+    //枚举标识
+    private AreaCodeFlagEnum areaCodeFlagEnum;
 /****************************************************************************************************************/
 
     @ExcelField(title = "上报地区", align = 2, sort = 1)
@@ -657,4 +660,12 @@ public class MaterialReportDetails extends DataEntity<MaterialReportDetails> {
     public void setRegionalReplacementNumber(String regionalReplacementNumber) {
         this.regionalReplacementNumber = regionalReplacementNumber;
     }
+
+    public AreaCodeFlagEnum getAreaCodeFlagEnum() {
+        return areaCodeFlagEnum;
+    }
+
+    public void setAreaCodeFlagEnum(AreaCodeFlagEnum areaCodeFlagEnum) {
+        this.areaCodeFlagEnum = areaCodeFlagEnum;
+    }
 }

+ 58 - 24
src/main/java/com/jeeplus/modules/sg/balancedlibrary/materialReportDetails/service/MaterialReportDetailsService.java

@@ -162,7 +162,7 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
             }
         });
 
-        //排序    地区-》库龄降序-》数量大小降序-》批次号-》物料编码升序
+        //排序    地区-》库龄降序-》数量大小降序-》批次号-》扩展编码升序
         List<LiKuResourcePool> liKuIsSegmentPoolSortList = getSortLiKuPool(liKuIsSegmentPoolList);
         List<LiKuResourcePool> liKuIsNotSegmentPoolSortList = getSortLiKuPool(liKuIsNotSegmentPoolList);
 
@@ -184,6 +184,17 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
             l.setNumberOfNiches(0.0);
             //初始化申请数量
             l.setNumberOfApplications(l.getTotal());
+            if(l.getReportingArea().equals(AreaCodeFlagEnum.HLA2.getArea())){
+                l.setAreaCodeFlagEnum(AreaCodeFlagEnum.HLA2);
+            }else if(l.getReportingArea().equals(AreaCodeFlagEnum.HLD1.getArea())){
+                l.setAreaCodeFlagEnum(AreaCodeFlagEnum.HLD1);
+            }else if(l.getReportingArea().equals(AreaCodeFlagEnum.HLB1.getArea())){
+                l.setAreaCodeFlagEnum(AreaCodeFlagEnum.HLB1);
+            }else if(l.getReportingArea().equals(AreaCodeFlagEnum.HLC1.getArea())){
+                l.setAreaCodeFlagEnum(AreaCodeFlagEnum.HLC1);
+            }else{
+                l.setAreaCodeFlagEnum(AreaCodeFlagEnum.NO_PLACE);
+            }
 
             //单位转换为米
             if (l.getUnit().equals(MaterialsUnitFlagEnum.KM.getUnit())) {
@@ -198,17 +209,18 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
             }
         });
 
+
         /********************************************物资利库比较***************************************************/
 
         //非段长物资比较 本地库 物资匹配利库
         materialIsNotSegmentList.forEach(l -> {
             //优先匹配最佳
-            liKuIsNotSegmentPoolSortList.stream().filter(liKu -> liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
+            /*liKuIsNotSegmentPoolSortList.stream().filter(liKu -> liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
                     && Double.valueOf(liKu.getRemaining()).compareTo(l.getTotal()) >= 0
                     && l.getMaterialCode().equals(liKu.getMaterialCode())
                     && l.getExtendedCoding().equals(liKu.getExtendedCoding())).forEach(liKuResourcePool -> {
                 liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.LOCAL, null, MaterialsUnitFlagEnum.IS_SEGMENT);
-            });
+            });*/
             if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
                 //相同地区进行比较
                 liKuIsNotSegmentPoolSortList.stream().filter(liKu -> liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
@@ -221,7 +233,7 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
         //非段长物资比较 跨区库
         materialIsNotSegmentList.forEach(l -> {
             //需求数量与利库数量不同 去其他地区找
-            if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
+            /*if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
                 //优先匹配最佳
                 liKuIsNotSegmentPoolSortList.stream().filter(liKu -> !liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
                         && Double.valueOf(liKu.getRemaining()).compareTo(l.getTotal()) >= 0
@@ -229,7 +241,7 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
                         && l.getExtendedCoding().equals(liKu.getExtendedCoding())).forEach(liKuResourcePool -> {
                     liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.SPAN, null, MaterialsUnitFlagEnum.IS_SEGMENT);
                 });
-            }
+            }*/
             if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
                 //不同地区比较
                 liKuIsNotSegmentPoolSortList.stream().filter(liKu -> !liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
@@ -242,37 +254,39 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
         //非段长物资替代 本地库
         materialIsNotSegmentList.forEach(l -> {
             //如果本地库 区域库依旧没找到 则启用代替
-            if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
+            /*if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
                 //过滤出 本地库物料编码相同 最优选择
                 liKuIsNotSegmentPoolSortList.stream().filter(liKu -> liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
                         && Double.valueOf(liKu.getRemaining()).compareTo(l.getTotal()) >= 0
                         && l.getMaterialCode().equals(liKu.getMaterialCode())).forEach(liKuResourcePool -> {
                     liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.LOCAL, AreaTypeFlagEnum.LOCAL_REPLACEMENT, MaterialsUnitFlagEnum.IS_SEGMENT);
                 });
-                if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
-                    liKuIsNotSegmentPoolSortList.stream().filter(liKu -> liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
-                            && l.getMaterialCode().equals(liKu.getMaterialCode())).forEach(liKuResourcePool -> {
-                        liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.LOCAL, AreaTypeFlagEnum.LOCAL_REPLACEMENT, MaterialsUnitFlagEnum.IS_SEGMENT);
-                    });
-                }
+            }*/
+            if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
+                liKuIsNotSegmentPoolSortList.stream().filter(liKu -> liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
+                        && l.getMaterialCode().equals(liKu.getMaterialCode())
+                        && !l.getExtendedCoding() .equals(liKu.getExtendedCoding()) ).forEach(liKuResourcePool -> {
+                    liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.LOCAL, AreaTypeFlagEnum.LOCAL_REPLACEMENT, MaterialsUnitFlagEnum.IS_SEGMENT);
+                });
             }
         });
         //非段长物资代替 库区库
         materialIsNotSegmentList.forEach(l -> {
             //如果本地库 区域库依旧没找到 则启用代替
-            if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
+            /*if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
                 //过滤出 本地库物料编码相同 最优选择
                 liKuIsNotSegmentPoolSortList.stream().filter(liKu -> !liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
                         && Double.valueOf(liKu.getRemaining()).compareTo(l.getTotal()) >= 0
                         && l.getMaterialCode().equals(liKu.getMaterialCode())).forEach(liKuResourcePool -> {
                     liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.SPAN, AreaTypeFlagEnum.SPAN_REPLACEMENT, MaterialsUnitFlagEnum.IS_SEGMENT);
                 });
-                if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
-                    liKuIsNotSegmentPoolSortList.stream().filter(liKu -> !liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
-                            && l.getMaterialCode().equals(liKu.getMaterialCode())).forEach(liKuResourcePool -> {
-                        liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.SPAN, AreaTypeFlagEnum.SPAN_REPLACEMENT, MaterialsUnitFlagEnum.IS_SEGMENT);
-                    });
-                }
+            }*/
+            if (l.getTotal().compareTo(l.getNumberOfNiches()) != 0) {
+                liKuIsNotSegmentPoolSortList.stream().filter(liKu -> !liKu.getLiKuFlag().getArea().equals(l.getReportingArea())
+                        && l.getMaterialCode().equals(liKu.getMaterialCode())
+                        && !l.getExtendedCoding() .equals(liKu.getExtendedCoding())).forEach(liKuResourcePool -> {
+                    liKuCompareMaterial(l, liKuResourcePool, AreaTypeFlagEnum.SPAN, AreaTypeFlagEnum.SPAN_REPLACEMENT, MaterialsUnitFlagEnum.IS_SEGMENT);
+                });
             }
         });
 
@@ -352,7 +366,8 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
             //最优选择 过滤本地库  物料编码  扩展编码 段长大于上报物资
             materialIsSegmentList.stream().filter(material -> !material.getReportingArea().equals(l.getLiKuFlag().getArea())
                     && material.getMaterialCode().equals(l.getMaterialCode())
-                    && new BigDecimal(l.getLengthOfCable()).compareTo(BigDecimal.valueOf(material.getTotal())) == 0).forEach(materialReportDetails -> {
+                    && new BigDecimal(l.getLengthOfCable()).compareTo(BigDecimal.valueOf(material.getTotal())) == 0
+                    && !l.getExtendedCoding() .equals(material.getExtendedCoding())).forEach(materialReportDetails -> {
                         if (new BigDecimal(l.getRemaining()).compareTo(BigDecimal.ZERO) > 0) {
                             liKuCompareMaterial(materialReportDetails, l, AreaTypeFlagEnum.SPAN, AreaTypeFlagEnum.SPAN_REPLACEMENT, MaterialsUnitFlagEnum.IS_NOT_SEGMENT);
                         }
@@ -361,7 +376,8 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
             if (new BigDecimal(l.getRemaining()).compareTo(BigDecimal.ZERO) > 0) {
                 materialIsSegmentList.stream().filter(material -> !material.getReportingArea().equals(l.getLiKuFlag().getArea())
                         && material.getMaterialCode().equals(l.getMaterialCode())
-                        && new BigDecimal(l.getLengthOfCable()).compareTo(BigDecimal.valueOf(material.getTotal())) > 0).forEach(materialReportDetails -> {
+                        && new BigDecimal(l.getLengthOfCable()).compareTo(BigDecimal.valueOf(material.getTotal())) > 0
+                        && !l.getExtendedCoding() .equals(material.getExtendedCoding())).forEach(materialReportDetails -> {
                             if (new BigDecimal(l.getRemaining()).compareTo(BigDecimal.valueOf(materialReportDetails.getTotal())) >= 0) {
                                 liKuCompareMaterial(materialReportDetails, l, AreaTypeFlagEnum.SPAN, AreaTypeFlagEnum.SPAN_REPLACEMENT, MaterialsUnitFlagEnum.IS_NOT_SEGMENT);
                             }
@@ -502,7 +518,7 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
         materialReportDetails.setNumberOfApplications(material_ApplicationCount.subtract(temp).doubleValue());
         //物资  利库量
         //if (judgingSegment == MaterialsUnitFlagEnum.IS_NOT_SEGMENT) {
-            materialReportDetails.setNumberOfNiches(material_liKuCount.add(temp).doubleValue());
+        materialReportDetails.setNumberOfNiches(material_liKuCount.add(temp).doubleValue());
         /*} else {
             materialReportDetails.setNumberOfNiches(material_liKuCount.add(temp).doubleValue());
         }*/
@@ -541,7 +557,7 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
     }
 
     /**
-     * 排序 地区-》库龄降序-》数量大小降序-》批次号-》物料编码升序
+     * 利库排序 地区-》库龄降序-》数量大小降序-》批次号-》物料编码升序
      *
      * @param liKuPoolList 利库池
      * @return
@@ -557,7 +573,7 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
                         if (new BigDecimal(liKuSort1.getInventoryAmount()).compareTo(new BigDecimal(liKuSort2.getInventoryAmount())) == 0) {
                             //批次号自然顺序
                             if (liKuSort1.getBatch().compareTo(liKuSort2.getBatch()) == 0) {
-                                //物料编码升序
+                                //扩展编码升序
                                 return new BigDecimal(liKuSort1.getExtendedCoding()).compareTo(new BigDecimal(liKuSort2.getExtendedCoding()));
                             } else {
                                 return liKuSort1.getBatch().compareTo(liKuSort2.getBatch());
@@ -575,7 +591,25 @@ public class MaterialReportDetailsService extends CrudService<MaterialReportDeta
                 return liKuSort1.getLiKuFlag().getNum() - liKuSort2.getLiKuFlag().getNum();
             }
         }).collect(Collectors.toList());
+    }
 
+    /**
+     * 上报资源排序 地区-》需求数量-》扩展编码
+     * @param materialReportDetailsList
+     * @return
+     */
+    private List<MaterialReportDetails> getSortMaterialReport(List<MaterialReportDetails> materialReportDetailsList){
+        return materialReportDetailsList.stream().sorted((material1,material2)->{
+            if(material1.getAreaCodeFlagEnum()==material2.getAreaCodeFlagEnum()){
+                if(material1.getTotal().compareTo(material2.getTotal())==0){
+                    return new BigDecimal(material1.getExtendedCoding()).compareTo(new BigDecimal(material2.getExtendedCoding()));
+                }else{
+                    return material2.getTotal().compareTo(material1.getTotal());
+                }
+            }else{
+                return material1.getAreaCodeFlagEnum().getNum() - material2.getAreaCodeFlagEnum().getNum();
+            }
+        }).collect(Collectors.toList());
     }
 
 }

+ 654 - 6
src/main/java/com/jeeplus/modules/sg/balancedlibrary/materialReportDetails/web/MaterialReportDetailsControllerTest.java

@@ -238,18 +238,14 @@ public class MaterialReportDetailsControllerTest extends BaseController {
             ImportExcel ei = new ImportExcel(file, 1, 0);
             //物资上报明细数据列表
             List<MaterialReportDetails> list = ei.getDataList(MaterialReportDetails.class);
-
             //如果没有利库资源池数据 直接返回
             j = service.liKuBalance(list);
             if(!j.isSuccess()){
                 return j;
             }
-
-
             String fileName = "项目物资需求表" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
             new ExportExcel("", MaterialReportDetails.class).setDataList(list).write(response, fileName).dispose();
 
-
             //利库基础数据更新库存
             //poolService.updateAllList(poolList);
 
@@ -262,12 +258,664 @@ public class MaterialReportDetailsControllerTest extends BaseController {
             j.setSuccess(false);
             j.setMsg("导入物资上报明细失败!失败信息:" + e.getMessage());
             e.printStackTrace();
-
-
         }
         return j;
     }
 
+    /**
+     * 物资上报明细-导入Excel数据
+     */
+    /*@ResponseBody
+    @RequestMapping(value = "import")
+    public AjaxJson importFile(@RequestParam("file") MultipartFile file, HttpServletResponse response, HttpServletRequest request) {
+        AjaxJson j = new AjaxJson();
+        //记录物资上报明细比对利库资源明细详细情况
+        List<CompareHistory> compareHistories = new ArrayList<>();
+        //本部-段长
+        List<MaterialReportDetails> bBSegmentList = new ArrayList<>();
+        //扬中-段长
+        List<MaterialReportDetails> yZSegmentList = new ArrayList<>();
+        //丹阳-段长
+        List<MaterialReportDetails> dYSegmentList = new ArrayList<>();
+        //句容-段长
+        List<MaterialReportDetails> jRSegmentList = new ArrayList<>();
+        //本部-非段长
+        List<MaterialReportDetails> bBNonSegmentList = new ArrayList<>();
+        //扬中-非段长
+        List<MaterialReportDetails> yZNonSegmentList = new ArrayList<>();
+        //丹阳-非段长
+        List<MaterialReportDetails> dYNonSegmentList = new ArrayList<>();
+        //句容-非段长
+        List<MaterialReportDetails> jRNonSegmentList = new ArrayList<>();
+        try {
+            ImportExcel ei = new ImportExcel(file, 1, 0);
+            //物资上报明细数据列表
+            List<MaterialReportDetails> list = ei.getDataList(MaterialReportDetails.class);
+            *//*****************************物资上报明细*********************************************//*
+            //根据段长非段长、区域 分到不同list,同时设置初始利库数量及申请数量
+            for (MaterialReportDetails details : list) {
+                details.preInsert(); //先给个Id
+                //设置初始利库数量为0,初始申请数量为物资的表格数量
+                details.setNumberOfNiches(0.0);
+                details.setNumberOfApplications(details.getTotal());
+
+                Integer theUnitMeter = LiKuUtils.isTheUnitMeter(details.getUnit());//判断是否段长
+                Integer area = LiKuUtils.judgmentArea(details.getReportingArea());//判断区域
+                if (theUnitMeter.equals(LiKuUtils.YES)) {
+                    if (area.equals(LiKuUtils.BB_FLAG)) {
+                        bBSegmentList.add(details);
+                    } else if (area.equals(LiKuUtils.YZ_FLAG)) {
+                        yZSegmentList.add(details);
+                    } else if (area.equals(LiKuUtils.DY_FLAG)) {
+                        dYSegmentList.add(details);
+                    } else if (area.equals(LiKuUtils.JR_FLAG)) {
+                        jRSegmentList.add(details);
+                    }
+                } else {
+                    if (area.equals(LiKuUtils.BB_FLAG)) {
+                        bBNonSegmentList.add(details);
+                    } else if (area.equals(LiKuUtils.YZ_FLAG)) {
+                        yZNonSegmentList.add(details);
+                    } else if (area.equals(LiKuUtils.DY_FLAG)) {
+                        dYNonSegmentList.add(details);
+                    } else if (area.equals(LiKuUtils.JR_FLAG)) {
+                        jRNonSegmentList.add(details);
+                    }
+                }
+            }
+
+            //同地区上报表中先根据项目名称顺序排序匹配,然后依据表格顺序依次排序匹配
+            //本部段长数据
+            if (bBSegmentList.size() > 0) {
+                bBSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+            //扬中段长数据
+            if (yZSegmentList.size() > 0) {
+                yZSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+            //丹阳段长数据
+            if (dYSegmentList.size() > 0) {
+                dYSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+            //句容段长数据
+            if (jRSegmentList.size() > 0) {
+                jRSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+
+            //同地区上报表中先根据项目名称顺序排序匹配,然后依据表格顺序依次排序匹配
+            //本部数据-非段长
+            if (bBNonSegmentList.size() > 0) {
+                bBNonSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+            //扬中数据-非段长
+            if (yZNonSegmentList.size() > 0) {
+                yZNonSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+            //丹阳数据-非段长
+            if (dYNonSegmentList.size() > 0) {
+                dYNonSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+            //句容数据-非段长
+            if (jRNonSegmentList.size() > 0) {
+                jRNonSegmentList.sort(Comparator.comparing(MaterialReportDetails::getNameOfReserve));
+            }
+
+            //先根据
+            *//*****************************利库资源数据*********************************************//*
+            //利库资源池数据,根据本部>扬中>丹阳>句容分组
+            List<LiKuResourcePool> poolList = poolService.findLiKuList(null,null);
+            if(poolList==null||poolList.size()==0){
+                j.setSuccess(false);
+                j.setMsg("请先导入利库资源池!");
+                return j;
+            }
+            //查询出所有本部资源数据-非段长
+            List<LiKuResourcePool> bBNonPoolList = new ArrayList<>();
+            //查询出所有扬中资源数据-非段长
+            List<LiKuResourcePool> yZNonPoolList = new ArrayList<>();
+            //查询出所有丹阳资源数据-非段长
+            List<LiKuResourcePool> dYNonPoolList = new ArrayList<>();
+            //查询出所有句容资源数据-非段长
+            List<LiKuResourcePool> jRNonPoolList = new ArrayList<>();
+
+            //查询出所有本部资源数据-段长
+            List<LiKuResourcePool> bBPoolList = new ArrayList<>();
+            //查询出所有扬中资源数据-段长
+            List<LiKuResourcePool> yZPoolList = new ArrayList<>();
+            //查询出所有丹阳资源数据-段长
+            List<LiKuResourcePool> dYPoolList = new ArrayList<>();
+            //查询出所有句容资源数据-段长
+            List<LiKuResourcePool> jRPoolList = new ArrayList<>();
+            //资源池分类同时每次设置初始利库数和剩余数
+            for(LiKuResourcePool pool:poolList){
+                pool.setNumberOfNiches(0.0);
+                Integer isSectionLength = pool.getIsSectionLength();
+                Integer whereFrom = pool.getWhereFrom();
+                if(isSectionLength.equals(LiKuUtils.NO)){
+                    pool.setRemaining(pool.getInventoryAmount());
+                    if(whereFrom==LiKuUtils.BB_FLAG){
+                        bBNonPoolList.add(pool);
+                    }else if(whereFrom==LiKuUtils.YZ_FLAG){
+                        yZNonPoolList.add(pool);
+                    }else if(whereFrom==LiKuUtils.DY_FLAG){
+                        dYNonPoolList.add(pool);
+                    }else{
+                        jRNonPoolList.add(pool);
+                    }
+                }else{
+                    pool.setRemaining(pool.getLengthOfCable());
+                    if(whereFrom==LiKuUtils.BB_FLAG){
+                        bBPoolList.add(pool);
+                    }else if(whereFrom==LiKuUtils.YZ_FLAG){
+                        yZPoolList.add(pool);
+                    }else if(whereFrom==LiKuUtils.DY_FLAG){
+                        dYPoolList.add(pool);
+                    }else{
+                        jRPoolList.add(pool);
+                    }
+                }
+            }
+
+            //同地区库龄降序>数量大小降序>批次号升序
+            //本部利库资源池数据-非段长
+            if (bBNonPoolList.size() > 0) {
+                poolSort(bBNonPoolList);
+            }
+            //扬中利库资源池数据-非段长
+            if (yZNonPoolList.size() > 0) {
+                poolSort(yZNonPoolList);
+            }
+            //丹阳利库资源池数据-非段长
+            if (dYNonPoolList.size() > 0) {
+                poolSort(dYNonPoolList);
+            }
+            //句容利库资源池数据-非段长
+            if (jRNonPoolList.size() > 0) {
+                poolSort(jRNonPoolList);
+            }
+
+            //本部利库资源池数据-段长
+            if (bBPoolList.size() > 0) {
+                for (LiKuResourcePool pool :
+                        bBPoolList) {
+                    //设置标识利库中段长状态为 未完成利库 状态,单独设置状态因为无法根据数量判断,段长利库可能有剩余
+                    pool.setCompleteLiKu(0);
+                }
+                poolSegSort(bBPoolList);
+            }
+            //扬中利库资源池数据-段长
+            if (yZPoolList.size() > 0) {
+                for (LiKuResourcePool pool :
+                        yZPoolList) {
+                    pool.setCompleteLiKu(0);
+                }
+                poolSegSort(yZPoolList);
+            }
+            //丹阳利库资源池数据-段长
+            if (dYPoolList.size() > 0) {
+                for (LiKuResourcePool pool :
+                        dYPoolList) {
+                    pool.setCompleteLiKu(0);
+                }
+                poolSegSort(dYPoolList);
+            }
+            //句容利库资源池数据-段长
+            if (jRPoolList.size() > 0) {
+                for (LiKuResourcePool pool :
+                        jRPoolList) {
+                    pool.setCompleteLiKu(0);
+                }
+                poolSegSort(jRPoolList);
+            }
+
+            *//*****************************************非段长比对*****************************************************//*
+            //非段长比对顺序,由物资上报数据比对利库资源池数据
+            //本部-本部
+            if (bBNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(bBNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+            //扬中-扬中
+            if (yZNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(yZNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+            //丹阳-丹阳
+            if (dYNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(dYNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+            //句容-句容
+            if (jRNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(jRNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+
+            //本部-扬中
+            if (bBNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(bBNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //本部-丹阳
+            if (bBNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(bBNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //本部-句容
+            if (bBNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(bBNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+
+            //扬中-本部
+            if (yZNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(yZNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //杨中-丹阳
+            if (yZNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(yZNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //扬中-句容
+            if (yZNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(yZNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //丹阳-本部
+            if (dYNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(dYNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //丹阳-扬中
+            if (dYNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(dYNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //丹阳-句容
+            if (dYNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(dYNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //句容-本部
+            if (jRNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(jRNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //句容-扬中
+            if (jRNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(jRNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //句容-丹阳
+            if (jRNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                AdjustUtil.nonSegAdjust(jRNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+
+            *//*************************************非段长以大代小******************************************************//*
+            //查找库中所有的以大代小的数据list
+            List<ReplaceMaterial> replaceList = replaceMaterialService.findAll();
+            if (replaceList.size() > 0) {
+                //本部-本部本地以大代小
+                if (bBNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(bBNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+
+                //扬中-扬中本地以大代小
+                if (yZNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(yZNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+                //丹阳-丹阳本地以大代小
+                if (dYNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(dYNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+                //句容-句容本地以大代小
+                if (jRNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(jRNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+
+
+                //本部-扬中跨域以大代小
+                if (bBNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(bBNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //本部-丹阳跨域以大代小
+                if (bBNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(bBNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //本部-句容跨域以大代小
+                if (bBNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(bBNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //扬中-本部跨域以大代小
+                if (yZNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(yZNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //扬中-丹阳跨域以大代小
+                if (yZNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(yZNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //扬中-句容跨域以大代小
+                if (yZNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(yZNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //丹阳-本部跨域以大代小
+                if (dYNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(dYNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //丹阳-扬中跨域以大代小
+                if (dYNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(dYNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //丹阳-句容跨域以大代小
+                if (dYNonSegmentList.size() > 0 && jRNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(dYNonSegmentList,jRNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //句容-本部跨域以大代小
+                if (jRNonSegmentList.size() > 0 && bBNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(jRNonSegmentList,bBNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //句容-扬中跨域以大代小
+                if (jRNonSegmentList.size() > 0 && yZNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(jRNonSegmentList,yZNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //句容-丹阳跨域以大代小
+                if (jRNonSegmentList.size() > 0 && dYNonPoolList.size() > 0) {
+                    AdjustUtil.nonSegRepAdjust(jRNonSegmentList,dYNonPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+            }
+
+            *//****************************************段长比对*****************************************************//*
+            //本部-本部
+            if (bBPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(bBSegmentList,bBPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+                AdjustUtil.segAdjust(bBSegmentList,bBPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+            //扬中-扬中
+            if (yZPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(yZSegmentList,yZPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+                AdjustUtil.segAdjust(yZSegmentList,yZPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+            //丹阳-丹阳-段长
+            if (dYPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(dYSegmentList,dYPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+                AdjustUtil.segAdjust(dYSegmentList,dYPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+            //句容-句容-段长
+            if (jRPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(jRSegmentList,jRPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+                AdjustUtil.segAdjust(jRSegmentList,jRPoolList,compareHistories,AdjustUtil.LOCAL_ADJUST);
+            }
+
+            //本部-扬中-段长
+            if (bBPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(yZSegmentList,bBPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(yZSegmentList,bBPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //本部-丹阳-段长
+            if (bBPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(dYSegmentList,bBPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(dYSegmentList,bBPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //本部-句容-段长
+            if (bBPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(jRSegmentList,bBPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(jRSegmentList,bBPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+
+            //杨中-本部-段长
+            if (yZPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(bBSegmentList,yZPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(bBSegmentList,yZPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //杨中-丹阳-段长
+            if (yZPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(dYSegmentList,yZPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(dYSegmentList,yZPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //杨中-句容-段长
+            if (yZPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(jRSegmentList,yZPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(jRSegmentList,yZPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+
+            //丹阳-本部-段长
+            if (dYPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(bBSegmentList,dYPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(bBSegmentList,dYPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //丹阳-扬中-段长
+            if (dYPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(yZSegmentList,dYPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(yZSegmentList,dYPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //丹阳-句容-段长
+            if (dYPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(jRSegmentList,dYPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(jRSegmentList,dYPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+
+
+            //句容-本部-段长
+            if (jRPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(bBSegmentList,jRPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(bBSegmentList,jRPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //句容-扬中-段长
+            if (jRPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(yZSegmentList,jRPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(yZSegmentList,jRPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+            //句容-丹阳-段长
+            if (jRPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                AdjustUtil.segAdjustReverse(dYSegmentList,jRPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+                AdjustUtil.segAdjust(dYSegmentList,jRPoolList,compareHistories,AdjustUtil.SPAN_ADJUST);
+            }
+
+            *//******************************************合并利库************************************//*
+            //将4个区域的段长物资数据合并,使用各个区域的
+            List<MaterialReportDetails> fourAreaList = new ArrayList<>();
+            if (bBSegmentList.size() > 0) {
+                fourAreaList.addAll(bBSegmentList);
+            }
+            if (yZSegmentList.size() > 0) {
+                fourAreaList.addAll(yZSegmentList);
+            }
+            if (dYSegmentList.size() > 0) {
+                fourAreaList.addAll(dYSegmentList);
+            }
+            if (jRSegmentList.size() > 0) {
+                fourAreaList.addAll(jRSegmentList);
+            }
+            //将四个区域的段长利库数据合并
+            List<LiKuResourcePool> fourLikuList = new ArrayList<>();
+            if(bBPoolList.size()>0){
+                fourLikuList.addAll(bBPoolList);
+            }
+            if(yZPoolList.size()>0){
+                fourLikuList.addAll(yZPoolList);
+            }
+            if(dYPoolList.size()>0){
+                fourLikuList.addAll(dYPoolList);
+            }
+            if(jRPoolList.size()>0){
+                fourLikuList.addAll(jRPoolList);
+            }
+
+            //本部-所有
+            if (bBSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                AdjustUtil.segAdjustReverse(bBSegmentList,fourLikuList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+            //杨中-所有
+            if (yZSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                AdjustUtil.segAdjustReverse(yZSegmentList,fourLikuList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+            //丹阳-所有
+            if (dYSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                AdjustUtil.segAdjustReverse(dYSegmentList,fourLikuList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+            //句容-所有
+            if (jRSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                AdjustUtil.segAdjustReverse(jRSegmentList,fourLikuList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+
+            //本部-所有
+            if (bBPoolList.size() > 0 && fourAreaList.size() > 0) {
+                AdjustUtil.segAdjust(fourAreaList,bBPoolList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+            //杨中-所有
+            if (yZPoolList.size() > 0 && fourAreaList.size() > 0) {
+                AdjustUtil.segAdjust(fourAreaList,yZPoolList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+            //丹阳-所有
+            if (dYPoolList.size() > 0 && fourAreaList.size() > 0) {
+                AdjustUtil.segAdjust(fourAreaList,dYPoolList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+            //句容-所有
+            if (jRPoolList.size() > 0 && fourAreaList.size() > 0) {
+                AdjustUtil.segAdjust(fourAreaList,jRPoolList,compareHistories,AdjustUtil.COMBINE_ADJUST);
+            }
+
+            //本部-扬中-丹阳-句容
+            *//****************************************段长以大代小********************************************//*
+            if (replaceList.size() > 0) {
+                //本部-本部-段长以大代小
+                if (bBPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(bBSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(bBSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+                //扬中-扬中-段长以大代小
+                if (yZPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(yZSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(yZSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+                //丹阳-丹阳-段长以大代小
+                if (dYPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(dYSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(dYSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+                //句容-句容-段长以大代小
+                if (jRPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(jRSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(jRSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_LOCAL_ADJUST,replaceList);
+                }
+
+
+                //本部-扬中-段长以大代小
+                if (bBPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(yZSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(yZSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //本部-丹阳-段长以大代小
+                if (bBPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(dYSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(dYSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //本部-句容-段长以大代小
+                if (bBPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(jRSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(jRSegmentList,bBPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //杨中-本部-段长以大代小
+                if (yZPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(bBSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(bBSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //杨中-丹阳-段长以大代小
+                if (yZPoolList.size() > 0 && dYSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(dYSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(dYSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //杨中-句容-段长以大代小
+                if (yZPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(jRSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(jRSegmentList,yZPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //丹阳-本部-段长以大代小
+                if (dYPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(bBSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(bBSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //丹阳-扬中-段长以大代小
+                if (dYPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(yZSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(yZSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //丹阳-句容-段长以大代小
+                if (dYPoolList.size() > 0 && jRSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(jRSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(jRSegmentList,dYPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+
+                //句容-本部-段长以大代小
+                if (jRPoolList.size() > 0 && bBSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(bBSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(bBSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //句容-扬中-段长以大代小
+                if (jRPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(yZSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(yZSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                //句容-丹阳-段长以大代小
+                if (jRPoolList.size() > 0 && yZSegmentList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(yZSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                    AdjustUtil.segRepAdjust(yZSegmentList,jRPoolList,compareHistories,AdjustUtil.REP_SPAN_ADJUST,replaceList);
+                }
+                *//******************************************以大代小合并利库************************************//*
+                //以大代小合并利库
+
+                //本部-所有
+                if (bBSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(bBSegmentList,fourLikuList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+                //杨中-所有
+                if (yZSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(yZSegmentList,fourLikuList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+                //丹阳-所有
+                if (dYSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(dYSegmentList,fourLikuList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+                //句容-所有
+                if (jRSegmentList.size() > 0 && fourLikuList.size() > 0) {
+                    AdjustUtil.segRepAdjustReverse(jRSegmentList,fourLikuList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+
+                //本部-所有
+                if (bBPoolList.size() > 0 && fourAreaList.size() > 0) {
+                    AdjustUtil.segRepAdjust(fourAreaList,bBPoolList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+                //杨中-所有
+                if (yZPoolList.size() > 0 && fourAreaList.size() > 0) {
+                    AdjustUtil.segRepAdjust(fourAreaList,yZPoolList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+                //丹阳-所有
+                if (dYPoolList.size() > 0 && fourAreaList.size() > 0) {
+                    AdjustUtil.segRepAdjust(fourAreaList,dYPoolList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+                //句容-所有
+                if (jRPoolList.size() > 0 && fourAreaList.size() > 0) {
+                    AdjustUtil.segRepAdjust(fourAreaList,jRPoolList,compareHistories,AdjustUtil.REP_COMBINE_ADJUST,replaceList);
+                }
+
+            }
+
+
+            *//*****************************************调整记录保存**************************************************//*
+            if (compareHistories.size() > 0) {
+                compareHistoryService.delAll();
+                compareHistoryService.insertList(compareHistories);
+            }
+            *//**********************************更新利库资源池,插入申请物资数据**************************************//*
+
+            //利库基础数据更新库存
+            poolService.updateAllList(poolList);
+
+            if (list.size() > 0) {
+                service.delAll();
+                service.insertList(list);
+            }
+            j.setSuccess(true);
+            j.setMsg("已成功导入 " + list.size() + " 条物资上报明细记录");
+        } catch (Exception e) {
+            j.setSuccess(false);
+            j.setMsg("导入物资上报明细失败!失败信息:" + e.getMessage());
+        }
+        return j;
+    }*/
 
 
     /**