From 9906e6b188bf2c36dddc0d5adadbf02e69ea3e4b Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期五, 25 十月 2024 09:17:29 +0800
Subject: [PATCH] add -sap

---
 jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java                                                      |   53 ++-
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java            |   35 +++
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java                                       |   12 +
 jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue                                                              |  354 ++++++++++++++++++++++++++++++++
 jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/Options.java                                    |   11 +
 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java                                    |    9 
 jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/mapper/DaCollectionParamConfMapper.java            |    1 
 jcdm-ui/src/api/main/da/paramCollection/paramCollection.js                                                      |   14 +
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java            |   87 +++++++
 jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java                                      |    1 
 jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/ChartVO.java                                    |   13 +
 jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/IDaCollectionParamConfService.java         |    1 
 jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/impl/DaCollectionParamConfServiceImpl.java |    5 
 jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml                      |   15 +
 14 files changed, 589 insertions(+), 22 deletions(-)

diff --git a/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java b/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java
index 8210e0f..b004244 100644
--- a/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java
+++ b/jcdm-framework/src/main/java/com/jcdm/framework/config/SecurityConfig.java
@@ -116,6 +116,7 @@
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
                 .antMatchers("/bs/technologyRouteChild/ttest").permitAll()
+                .antMatchers("/bs/orderScheduling/engine-report").permitAll()
                 .antMatchers("/websocket/**").anonymous()
                 // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇�
                 .anyRequest().authenticated()
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java
new file mode 100644
index 0000000..a45f475
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/Query/SAPQuery.java
@@ -0,0 +1,9 @@
+package com.jcdm.main.bs.orderScheduling.Query;
+
+import lombok.Data;
+
+@Data
+public class SAPQuery {
+
+    private String IV_ZFDJM;
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
index bb18be3..be19a73 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
@@ -1,6 +1,7 @@
 package com.jcdm.main.bs.orderScheduling.controller;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
@@ -17,11 +18,13 @@
 import com.jcdm.common.exception.ServiceException;
 import com.jcdm.common.utils.StringUtils;
 import com.jcdm.common.utils.poi.ExcelUtil;
+import com.jcdm.main.bs.orderScheduling.Query.SAPQuery;
 import com.jcdm.main.bs.orderScheduling.common.Constants;
 import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
 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.bs.orderScheduling.vo.ReportVO;
 import com.jcdm.main.bs.orderScheduling.vo.SumDataVO;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
@@ -499,4 +502,36 @@
             return R.fail("鏈煡鎵惧埌璇ュ彂鍔ㄦ満鍙峰搴旂殑绠变綋");
         }
     }
