From a5383f185d9ea618cfed8e887dfc020f1b23b64b Mon Sep 17 00:00:00 2001
From: wujian <14790700720@163.com>
Date: 星期日, 25 八月 2024 19:53:03 +0800
Subject: [PATCH] fix8-bug

---
 jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java |  162 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 1 deletions(-)

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 d0f1e89..c5671e2 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
@@ -1,7 +1,23 @@
 package com.jcdm.quartz.task;
 
+import cn.hutool.core.collection.CollUtil;
+import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
+import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService;
+import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
+import com.jcdm.main.da.passingStationCollection.service.impl.DaPassingStationCollectionServiceImpl;
+import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
+import com.jcdm.main.om.productionOrde.service.impl.OmProductionOrdeInfoServiceImpl;
+import com.jcdm.main.webservice.service.ReceivingServices;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.jcdm.common.utils.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
@@ -11,6 +27,16 @@
 @Component("ryTask")
 public class RyTask
 {
+    @Autowired
+    private DaPassingStationCollectionServiceImpl passingStationCollectionServiceImpl;
+    @Autowired
+    private IBsOrderSchedulingService bsOrderSchedulingService;
+
+    @Resource
+    private OmProductionOrdeInfoServiceImpl omProductionOrdeInfoService;
+
+
+    private static final Logger logger = LoggerFactory.getLogger("sys-user");
     public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
     {
         System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
@@ -23,6 +49,140 @@
 
     public void ryNoParams()
     {
-        System.out.println("鎵ц鏃犲弬鏂规硶");
+        logger.info("鎵ц瀹氭椂浠诲姟寮�濮�");
+        String a=passingStationCollectionServiceImpl.SelectSN("88","OP010");
+        BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
+        bsOrderScheduling.setRemarks("1");
+        List<BsOrderScheduling> bsOrderSchedulingList = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
+        if (CollUtil.isNotEmpty(bsOrderSchedulingList)){
+            Map<String, List<BsOrderScheduling>> map = bsOrderSchedulingList.stream().collect(Collectors.groupingBy(BsOrderScheduling::getOrderNo));
+            OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo();
+            for (String s : map.keySet()) {
+                List<BsOrderScheduling> bsOrderSchedulings = map.get(s);
+                if (CollUtil.isNotEmpty(bsOrderSchedulings)){
+                    BsOrderScheduling scheduling = bsOrderSchedulings.get(0);
+                    int size = bsOrderSchedulings.size();
+                    omProductionOrdeInfo.setPlanQty((long)size);
+                    omProductionOrdeInfo.setActualQty((long)0);
+                    omProductionOrdeInfo.setWorkOrderNo(s);
+                    omProductionOrdeInfo.setProductCode(scheduling.getModel());
+                    omProductionOrdeInfo.setOrderStatus("2");
+                    omProductionOrdeInfo.setTypeZ(scheduling.getModel());
+                    omProductionOrdeInfoService.insertOmProductionOrdeInfo(omProductionOrdeInfo);
+                    logger.info("鎻掑叆宸ュ崟锛寋}",s);
+                }
+            }
+            for (BsOrderScheduling scheduling : bsOrderSchedulingList) {
+                scheduling.setRemarks("0");
+                scheduling.setProductionStatus("1");
+                bsOrderSchedulingService.updateBsOrderScheduling(scheduling);
+            }
+
+        }
+        System.out.println("鎵ц杩囩▼杩斿洖锛�" + a);
+        logger.info("瀹氭椂浠诲姟鎵ц缁撴潫");
+    }
+
+    String url = "http://podqapp.cfmoto.com.cn:50100/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_MES&receiverParty=&receiverService=&interface=SI_ZPP_CF_BC_001_SYN_OUT&interfaceNamespace=http://cfmoto.com/xi/MES";
+    public void workReportingTasks(){
+        report10();
+        report20();
+    }
+
+    public void report10(){
+        BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
+        bsOrderScheduling.setReport10("0");
+        List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
+        String status="";
+        String ev_meassage="";
+        for (BsOrderScheduling orderScheduling : bsOrderSchedulings) {
+            try {
+                String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0010"));
+                ev_meassage=ReceivingServices.xmlToJSON1(xmlResult);
+                status = ReceivingServices.xmlToJSON3(xmlResult);
+            } catch (Exception e) {
+                status="3";
+            }
+            if(status.equals("1")) {
+                orderScheduling.setReport10("1");
+                int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                logger.info("{}鍚堢鎶ュ伐鎴愬姛",orderScheduling.getOrderNo());
+            }else {
+                if(StringUtils.isEmpty(orderScheduling.getSpareField1())){
+                    orderScheduling.setSpareField1("1");
+                    bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                }else{
+                    if(Integer.valueOf(orderScheduling.getSpareField1())+1>=3) {
+                        //绱鎶ュ伐寮傚父瓒呰繃3娆�
+                        orderScheduling.setReport10("3");
+                        orderScheduling.setSpareField1(String.valueOf(Integer.valueOf(orderScheduling.getSpareField1()) + 1));
+                    }else {
+                        orderScheduling.setSpareField1(String.valueOf(Integer.valueOf(orderScheduling.getSpareField1()) + 1));
+                    }
+                    bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                }
+                if(status.equals("3"))
+                    logger.info("{}鍚堢鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐ワ紒",orderScheduling.getOrderNo());
+                else
+                    logger.info("{}鍚堢鎶ュ伐澶辫触,鍘熷洜锛歿}",orderScheduling.getOrderNo(),ev_meassage);
+            }
+        }
+    }
+
+    public void report20(){
+        BsOrderScheduling bsOrderScheduling = new BsOrderScheduling();
+        bsOrderScheduling.setReport20("0");
+        List<BsOrderScheduling> bsOrderSchedulings = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling);
+        String status="";
+        String ev_meassage="";
+        for (BsOrderScheduling orderScheduling : bsOrderSchedulings) {
+            try {
+                String xmlResult = ReceivingServices.getInterfaceInformationXml(url, getProductionPlanInformationXml(orderScheduling.getOrderNo(), "0020"));
+                ev_meassage=ReceivingServices.xmlToJSON1(xmlResult);
+                status = ReceivingServices.xmlToJSON3(xmlResult);
+            } catch (Exception e) {
+                status="3";
+            }
+            if(status.equals("1")){
+                orderScheduling.setReport20("1");
+                int i = bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                logger.info("{}鎬昏鎶ュ伐鎴愬姛",orderScheduling.getOrderNo());
+            }else {
+                if(StringUtils.isEmpty(orderScheduling.getSpareField2())){
+                    orderScheduling.setSpareField2("1");
+                    bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                }else{
+                    if(Integer.valueOf(orderScheduling.getSpareField2())+1>=3) {
+                        //绱鎶ュ伐寮傚父瓒呰繃3娆�
+                        orderScheduling.setReport20("3");
+                        orderScheduling.setSpareField2(String.valueOf(Integer.valueOf(orderScheduling.getSpareField2()) + 1));
+                    }else{
+                        orderScheduling.setSpareField2(String.valueOf(Integer.valueOf(orderScheduling.getSpareField2()) + 1));
+                    }
+                    bsOrderSchedulingService.updateBsOrderScheduling(orderScheduling);
+                    if(status.equals("3"))
+                        logger.info("{}鎬昏鎶ュ伐鍥犱负缃戠粶鍘熷洜锛屾姤宸ュけ璐ワ紒",orderScheduling.getOrderNo());
+                    else
+                        logger.info("{}鎬昏鎶ュ伐澶辫触,鍘熷洜锛歿}",orderScheduling.getOrderNo(),ev_meassage);
+                }
+            }
+        }
+    }
+
+    public static String getProductionPlanInformationXml(String orderNo,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_LMNGA>1</IV_LMNGA>\n" +
+                "           <IV_XMNGA>0</IV_XMNGA>   \n" +
+                "         <IV_STATU>1</IV_STATU>  \n" +
+                "      </urn:ZPP_BC_001>\n" +
+                "   </soapenv:Body>\n" +
+                "</soapenv:Envelope>";
+        //logger.info("{}",content);
+        return content;
     }
 }

--
Gitblit v1.9.3