瀏覽代碼

Merge branch 'master' of https://git.steerinfo.com/luobang/DIL-DAZHOU-WMS2

Tiroble 3 年之前
父節點
當前提交
5bab70bfc8

+ 1 - 1
src/main/java/com/steerinfo/dil/controller/WmsInboundResultController.java

@@ -130,7 +130,7 @@ public class WmsInboundResultController extends BaseRESTfulController {
     public  RESTfulResult addInvoice(@RequestParam("userName") String userName,@RequestParam("groupId") BigDecimal groupId,@RequestParam("personnelWorkshopid") BigDecimal personnelWorkshopid, @RequestBody(required = false) List<Map<String, Object>> mapList) {
         //首先做的判断处理
         //由于钢材是分批次、一批四件的(有特殊情况不是一批四件)
-        //所需要设置他们批次不能跨越一个应该是相连的,如果批次跨过两个说明有一个多按了一次,或者是有了一个人少按了一次,所以需要少下发的和多下发的对
+        //所需要设置他们批次不能跨越一个应该是相连的,如果批次跨过两个说明有一个多按了一次,或者是有了一个人少按了一次,所以需要少下发的和多下发的对
         //使两个人批次相同
 
         //查询当前分组下次最新的一次下发、

+ 0 - 1
src/main/java/com/steerinfo/dil/service/IWmsInboundResultService.java

@@ -65,5 +65,4 @@ public interface IWmsInboundResultService {
 
     int updateInboundStatus(BigDecimal distributeId);
 
-
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IWmspInboundDistributeService.java

@@ -27,4 +27,7 @@ public interface IWmspInboundDistributeService extends IBaseService<WmspInboundD
     List<Map<String,Object>> getNewDistribute(Integer personnelWorkshopid);
 
     Integer grabDistribute(Map<String, Object> mapValue);
+
+    //    对展示的list集合进行处理
+    List<Map<String ,Object>> getInboundList(List<Map<String ,Object>> list);
 }

+ 62 - 4
src/main/java/com/steerinfo/dil/service/impl/WmspInboundDistributeServiceImpl.java

@@ -10,9 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * WmspInboundDistribute服务实现:
@@ -34,6 +32,8 @@ public class WmspInboundDistributeServiceImpl extends BaseServiceImpl<WmspInboun
     private WmspInboundDistributeMapper wmspInboundDistributeMapper;
     @Autowired
     private CommonServiceImpl commonService;
+    @Autowired
+    private WmspInboundDistributeServiceImpl wmspInboundDistributeService;
 
     @Override
     protected IBaseMapper<WmspInboundDistribute, Short> getMapper() {
@@ -71,7 +71,7 @@ public class WmspInboundDistributeServiceImpl extends BaseServiceImpl<WmspInboun
     @Override
     public  List<Map<String,Object>> getNewDistribute(Integer personnelWorkshopid) {
         List<Map<String,Object>> result=  wmspInboundDistributeMapper.getNewDistribute(personnelWorkshopid);
-        return result;
+        return wmspInboundDistributeService.getInboundList(result);
     }
 
     /**
@@ -90,4 +90,62 @@ public class WmspInboundDistributeServiceImpl extends BaseServiceImpl<WmspInboun
         return 0;
 
     }
+
+//    根据获取到的带吊装list进行处理
+    @Override
+    public List<Map<String, Object>> getInboundList(List<Map<String, Object>> result) {
+        //        创建set集合用来存储唯一的number
+        HashSet<String> set =new HashSet<>();
+        List<Map<String ,Object>> result1=new ArrayList<>();
+//        遍历result
+        for(Map<String ,Object> map:result){
+//            判断number是否取值为空
+            if (map.get("gridSequenceNumber")!=null) {
+                //            取出map中的number值
+//                层序号
+                BigDecimal gridSequenceNumber = (BigDecimal) map.get("gridSequenceNumber");
+//                月台Id
+                BigDecimal platformId = (BigDecimal)map.get("platformId");
+//                层次号
+                BigDecimal gridGradationNumber = (BigDecimal)map.get("gridGradationNumber");
+//                仓库Id
+                BigDecimal warehouseId = (BigDecimal)map.get("warehouseId");
+//                垛位Id
+                BigDecimal stackingId = (BigDecimal)map.get("stackingId");
+//                拼接物资的存储位置
+                String number = warehouseId.toString()+platformId.toString()+stackingId.toString()+gridSequenceNumber.toString()+gridGradationNumber.toString();
+                //            判断这个number值在set集合中是否已经存在,如果不存在则进行存储
+                System.out.println(number);
+                if (!set.contains(number)){
+                    set.add(number);
+                    result1.add(map);
+                }
+            }
+        }
+//        遍历list集合,对数据按照resultNumber从小到大排序
+//        方法1:
+//        遍历result1,获取关于resultNumber正确排序的集合
+        int [] array =new int[result1.size()];
+        int i=0;
+        for (Map<String ,Object> map:result1){
+            Integer num = Integer.valueOf(map.get("resultNumber").toString());
+            array[i] = num;
+            i++;
+        }
+//        对list排序
+        Arrays.sort(array);
+//        根据排序好的array数组进行对list的重新排序
+        List<Map<String ,Object>> result2=new ArrayList<>();
+//        遍历result1和遍历数组
+        for(int j=0;j<array.length;j++){
+            for (Map<String ,Object> map:result1){
+                int a = Integer.valueOf(map.get("resultNumber").toString());
+                if (array[j]==a){
+                    result2.add(map);
+                }
+            }
+        }
+//        返回过滤之后的list
+        return result2;
+    }
 }