+
+
+    @PostMapping("/engine-report")
+    public R getReportDetail(SAPQuery sapQuery){
+        ReportVO reportVO = new ReportVO();
+        if (StrUtil.isBlank(sapQuery.getIV_ZFDJM())){
+            reportVO.setEV_STATUS("E");
+            reportVO.setEV_MESSAGE("鍙戝姩鏈哄彿涓嶈兘涓虹┖");
+        }
+        BsOrderScheduling query = new BsOrderScheduling();
+        query.setEngineNo(sapQuery.getIV_ZFDJM());
+        List<BsOrderScheduling> bsOrderSchedulingList = bsOrderSchedulingService.selectBsOrderSchedulingList(query);
+        if (CollUtil.isNotEmpty(bsOrderSchedulingList)){
+            BsOrderScheduling bsOrderScheduling = bsOrderSchedulingList.get(0);
+            if (StrUtil.isBlank(bsOrderScheduling.getReport20())){
+                reportVO.setEV_STATUS("0");
+                reportVO.setEV_MESSAGE("鏈姤宸�");
+            } else {
+                if ("1".equals(bsOrderScheduling.getReport20())){
+                    reportVO.setEV_STATUS("1");
+                    reportVO.setEV_MESSAGE("宸叉姤宸�");
+                } else if ("3".equals(bsOrderScheduling.getReport20())){
+                    reportVO.setEV_STATUS("E");
+                    reportVO.setEV_MESSAGE(bsOrderScheduling.getRemarks());
+                }
+            }
+        } else {
+            reportVO.setEV_STATUS("E");
+            reportVO.setEV_MESSAGE("鏈煡璇㈠埌姝ゅ彂鍔ㄦ満淇℃伅");
+        }
+        return R.ok(reportVO);
+    }
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java
new file mode 100644
index 0000000..c60f2ae
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/ReportVO.java
@@ -0,0 +1,12 @@
+package com.jcdm.main.bs.orderScheduling.vo;
+
+import lombok.Data;
+
+@Data
+public class ReportVO {
+
+    private String EV_STATUS;
+
+    private String EV_MESSAGE;
+
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/mapper/DaCollectionParamConfMapper.java b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/mapper/DaCollectionParamConfMapper.java
index 56baedd..1d7b987 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/mapper/DaCollectionParamConfMapper.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/mapper/DaCollectionParamConfMapper.java
@@ -26,6 +26,7 @@
      * @return 閲囬泦鍙傛暟閰嶇疆闆嗗悎
      */
     public List<DaCollectionParamConf> selectDaCollectionParamConfList(DaCollectionParamConf daCollectionParamConf);
+    public List<DaCollectionParamConf> getSelectOption(DaCollectionParamConf daCollectionParamConf);
 
     /**
      * 鏂板閲囬泦鍙傛暟閰嶇疆
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/IDaCollectionParamConfService.java b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/IDaCollectionParamConfService.java
index 0d268b1..a38cd41 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/IDaCollectionParamConfService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/IDaCollectionParamConfService.java
@@ -26,6 +26,7 @@
      * @return 閲囬泦鍙傛暟閰嶇疆闆嗗悎
      */
     public List<DaCollectionParamConf> selectDaCollectionParamConfList(DaCollectionParamConf daCollectionParamConf);
+    public List<DaCollectionParamConf> getSelectOption(DaCollectionParamConf daCollectionParamConf);
 
     /**
      * 鏂板閲囬泦鍙傛暟閰嶇疆
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/impl/DaCollectionParamConfServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/impl/DaCollectionParamConfServiceImpl.java
index ffb43c0..9ffb4c3 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/impl/DaCollectionParamConfServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/service/impl/DaCollectionParamConfServiceImpl.java
@@ -44,6 +44,11 @@
         return daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf);
     }
 
+    @Override
+    public List<DaCollectionParamConf> getSelectOption(DaCollectionParamConf daCollectionParamConf) {
+        return daCollectionParamConfMapper.getSelectOption(daCollectionParamConf);
+    }
+
     /**
      * 鏂板閲囬泦鍙傛暟閰嶇疆
      * 
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/ChartVO.java b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/ChartVO.java
new file mode 100644
index 0000000..dfc3656
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/ChartVO.java
@@ -0,0 +1,13 @@
+package com.jcdm.main.da.collectionParamConf.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ChartVO {
+
+    private List<Options> locationList;
+
+    private List<Options> paramCodeList;
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/Options.java b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/Options.java
new file mode 100644
index 0000000..12a588b
--- /dev/null
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/collectionParamConf/vo/Options.java
@@ -0,0 +1,11 @@
+package com.jcdm.main.da.collectionParamConf.vo;
+
+import lombok.Data;
+
+@Data
+public class Options {
+
+    private String label;
+
+    private String value;
+}
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
index 5165166..a862bf1 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
@@ -1,10 +1,20 @@
 package com.jcdm.main.da.paramCollection.controller;
 
 import java.time.LocalTime;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.jcdm.common.core.domain.R;
 import com.jcdm.common.utils.DateUtils;
+import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
+import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
+import com.jcdm.main.da.collectionParamConf.vo.ChartVO;
+import com.jcdm.main.da.collectionParamConf.vo.Options;
 import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
 import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -37,6 +47,9 @@
     @Autowired
     private IDaParamCollectionService daParamCollectionService;
 
+    @Resource
+    private IDaCollectionParamConfService daCollectionParamConfService;
+
     /**
      * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃
      */
@@ -57,6 +70,80 @@
         return getDataTable(list);
     }
 
