cl
2024-05-23 ba1a7a9ef126296e2798e313dc5b43f775a1123c
提交 | 用户 | 时间
d43481 1 package cn.stylefeng.guns.plcserver.init;
C 2
3 import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
4 import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService;
5 import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
6 import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
7 import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
8 import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
9 import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService;
10 import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService;
11 import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
12 import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
13 import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
14 import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
15 import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
16 import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService;
17 import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
18 import cn.stylefeng.guns.plcserver.opc.OPCElement;
ba1a7a 19 import cn.stylefeng.guns.plcserver.server.HEARTBEAT.HeartBeatServerInterface;
C 20 import cn.stylefeng.guns.plcserver.server.HEARTBEAT.impl.HeartBeatServerInterfaceImpl;
d43481 21 import com.kangaroohy.milo.service.MiloService;
C 22 import lombok.extern.slf4j.Slf4j;
ba1a7a 23 import org.apache.commons.lang3.StringUtils;
d43481 24 import org.springframework.beans.factory.annotation.Autowired;
C 25 import org.springframework.boot.ApplicationArguments;
26 import org.springframework.boot.ApplicationRunner;
27 import org.springframework.stereotype.Component;
28
29 import java.util.ArrayList;
ba1a7a 30 import java.util.Calendar;
d43481 31 import java.util.List;
C 32 import java.util.concurrent.ExecutorService;
33 import java.util.concurrent.Executors;
34
35 @Component
36 @Slf4j
37 public class CustomRunner implements ApplicationRunner {
38
39     @Autowired
40     public MiloService miloService;
41
42     @Autowired
43     public ProductionOrdeInfoService productionOrdeInfoService;
44     @Autowired
45     public PassingStationCollectionService passingStationCollectionService;
46     @Autowired
47     public ParamCollectionService paramCollectionService;
48     @Autowired
49     public CollectionParamConfService collectionParamConfService;
50     @Autowired
51     public SerialNumbersConfService serialNumbersConfService;
52     @Autowired
53     private EquipmentStatusService equipmentStatusService;
54
55     @Autowired
56     private EquipmentAlarmService equipmentAlarmService;
57     @Autowired
58     private MaterialTraceabilityService materialTraceabilityService;
59     @Autowired
60     private EquipmentInfoService equipmentInfoService;
61     @Autowired
62     private RepairManageInfoService repairManageInfoService;
63
64     @Autowired
65     private LocationInfoService locationInfoService;
66
67     @Autowired
68     private GreaseManageService greaseManageService;
69
70     @Autowired
71     private ProductionOrderRecordsService productionOrderRecordsService;
72
73     @Autowired
74     private ProductionOrderBatchInfoService productionOrderBatchInfoService;
75
76     private List stateLists = null;
77     @Override
78     public void run(ApplicationArguments args) throws Exception {
79
80         GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000198","1");//C1 36V
81         GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000174","2");//C1 48V
82         GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000194","3");//T1 36V
83         GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000201","4");//T1 48V
84
85         GlobalVariable.PRODUCT_CODE_MAP.put("1","12980500000198");
86         GlobalVariable.PRODUCT_CODE_MAP.put("2","12980500000174");
87         GlobalVariable.PRODUCT_CODE_MAP.put("3","12980500000194");
88         GlobalVariable.PRODUCT_CODE_MAP.put("4","12980500000201");
ba1a7a 89         SubscriptionManage InitCallback = new SubscriptionManage(miloService,productionOrdeInfoService,
d43481 90                 passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
C 91                 equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
92                 repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
93                 productionOrderBatchInfoService);
94
ba1a7a 95
C 96         Calendar calendar = Calendar.getInstance();
97         String Months = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.MONTH) + 1),2, "0");
98         if(Months.equals("04")
99                 ||Months.equals("07") ||Months.equals("08") || Months.equals("09")
100                 || Months.equals("10") || Months.equals("11") || Months.equals("12") ||
101                 Months.equals("01") || Months.equals("02") || Months.equals("03") ){
102             GlobalVariable.IS_CLOCK = false;
103         }
104        /* ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
105         cachedThreadPool.execute(new HeartBeatTaskThreadPool());*/
106
314bc7 107         System.out.println("start run^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
d43481 108         List<String> lists = getList();
ba1a7a 109         miloService.subscriptionFromOpcUa(lists,500,InitCallback);
d43481 110
C 111     }
112
113     public List<String> getList(){
114         List<String> lists = new ArrayList<>();
115
ba1a7a 116         lists.add(OPCElement.COP010_F_HEART_BEAT);
C 117         lists.add(OPCElement.COP010_PLC_REQUST);
d43481 118
ba1a7a 119         lists.add(OPCElement.COP020_F_HEART_BEAT);
C 120         lists.add(OPCElement.COP020_PLC_REQUST);
d43481 121
ba1a7a 122         lists.add(OPCElement.COP030_PLC_REQUST);
d43481 123
ba1a7a 124         lists.add(OPCElement.BOP010_F_HEART_BEAT);
C 125         lists.add(OPCElement.BOP010_PLC_REQUST);
d43481 126
ba1a7a 127         lists.add(OPCElement.BOP020_PLC_REQUST);
d43481 128
ba1a7a 129         lists.add(OPCElement.BOP030_F_HEART_BEAT);
C 130         lists.add(OPCElement.BOP030_PLC_REQUST);
d43481 131
ba1a7a 132         lists.add(OPCElement.BOP030B_PLC_REQUST);
d43481 133
ba1a7a 134         lists.add(OPCElement.BOP040_PLC_REQUST);
d43481 135
ba1a7a 136         lists.add(OPCElement.BOP040B_PLC_REQUST);
d43481 137
ba1a7a 138         lists.add(OPCElement.DOP010_F_HEART_BEAT);
C 139         lists.add(OPCElement.DOP010_PLC_REQUST);
d43481 140
C 141
ba1a7a 142         lists.add(OPCElement.EOP010_F_HEART_BEAT);
C 143         lists.add(OPCElement.EOP010_PLC_REQUST);
d43481 144
ba1a7a 145         lists.add(OPCElement.EOP020_F_HEART_BEAT);
C 146         lists.add(OPCElement.EOP020_PLC_REQUST);
d43481 147
ba1a7a 148         lists.add(OPCElement.EOP030_F_HEART_BEAT);
C 149         lists.add(OPCElement.EOP030_PLC_REQUST);
d43481 150
ba1a7a 151         lists.add(OPCElement.EOP040_PLC_REQUST);
d43481 152
ba1a7a 153         lists.add(OPCElement.EOP050_F_HEART_BEAT);
C 154         lists.add(OPCElement.EOP050_PLC_REQUST);
d43481 155
ba1a7a 156         lists.add(OPCElement.EOP060_F_HEART_BEAT);
C 157         lists.add(OPCElement.EOP060_PLC_REQUST);
d43481 158
ba1a7a 159         lists.add(OPCElement.EOP070_F_HEART_BEAT);
C 160         lists.add(OPCElement.EOP070_PLC_REQUST);
d43481 161
ba1a7a 162         lists.add(OPCElement.EOP080_F_HEART_BEAT);
C 163         lists.add(OPCElement.EOP080_PLC_REQUST);
d43481 164
ba1a7a 165         lists.add(OPCElement.EOP090_F_HEART_BEAT);
d43481 166         lists.add(OPCElement.EOP090_J_PLC_START);
C 167         lists.add(OPCElement.EOP090_J_PLC_FINISH);
168
169         lists.add(OPCElement.EOP090B_J_PLC_START);
170         lists.add(OPCElement.EOP090B_J_PLC_FINISH);
171
ba1a7a 172         lists.add(OPCElement.OP010_F_HEART_BEAT);
C 173         lists.add(OPCElement.OP010_PLC_REQUST);
d43481 174
ba1a7a 175         lists.add(OPCElement.OP020_F_HEART_BEAT);
C 176         lists.add(OPCElement.OP020_PLC_REQUST);
d43481 177
ba1a7a 178         lists.add(OPCElement.OP030_F_HEART_BEAT);
C 179         lists.add(OPCElement.OP030_PLC_REQUST);
d43481 180
ba1a7a 181         lists.add(OPCElement.OP040_F_HEART_BEAT);
C 182         lists.add(OPCElement.OP040_PLC_REQUST);
d43481 183
ba1a7a 184         lists.add(OPCElement.OP050_F_HEART_BEAT);
C 185         lists.add(OPCElement.OP050_PLC_REQUST);
d43481 186
ba1a7a 187         lists.add(OPCElement.OP070_F_HEART_BEAT);
C 188         lists.add(OPCElement.OP070_PLC_REQUST);
d43481 189
e7a9d5 190         //lists.add(OPCElement.OP080_F_HEART_BEAT);
ba1a7a 191         lists.add(OPCElement.OP080_PLC_REQUST);
d43481 192
ba1a7a 193         lists.add(OPCElement.OP090_F_HEART_BEAT);
C 194         lists.add(OPCElement.OP090_PLC_REQUST);
d43481 195
ba1a7a 196         lists.add(OPCElement.OP100_F_HEART_BEAT);
C 197         lists.add(OPCElement.OP100_PLC_REQUST);
d43481 198
ba1a7a 199         lists.add(OPCElement.OP110_F_HEART_BEAT);
C 200         lists.add(OPCElement.OP110_PLC_REQUST);
d43481 201
ba1a7a 202         lists.add(OPCElement.OP120_F_HEART_BEAT);
C 203         lists.add(OPCElement.OP120_PLC_REQUST);
d43481 204
e7a9d5 205         //lists.add(OPCElement.OP120B_F_HEART_BEAT);
ba1a7a 206         lists.add(OPCElement.OP120B_PLC_REQUST);
d43481 207
ba1a7a 208         lists.add(OPCElement.OP130_F_HEART_BEAT);
C 209         lists.add(OPCElement.OP130_PLC_REQUST);
d43481 210
e7a9d5 211         //lists.add(OPCElement.OP130B_F_HEART_BEAT);
ba1a7a 212         lists.add(OPCElement.OP130B_PLC_REQUST);
d43481 213
ba1a7a 214         lists.add(OPCElement.OP140_F_HEART_BEAT);
C 215         lists.add(OPCElement.OP140_PLC_REQUST);
d43481 216
ba1a7a 217         lists.add(OPCElement.OP150_F_HEART_BEAT);
C 218         lists.add(OPCElement.OP150_PLC_REQUST);
d43481 219
ba1a7a 220         lists.add(OPCElement.OP160_F_HEART_BEAT);
C 221        // lists.add(OPCElement.OP160_PLC_REQUST);
d43481 222         lists.add(OPCElement.OP160_J_PLC_START);
C 223         lists.add(OPCElement.OP160_J_PLC_FINISH);
224
ba1a7a 225        /* lists.add(OPCElement.OP170_F_HEART_BEAT);*/
C 226         lists.add(OPCElement.OP170_PLC_REQUST);
d43481 227
73bc06 228         /*if(null == stateLists ){
d43481 229             EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam();
C 230             stateLists = equipmentInfoService.findListBySpec(equipmentInfoParam);
231         }
232
233         if(!stateLists.isEmpty()){
234             for(int i=0;i<stateLists.size();i++) {
235                 EquipmentInfoResult result = (EquipmentInfoResult) stateLists.get(i);
236                 if(null != result.getSpareField1()){
237                     lists.add(result.getSpareField1());
238                 }
239             }
73bc06 240         }*/
d43481 241         return lists;
C 242     }
243 }
244
ba1a7a 245 /*class HeartBeatTaskThreadPool implements Runnable {
C 246
247     private HeartBeatServerInterface server;
248
249     public void run() {
250         try {
251             while (GlobalVariable.TERMINATED) {
252                 server = new HeartBeatServerInterfaceImpl();
253                 server.monitor();
254                 Thread.sleep(GlobalVariable.SLEEP_TIME);
255             }
256         }catch(Exception e){
257             e.printStackTrace();
258         }
259     }
260 }*/
261