From 1c703617885275090d69c697e82e61f4940c0bdc Mon Sep 17 00:00:00 2001
From: yyt <306727702@qq.com>
Date: 星期二, 28 五月 2024 14:20:29 +0800
Subject: [PATCH] 380新产品,优化

---
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java |   91 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 85 insertions(+), 6 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java
index 94ad69c..7b63e34 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java
@@ -5,13 +5,21 @@
 import com.jcdm.common.utils.DateUtils;
 import com.jcdm.common.utils.StringUtils;
 import com.jcdm.main.bs.orderScheduling.Query.PrepareOnlineQuery;
+import com.jcdm.main.bs.orderScheduling.common.Constants;
 import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
 import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper;
 import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
+import com.jcdm.main.bs.orderScheduling.vo.FollowReportVO;
 import com.jcdm.main.bs.orderScheduling.vo.LineChartVO;
+import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
+import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
+import com.jcdm.main.da.paramCollection.service.impl.DaParamCollectionServiceImpl;
+import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
+import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -34,6 +42,12 @@
     @Autowired
     private BsOrderSchedulingMapper bsOrderSchedulingMapper;
 
+    @Resource
+    private DaParamCollectionMapper daParamCollectionMapper;
+
+    @Resource
+    private DaPassingStationCollectionMapper daPassingStationCollectionMapper;
+
     /**
      * 鏌ヨ璁㈠崟鎺掍骇
      * 
@@ -45,6 +59,20 @@
     {
         return bsOrderSchedulingMapper.selectBsOrderSchedulingById(id);
     }
+
+    /**
+     * 鏌ヨ璁㈠崟鎺掍骇
+     *
+     * @param sncode 璁㈠崟鎺掍骇鍙戝姩鏈哄彿
+     * @return 璁㈠崟鎺掍骇
+     */
+    @Override
+    public BsOrderScheduling selectBsOrderSchedulingSNCode(String sncode)
+    {
+        return bsOrderSchedulingMapper.selectBsOrderSchedulingSNCode(sncode);
+    }
+
+
 
     /**
      * 鏌ヨ璁㈠崟鎺掍骇鍒楄〃
@@ -64,6 +92,53 @@
     }
 
     @Override
+    public List<BsOrderScheduling> selectBsOrderSchedulingPage(BsOrderScheduling bsOrderScheduling)
+    {
+        if(bsOrderScheduling.getDateConditions()!=null){
+            String[] conditions = bsOrderScheduling.getDateConditions();
+            bsOrderScheduling.setStartTime(conditions[0]);
+            bsOrderScheduling.setEndTime(conditions[1]);
+        }
+        return bsOrderSchedulingMapper.selectBsOrderSchedulingPage(bsOrderScheduling);
+    }
+
+
+    @Override
+    public FollowReportVO getFollowReportList(BsOrderScheduling bsOrderScheduling)
+    {
+        FollowReportVO vo = new FollowReportVO();
+        if(bsOrderScheduling.getDateConditions()!=null){
+            String[] conditions = bsOrderScheduling.getDateConditions();
+            bsOrderScheduling.setStartTime(conditions[0]);
+            bsOrderScheduling.setEndTime(conditions[1]);
+        }
+        //涓昏〃鏁版嵁
+        List<BsOrderScheduling> mainList = bsOrderSchedulingMapper.selectBsOrderSchedulingList(bsOrderScheduling);
+        vo.setMainList(mainList);
+        List<String> engineNoList = mainList.stream().map(BsOrderScheduling::getEngineNo).distinct().collect(Collectors.toList());
+        List<DaParamCollection> allChildList = new ArrayList<>();
+        List<DaPassingStationCollection> collect5 = new ArrayList<>();
+        if (CollUtil.isNotEmpty(engineNoList)){
+            allChildList = daParamCollectionMapper.getListBySfcCode(engineNoList);
+            collect5 = daPassingStationCollectionMapper.getListBySfcCode(engineNoList);
+        }
+        if (CollUtil.isNotEmpty(allChildList)){
+            //鎷垮埌鎵�鏈夊瓙鏁版嵁
+            List<DaParamCollection> collect1 = allChildList.stream().filter(x -> Constants.DATA1.equals(x.getType())).collect(Collectors.toList());
+            List<DaParamCollection> collect2 = allChildList.stream().filter(x -> Constants.DATA2.equals(x.getType())).collect(Collectors.toList());
+            List<DaParamCollection> collect3 = allChildList.stream().filter(x -> Constants.DATA3.equals(x.getType())).collect(Collectors.toList());
+            List<DaParamCollection> collect4 = allChildList.stream().filter(x -> Constants.DATA4.equals(x.getType())).collect(Collectors.toList());
+            vo.setList1(collect1);
+            vo.setList2(collect2);
+            vo.setList3(collect3);
+            vo.setList4(collect4);
+        }
+        vo.setList5(collect5);
+        return vo;
+
+    }
+
+    @Override
     public List<LineChartVO> getOffLineNum()
     {
         List<LineChartVO> result = new ArrayList<>();
@@ -71,13 +146,13 @@
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         LocalDateTime now = LocalDateTime.now();
         LocalDateTime startTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.getDayOfMonth(),8,0,0);
-        LocalDateTime endTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.plusDays(1).getDayOfMonth(),22,0,0);
+        LocalDateTime endTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.plusDays(1).getDayOfMonth(),23,0,0);
         String s1 = startTime.format(formatter);
         String s2 = endTime.format(formatter);
         bsOrderScheduling.setStartTime(s1);
         bsOrderScheduling.setEndTime(s2);
         List<BsOrderScheduling> todayList = bsOrderSchedulingMapper.selectBsOrderSchedulingList(bsOrderScheduling);
-        todayList = todayList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getCvtOfflineTime())).collect(Collectors.toList());
+        todayList = todayList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getFinalAssemblyOfflineTime())).collect(Collectors.toList());
         if (CollUtil.isNotEmpty(todayList)){
             List<String> allModel = todayList.stream().map(BsOrderScheduling::getModel).distinct().collect(Collectors.toList());
             Map<String, List<BsOrderScheduling>> collect = new HashMap<>();
@@ -86,7 +161,7 @@
                 List<Integer> arr = new ArrayList<>();
                 vo.setName(s);
                 collect = todayList.stream().filter(x -> s.equals(x.getModel())).collect(Collectors.groupingBy(item -> new SimpleDateFormat("yyyy-MM-dd HH").format(item
-                        .getCvtOfflineTime())));
+                        .getFinalAssemblyOfflineTime())));
                 Map<Integer,Integer> temp = new HashMap<>();
                 if (CollUtil.isNotEmpty(collect)){
                     for (String string : collect.keySet()) {
@@ -94,12 +169,16 @@
                         String s3 = string.split(StringUtils.SPACE)[1];
                         if (StringUtils.isNotEmpty(s3)){
                             int i = Integer.parseInt(s3);
-                            temp.put(i,size);
+                            temp.put(i+1,size);
                         }
                     }
                 }
-                for (int i = 8; i < 23; i++) {
-                    arr.add(temp.getOrDefault(i, 0));
+                for (int i = 8; i < 24; i++) {
+                    if (i==8){
+                        arr.add(0);
+                    }else {
+                        arr.add(temp.getOrDefault(i, 0));
+                    }
                 }
                 vo.setData(arr);
                 vo.setType("line");

--
Gitblit v1.9.3