+
+    @GetMapping("/queryChart")
+    public R queryChart(DaParamCollection daParamCollection)
+    {
+        if(daParamCollection.getDateConditions()!=null){
+            String[] conditions = daParamCollection.getDateConditions();
+            daParamCollection.setStartTime(conditions[0]);
+            daParamCollection.setEndTime(conditions[1]);
+        } else {
+            return R.fail("璇烽�夋嫨鏃ユ湡鑼冨洿");
+        }
+        if (StrUtil.isBlank(daParamCollection.getLocationCode())){
+            return R.fail("璇疯緭鍏ュ伐浣嶇紪鍙�");
+        }
+        if (StrUtil.isBlank(daParamCollection.getParamName())){
+            return R.fail("璇烽�夋嫨鏁版嵁绫诲瀷");
+        }
+        if (StrUtil.isBlank(daParamCollection.getParamCode())){
+            return R.fail("璇烽�夋嫨铻烘爴");
+        }
+        List<DaParamCollection> list = daParamCollectionService.queryDaParamCollectionListForSearch(daParamCollection);
+        String[] array = list.stream().map(DaParamCollection::getParamValue).toArray(String[]::new);
+        return R.ok(array);
+    }
+
+
+    @GetMapping("/getSelectOption")
+    public R getSelectOption(DaParamCollection daParamCollection){
+        ChartVO chartVO = new ChartVO();
+        List<Options> locationList = new ArrayList<>();
+        List<Options> paramCodeList = new ArrayList<>();
+        DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf();
+        if (StrUtil.isBlank(daParamCollection.getLocationCode())){
+            List<DaCollectionParamConf> selectOption = daCollectionParamConfService.getSelectOption(daCollectionParamConf);
+            List<String> collect = selectOption.stream().map(DaCollectionParamConf::getProcessesCode).distinct().collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(collect)){
+                for (String s : collect) {
+                    Options options = new Options();
+                    options.setLabel(s);
+                    options.setValue(s);
+                    locationList.add(options);
+                }
+            }
+        } else {
+            List<DaCollectionParamConf> selectOption2 = daCollectionParamConfService.getSelectOption(daCollectionParamConf);
+            List<String> collect = selectOption2.stream().map(DaCollectionParamConf::getProcessesCode).distinct().collect(Collectors.toList());
+            if (CollUtil.isNotEmpty(collect)){
+                for (String s : collect) {
+                    Options options = new Options();
+                    options.setLabel(s);
+                    options.setValue(s);
+                    locationList.add(options);
+                }
+            }
+
+            daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode());
+            if (StrUtil.isNotBlank(daParamCollection.getParamName())){
+                daCollectionParamConf.setCollectParameterName(daParamCollection.getParamName());
+                List<DaCollectionParamConf> selectOption = daCollectionParamConfService.getSelectOption(daCollectionParamConf);
+                if (CollUtil.isNotEmpty(selectOption)){
+                    for (DaCollectionParamConf collectionParamConf : selectOption) {
+                        Options options = new Options();
+                        options.setLabel(collectionParamConf.getParameterSetName());
+                        options.setValue(collectionParamConf.getParameterSetCode());
+                        paramCodeList.add(options);
+                    }
+                }
+            }
+        }
+        chartVO.setLocationList(locationList);
+        chartVO.setParamCodeList(paramCodeList);
+        return R.ok(chartVO);
+    }
+
     /**
      * 瀵煎嚭璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃
      */
diff --git a/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml b/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml
index fb1e17f..8e8faad 100644
--- a/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml
+++ b/jcdm-main/src/main/resources/mapper/da/collectionParamConf/DaCollectionParamConfMapper.xml
@@ -35,6 +35,9 @@
     <sql id="selectDaCollectionParamConfVo">
         select id, processes_code, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, contrast_parameter_flag, collect_parameter_type, collect_parameter_unit, Descriptives, param_upper, param_lower, param_Central, product_code, gather_address, gather_sequence, remarks, create_user, create_time, update_user, update_time, spare_field_1, spare_field_2, spare_field_3, spare_field_4 from da_collection_param_conf
     </sql>
+    <sql id="selectOptionVo">
+        select id, processes_code, parameter_set_code, parameter_set_name, collect_parameter_id, collect_parameter_name, remarks from da_collection_param_conf
+    </sql>
 
     <select id="selectDaCollectionParamConfList" parameterType="DaCollectionParamConf" resultMap="DaCollectionParamConfResult">
         <include refid="selectDaCollectionParamConfVo"/>
@@ -56,7 +59,17 @@
         <include refid="selectDaCollectionParamConfVo"/>
         where id = #{id}
     </select>
