Переглянути джерело

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU1/DAL-QMS-API

luobang 2 роки тому
батько
коміт
452010d407

+ 23 - 2
src/main/java/com/steerinfo/dil/controller/QmsQueueResultController.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.controller;
 
 
+import com.steerinfo.dil.mapper.QmsQueueResultMapper;
 import com.steerinfo.dil.mapper.QueueInterfaceMapper;
 import com.steerinfo.dil.model.QmsQueueResult;
 import com.steerinfo.dil.service.impl.QmsQueueResultServiceImpl;
@@ -17,6 +18,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -46,6 +48,9 @@ public class QmsQueueResultController extends BaseRESTfulController {
     @Autowired
     QueueInterfaceServiceImpl queueInterfaceService;
 
+    @Autowired
+    private QmsQueueResultMapper qmsQueueResultMapper;
+
 
     private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
@@ -123,8 +128,24 @@ public class QmsQueueResultController extends BaseRESTfulController {
         if(capacityNumber != null && !"".equals(capacityNumber))
             mapValue.put("capacityNumber", capacityNumber);
         if(isSpelling == 1){
-            //多拼
-            return success(qmsQueueResultService.getQueueListByQueueUpSpelling(mapValue));
+            //原多拼
+            List<Map<String, Object>> queueListByQueueUpSpelling = qmsQueueResultService.getQueueListByQueueUpSpelling(mapValue);
+            //现多拼数据
+            for (Map<String, Object> stringObjectMap : queueListByQueueUpSpelling) {
+                BigDecimal orderId = (BigDecimal) stringObjectMap.get("orderId");
+                //米数
+                List<Map<String, Object>> materialId = qmsQueueResultMapper.getMaterialId(orderId);
+                for (Map<String, Object> objectMap : materialId) {
+                    BigDecimal materialId2 = DataChange.dataToBigDecimal(stringObjectMap.get("materialId"));
+                    BigDecimal materialId1 = (BigDecimal) objectMap.get("materialId");
+                    if (materialId2.compareTo(materialId1)==0){
+                        //钢材长度
+                        BigDecimal steelmeter = (BigDecimal) objectMap.get("steelmeter");
+                        stringObjectMap.put("steelMeter",steelmeter);
+                    }
+                }
+            }
+            return success(queueListByQueueUpSpelling);
         }else {
             //单拼
             return success(qmsQueueResultService.getQueueListByQueueUp(mapValue));

+ 8 - 0
src/main/java/com/steerinfo/dil/feign/LargeScreenFeign.java

@@ -20,4 +20,12 @@ public interface LargeScreenFeign {
     @ResponseBody
     public RESTfulResult showLargeScreenNew(@RequestBody(required = false)List<Map<String,Object>> cars);
 
+    @PostMapping("api/v1/largeScreen/largescreenshow/showLargeScreenForSteelNew1")
+    @ResponseBody
+    public RESTfulResult showLargeScreenForSteelNew1(@RequestBody(required = false) List<Map<String,Object>> cars);
+
+    @PostMapping("api/v1/largeScreen/largescreenshow/showLargeScreenNew1")
+    @ResponseBody
+    public RESTfulResult showLargeScreenNew1(@RequestBody(required = false) List<Map<String,Object>> cars);
+
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/QmsQueueResultMapper.java

@@ -149,4 +149,6 @@ public interface QmsQueueResultMapper extends IBaseMapper<QmsQueueResult, BigDec
     Map<String, Object> getResultMesByTotalId(BigDecimal resultTotalId);
 
     List<Map<String, Object>> getQueueListByQueueUpSpelling(Map<String, Object> map);
+
+    List<Map<String,Object>> getMaterialId(BigDecimal orderId);
 }

+ 35 - 10
src/main/java/com/steerinfo/dil/service/impl/QmsQueueListServiceImpl.java

@@ -12,12 +12,14 @@ import com.steerinfo.dil.model.QmsQueueList;
 import com.steerinfo.dil.mapper.QmsQueueListMapper;
 import com.steerinfo.dil.service.IQmsQueueListService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.math.BigDecimal;
+import java.util.stream.Collectors;
 
 /**
  * QmsQueueList服务实现:
@@ -47,13 +49,15 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
     @Autowired
     private QueuingRulesMapper  queuingRulesMapper;
 
+    @Autowired
+    QmsQueueResultServiceImpl qmsQueueResultService;
+
     @Autowired
     private QmsQueueSpellingListMapper qmsQueueSpellingListMapper;
 
     @Autowired
     LargeScreenFeign largeScreenFeign;
 
-
     private final SimpleDateFormat gatepostTimeSdf = new SimpleDateFormat("HHmmss");
 
     /**
@@ -355,15 +359,6 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
             qmsQueueSpellingListMapper.updateOOMLoadWarehouse(mesMap);
         }
         queuingRulesService.pushMesToWebsocket(list);
-        //更新大屏(钢材科与东门)
-        try{
-            //展示钢材科大屏
-            largeScreenFeign.showLargeScreenForSteelNew(mapList);
-            //展示东门大屏
-            largeScreenFeign.showLargeScreenNew(mapList);
-        }catch (Exception e){
-            System.out.println("大屏调用异常");
-        }
         return count;
     }
 
@@ -428,6 +423,35 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
         return qmsQueueResultMapper.getQueueListByQueueUpSpelling(map);
     }
 
+    /**
+     * @author:zyf
+     * @version:1.0
+     * @Date:
+     * @Description:做一个定时任务向两块大屏赋予值
+     */
+    @Scheduled(cron = "*/30 * * * * ?")
+    public void sendDataToLargeCreen(){
+        Map<String,Object> mapValue=new HashMap<>();
+        List<Map<String, Object>> datalist =new ArrayList<>();
+        List<Map<String, Object>> queueListByQueueUp = qmsQueueResultService.getQueueListByQueueUp(mapValue);
+        List<Map<String, Object>> queueListByQueueUpSpelling = qmsQueueResultService.getQueueListByQueueUpSpelling(mapValue);
+        HashSet<Map<String,Object>> set=new HashSet<>(queueListByQueueUpSpelling);
+        //queueListByQueueUp=queueListByQueueUp.stream().distinct().collect(Collectors.toList());
+        datalist.addAll(queueListByQueueUp);
+        queueListByQueueUpSpelling=queueListByQueueUpSpelling.stream().distinct().collect(Collectors.toList());
+        datalist.addAll(set);
+        System.out.println(datalist.toString());
+        //更新大屏(钢材科与东门)
+        try{
+            //展示钢材科大屏
+            largeScreenFeign.showLargeScreenForSteelNew1(datalist);
+            //展示东门大屏
+            largeScreenFeign.showLargeScreenNew1(datalist);
+            System.out.println("大屏调用成功");
+        }catch (Exception e){
+            System.out.println("大屏调用异常");
+        }
+    }
 
 //    @Override
 //    public int queueCutInLine(Map<String, Object> map) {
@@ -527,4 +551,5 @@ public class QmsQueueListServiceImpl implements IQmsQueueListService {
 //        }
 //        return listQueueMes;
 //    }
+
 }

+ 6 - 3
src/main/java/com/steerinfo/dil/service/impl/QmsQueueResultServiceImpl.java

@@ -1,5 +1,6 @@
 package com.steerinfo.dil.service.impl;
 
+import com.steerinfo.dil.controller.QmsQueueResultController;
 import com.steerinfo.dil.feign.IMFeign;
 import com.steerinfo.dil.feign.LargeScreenFeign;
 import com.steerinfo.dil.mapper.QmsQueueListMapper;
@@ -11,7 +12,9 @@ import com.steerinfo.dil.model.QmsQueueResult;
 import com.steerinfo.dil.mapper.QmsQueueResultMapper;
 import com.steerinfo.dil.service.IQmsQueueResultService;
 import com.steerinfo.dil.util.ElectronicFenceUtils;
+import com.steerinfo.framework.controller.RESTfulResult;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import java.util.*;
 import java.math.BigDecimal;
@@ -47,9 +50,6 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
     @Autowired
     private QmsQueueGridServiceImpl qmsQueueGridService;
 
-    /*@Autowired
-    LargeScreenShowController*/
-
     @Autowired
     private QueuingRulesMapper queuingRulesMapper;
 
@@ -222,6 +222,9 @@ public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
         return  qmsQueueResultMapper.getQueueListByQueueUpSpelling(map);
     }
 
+
+
+
     /**
      * 查询排队取消数据
      * @param map

+ 19 - 1
src/main/resources/com/steerinfo/dil/mapper/QmsQueueResultMapper.xml

@@ -865,6 +865,7 @@
                OO.DRIVER_TEL                "driverTel",
                OO.ORDER_ID                  "orderId",
                RG.GATEPOST_NAME             "gatepostName",
+               ASM.STEEL_METER              "steelMeter",
                (
                    select COUNT(QQL2.LIST_ID)
                    from QMS_QUEUE_LIST QQL2
@@ -882,6 +883,10 @@
             LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
             LEFT JOIN AMS_SALE_ORDER ASO ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
             LEFT JOIN RMS_CONSIGNEE RCE ON RCE.CONSIGNEE_ID = ASO.RECEIVE_ID
+            LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+            ON ASTM.SALE_ORDER_MATERIAL_ID=OO.ORDER_PLAN_ID
+            LEFT JOIN AMS_SALE_MATERIAL ASM
+            ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
             where oo.ORDER_STATUS = 5
             <if test="capacityNumber != null">
                 and instr(RC.CAPACITY_NUMBER, #{capacityNumber}) > 0
@@ -935,7 +940,6 @@
                    and QQSL.SPELLING_SURE_TIME &lt;= QQSL2.SPELLING_SURE_TIME
 
               )     "listNodeOrder"
-
         from QMS_QUEUE_SPELLING_LIST QQSL
             left join QMS_QUEUE_RESULT  QQR ON QQSL.QUEUE_RESULT_ID = QQR.RESULT_ID
             left join RMS_CAPACITY RC ON QQR.CAPACITY_ID = RC.CAPACITY_ID
@@ -971,6 +975,20 @@
             </if>
     </select>
 
+    <select id="getMaterialId" resultType="java.util.Map">
+        select
+        distinct
+        AMS.MATERIAL_ID "materialId",
+        AMS.STEEL_METER "steelmeter"
+        from OMSTRUCK_ORDER_MATERIAL OOM
+        LEFT JOIN OMSTRUCK_ORDER OO
+        ON OO.ORDER_ID = OOM.ORDER_ID
+        LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
+        ON ASTM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+        LEFT JOIN AMS_SALE_MATERIAL AMS
+        ON AMS.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
+        WHERE OOM.ORDER_ID=#{orderId}
+    </select>
 
     <!--  查看进厂排队详情  -->
 <!--    <select id="getQueueMes" resultType="java.util.Map" parameterType="java.util.Map">-->