-        
+    <select id="getSelectOption"
+            resultMap="DaCollectionParamConfResult">
+        <include refid="selectOptionVo"/>
+        <where>
+            remarks = '1' and collect_parameter_name in ('瑙掑害','鎵煩')
+            <if test="processesCode != null  and processesCode != ''"> and processes_code like concat('%', #{processesCode}, '%')</if>
+            <if test="parameterSetCode != null  and parameterSetCode != ''"> and parameter_set_code like concat('%', #{parameterSetCode}, '%')</if>
+            <if test="collectParameterName != null  and collectParameterName != ''"> and collect_parameter_name like concat('%', #{collectParameterName}, '%')</if>
+        </where>
+    </select>
+
     <insert id="insertDaCollectionParamConf" parameterType="DaCollectionParamConf">
         insert into da_collection_param_conf
         <trim prefix="(" suffix=")" suffixOverrides=",">
diff --git a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
index 5d0b1fc..dbdf12a 100644
--- a/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
+++ b/jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
@@ -114,7 +114,7 @@
         if (CollUtil.isNotEmpty(bsOrderSchedulings)){
             BsOrderScheduling orderScheduling = bsOrderSchedulings.get(0);
             try {
-                String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0010"));
+                String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(),orderScheduling.getEngineNo(), "0010"));
                 ev_meassage=ReceivingServices.xmlToJSON1(xmlResult);
                 status = ReceivingServices.xmlToJSON3(xmlResult);
             } catch (Exception e) {
@@ -124,6 +124,7 @@
                 orderScheduling.setReport10("1");
                 int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
                 logger.info("{}鍚堢鎶ュ伐鎴愬姛",orderScheduling.getOrderNo());
+                orderScheduling.setRemarks("鍚堢鎶ュ伐鎴愬姛");
             }else {
                 if(StringUtils.isEmpty(orderScheduling.getSpareField1())){
                     orderScheduling.setSpareField1("1");
@@ -136,12 +137,16 @@
                     }else {
                         orderScheduling.setSpareField1(String.valueOf(Integer.valueOf(orderScheduling.getSpareField1()) + 1));
                     }
+                    if(status.equals("3")){
+                        orderScheduling.setRemarks("鍚堢鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐�");
+                        logger.info("{}鍚堢鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐ワ紒",orderScheduling.getOrderNo());
+                    } else{
+                        orderScheduling.setRemarks("鍚堢鎶ュ伐澶辫触"+ev_meassage);
+                        logger.info("{}鍚堢鎶ュ伐澶辫触,鍘熷洜锛歿}",orderScheduling.getOrderNo(),ev_meassage);
+                    }
                     bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
                 }
-                if(status.equals("3"))
-                    logger.info("{}鍚堢鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐ワ紒",orderScheduling.getOrderNo());
-                else
-                    logger.info("{}鍚堢鎶ュ伐澶辫触,鍘熷洜锛歿}",orderScheduling.getOrderNo(),ev_meassage);
+
             }
         }
     }
@@ -155,7 +160,7 @@
         if (CollUtil.isNotEmpty(bsOrderSchedulings)){
             BsOrderScheduling orderScheduling = bsOrderSchedulings.get(0);
             try {
-                String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0020"));
+                String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), orderScheduling.getEngineNo(),"0020"));
                 ev_meassage=ReceivingServices.xmlToJSON1(xmlResult);
                 status = ReceivingServices.xmlToJSON3(xmlResult);
             } catch (Exception e) {
@@ -165,6 +170,7 @@
                 orderScheduling.setReport20("1");
                 int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
                 logger.info("{}鎬昏鎶ュ伐鎴愬姛",orderScheduling.getOrderNo());
+                orderScheduling.setRemarks("鎬昏鎶ュ伐鎴愬姛");
             }else {
                 if(StringUtils.isEmpty(orderScheduling.getSpareField2())){
                     orderScheduling.setSpareField2("1");
@@ -177,11 +183,14 @@
                     }else{
                         orderScheduling.setSpareField2(String.valueOf(Integer.valueOf(orderScheduling.getSpareField2()) + 1));
                     }
-                    bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
-                    if(status.equals("3"))
+                    if(status.equals("3")){
                         logger.info("{}鎬昏鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐ワ紒",orderScheduling.getOrderNo());
-                    else
+                        orderScheduling.setRemarks("鎬昏鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐�");
+                    } else{
                         logger.info("{}鎬昏鎶ュ伐澶辫触,鍘熷洜锛歿}",orderScheduling.getOrderNo(),ev_meassage);
+                        orderScheduling.setRemarks("鎬昏鎶ュ伐澶辫触,"+ev_meassage);
+                    }
+                    bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
                 }
             }
         }
@@ -244,17 +253,18 @@
                     //鏇存柊
                     //鍒ゆ柇鏄惁闇�瑕佹洿鏂�
                     ProductNumTable productNumTable = collect1.get(0);
-                    Integer hxOnlineNum = productNumTable.getHxOnlineNum();
-                    Integer zzOnlineNum = productNumTable.getZzOnlineNum();
-                    Integer zzOfflineNum = productNumTable.getZzOfflineNum();
-                    if (!hxOnlineNum.equals((int)count1) || !zzOnlineNum.equals((int) count2) || !zzOfflineNum.equals((int)count3)){
-                        //鏇存柊
-                        productNumTable.setHxOnlineNum((int) count1);
-                        productNumTable.setZzOnlineNum((int) count2);
-                        productNumTable.setZzOfflineNum((int) count3);
-                        productNumTable.setProductNumTheory(productNumTheory);
-                        productNumTableService.updateProductNum(productNumTable);
-                    }
+//                    Integer hxOnlineNum = productNumTable.getHxOnlineNum();
+//                    Integer zzOnlineNum = productNumTable.getZzOnlineNum();
+//                    Integer zzOfflineNum = productNumTable.getZzOfflineNum();
+//                    if (!hxOnlineNum.equals((int)count1) || !zzOnlineNum.equals((int) count2) || !zzOfflineNum.equals((int)count3)){
+//
+//                    }
+                    //鏇存柊
+                    productNumTable.setHxOnlineNum((int) count1);
+                    productNumTable.setZzOnlineNum((int) count2);
+                    productNumTable.setZzOfflineNum((int) count3);
+                    productNumTable.setProductNumTheory(productNumTheory);
+                    productNumTableService.updateProductNum(productNumTable);
                 }
             }
             if (CollUtil.isNotEmpty(saveDate)){
@@ -377,13 +387,14 @@
         return productNumTheory;
     }
 
-    public static String getProductionPlanInformationXml(String orderNo,String location){
+    public static String getProductionPlanInformationXml(String orderNo,String engineNo,String location){
         String content = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:sap-com:document:sap:rfc:functions\">\n" +
                 "   <soapenv:Header/>\n" +
                 "   <soapenv:Body>\n" +
                 "      <urn:ZPP_BC_001>\n" +
                 "         <IV_AUFNR>"+orderNo+"</IV_AUFNR>\n" +
                 "          <IV_VORNR>"+location+"</IV_VORNR>\n" +
+                "          <IV_ZFDJM>"+engineNo+"</IV_ZFDJM>\n" +
                 "           <IV_LMNGA>1</IV_LMNGA>\n" +
                 "           <IV_XMNGA>0</IV_XMNGA>   \n" +
                 "         <IV_STATU>1</IV_STATU>  \n" +
diff --git a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
index cd48024..aad81b0 100644
--- a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
+++ b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
@@ -50,3 +50,17 @@
     method: 'delete'
   })
 }
+export function queryChart(query) {
+  return request({
+    url: '/main/paramCollection/queryChart',
+    method: 'get',
+    params: query
+  })
+}
+export function getSelectOption(query) {
+  return request({
+    url: '/main/paramCollection/getSelectOption',
+    method: 'get',
+    params: query
+  })
+}
diff --git a/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue b/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue
new file mode 100644
index 0000000..09960e3
--- /dev/null
+++ b/jcdm-ui/src/views/main/da/spcDataAnalyse/index.vue
@@ -0,0 +1,354 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
+      <el-form-item label="鏃ユ湡鑼冨洿" prop="dateConditions">
+        <el-date-picker
+          v-model="queryParams.dateConditions"
+          type="daterange"
+          align="right"
+          unlink-panels
+          range-separator="鑷�"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          value-format="yyyy-MM-dd"
+          @change="handleDateChange">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="宸ヤ綅缂栧彿" prop="locationCode">
+        <el-select v-model="queryParams.locationCode" placeholder="璇烽�夋嫨宸ヤ綅缂栧彿" clearable>
+          <el-option
+            v-for="item in locationOption"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鏁版嵁绫诲瀷" prop="paramName">
+        <el-select v-model="queryParams.paramName" @change="getSelectOptionMethod" placeholder="璇烽�夋嫨鏁版嵁绫诲瀷" clearable>
+          <el-option
+            v-for="item in dataTypeList"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="铻烘爴鍚嶇О" prop="paramCode">
+        <el-select v-model="queryParams.paramCode" placeholder="璇烽�夋嫨铻烘爴鍚嶇О" clearable>
+          <el-option
+            v-for="item in screwNameList"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+      </el-form-item>
+
+
+      <el-form-item style="float: right">
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="queryChartMethod">鎼滅储</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+      </el-form-item>
+    </el-form>
+    </el-card>
+    <el-card style="margin-top: 10px" class="box-card">
+    <el-row :gutter="10" class="mb8">
+      <el-tabs v-model="activeName" @tab-click="handleClick">
+        <el-tab-pane label="鐢ㄦ埛绠$悊" name="first">鐢ㄦ埛绠$悊</el-tab-pane>
+        <el-tab-pane label="閰嶇疆绠$悊" name="second">閰嶇疆绠$悊</el-tab-pane>
+        <el-tab-pane label="瑙掕壊绠$悊" name="third">瑙掕壊绠$悊</el-tab-pane>
+      </el-tabs>
+    </el-row>
+
+    <el-table v-loading="loading" border :data="paramCollectionList" @selection-change="handleSelectionChange" v-if="paramCollectionList.length > 0">
+
+    </el-table>
+      <el-empty v-else>
+        <span slot="description">鏆傛棤鏁版嵁</span>
+      </el-empty>
+    </el-card>
+
+
+  </div>
+</template>
+
+<script>
+import { listParamCollection, getParamCollection, delParamCollection, addParamCollection, updateParamCollection } from "@/api/main/da/paramCollection/paramCollection";
+import {queryDaParamCollectionListForSearch, getSelectOption, queryChart} from "../../../../api/main/da/paramCollection/paramCollection";
+
+export default {
+  name: "ParamCollection",
+  data() {
+    return {
+      activeName: 'second',
+      dataTypeList:[
+        {
+          value: "鎵煩",
+          label: "鎵煩"
+        },
+        {
+          value: "瑙掑害",
+          label: "瑙掑害"
+        },
+      ],
+      locationOption:[],
+      screwNameList:[],
+      maxDate: '',
+      // 閬僵灞�
+      loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 璁惧浜у搧杩囩▼鍙傛暟閲囬泦琛ㄦ牸鏁版嵁
+      paramCollectionList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        dateConditions: [],
+        pageNum: 1,
+        pageSize: 10,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+      },
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        id: [
+          { required: true, message: "涓婚敭id涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        // workOrderNo: [
+        //   { required: true, message: "宸ュ崟缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+        // ],
+        sfcCode: [
+          { required: true, message: "鎬绘垚搴忓垪鍙蜂笉鑳戒负绌�", trigger: "blur" }
+        ],
+        productCode: [
+          { required: true, message: "浜у搧缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        // productionLine: [
+        //   { required: true, message: "浜х嚎缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+        // ],
+        locationCode: [
+          { required: true, message: "宸ヤ綅缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        paramCode: [
+          { required: true, message: "鍙傛暟缂栫爜涓嶈兘涓虹┖", trigger: "blur" }
+        ],
+        paramValue: [
+          { required: true, message: "鍙傛暟鍊间笉鑳戒负绌�", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    // this.getList();
+  },
+  mounted() {
+    this.getSelectOptionMethod()
+  },
+  methods: {
+    getSelectOptionMethod(){
+      getSelectOption(this.queryParams).then(res => {
+        console.log('rrrrrrr',res)
+        if (res.code === 200){
+          this.locationOption = res.data.locationList
+          this.screwNameList = res.data.paramCodeList
+        }
+      })
+    },
+    queryChartMethod(){
+      queryChart(this.queryParams).then(res => {
+        if (res.code === 200){
+          console.log('res',res)
+          let dataArray = []
+          if (res.data.length > 0){
+            res.data.forEach(x => {
+              let num = parseInt(x)
+              dataArray.push(num)
+            })
+          }
+          console.log('res222',dataArray)
+          let array=dataArray
+          console.log('arra',array)
+          // 骞冲潎鍊�
+          let mean=(array.reduce((a,b)=>a+b))/array.length
+          console.log('mean',mean)
+          // 鏂瑰樊
+          let variance=array.map(x=>{
+            return Math.pow(x-mean,2)
+          }).reduce((a,b)=>a+b)/array.length
+          console.log('variance',variance)
+          // 鏍囧噯宸�
+          let StandardDeviation = Math.sqrt(variance)
+          console.log('StandardDeviation',StandardDeviation)
+          //璁$畻鏂瑰紡鍙互鐧惧害
+          let convertedData=[]
+          for(let x=mean-3*StandardDeviation;x<=mean + 3*StandardDeviation;x++){
+            //for寰幆涓殑鏉′欢浠h〃浣犺鐢熸垚鍑犱釜鏍囧噯宸殑鏁版嵁锛�
+            //  鍐嶅甫鍏ユ鎬佸垎甯冨叕寮忥紝灏卞彲浠ョ敓鎴愪竴鏉℃暣鏉″垎甯冩洸绾跨殑鏁版嵁
+            let y=1/(StandardDeviation*Math.sqrt(2*(Math.PI)))*Math.exp(-(Math.pow(x-mean,2))/(2*(Math.pow(StandardDeviation,2))))
+            convertedData.push([x,y])
+          }
+        }
+      })
+    },
+    handleClick(tab, event) {
+      console.log(tab, event);
+    },
+    handleDateChange(value) {
+      if (value && value.length === 2) {
+        const startDate = value[0];
+        const endDate = value[1];
+        const dayCount = this.daysBetween(startDate, endDate);
+        if (dayCount + 1 > 7) {
+          this.$message.error('璇烽�夋嫨杩炵画鐨�7澶╋紒');
+          this.queryParams.dateConditions = []; // 閲嶇疆鏃ユ湡鑼冨洿
+        }
+      }
+    },
+    daysBetween(startDate, endDate) {
+      const oneDay = 24 * 60 * 60 * 1000; // 姣忓ぉ鐨勬绉掓暟
+      const startTime = new Date(startDate).getTime();
+      const endTime = new Date(endDate).getTime();
+      return Math.round(Math.abs((startTime - endTime) / oneDay));
+    },
+    /** 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦鍒楄〃 */
+    getList() {
+      this.loading = true;
+      if ((this.queryParams.sfcCode == null || this.queryParams.sfcCode === '') && this.queryParams.dateConditions.length === 0){
+        this.$message({
+          message: '璇疯緭鍏ュ彂鍔ㄦ満鍙风爜鎴栬�呴�夋嫨鏌ヨ鏃ユ湡',
+          type: 'info'
+        });
+      } else {
+        queryDaParamCollectionListForSearch(this.queryParams).then(response => {
+          this.paramCollectionList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      }
+
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        id: null,
+        workOrderNo: null,
+        sfcCode: null,
+        productCode: null,
+        productionLine: null,
+        locationCode: null,
+        equipmentNo: null,
+        paramCode: null,
+        paramValue: null,
+        paramUpper: null,
+        paramLower: null,
+        paramStandard: null,
+        collectionTime: null,
+        spareField1: null,
+        spareField2: null,
+        createUser: null,
+        createTime: null,
+        updateUser: null,
+        updateTime: null,
+        state: null,
+        paramName: null,
+        unit: null,
+        type: null
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞璁惧浜у搧杩囩▼鍙傛暟閲囬泦";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getParamCollection(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼璁惧浜у搧杩囩▼鍙傛暟閲囬泦";
+      });
+    },
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateParamCollection(this.form).then(response => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addParamCollection(this.form).then(response => {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('鏄惁纭鍒犻櫎璁惧浜у搧杩囩▼鍙傛暟閲囬泦缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+        return delParamCollection(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download('main/paramCollection/export', {
+        ...this.queryParams
+      }, `paramCollection_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

--
Gitblit v1.9.3