From 314bc7a1733856bd82c9d99bdfa27b34a4a762c3 Mon Sep 17 00:00:00 2001
From: cl <418351270@qq.com>
Date: 星期一, 22 一月 2024 12:58:37 +0800
Subject: [PATCH] 修改数据采集

---
 /dev/null                                                                            |  152 -----------
 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java       |  543 -----------------------------------------
 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java  |    6 
 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java |    6 
 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java |    6 
 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java |    6 
 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java   |   13 
 7 files changed, 21 insertions(+), 711 deletions(-)

diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/OpcServiceMain.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/OpcServiceMain.java
deleted file mode 100644
index 9242219..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/OpcServiceMain.java
+++ /dev/null
@@ -1,919 +0,0 @@
-package cn.stylefeng.guns.plcserver;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService;
-import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService;
-import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.server.BOP010.BOP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP010.impl.BOP010ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.BOP020.BOP020ServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP020.impl.BOP020ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.BOP030.BOP030ServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP030.impl.BOP030ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.BOP030B.BOP030BServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP030B.impl.BOP030BServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.BOP040.BOP040ServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP040.impl.BOP040ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.BOP040B.BOP040BServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP040B.impl.BOP040BServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.COP010.COP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.COP010.impl.COP010ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.COP020.COP020ServerInterface;
-import cn.stylefeng.guns.plcserver.server.COP020.impl.COP020ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.COP030.COP030ServerInterface;
-import cn.stylefeng.guns.plcserver.server.COP030.impl.COP030ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.DOP010.DOP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.DOP010.impl.DOP010ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.DOP020.DOP020ServerInterface;
-import cn.stylefeng.guns.plcserver.server.DOP020.impl.DOP020ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP010.EOP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP010.impl.EOP010ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP020.EOP020ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP020.impl.EOP020ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP030.EOP030ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP030.impl.EOP030ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP040.EOP040ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP040.impl.EOP040ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP050.EOP050ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP050.impl.EOP050ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP060.EOP060ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP060.impl.EOP060ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP070.EOP070ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP070.impl.EOP070ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP070B.EOP070BServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP070B.impl.EOP070BServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP080.EOP080ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP080.impl.EOP080ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP090.EOP090ServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP090.impl.EOP090ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.EOP090B.EOP090BServerInterface;
-import cn.stylefeng.guns.plcserver.server.EOP090B.impl.EOP090BServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP010.OP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP010.impl.OP010ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP020.OP020ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP020.impl.OP020ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP030.OP030ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP030.impl.OP030ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP040.OP040ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP040.impl.OP040ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP050.OP050ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP050.impl.OP050ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP070.OP070ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP070.impl.OP070ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP080.OP080ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP080.impl.OP080ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP090.OP090ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP090.impl.OP090ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP100.OP100ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP100.impl.OP100ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP110.OP110ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP110.impl.OP110ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP120.OP120ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP120.impl.OP120ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP120B.OP120BServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP120B.impl.OP120BServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP130.OP130ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP130.impl.OP130ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP130B.OP130BServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP130B.impl.OP130BServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP140.OP140ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP140.impl.OP140ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP150.OP150ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP150.impl.OP150ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP160.OP160ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP160.impl.OP160ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.OP170.OP170ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP170.impl.OP170ServerInterfaceImpl;
-import cn.stylefeng.guns.plcserver.server.state.StateServerInterface;
-import cn.stylefeng.guns.plcserver.server.state.impl.StateServerInterfaceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-@Component
-@Order(1)
-public class OpcServiceMain  implements CommandLineRunner {
-    private OPCComm opc = OPCComm.getInstance();
-
-    @Autowired
-    public ProductionOrdeInfoService productionOrdeInfoService;
-    @Autowired
-    public PassingStationCollectionService passingStationCollectionService;
-    @Autowired
-    public ParamCollectionService paramCollectionService;
-    @Autowired
-    public CollectionParamConfService collectionParamConfService;
-    @Autowired
-    public SerialNumbersConfService serialNumbersConfService;
-    @Autowired
-    private EquipmentStatusService equipmentStatusService;
-
-    @Autowired
-    private EquipmentAlarmService equipmentAlarmService;
-    @Autowired
-    private MaterialTraceabilityService materialTraceabilityService;
-    @Autowired
-    private EquipmentInfoService equipmentInfoService;
-    @Autowired
-    private RepairManageInfoService repairManageInfoService;
-
-    @Autowired
-    private LocationInfoService locationInfoService;
-
-    @Autowired
-    private GreaseManageService greaseManageService;
-
-    @Autowired
-    private ProductionOrderRecordsService productionOrderRecordsService;
-
-    @Autowired
-    private ProductionOrderBatchInfoService productionOrderBatchInfoService;
-
-    @Override
-    public void run(String... args) throws Exception {
-        if(GlobalVariable.TERMINATED) {
-            opc.init(productionOrdeInfoService,passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                    equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                    repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,productionOrderBatchInfoService);
-
-            GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000198","1");//C1 36V
-            GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000174","2");//C1 48V
-            GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000194","3");//T1 36V
-            GlobalVariable.PRODUCT_TYPE_MAP.put("12980500000201","4");//T1 48V
-
-            GlobalVariable.PRODUCT_CODE_MAP.put("1","12980500000198");
-            GlobalVariable.PRODUCT_CODE_MAP.put("2","12980500000174");
-            GlobalVariable.PRODUCT_CODE_MAP.put("3","12980500000194");
-            GlobalVariable.PRODUCT_CODE_MAP.put("4","12980500000201");
-
-            ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
-            cachedThreadPool.execute(new OP010TaskThreadPool());
-            cachedThreadPool.execute(new OP020TaskThreadPool());
-            cachedThreadPool.execute(new OP030TaskThreadPool());
-            cachedThreadPool.execute(new OP040TaskThreadPool());
-            cachedThreadPool.execute(new OP050TaskThreadPool());
-            cachedThreadPool.execute(new OP070TaskThreadPool());
-            cachedThreadPool.execute(new OP080TaskThreadPool());
-            cachedThreadPool.execute(new OP090TaskThreadPool());
-            cachedThreadPool.execute(new OP100TaskThreadPool());
-            cachedThreadPool.execute(new OP110TaskThreadPool());
-           cachedThreadPool.execute(new OP120TaskThreadPool());
-            cachedThreadPool.execute(new OP120BTaskThreadPool());
-            cachedThreadPool.execute(new OP130TaskThreadPool());
-            cachedThreadPool.execute(new OP130BTaskThreadPool());
-            cachedThreadPool.execute(new OP140TaskThreadPool());
-           /* cachedThreadPool.execute(new OP150TaskThreadPool());*/
-            cachedThreadPool.execute(new OP160TaskThreadPool());
-            cachedThreadPool.execute(new OP170TaskThreadPool());
-
-            //COP
-            cachedThreadPool.execute(new COP010TaskThreadPool());
-            cachedThreadPool.execute(new COP020TaskThreadPool());
-            cachedThreadPool.execute(new COP030TaskThreadPool());
-
-            //BOP
-            cachedThreadPool.execute(new BOP010TaskThreadPool());
-            cachedThreadPool.execute(new BOP020TaskThreadPool());
-            cachedThreadPool.execute(new BOP030TaskThreadPool());
-            cachedThreadPool.execute(new BOP030BTaskThreadPool());
-            cachedThreadPool.execute(new BOP040TaskThreadPool());
-            cachedThreadPool.execute(new BOP040BTaskThreadPool());
-
-            //DOP
-            cachedThreadPool.execute(new DOP010TaskThreadPool());
-            /*cachedThreadPool.execute(new DOP020TaskThreadPool());*/
-
-            //EOP
-            cachedThreadPool.execute(new EOP010TaskThreadPool());
-            cachedThreadPool.execute(new EOP020TaskThreadPool());
-            cachedThreadPool.execute(new EOP030TaskThreadPool());
-            cachedThreadPool.execute(new EOP040TaskThreadPool());
-            cachedThreadPool.execute(new EOP050TaskThreadPool());
-            cachedThreadPool.execute(new EOP060TaskThreadPool());
-            cachedThreadPool.execute(new EOP070TaskThreadPool());
-            //cachedThreadPool.execute(new EOP070BTaskThreadPool());
-
-            cachedThreadPool.execute(new EOP080TaskThreadPool());
-            cachedThreadPool.execute(new EOP090TaskThreadPool());
-            cachedThreadPool.execute(new EOP090BTaskThreadPool());
-
-            cachedThreadPool.execute(new StateTaskThreadPool());
-        }
-    }
-
-}
-
-class OP010TaskThreadPool implements Runnable {
-
-    private OP010ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP010ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP020TaskThreadPool implements Runnable {
-
-    private OP020ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP020ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-
-class OP030TaskThreadPool implements Runnable {
-
-    private OP030ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP030ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP040TaskThreadPool implements Runnable {
-
-    private OP040ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP040ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP050TaskThreadPool implements Runnable {
-
-    private OP050ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP050ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP070TaskThreadPool implements Runnable {
-
-    private OP070ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP070ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP080TaskThreadPool implements Runnable {
-
-    private OP080ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP080ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP090TaskThreadPool implements Runnable {
-
-    private OP090ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP090ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP100TaskThreadPool implements Runnable {
-
-    private OP100ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP100ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP110TaskThreadPool implements Runnable {
-
-    private OP110ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP110ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-class OP120TaskThreadPool implements Runnable {
-
-    private OP120ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP120ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-class OP120BTaskThreadPool implements Runnable {
-
-    private OP120BServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP120BServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP130TaskThreadPool implements Runnable {
-
-    private OP130ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP130ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP130BTaskThreadPool implements Runnable {
-
-    private OP130BServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP130BServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP140TaskThreadPool implements Runnable {
-
-    private OP140ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP140ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP150TaskThreadPool implements Runnable {
-
-    private OP150ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP150ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP160TaskThreadPool implements Runnable {
-
-    private OP160ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP160ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class OP170TaskThreadPool implements Runnable {
-
-    private OP170ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new OP170ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-
-class COP010TaskThreadPool implements Runnable {
-
-    private COP010ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new COP010ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}class COP020TaskThreadPool implements Runnable {
-
-    private COP020ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new COP020ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class COP030TaskThreadPool implements Runnable {
-
-    private COP030ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new COP030ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class BOP010TaskThreadPool implements Runnable {
-
-    private BOP010ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new BOP010ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class BOP020TaskThreadPool implements Runnable {
-
-    private BOP020ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new BOP020ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class BOP030TaskThreadPool implements Runnable {
-
-    private BOP030ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new BOP030ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class BOP030BTaskThreadPool implements Runnable {
-
-    private BOP030BServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new BOP030BServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class BOP040TaskThreadPool implements Runnable {
-
-    private BOP040ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new BOP040ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class BOP040BTaskThreadPool implements Runnable {
-
-    private BOP040BServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new BOP040BServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-//EOP
-class EOP010TaskThreadPool implements Runnable {
-
-    private EOP010ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP010ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-class EOP020TaskThreadPool implements Runnable {
-
-    private EOP020ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP020ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP030TaskThreadPool implements Runnable {
-
-    private EOP030ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP030ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-class EOP040TaskThreadPool implements Runnable {
-
-    private EOP040ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP040ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-class EOP050TaskThreadPool implements Runnable {
-
-    private EOP050ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP050ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP060TaskThreadPool implements Runnable {
-
-    private EOP060ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP060ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP070TaskThreadPool implements Runnable {
-
-    private EOP070ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP070ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP070BTaskThreadPool implements Runnable {
-
-    private EOP070BServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP070BServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP080TaskThreadPool implements Runnable {
-
-    private EOP080ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP080ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP090TaskThreadPool implements Runnable {
-
-    private EOP090ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP090ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class EOP090BTaskThreadPool implements Runnable {
-
-    private EOP090BServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new EOP090BServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class DOP010TaskThreadPool implements Runnable {
-
-    private DOP010ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new DOP010ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class DOP020TaskThreadPool implements Runnable {
-
-    private DOP020ServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new DOP020ServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(GlobalVariable.SLEEP_TIME);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
-
-class StateTaskThreadPool implements Runnable {
-
-    private StateServerInterface server;
-
-    public void run() {
-        try {
-            while (GlobalVariable.TERMINATED) {
-                server = new StateServerInterfaceImpl();
-                server.monitor();
-                Thread.sleep(30*1000);
-            }
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
-}
\ No newline at end of file
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java
index 9975968..bd9ae12 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java
@@ -194,9 +194,9 @@
 
             List<ReadWriteEntity> lists = new ArrayList<>();
             lists.add(new ReadWriteEntity(OPCElement.BOP010_S_ORDER_CODE,S_ORDER_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+            lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
             lists.add(new ReadWriteEntity(OPCElement.BOP010_S_SFC_CODE,S_SFC_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.BOP010_S_NUMBER,result.getPlanQty().toString()));
+            lists.add(new ReadWriteEntity(OPCElement.BOP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString())));
             lists.add(new ReadWriteEntity(OPCElement.BOP010_J_PC_WRITE_ORDER,true));
             miloService.writeToOpcUa(lists);
 
@@ -325,7 +325,7 @@
                 if(null != repairLocationNo && "" != repairLocationNo){
                     List<ReadWriteEntity> lists = new ArrayList<>();
                     lists.add(new ReadWriteEntity(OPCElement.BOP010_S_ORDER_CODE,S_ORDER_CODE));
-                    lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+                    lists.add(new ReadWriteEntity(OPCElement.BOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
                     lists.add(new ReadWriteEntity(OPCElement.BOP010_S_SFC_CODE,S_SFC_CODE));
                     lists.add(new ReadWriteEntity(OPCElement.BOP010_P_REPAIR_LOCATION,repairLocationNo));
                     lists.add(new ReadWriteEntity(OPCElement.BOP010_J_PC_WRITE_ORDER,true));
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java
index e71259b..71847f7 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java
@@ -198,9 +198,9 @@
 
             List<ReadWriteEntity> lists = new ArrayList<>();
             lists.add(new ReadWriteEntity(OPCElement.COP010_S_ORDER_CODE,S_ORDER_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+            lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
             lists.add(new ReadWriteEntity(OPCElement.COP010_S_SFC_CODE,S_SFC_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.COP010_S_NUMBER,result.getPlanQty().toString()));
+            lists.add(new ReadWriteEntity(OPCElement.COP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString())));
             lists.add(new ReadWriteEntity(OPCElement.COP010_J_PC_WRITE_ORDER,true));
             miloService.writeToOpcUa(lists);
 
@@ -329,7 +329,7 @@
                 if(null != repairLocationNo && "" != repairLocationNo){
                     List<ReadWriteEntity> lists = new ArrayList<>();
                     lists.add(new ReadWriteEntity(OPCElement.COP010_S_ORDER_CODE,S_ORDER_CODE));
-                    lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+                    lists.add(new ReadWriteEntity(OPCElement.COP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
                     lists.add(new ReadWriteEntity(OPCElement.COP010_S_SFC_CODE,S_SFC_CODE));
                     lists.add(new ReadWriteEntity(OPCElement.COP010_P_REPAIR_LOCATION,repairLocationNo));
                     lists.add(new ReadWriteEntity(OPCElement.COP010_J_PC_WRITE_ORDER,true));
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java
index 81a7e56..7c51bff 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java
@@ -191,9 +191,9 @@
 
             List<ReadWriteEntity> lists = new ArrayList<>();
             lists.add(new ReadWriteEntity(OPCElement.DOP010_S_ORDER_CODE,S_ORDER_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+            lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
             lists.add(new ReadWriteEntity(OPCElement.DOP010_S_SFC_CODE,S_SFC_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.DOP010_S_NUMBER,result.getPlanQty().toString()));
+            lists.add(new ReadWriteEntity(OPCElement.DOP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString())));
             lists.add(new ReadWriteEntity(OPCElement.DOP010_J_PC_WRITE_ORDER,true));
             miloService.writeToOpcUa(lists);
             logger.info("DOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
@@ -321,7 +321,7 @@
                 if(null != repairLocationNo && "" != repairLocationNo){
                     List<ReadWriteEntity> lists = new ArrayList<>();
                     lists.add(new ReadWriteEntity(OPCElement.DOP010_S_ORDER_CODE,S_ORDER_CODE));
-                    lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+                    lists.add(new ReadWriteEntity(OPCElement.DOP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
                     lists.add(new ReadWriteEntity(OPCElement.DOP010_S_SFC_CODE,S_SFC_CODE));
                     lists.add(new ReadWriteEntity(OPCElement.DOP010_P_REPAIR_LOCATION,repairLocationNo));
                     lists.add(new ReadWriteEntity(OPCElement.DOP010_J_PC_WRITE_ORDER,true));
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java
index 50da06a..79ae7ed 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java
@@ -398,7 +398,6 @@
     public void onSubscribe(String identifier, Object value) {
         String ecpStr = "";//寮傚父璁板綍鏍囪
         try {
-
             if(null != value) {
                 //OP010
                 //蹇冭烦
@@ -1076,7 +1075,7 @@
                     EOP090BCallback.handleInfo();
                 }
 
-                else if (identifier.contains("STATE") && null != value && "true".equals(value.toString())) {
+                else if (identifier.contains("STATE") && null != value) {
                     EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam();
                     equipmentInfoParam.setSpareField1(identifier);
                     List<EquipmentInfoResult> lists = equipmentInfoService.findListBySpec(equipmentInfoParam);
@@ -1132,10 +1131,12 @@
                         }
                     }
 
-
-                    // handleOilState("DOP020");
-                    StateCallback.handleOilStateOP050("OP050");
-                    StateCallback.handleOilStateBOP030("BOP030");
+                    if(identifier.contains("OP050") && !identifier.contains("EOP050") ){
+                        StateCallback.handleOilStateOP050("OP050");
+                    }
+                    if (identifier.contains("BOP030")){
+                        StateCallback.handleOilStateBOP030("BOP030");
+                    }
                 }
 
                 else {
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java
index 5ad2729..dcad12c 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java
@@ -252,9 +252,9 @@
 
             List<ReadWriteEntity> lists = new ArrayList<>();
             lists.add(new ReadWriteEntity(OPCElement.OP010_S_ORDER_CODE,S_ORDER_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+            lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
             lists.add(new ReadWriteEntity(OPCElement.OP010_S_SFC_CODE,S_SFC_CODE));
-            lists.add(new ReadWriteEntity(OPCElement.OP010_S_NUMBER,result.getPlanQty().toString()));
+            lists.add(new ReadWriteEntity(OPCElement.OP010_S_NUMBER,Short.parseShort(result.getPlanQty().toString())));
             lists.add(new ReadWriteEntity(OPCElement.OP010_J_PC_WRITE_ORDER,true));
             miloService.writeToOpcUa(lists);
             logger.info("OP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛乛--------------------------------------------");
@@ -359,7 +359,7 @@
 
                     List<ReadWriteEntity> lists = new ArrayList<>();
                     lists.add(new ReadWriteEntity(OPCElement.OP010_S_ORDER_CODE,S_ORDER_CODE));
-                    lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,S_PRODUCT_TYPE));
+                    lists.add(new ReadWriteEntity(OPCElement.OP010_S_PRODUCT_CODE,Short.parseShort(S_PRODUCT_TYPE)));
                     lists.add(new ReadWriteEntity(OPCElement.OP010_S_SFC_CODE,S_SFC_CODE));
                     lists.add(new ReadWriteEntity(OPCElement.OP010_P_REPAIR_LOCATION,repairLocationNo));
                     lists.add(new ReadWriteEntity(OPCElement.OP010_J_PC_WRITE_ORDER,true));
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java
index ce017dd..2e6d640 100644
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java
+++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java
@@ -19,8 +19,6 @@
 import cn.stylefeng.guns.plcserver.callback.*;
 import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
 import cn.stylefeng.guns.plcserver.opc.OPCElement;
-import cn.stylefeng.guns.plcserver.server.OP010.OP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP010.impl.OP010ServerInterfaceImpl;
 import com.kangaroohy.milo.service.MiloService;
 import lombok.extern.slf4j.Slf4j;
 import org.openscada.opc.lib.da.Item;
@@ -89,555 +87,18 @@
         GlobalVariable.PRODUCT_CODE_MAP.put("3","12980500000194");
         GlobalVariable.PRODUCT_CODE_MAP.put("4","12980500000201");
 
-        EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam();
-        List list = equipmentInfoService.findListBySpec(equipmentInfoParam);
-
-      /*  state();*/
-        init();
-/*        COP010();
-        COP020();
-        COP030();
-
-        BOP010();
-        BOP020();
-        BOP030();
-        BOP030B();
-        BOP040();
-        BOP040B();
-
-        DOP010();
-        //DOP020();
-
-        EOP010();
-        EOP020();
-        EOP030();
-        EOP040();
-        EOP050();
-        EOP060();
-        EOP070();
-        EOP080();
-        EOP090();
-        EOP090B();
-
-        OP010();
-        OP020();
-        OP030();
-        OP040();
-        OP050();
-
-        OP070();
-        OP080();
-        OP090();
-        OP100();
-        OP110();
-        OP120();
-        OP120B();
-        OP130();
-        OP130B();
-        OP140();
-        //OP150();
-        OP160();
-        OP170();
-
-        state();*/
-    }
-
-
-
-    private void init() throws Exception {
         InitCallback InitCallback = new InitCallback(miloService,productionOrdeInfoService,
                 passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
                 equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
                 repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
                 productionOrderBatchInfoService);
 
+        System.out.println("start run^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
         List<String> lists = getList();
         miloService.subscriptionFromOpcUa(lists,InitCallback);
-    }
+        System.out.println("end run^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
 
-    private void state() throws Exception {
-        StateCallback StateCallback = new StateCallback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        StateCallback.handleInfo();
-        // handleOilState("DOP020");
-        StateCallback.handleOilStateOP050("OP050");
-        StateCallback.handleOilStateBOP030("BOP030");
     }
-    private void COP010() throws Exception {
-        COP010Callback COP010Callback = new COP010Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.COP010_F_HEART_BEAT);
-        lists.add(OPCElement.COP010_J_PLC_START);
-        lists.add(OPCElement.COP010_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,COP010Callback);
-        System.out.println("1");
-    }
-    private void COP020() throws Exception {
-        COP020Callback COP020Callback = new COP020Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.COP020_F_HEART_BEAT);
-        lists.add(OPCElement.COP020_J_PLC_START);
-        lists.add(OPCElement.COP020_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,COP020Callback);
-    }
-    private void COP030() throws Exception {
-        COP030Callback COP030Callback = new COP030Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.COP030_F_HEART_BEAT);
-        lists.add(OPCElement.COP030_J_PLC_START);
-        lists.add(OPCElement.COP030_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,COP030Callback);
-    }
-    private void BOP010() throws Exception {
-        BOP010Callback BOP010Callback = new BOP010Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.BOP010_F_HEART_BEAT);
-        lists.add(OPCElement.BOP010_J_PLC_START);
-        lists.add(OPCElement.BOP010_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,BOP010Callback);
-    }
-    private void BOP020() throws Exception {
-        BOP020Callback BOP020Callback = new BOP020Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.BOP020_F_HEART_BEAT);
-        lists.add(OPCElement.BOP020_J_PLC_START);
-        lists.add(OPCElement.BOP020_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,BOP020Callback);
-    }
-    private void BOP030() throws Exception {
-        BOP030Callback BOP030Callback = new BOP030Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.BOP030_F_HEART_BEAT);
-        lists.add(OPCElement.BOP030_J_PLC_START);
-        lists.add(OPCElement.BOP030_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,BOP030Callback);
-    }
-    private void BOP030B() throws Exception {
-        BOP030BCallback BOP030BCallback = new BOP030BCallback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.BOP030B_F_HEART_BEAT);
-        lists.add(OPCElement.BOP030B_J_PLC_START);
-        lists.add(OPCElement.BOP030B_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,BOP030BCallback);
-    }
-    private void BOP040() throws Exception {
-        BOP040Callback BOP040Callback = new BOP040Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.BOP040_F_HEART_BEAT);
-        lists.add(OPCElement.BOP040_J_PLC_START);
-        lists.add(OPCElement.BOP040_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,BOP040Callback);
-    }
-    private void BOP040B() throws Exception {
-        BOP040BCallback BOP040BCallback = new BOP040BCallback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.BOP040B_F_HEART_BEAT);
-        lists.add(OPCElement.BOP040B_J_PLC_START);
-        lists.add(OPCElement.BOP040B_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,BOP040BCallback);
-    }
-    private void DOP010() throws Exception {
-        DOP010Callback DOP010Callback = new DOP010Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.DOP010_F_HEART_BEAT);
-        lists.add(OPCElement.DOP010_J_PLC_START);
-        lists.add(OPCElement.DOP010_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,DOP010Callback);
-    }
-    private void DOP020() throws Exception {
-        DOP020Callback DOP020Callback = new DOP020Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.DOP020_F_HEART_BEAT);
-        lists.add(OPCElement.DOP020_J_PLC_START);
-        lists.add(OPCElement.DOP020_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,DOP020Callback);
-    }
-    private void EOP010() throws Exception {
-        EOP010Callback EOP010Callback = new EOP010Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP010_F_HEART_BEAT);
-        lists.add(OPCElement.EOP010_J_PLC_START);
-        lists.add(OPCElement.EOP010_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP010Callback);
-    }
-    private void EOP020() throws Exception {
-        EOP020Callback EOP020Callback = new EOP020Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP020_F_HEART_BEAT);
-        lists.add(OPCElement.EOP020_J_PLC_START);
-        lists.add(OPCElement.EOP020_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP020Callback);
-    }
-    private void EOP030() throws Exception {
-        EOP030Callback EOP030Callback = new EOP030Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP030_F_HEART_BEAT);
-        lists.add(OPCElement.EOP030_J_PLC_START);
-        lists.add(OPCElement.EOP030_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP030Callback);
-    }
-    private void EOP040() throws Exception {
-        EOP040Callback EOP040Callback = new EOP040Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP040_F_HEART_BEAT);
-        lists.add(OPCElement.EOP040_J_PLC_START);
-        lists.add(OPCElement.EOP040_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP040Callback);
-    }
-
-    private void EOP050() throws Exception {
-        EOP050Callback EOP050Callback = new EOP050Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP050_F_HEART_BEAT);
-        lists.add(OPCElement.EOP050_J_PLC_START);
-        lists.add(OPCElement.EOP050_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP050Callback);
-    }
-    private void EOP060() throws Exception {
-        EOP060Callback EOP060Callback = new EOP060Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP060_F_HEART_BEAT);
-        lists.add(OPCElement.EOP060_J_PLC_START);
-        lists.add(OPCElement.EOP060_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP060Callback);
-    }
-    private void EOP070() throws Exception {
-        EOP070Callback EOP070Callback = new EOP070Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP070_F_HEART_BEAT);
-        lists.add(OPCElement.EOP070_J_PLC_START);
-        lists.add(OPCElement.EOP070_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP070Callback);
-    }
-    private void EOP080() throws Exception {
-        EOP080Callback EOP080Callback = new EOP080Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP080_F_HEART_BEAT);
-        lists.add(OPCElement.EOP080_J_PLC_START);
-        lists.add(OPCElement.EOP080_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP080Callback);
-    }
-    private void EOP090() throws Exception {
-        EOP090Callback EOP090Callback = new EOP090Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP090_F_HEART_BEAT);
-        lists.add(OPCElement.EOP090_J_PLC_START);
-        lists.add(OPCElement.EOP090_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP090Callback);
-    }
-    private void EOP090B() throws Exception {
-        EOP090BCallback EOP090BCallback = new EOP090BCallback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.EOP090B_F_HEART_BEAT);
-        lists.add(OPCElement.EOP090B_J_PLC_START);
-        lists.add(OPCElement.EOP090B_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,EOP090BCallback);
-    }
-    private void OP010() throws Exception {
-        OP010Callback OP010Callback = new OP010Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP010_F_HEART_BEAT);
-        lists.add(OPCElement.OP010_J_PLC_START);
-        lists.add(OPCElement.OP010_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP010Callback);
-    }
-    private void OP020() throws Exception {
-        OP020Callback OP020Callback = new OP020Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP020_F_HEART_BEAT);
-        lists.add(OPCElement.OP020_J_PLC_START);
-        lists.add(OPCElement.OP020_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP020Callback);
-    }
-    private void OP030() throws Exception {
-        OP030Callback OP030Callback = new OP030Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP030_F_HEART_BEAT);
-        lists.add(OPCElement.OP030_J_PLC_START);
-        lists.add(OPCElement.OP030_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP030Callback);
-    }
-    private void OP040() throws Exception {
-        OP040Callback OP040Callback = new OP040Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP040_F_HEART_BEAT);
-        lists.add(OPCElement.OP040_J_PLC_START);
-        lists.add(OPCElement.OP040_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP040Callback);
-    }
-    private void OP050() throws Exception {
-        OP050Callback OP050Callback = new OP050Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP050_F_HEART_BEAT);
-        lists.add(OPCElement.OP050_J_PLC_START);
-        lists.add(OPCElement.OP050_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP050Callback);
-    }
-    private void OP070() throws Exception {
-        OP070Callback OP070Callback = new OP070Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP070_F_HEART_BEAT);
-        lists.add(OPCElement.OP070_J_PLC_START);
-        lists.add(OPCElement.OP070_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP070Callback);
-    }
-    private void OP080() throws Exception {
-        OP080Callback OP080Callback = new OP080Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP080_F_HEART_BEAT);
-        lists.add(OPCElement.OP080_J_PLC_START);
-        lists.add(OPCElement.OP080_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP080Callback);
-    }
-    private void OP090() throws Exception {
-        OP090Callback OP090Callback = new OP090Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP090_F_HEART_BEAT);
-        lists.add(OPCElement.OP090_J_PLC_START);
-        lists.add(OPCElement.OP090_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP090Callback);
-    }
-    private void OP100() throws Exception {
-        OP100Callback OP100Callback = new OP100Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP100_F_HEART_BEAT);
-        lists.add(OPCElement.OP100_J_PLC_START);
-        lists.add(OPCElement.OP100_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP100Callback);
-    }
-    private void OP110() throws Exception {
-        OP110Callback OP110Callback = new OP110Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP110_F_HEART_BEAT);
-        lists.add(OPCElement.OP110_J_PLC_START);
-        lists.add(OPCElement.OP110_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP110Callback);
-    }
-    private void OP120() throws Exception {
-        OP120Callback OP120Callback = new OP120Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP120_F_HEART_BEAT);
-        lists.add(OPCElement.OP120_J_PLC_START);
-        lists.add(OPCElement.OP120_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP120Callback);
-    }
-    private void OP120B() throws Exception {
-        OP120BCallback OP120BCallback = new OP120BCallback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP120B_F_HEART_BEAT);
-        lists.add(OPCElement.OP120B_J_PLC_START);
-        lists.add(OPCElement.OP120B_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP120BCallback);
-    }
-    private void OP130() throws Exception {
-        OP130Callback OP130Callback = new OP130Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP130_F_HEART_BEAT);
-        lists.add(OPCElement.OP130_J_PLC_START);
-        lists.add(OPCElement.OP130_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP130Callback);
-    }
-    private void OP130B() throws Exception {
-        OP130BCallback OP130BCallback = new OP130BCallback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP130B_F_HEART_BEAT);
-        lists.add(OPCElement.OP130B_J_PLC_START);
-        lists.add(OPCElement.OP130B_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP130BCallback);
-    }
-    private void OP140() throws Exception {
-        OP140Callback OP140Callback = new OP140Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP140_F_HEART_BEAT);
-        lists.add(OPCElement.OP140_J_PLC_START);
-        lists.add(OPCElement.OP140_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP140Callback);
-    }
-    private void OP150() throws Exception {
-        OP150Callback OP150Callback = new OP150Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP150_F_HEART_BEAT);
-        lists.add(OPCElement.OP150_J_PLC_START);
-        lists.add(OPCElement.OP150_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP150Callback);
-    }
-    private void OP160() throws Exception {
-        OP160Callback OP160Callback = new OP160Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP160_F_HEART_BEAT);
-        lists.add(OPCElement.OP160_J_PLC_START);
-        lists.add(OPCElement.OP160_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP160Callback);
-    }
-    private void OP170() throws Exception {
-        OP170Callback OP170Callback = new OP170Callback(miloService,productionOrdeInfoService,
-                passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService,
-                equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService,
-                repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService,
-                productionOrderBatchInfoService);
-        List<String> lists = new ArrayList<>();
-        lists.add(OPCElement.OP170_F_HEART_BEAT);
-        lists.add(OPCElement.OP170_J_PLC_START);
-        lists.add(OPCElement.OP170_J_PLC_FINISH);
-        miloService.subscriptionFromOpcUa(lists,OP170Callback);
-    }
-
 
     public List<String> getList(){
         List<String> lists = new ArrayList<>();
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCComm.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCComm.java
deleted file mode 100644
index e5f6862..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCComm.java
+++ /dev/null
@@ -1,3219 +0,0 @@
-package cn.stylefeng.guns.plcserver.opc;
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService;
-import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService;
-import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService;
-import cn.stylefeng.guns.plcserver.server.BOP010.callback.*;
-import cn.stylefeng.guns.plcserver.server.BOP020.callback.*;
-import cn.stylefeng.guns.plcserver.server.BOP030.callback.*;
-import cn.stylefeng.guns.plcserver.server.BOP030B.callback.DataCallBack_BOP030B_F_HEART_BEAT;
-import cn.stylefeng.guns.plcserver.server.BOP040.callback.*;
-import cn.stylefeng.guns.plcserver.server.BOP040B.callback.DataCallBack_BOP040B_F_HEART_BEAT;
-import cn.stylefeng.guns.plcserver.server.COP010.callback.*;
-import cn.stylefeng.guns.plcserver.server.COP020.callback.*;
-import cn.stylefeng.guns.plcserver.server.COP030.callback.*;
-import cn.stylefeng.guns.plcserver.server.DOP010.callback.*;
-import cn.stylefeng.guns.plcserver.server.DOP020.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP010.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP020.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP030.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_F_HEART_BEAT;
-import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_J_PC_FINISH;
-import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_J_PLC_FINISH;
-import cn.stylefeng.guns.plcserver.server.EOP040.callback.DataCallBack_EOP040_J_PLC_START;
-import cn.stylefeng.guns.plcserver.server.EOP050.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP060.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP070.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP070B.callback.DataCallBack_EOP070B_F_HEART_BEAT;
-import cn.stylefeng.guns.plcserver.server.EOP080.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP090.callback.*;
-import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_F_HEART_BEAT;
-import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_J_PC_FINISH;
-import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_J_PLC_FINISH;
-import cn.stylefeng.guns.plcserver.server.EOP090B.callback.DataCallBack_EOP090B_J_PLC_START;
-import cn.stylefeng.guns.plcserver.server.OP010.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP020.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP030.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP040.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP050.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP070.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP080.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP090.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP100.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP110.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP120.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP120B.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP130.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP130B.callback.DataCallBack_OP130B_F_HEART_BEAT;
-import cn.stylefeng.guns.plcserver.server.OP130B.callback.DataCallBack_OP130B_J_PLC_FINISH;
-import cn.stylefeng.guns.plcserver.server.OP130B.callback.DataCallBack_OP130B_J_PLC_START;
-import cn.stylefeng.guns.plcserver.server.OP140.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP150.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP160.callback.*;
-import cn.stylefeng.guns.plcserver.server.OP170.callback.*;
-import org.jinterop.dcom.common.JIException;
-import org.openscada.opc.lib.common.ConnectionInformation;
-import org.openscada.opc.lib.da.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.concurrent.Executors;
-
-import static cn.stylefeng.guns.plcserver.opc.conf.OPCConfiguration.getCLSIDConnectionInfomation;
-
-/**
- * 鍔熻兘锛歄PC閫氫俊绾跨▼ 鎻忚堪锛氶�氳繃寰幆璇诲彇蹇冭烦鍜岀姸鎬佹帶鍒跺瓧锛屾寜鐓у晢璁ソ鐨勪氦浜掓祦绋嬭鍐欏彉閲�
- */
-public class OPCComm {
-    private static Logger logger = LoggerFactory.getLogger(OPCComm.class);
-
-    private Server server;
-
-    @Autowired
-    public ProductionOrdeInfoService productionOrdeInfoService;
-    @Autowired
-    public PassingStationCollectionService passingStationCollectionService;
-    @Autowired
-    public ParamCollectionService paramCollectionService;
-    @Autowired
-    public CollectionParamConfService collectionParamConfService;
-    @Autowired
-    public SerialNumbersConfService serialNumbersConfService;
-    @Autowired
-    public EquipmentStatusService equipmentStatusService;
-    @Autowired
-    public EquipmentAlarmService equipmentAlarmService;
-    @Autowired
-    public MaterialTraceabilityService materialTraceabilityService;//鐗╂枡杩芥函
-
-    @Autowired
-    public EquipmentInfoService equipmentInfoService;
-
-    @Autowired
-    public RepairManageInfoService repairManageInfoService;
-
-    @Autowired
-    public LocationInfoService locationInfoService;
-    @Autowired
-    public GreaseManageService greaseManageService;
-
-    @Autowired
-    public ProductionOrderRecordsService productionOrderRecordsService;
-
-    @Autowired
-    public ProductionOrderBatchInfoService productionOrderBatchInfoService;
-
-    //OP010
-    private Item OP010_F_HEART_BEAT;//蹇冭烦
-    private Item OP010_J_PLC_START;//PLC寮�濮�
-    private Item OP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP010_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP010_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP010_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP010_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP010_S_SFC_CODE;//鎬绘垚缂栫爜
-    private Item OP010_S_RIGHT_CODE ;//鍙冲3浣撶紪鐮�
-
-    private Item OP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-    private Item OP010_S_NUMBER;//璁″垝鏁伴噺
-
-    private Item OP010_E_STATE;//璁惧鐘舵��
-
-    private Item OP010_P_REPAIR;//浜у搧杩斾慨
-    private Item OP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅
-
-
-    //OP020
-    private Item OP020_F_HEART_BEAT;//蹇冭烦
-    private Item OP020_J_PLC_START;//PLC寮�濮�
-    private Item OP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-
-    private Item OP020_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP020_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP020_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP020_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP020_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP030
-    private Item OP030_F_HEART_BEAT;//蹇冭烦
-    private Item OP030_J_PLC_START;//PLC寮�濮�
-    private Item OP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP030_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP030_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP030_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP030_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP030_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP040
-    private Item OP040_F_HEART_BEAT;//蹇冭烦
-    private Item OP040_J_PLC_START;//PLC寮�濮�
-    private Item OP040_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP040_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP040_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP040_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP040_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP040_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP040_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP050
-    private Item OP050_F_HEART_BEAT;//蹇冭烦
-    private Item OP050_J_PLC_START;//PLC寮�濮�
-    private Item OP050_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP050_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP050_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP050_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP050_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP050_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP050_S_SFC_CODE_COP;//COP鍒嗘�绘垚缂栫爜
-    private Item OP050_S_SFC_CODE_BOP;//BOP鍒嗘�绘垚缂栫爜
-
-    private Item OP050_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item OP050_OIL_STATE;//娌硅剛鐘舵��
-    //OP070
-    private Item OP070_F_HEART_BEAT;//蹇冭烦
-    private Item OP070_J_PLC_START;//PLC寮�濮�
-    private Item OP070_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP070_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP070_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP070_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP070_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP070_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP070_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP080
-    private Item OP080_F_HEART_BEAT;//蹇冭烦
-    private Item OP080_J_PLC_START;//PLC寮�濮�
-    private Item OP080_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP080_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP080_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP080_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP080_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP080_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP080_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item OP080_P_REPAIR;//浜у搧杩斾慨
-    private Item OP080_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅
-
-    //OP090
-    private Item OP090_F_HEART_BEAT;//蹇冭烦
-    private Item OP090_J_PLC_START;//PLC寮�濮�
-    private Item OP090_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP090_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP090_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP090_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP090_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP090_S_SFC_CODE;//鎬绘垚缂栫爜
-    private Item OP090_S_SFC_CODE_EOP;//EOP鍒嗘�绘垚缂栫爜
-
-    private Item OP090_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP100
-    private Item OP100_F_HEART_BEAT;//蹇冭烦
-    private Item OP100_J_PLC_START;//PLC寮�濮�
-    private Item OP100_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP100_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP100_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP100_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP100_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP100_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP100_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP110
-    private Item OP110_F_HEART_BEAT;//蹇冭烦
-    private Item OP110_J_PLC_START;//PLC寮�濮�
-    private Item OP110_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP110_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP110_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP110_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP110_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP110_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP110_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP120
-    private Item OP120_F_HEART_BEAT;//蹇冭烦
-    private Item OP120_J_PLC_START;//PLC寮�濮�
-    private Item OP120_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP120_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP120_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP120_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP120_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP120_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP120_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP120B
-    private Item OP120B_F_HEART_BEAT;//蹇冭烦
-    private Item OP120B_J_PLC_START;//PLC寮�濮�
-    private Item OP120B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP120B_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP120B_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP120B_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP120B_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP120B_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP120B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP130
-    private Item OP130_F_HEART_BEAT;//蹇冭烦
-    private Item OP130_J_PLC_START;//PLC寮�濮�
-    private Item OP130_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP130_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP130_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP130_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP130_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP130_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP130_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-
-    //OP130B
-    private Item OP130B_F_HEART_BEAT;//蹇冭烦
-    private Item OP130B_J_PLC_START;//PLC寮�濮�
-    private Item OP130B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP130B_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP130B_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP130B_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP130B_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP130B_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP130B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-
-    //OP140
-    private Item OP140_F_HEART_BEAT;//蹇冭烦
-    private Item OP140_J_PLC_START;//PLC寮�濮�
-    private Item OP140_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP140_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP140_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP140_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP140_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP140_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP140_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP150
-    private Item OP150_F_HEART_BEAT;//蹇冭烦
-    private Item OP150_J_PLC_START;//PLC寮�濮�
-    private Item OP150_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP150_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP150_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP150_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP150_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP150_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP150_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP160
-    private Item OP160_F_HEART_BEAT;//蹇冭烦
-    private Item OP160_J_PLC_START;//PLC寮�濮�
-    private Item OP160_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP160_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item OP160_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item OP160_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP160_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP160_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP160_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP160_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP160_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //OP170
-    private Item OP170_F_HEART_BEAT;//蹇冭烦
-    private Item OP170_J_PLC_START;//PLC寮�濮�
-    private Item OP170_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item OP170_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item OP170_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item OP170_J_PLC_FINISH;//PLC瀹屾垚
-    private Item OP170_J_PC_FINISH;//PC瀹屾垚
-
-    private Item OP170_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item OP170_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item OP170_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item OP170_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //COP010
-    private Item COP010_F_HEART_BEAT;//蹇冭烦
-    private Item COP010_J_PLC_START;//PLC寮�濮�
-    private Item COP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item COP010_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item COP010_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item COP010_J_PLC_FINISH;//PLC瀹屾垚
-    private Item COP010_J_PC_FINISH;//PC瀹屾垚
-
-    private Item COP010_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item COP010_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item COP010_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item COP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item COP010_S_NUMBER;//璁″垝鏁伴噺
-
-    private Item COP010_P_REPAIR;//浜у搧杩斾慨
-    private Item COP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅
-
-    //COP020
-    private Item COP020_F_HEART_BEAT;//蹇冭烦
-    private Item COP020_J_PLC_START;//PLC寮�濮�
-    private Item COP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item COP020_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item COP020_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item COP020_J_PLC_FINISH;//PLC瀹屾垚
-    private Item COP020_J_PC_FINISH;//PC瀹屾垚
-
-    private Item COP020_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item COP020_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item COP020_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item COP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //COP030
-    private Item COP030_F_HEART_BEAT;//蹇冭烦
-    private Item COP030_J_PLC_START;//PLC寮�濮�
-    private Item COP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item COP030_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item COP030_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item COP030_J_PLC_FINISH;//PLC瀹屾垚
-    private Item COP030_J_PC_FINISH;//PC瀹屾垚
-
-    private Item COP030_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item COP030_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item COP030_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item COP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //BOP010
-    private Item BOP010_F_HEART_BEAT;//蹇冭烦
-    private Item BOP010_J_PLC_START;//PLC寮�濮�
-    private Item BOP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item BOP010_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item BOP010_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item BOP010_J_PLC_FINISH;//PLC瀹屾垚
-    private Item BOP010_J_PC_FINISH;//PC瀹屾垚
-
-    private Item BOP010_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item BOP010_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item BOP010_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item BOP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item BOP010_S_NUMBER;//璁″垝鏁伴噺
-
-    private Item BOP010_P_REPAIR;//浜у搧杩斾慨
-    private Item BOP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅
-
-    //BOP020
-    private Item BOP020_F_HEART_BEAT;//蹇冭烦
-    private Item BOP020_J_PLC_START;//PLC寮�濮�
-    private Item BOP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item BOP020_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item BOP020_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item BOP020_J_PLC_FINISH;//PLC瀹屾垚
-    private Item BOP020_J_PC_FINISH;//PC瀹屾垚
-
-    private Item BOP020_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item BOP020_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item BOP020_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item BOP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //BOP030
-    private Item BOP030_F_HEART_BEAT;//蹇冭烦
-    private Item BOP030_J_PLC_START;//PLC寮�濮�
-    private Item BOP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item BOP030_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item BOP030_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item BOP030_J_PLC_FINISH;//PLC瀹屾垚
-    private Item BOP030_J_PC_FINISH;//PC瀹屾垚
-
-    private Item BOP030_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item BOP030_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item BOP030_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item BOP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item BOP030_OIL_STATE;//娌硅剛鐘舵��
-    //BOP030B
-    private Item BOP030B_F_HEART_BEAT;//蹇冭烦
-    private Item BOP030B_J_PLC_START;//PLC寮�濮�
-    private Item BOP030B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item BOP030B_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item BOP030B_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item BOP030B_J_PLC_FINISH;//PLC瀹屾垚
-    private Item BOP030B_J_PC_FINISH;//PC瀹屾垚
-
-    private Item BOP030B_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item BOP030B_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item BOP030B_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item BOP030B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //BOP040
-    private Item BOP040_F_HEART_BEAT;//蹇冭烦
-    private Item BOP040_J_PLC_START;//PLC寮�濮�
-    private Item BOP040_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item BOP040_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item BOP040_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item BOP040_J_PLC_FINISH;//PLC瀹屾垚
-    private Item BOP040_J_PC_FINISH;//PC瀹屾垚
-
-    private Item BOP040_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item BOP040_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item BOP040_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item BOP040_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //BOP040B
-    private Item BOP040B_F_HEART_BEAT;//蹇冭烦
-    private Item BOP040B_J_PLC_START;//PLC寮�濮�
-    private Item BOP040B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item BOP040B_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item BOP040B_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item BOP040B_J_PLC_FINISH;//PLC瀹屾垚
-    private Item BOP040B_J_PC_FINISH;//PC瀹屾垚
-
-    private Item BOP040B_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item BOP040B_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item BOP040B_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item BOP040B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-
-    //EOP010
-    private Item EOP010_F_HEART_BEAT;//蹇冭烦
-    private Item EOP010_J_PLC_START;//PLC寮�濮�
-    private Item EOP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP010_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP010_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP010_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP010_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP010_S_SFC_CODE;//鎬绘垚缂栫爜
-    private Item EOP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item EOP010_S_MATERIAL_CODE;//鐗╂枡缂栫爜
-
-    //EOP020
-    private Item EOP020_F_HEART_BEAT;//蹇冭烦
-    private Item EOP020_J_PLC_START;//PLC寮�濮�
-    private Item EOP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP020_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP020_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP020_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP020_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP020_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP030
-    private Item EOP030_F_HEART_BEAT;//蹇冭烦
-    private Item EOP030_J_PLC_START;//PLC寮�濮�
-    private Item EOP030_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP030_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP030_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP030_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP030_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP030_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP030_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP040
-    private Item EOP040_F_HEART_BEAT;//蹇冭烦
-    private Item EOP040_J_PLC_START;//PLC寮�濮�
-    private Item EOP040_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP040_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP040_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP040_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP040_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP040_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP040_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP050
-    private Item EOP050_F_HEART_BEAT;//蹇冭烦
-    private Item EOP050_J_PLC_START;//PLC寮�濮�
-    private Item EOP050_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP050_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP050_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP050_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP050_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP050_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP050_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP060
-    private Item EOP060_F_HEART_BEAT;//蹇冭烦
-    private Item EOP060_J_PLC_START;//PLC寮�濮�
-    private Item EOP060_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP060_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item EOP060_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item EOP060_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP060_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP060_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP060_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP060_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP060_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item EOP060_P_REPAIR;//浜у搧杩斾慨
-    private Item EOP060_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅
-
-
-    //EOP070
-    private Item EOP070_F_HEART_BEAT;//蹇冭烦
-    private Item EOP070_J_PLC_START;//PLC寮�濮�
-    private Item EOP070_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP070_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP070_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP070_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP070_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP070_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP070_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP070B
-    private Item EOP070B_F_HEART_BEAT;//蹇冭烦
-    private Item EOP070B_J_PLC_START;//PLC寮�濮�
-    private Item EOP070B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP070B_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP070B_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP070B_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP070B_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP070B_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP070B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP080
-    private Item EOP080_F_HEART_BEAT;//蹇冭烦
-    private Item EOP080_J_PLC_START;//PLC寮�濮�
-    private Item EOP080_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP080_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item EOP080_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item EOP080_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP080_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP080_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP080_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP080_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP080_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP090
-    private Item EOP090_F_HEART_BEAT;//蹇冭烦
-    private Item EOP090_J_PLC_START;//PLC寮�濮�
-    private Item EOP090_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP090_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item EOP090_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item EOP090_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP090_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP090_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP090_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP090_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP090_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //EOP090B
-    private Item EOP090B_F_HEART_BEAT;//蹇冭烦
-    private Item EOP090B_J_PLC_START;//PLC寮�濮�
-    private Item EOP090B_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item EOP090B_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item EOP090B_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item EOP090B_J_PLC_FINISH;//PLC瀹屾垚
-    private Item EOP090B_J_PC_FINISH;//PC瀹屾垚
-
-    private Item EOP090B_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item EOP090B_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item EOP090B_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item EOP090B_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    //DOP010
-    private Item DOP010_F_HEART_BEAT;//蹇冭烦
-    private Item DOP010_J_PLC_START;//PLC寮�濮�
-    private Item DOP010_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item DOP010_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item DOP010_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item DOP010_J_PLC_FINISH;//PLC瀹屾垚
-    private Item DOP010_J_PC_FINISH;//PC瀹屾垚
-
-    private Item DOP010_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item DOP010_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item DOP010_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item DOP010_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item DOP010_S_NUMBER;//璁″垝鏁伴噺
-
-    private Item DOP010_P_REPAIR;//浜у搧杩斾慨
-    private Item DOP010_P_REPAIR_LOCATION;//浜у搧杩斾慨宸ヤ綅
-
-    //DOP020
-    private Item DOP020_F_HEART_BEAT;//蹇冭烦
-    private Item DOP020_J_PLC_START;//PLC寮�濮�
-    private Item DOP020_J_PC_WRITE_ORDER;//PC涓嬪彂宸ュ崟
-    private Item DOP020_J_PLC_WRITE_INFO;//PLC鍐欎俊鎭�
-    private Item DOP020_J_PC_READ_INFO;//PC璇讳俊鎭�
-    private Item DOP020_J_PLC_FINISH;//PLC瀹屾垚
-    private Item DOP020_J_PC_FINISH;//PC瀹屾垚
-
-    private Item DOP020_S_ORDER_CODE;//宸ュ崟缂栧彿
-    private Item DOP020_S_PRODUCT_CODE;//浜у搧缂栧彿
-    private Item DOP020_S_SFC_CODE;//鎬绘垚缂栫爜
-
-    private Item DOP020_S_PRODUCT_STATE_CODE;//浜у搧鐘舵�佺紪鐮�
-
-    private Item DOP020_OIL_STATE;//娌硅剛鐘舵��
-
-    /**
-     * 鍗曚緥妯″紡
-     */
-    private static class SingletonHolder {
-        static final OPCComm doOPCComm = new OPCComm();
-    }
-    public static OPCComm getInstance() {
-        return SingletonHolder.doOPCComm;
-    }
-    /**
-     * 鍚姩server 鍒涘缓涓�涓洃鎺х嚎绋� 鍒涘缓涓�涓啓鍏ョ嚎绋�
-     */
-    public void init(ProductionOrdeInfoService productionOrdeInfoService,
-                     PassingStationCollectionService passingStationCollectionService,
-                     ParamCollectionService paramCollectionService,
-                     CollectionParamConfService collectionParamConfService,
-                     SerialNumbersConfService serialNumbersConfService,
-                     EquipmentStatusService equipmentStatusService,
-                     EquipmentAlarmService equipmentAlarmService,
-                     MaterialTraceabilityService materialTraceabilityService,
-                     EquipmentInfoService equipmentInfoService,
-                     RepairManageInfoService repairManageInfoService,
-                     LocationInfoService locationInfoService,
-                     GreaseManageService greaseManageService,
-                     ProductionOrderRecordsService productionOrderRecordsService,
-                     ProductionOrderBatchInfoService productionOrderBatchInfoService
-                    ) throws Exception {
-        this.productionOrdeInfoService = productionOrdeInfoService;
-        this.passingStationCollectionService = passingStationCollectionService;
-        this.paramCollectionService = paramCollectionService;
-        this.collectionParamConfService = collectionParamConfService;
-        this.serialNumbersConfService = serialNumbersConfService;
-        this.equipmentStatusService = equipmentStatusService;
-        this.equipmentAlarmService = equipmentAlarmService;
-        this.materialTraceabilityService = materialTraceabilityService;
-        this.equipmentInfoService = equipmentInfoService;
-        this.repairManageInfoService = repairManageInfoService;
-        this.locationInfoService = locationInfoService;
-        this.greaseManageService = greaseManageService;
-        this.productionOrderRecordsService = productionOrderRecordsService;
-        this.productionOrderBatchInfoService = productionOrderBatchInfoService;
-
-        // 鍔犺浇閰嶇疆鏂囦欢
-        final ConnectionInformation ci = getCLSIDConnectionInfomation();
-        // 鍒涘缓server
-        final Server server = new Server(ci, Executors.newSingleThreadScheduledExecutor());
-
-        try {
-            // 鍚姩server
-            server.connect();
-            logger.info("This is {} message.", "OPCserver connect success");
-            this.server = server;
-            // 鍚屾璇诲彇锛�500ms涓�娆�
-            final AccessBase access = new SyncAccess(server, 500);
-
-            //OP010鍥炶皟
-            access.addItem(OPCElement.OP010_F_HEART_BEAT, new DataCallBack_OP010_F_HEART_BEAT());//蹇冭烦
-            /* access.addItem(OPCElement.OP010_E_STATE, new DataCallBack_OP010_E_STATE());//璁惧鐘舵��*/
-
-            //OP020鍥炶皟
-            access.addItem(OPCElement.OP020_F_HEART_BEAT, new DataCallBack_OP020_F_HEART_BEAT());//蹇冭烦
-
-
-            //OP030鍥炶皟
-            access.addItem(OPCElement.OP030_F_HEART_BEAT, new DataCallBack_OP030_F_HEART_BEAT());//蹇冭烦
-
-            //OP040鍥炶皟
-            access.addItem(OPCElement.OP040_F_HEART_BEAT, new DataCallBack_OP040_F_HEART_BEAT());//蹇冭烦
-
-            //OP050鍥炶皟
-            access.addItem(OPCElement.OP050_F_HEART_BEAT, new DataCallBack_OP050_F_HEART_BEAT());//蹇冭烦
-
-
-            //OP070鍥炶皟
-            access.addItem(OPCElement.OP070_F_HEART_BEAT, new DataCallBack_OP070_F_HEART_BEAT());//蹇冭烦
-
-            //OP080鍥炶皟
-            access.addItem(OPCElement.OP080_F_HEART_BEAT, new DataCallBack_OP080_F_HEART_BEAT());//蹇冭烦
-
-            //OP090鍥炶皟
-            access.addItem(OPCElement.OP090_F_HEART_BEAT, new DataCallBack_OP090_F_HEART_BEAT());//蹇冭烦
-
-            //OP100鍥炶皟
-            access.addItem(OPCElement.OP100_F_HEART_BEAT, new DataCallBack_OP100_F_HEART_BEAT());//蹇冭烦
-
-            //OP110鍥炶皟
-            access.addItem(OPCElement.OP110_F_HEART_BEAT, new DataCallBack_OP110_F_HEART_BEAT());//蹇冭烦
-
-
-            //OP120鍥炶皟
-            access.addItem(OPCElement.OP120_F_HEART_BEAT, new DataCallBack_OP120_F_HEART_BEAT());//蹇冭烦
-
-            //OP120B鍥炶皟
-            access.addItem(OPCElement.OP120B_F_HEART_BEAT, new DataCallBack_OP120B_F_HEART_BEAT());//蹇冭烦
-
-
-            //OP130鍥炶皟
-            access.addItem(OPCElement.OP130_F_HEART_BEAT, new DataCallBack_OP130_F_HEART_BEAT());//蹇冭烦
-
-            //OP130B鍥炶皟
-            access.addItem(OPCElement.OP130B_F_HEART_BEAT, new DataCallBack_OP130B_F_HEART_BEAT());//蹇冭烦
-
-            //OP140鍥炶皟
-            access.addItem(OPCElement.OP140_F_HEART_BEAT, new DataCallBack_OP140_F_HEART_BEAT());//蹇冭烦
-
-            //OP150鍥炶皟
-/*
-            access.addItem(OPCElement.OP150_F_HEART_BEAT, new DataCallBack_OP150_F_HEART_BEAT());//蹇冭烦
-*/
-
-            //OP160鍥炶皟
-            access.addItem(OPCElement.OP160_F_HEART_BEAT, new DataCallBack_OP160_F_HEART_BEAT());//蹇冭烦
-
-
-            //OP170鍥炶皟
-            access.addItem(OPCElement.OP170_F_HEART_BEAT, new DataCallBack_OP170_F_HEART_BEAT());//蹇冭烦
-
-            //COP010鍥炶皟
-            access.addItem(OPCElement.COP010_F_HEART_BEAT, new DataCallBack_COP010_F_HEART_BEAT());//蹇冭烦
-
-            //COP020鍥炶皟
-            access.addItem(OPCElement.COP020_F_HEART_BEAT, new DataCallBack_COP020_F_HEART_BEAT());//蹇冭烦
-
-            //COP030鍥炶皟
-            access.addItem(OPCElement.COP030_F_HEART_BEAT, new DataCallBack_COP030_F_HEART_BEAT());//蹇冭烦
-
-            //BOP010鍥炶皟
-            access.addItem(OPCElement.BOP010_F_HEART_BEAT, new DataCallBack_BOP010_F_HEART_BEAT());//蹇冭烦
-
-            //BOP020鍥炶皟
-            access.addItem(OPCElement.BOP020_F_HEART_BEAT, new DataCallBack_BOP020_F_HEART_BEAT());//蹇冭烦
-
-            //BOP030鍥炶皟
-            access.addItem(OPCElement.BOP030_F_HEART_BEAT, new DataCallBack_BOP030_F_HEART_BEAT());//蹇冭烦
-
-            //BOP030B鍥炶皟
-            access.addItem(OPCElement.BOP030B_F_HEART_BEAT, new DataCallBack_BOP030B_F_HEART_BEAT());//蹇冭烦
-
-            //BOP040鍥炶皟
-            access.addItem(OPCElement.BOP040_F_HEART_BEAT, new DataCallBack_BOP040_F_HEART_BEAT());//蹇冭烦
-
-            //BOP040B鍥炶皟
-            access.addItem(OPCElement.BOP040B_F_HEART_BEAT, new DataCallBack_BOP040B_F_HEART_BEAT());//蹇冭烦
-
-            //DOP010鍥炶皟
-            access.addItem(OPCElement.DOP010_F_HEART_BEAT, new DataCallBack_DOP010_F_HEART_BEAT());//蹇冭烦
-
-            //DOP020鍥炶皟
-            /* access.addItem(OPCElement.DOP020_F_HEART_BEAT, new DataCallBack_DOP020_F_HEART_BEAT());//蹇冭烦*/
-
-            //EOP010鍥炶皟
-            access.addItem(OPCElement.EOP010_F_HEART_BEAT, new DataCallBack_EOP010_F_HEART_BEAT());//蹇冭烦
-
-            //EOP020鍥炶皟
-            access.addItem(OPCElement.EOP020_F_HEART_BEAT, new DataCallBack_EOP020_F_HEART_BEAT());//蹇冭烦
-
-            //EOP030鍥炶皟
-            access.addItem(OPCElement.EOP030_F_HEART_BEAT, new DataCallBack_EOP030_F_HEART_BEAT());//蹇冭烦
-
-            //EOP040鍥炶皟
-            access.addItem(OPCElement.EOP040_F_HEART_BEAT, new DataCallBack_EOP040_F_HEART_BEAT());//蹇冭烦
-
-            //EOP050鍥炶皟
-            access.addItem(OPCElement.EOP050_F_HEART_BEAT, new DataCallBack_EOP050_F_HEART_BEAT());//蹇冭烦
-
-            //EOP060鍥炶皟
-            access.addItem(OPCElement.EOP060_F_HEART_BEAT, new DataCallBack_EOP060_F_HEART_BEAT());//蹇冭烦
-
-            //EOP070鍥炶皟
-            access.addItem(OPCElement.EOP070_F_HEART_BEAT, new DataCallBack_EOP070_F_HEART_BEAT());//蹇冭烦
-
-            //EOP070B鍥炶皟
-            /*access.addItem(OPCElement.EOP070B_F_HEART_BEAT, new DataCallBack_EOP070B_F_HEART_BEAT());//蹇冭烦*/
-
-            //EOP080鍥炶皟
-            access.addItem(OPCElement.EOP080_F_HEART_BEAT, new DataCallBack_EOP080_F_HEART_BEAT());//蹇冭烦
-
-            //EOP090鍥炶皟
-            access.addItem(OPCElement.EOP090_F_HEART_BEAT, new DataCallBack_EOP090_F_HEART_BEAT());//蹇冭烦
-
-
-            //EOP090B鍥炶皟
-            access.addItem(OPCElement.EOP090B_F_HEART_BEAT, new DataCallBack_EOP090B_F_HEART_BEAT());//蹇冭烦
-
-            //OP010缁�
-            final Group OP010_GROUP = server.addGroup("OP010");
-            OP010_F_HEART_BEAT = OP010_GROUP.addItem((OPCElement.OP010_F_HEART_BEAT));//蹇冭烦
-            OP010_J_PLC_START = OP010_GROUP.addItem((OPCElement.OP010_J_PLC_START));//PLC寮�濮�
-            OP010_J_PC_WRITE_ORDER = OP010_GROUP.addItem((OPCElement.OP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP010_J_PLC_FINISH = OP010_GROUP.addItem((OPCElement.OP010_J_PLC_FINISH));//PLC瀹屾垚
-            OP010_J_PC_FINISH = OP010_GROUP.addItem((OPCElement.OP010_J_PC_FINISH));//PC瀹屾垚
-
-            OP010_S_ORDER_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP010_S_PRODUCT_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP010_S_SFC_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_SFC_CODE));//鎬绘垚缂栫爜
-            OP010_S_RIGHT_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_RIGHT_CODE)) ;//鍙冲3浣撶紪鐮�
-
-            OP010_S_PRODUCT_STATE_CODE = OP010_GROUP.addItem((OPCElement.OP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-            OP010_S_NUMBER = OP010_GROUP.addItem((OPCElement.OP010_S_NUMBER));//浜у搧璁″垝鏁伴噺
-            OP010_E_STATE = OP010_GROUP.addItem((OPCElement.OP010_E_STATE));//璁惧鐘舵��
-
-            OP010_P_REPAIR = OP010_GROUP.addItem((OPCElement.OP010_P_REPAIR));//杩斾慨鐘舵��
-            OP010_P_REPAIR_LOCATION = OP010_GROUP.addItem((OPCElement.OP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅
-
-
-
-            //OP020缁�
-           final Group OP020_GROUP = server.addGroup("OP020");
-            OP020_F_HEART_BEAT = OP020_GROUP.addItem((OPCElement.OP020_F_HEART_BEAT));//蹇冭烦
-            OP020_J_PLC_START = OP020_GROUP.addItem((OPCElement.OP020_J_PLC_START));//PLC寮�濮�
-            OP020_J_PC_WRITE_ORDER = OP020_GROUP.addItem((OPCElement.OP020_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP020_J_PLC_FINISH = OP020_GROUP.addItem((OPCElement.OP020_J_PLC_FINISH));//PLC瀹屾垚
-            OP020_J_PC_FINISH = OP020_GROUP.addItem((OPCElement.OP020_J_PC_FINISH));//PC瀹屾垚
-
-            OP020_S_ORDER_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP020_S_PRODUCT_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP020_S_SFC_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP020_S_PRODUCT_STATE_CODE = OP020_GROUP.addItem((OPCElement.OP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP030缁�
-            final Group OP030_GROUP = server.addGroup("OP030");
-            OP030_F_HEART_BEAT = OP030_GROUP.addItem((OPCElement.OP030_F_HEART_BEAT));//蹇冭烦
-            OP030_J_PLC_START = OP030_GROUP.addItem((OPCElement.OP030_J_PLC_START));//PLC寮�濮�
-            OP030_J_PC_WRITE_ORDER = OP030_GROUP.addItem((OPCElement.OP030_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP030_J_PLC_FINISH = OP030_GROUP.addItem((OPCElement.OP030_J_PLC_FINISH));//PLC瀹屾垚
-            OP030_J_PC_FINISH = OP030_GROUP.addItem((OPCElement.OP030_J_PC_FINISH));//PC瀹屾垚
-
-            OP030_S_ORDER_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP030_S_PRODUCT_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP030_S_SFC_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP030_S_PRODUCT_STATE_CODE = OP030_GROUP.addItem((OPCElement.OP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP040缁�
-            final Group OP040_GROUP = server.addGroup("OP040");
-            OP040_F_HEART_BEAT = OP040_GROUP.addItem((OPCElement.OP040_F_HEART_BEAT));//蹇冭烦
-            OP040_J_PLC_START = OP040_GROUP.addItem((OPCElement.OP040_J_PLC_START));//PLC寮�濮�
-            OP040_J_PC_WRITE_ORDER = OP040_GROUP.addItem((OPCElement.OP040_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP040_J_PLC_FINISH = OP040_GROUP.addItem((OPCElement.OP040_J_PLC_FINISH));//PLC瀹屾垚
-            OP040_J_PC_FINISH = OP040_GROUP.addItem((OPCElement.OP040_J_PC_FINISH));//PC瀹屾垚
-
-            OP040_S_ORDER_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP040_S_PRODUCT_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP040_S_SFC_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP040_S_PRODUCT_STATE_CODE = OP040_GROUP.addItem((OPCElement.OP040_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP050缁�
-            final Group OP050_GROUP = server.addGroup("OP050");
-            OP050_F_HEART_BEAT = OP050_GROUP.addItem((OPCElement.OP050_F_HEART_BEAT));//蹇冭烦
-            OP050_J_PLC_START = OP050_GROUP.addItem((OPCElement.OP050_J_PLC_START));//PLC寮�濮�
-            OP050_J_PC_WRITE_ORDER = OP050_GROUP.addItem((OPCElement.OP050_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP050_J_PLC_FINISH = OP050_GROUP.addItem((OPCElement.OP050_J_PLC_FINISH));//PLC瀹屾垚
-            OP050_J_PC_FINISH = OP050_GROUP.addItem((OPCElement.OP050_J_PC_FINISH));//PC瀹屾垚
-
-            OP050_S_ORDER_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP050_S_PRODUCT_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP050_S_SFC_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP050_S_SFC_CODE_COP = OP050_GROUP.addItem((OPCElement.OP050_S_SFC_CODE_COP));//COP鍒嗘�绘垚缂栫爜
-            OP050_S_SFC_CODE_BOP = OP050_GROUP.addItem((OPCElement.OP050_S_SFC_CODE_BOP));//BOP鍒嗘�绘垚缂栫爜
-
-
-            OP050_S_PRODUCT_STATE_CODE = OP050_GROUP.addItem((OPCElement.OP050_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            OP050_OIL_STATE = OP050_GROUP.addItem((OPCElement.OP050_OIL_STATE));//娌硅剛鐘舵��
-
-            //OP070缁�
-            final Group OP070_GROUP = server.addGroup("OP070");
-            OP070_F_HEART_BEAT = OP070_GROUP.addItem((OPCElement.OP070_F_HEART_BEAT));//蹇冭烦
-            OP070_J_PLC_START = OP070_GROUP.addItem((OPCElement.OP070_J_PLC_START));//PLC寮�濮�
-            OP070_J_PC_WRITE_ORDER = OP070_GROUP.addItem((OPCElement.OP070_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP070_J_PLC_FINISH = OP070_GROUP.addItem((OPCElement.OP070_J_PLC_FINISH));//PLC瀹屾垚
-            OP070_J_PC_FINISH = OP070_GROUP.addItem((OPCElement.OP070_J_PC_FINISH));//PC瀹屾垚
-
-            OP070_S_ORDER_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP070_S_PRODUCT_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP070_S_SFC_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP070_S_PRODUCT_STATE_CODE = OP070_GROUP.addItem((OPCElement.OP070_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP080缁�
-            final Group OP080_GROUP = server.addGroup("OP080");
-            OP080_F_HEART_BEAT = OP080_GROUP.addItem((OPCElement.OP080_F_HEART_BEAT));//蹇冭烦
-            OP080_J_PLC_START = OP080_GROUP.addItem((OPCElement.OP080_J_PLC_START));//PLC寮�濮�
-            OP080_J_PC_WRITE_ORDER = OP080_GROUP.addItem((OPCElement.OP080_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP080_J_PLC_FINISH = OP080_GROUP.addItem((OPCElement.OP080_J_PLC_FINISH));//PLC瀹屾垚
-            OP080_J_PC_FINISH = OP080_GROUP.addItem((OPCElement.OP080_J_PC_FINISH));//PC瀹屾垚
-
-            OP080_S_ORDER_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP080_S_PRODUCT_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP080_S_SFC_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP080_S_PRODUCT_STATE_CODE = OP080_GROUP.addItem((OPCElement.OP080_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            OP080_P_REPAIR = OP080_GROUP.addItem((OPCElement.OP080_P_REPAIR));//杩斾慨鐘舵��
-            OP080_P_REPAIR_LOCATION = OP080_GROUP.addItem((OPCElement.OP080_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅
-
-            //OP090缁�
-            final Group OP090_GROUP = server.addGroup("OP090");
-            OP090_F_HEART_BEAT = OP090_GROUP.addItem((OPCElement.OP090_F_HEART_BEAT));//蹇冭烦
-            OP090_J_PLC_START = OP090_GROUP.addItem((OPCElement.OP090_J_PLC_START));//PLC寮�濮�
-            OP090_J_PC_WRITE_ORDER = OP090_GROUP.addItem((OPCElement.OP090_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP090_J_PLC_FINISH = OP090_GROUP.addItem((OPCElement.OP090_J_PLC_FINISH));//PLC瀹屾垚
-            OP090_J_PC_FINISH = OP090_GROUP.addItem((OPCElement.OP090_J_PC_FINISH));//PC瀹屾垚
-
-            OP090_S_ORDER_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP090_S_PRODUCT_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP090_S_SFC_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_SFC_CODE));//鎬绘垚缂栫爜
-            OP090_S_SFC_CODE_EOP = OP090_GROUP.addItem((OPCElement.OP090_S_SFC_CODE_EOP));//鎬绘垚缂栫爜
-
-            OP090_S_PRODUCT_STATE_CODE = OP090_GROUP.addItem((OPCElement.OP090_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP100缁�
-            final Group OP100_GROUP = server.addGroup("OP100");
-            OP100_F_HEART_BEAT = OP100_GROUP.addItem((OPCElement.OP100_F_HEART_BEAT));//蹇冭烦
-            OP100_J_PLC_START = OP100_GROUP.addItem((OPCElement.OP100_J_PLC_START));//PLC寮�濮�
-            OP100_J_PC_WRITE_ORDER = OP100_GROUP.addItem((OPCElement.OP100_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP100_J_PLC_FINISH = OP100_GROUP.addItem((OPCElement.OP100_J_PLC_FINISH));//PLC瀹屾垚
-            OP100_J_PC_FINISH = OP100_GROUP.addItem((OPCElement.OP100_J_PC_FINISH));//PC瀹屾垚
-
-            OP100_S_ORDER_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP100_S_PRODUCT_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP100_S_SFC_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP100_S_PRODUCT_STATE_CODE = OP100_GROUP.addItem((OPCElement.OP100_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP110缁�
-            final Group OP110_GROUP = server.addGroup("OP110");
-            OP110_F_HEART_BEAT = OP110_GROUP.addItem((OPCElement.OP110_F_HEART_BEAT));//蹇冭烦
-            OP110_J_PLC_START = OP110_GROUP.addItem((OPCElement.OP110_J_PLC_START));//PLC寮�濮�
-            OP110_J_PC_WRITE_ORDER = OP110_GROUP.addItem((OPCElement.OP110_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP110_J_PLC_FINISH = OP110_GROUP.addItem((OPCElement.OP110_J_PLC_FINISH));//PLC瀹屾垚
-            OP110_J_PC_FINISH = OP110_GROUP.addItem((OPCElement.OP110_J_PC_FINISH));//PC瀹屾垚
-
-            OP110_S_ORDER_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP110_S_PRODUCT_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP110_S_SFC_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP110_S_PRODUCT_STATE_CODE = OP110_GROUP.addItem((OPCElement.OP110_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP120缁�
-            final Group OP120_GROUP = server.addGroup("OP120");
-            OP120_F_HEART_BEAT = OP120_GROUP.addItem((OPCElement.OP120_F_HEART_BEAT));//蹇冭烦
-            OP120_J_PLC_START = OP120_GROUP.addItem((OPCElement.OP120_J_PLC_START));//PLC寮�濮�
-            OP120_J_PC_WRITE_ORDER = OP120_GROUP.addItem((OPCElement.OP120_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP120_J_PLC_FINISH = OP120_GROUP.addItem((OPCElement.OP120_J_PLC_FINISH));//PLC瀹屾垚
-            OP120_J_PC_FINISH = OP120_GROUP.addItem((OPCElement.OP120_J_PC_FINISH));//PC瀹屾垚
-
-            OP120_S_ORDER_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP120_S_PRODUCT_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP120_S_SFC_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP120_S_PRODUCT_STATE_CODE = OP120_GROUP.addItem((OPCElement.OP120_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP120缁�
-            final Group OP120B_GROUP = server.addGroup("OP120B");
-            OP120B_F_HEART_BEAT = OP120B_GROUP.addItem((OPCElement.OP120B_F_HEART_BEAT));//蹇冭烦
-            OP120B_J_PLC_START = OP120B_GROUP.addItem((OPCElement.OP120B_J_PLC_START));//PLC寮�濮�
-            OP120B_J_PC_WRITE_ORDER = OP120B_GROUP.addItem((OPCElement.OP120B_J_PC_WRITE_ORDER));//PC璇绘暟鎹畬鎴�
-            OP120B_J_PLC_FINISH = OP120B_GROUP.addItem((OPCElement.OP120B_J_PLC_FINISH));//PLC瀹屾垚
-            OP120B_J_PC_FINISH = OP120B_GROUP.addItem((OPCElement.OP120B_J_PC_FINISH));//PC瀹屾垚
-
-            OP120B_S_ORDER_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP120B_S_PRODUCT_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP120B_S_SFC_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP120B_S_PRODUCT_STATE_CODE = OP120B_GROUP.addItem((OPCElement.OP120B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP130缁�
-            final Group OP130_GROUP = server.addGroup("OP130");
-            OP130_F_HEART_BEAT = OP130_GROUP.addItem((OPCElement.OP130_F_HEART_BEAT));//蹇冭烦
-            OP130_J_PLC_START = OP130_GROUP.addItem((OPCElement.OP130_J_PLC_START));//PLC寮�濮�
-            OP130_J_PC_WRITE_ORDER = OP130_GROUP.addItem((OPCElement.OP130_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP130_J_PLC_FINISH = OP130_GROUP.addItem((OPCElement.OP130_J_PLC_FINISH));//PLC瀹屾垚
-            OP130_J_PC_FINISH = OP130_GROUP.addItem((OPCElement.OP130_J_PC_FINISH));//PC瀹屾垚
-
-            OP130_S_ORDER_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP130_S_PRODUCT_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP130_S_SFC_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP130_S_PRODUCT_STATE_CODE = OP130_GROUP.addItem((OPCElement.OP130_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP130B缁�
-            final Group OP130B_GROUP = server.addGroup("OP130B");
-            OP130B_F_HEART_BEAT = OP130B_GROUP.addItem((OPCElement.OP130B_F_HEART_BEAT));//蹇冭烦
-            OP130B_J_PLC_START = OP130B_GROUP.addItem((OPCElement.OP130B_J_PLC_START));//PLC寮�濮�
-            OP130B_J_PC_WRITE_ORDER = OP130B_GROUP.addItem((OPCElement.OP130B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP130B_J_PLC_FINISH = OP130B_GROUP.addItem((OPCElement.OP130B_J_PLC_FINISH));//PLC瀹屾垚
-            OP130B_J_PC_FINISH = OP130B_GROUP.addItem((OPCElement.OP130B_J_PC_FINISH));//PC瀹屾垚
-
-            OP130B_S_ORDER_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP130B_S_PRODUCT_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP130B_S_SFC_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP130B_S_PRODUCT_STATE_CODE = OP130B_GROUP.addItem((OPCElement.OP130B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-
-            //OP140缁�
-            final Group OP140_GROUP = server.addGroup("OP140");
-            OP140_F_HEART_BEAT = OP140_GROUP.addItem((OPCElement.OP140_F_HEART_BEAT));//蹇冭烦
-            OP140_J_PLC_START = OP140_GROUP.addItem((OPCElement.OP140_J_PLC_START));//PLC寮�濮�
-            OP140_J_PC_WRITE_ORDER = OP140_GROUP.addItem((OPCElement.OP140_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP140_J_PLC_FINISH = OP140_GROUP.addItem((OPCElement.OP140_J_PLC_FINISH));//PLC瀹屾垚
-            OP140_J_PC_FINISH = OP140_GROUP.addItem((OPCElement.OP140_J_PC_FINISH));//PC瀹屾垚
-
-            OP140_S_ORDER_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP140_S_PRODUCT_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP140_S_SFC_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP140_S_PRODUCT_STATE_CODE = OP140_GROUP.addItem((OPCElement.OP140_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP150缁�
-         /*   final Group OP150_GROUP = server.addGroup("OP150");
-            OP150_F_HEART_BEAT = OP150_GROUP.addItem((OPCElement.OP150_F_HEART_BEAT));//蹇冭烦
-            OP150_J_PLC_START = OP150_GROUP.addItem((OPCElement.OP150_J_PLC_START));//PLC寮�濮�
-            OP150_J_PC_WRITE_ORDER = OP150_GROUP.addItem((OPCElement.OP150_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP150_J_PLC_FINISH = OP150_GROUP.addItem((OPCElement.OP150_J_PLC_FINISH));//PLC瀹屾垚
-            OP150_J_PC_FINISH = OP150_GROUP.addItem((OPCElement.OP150_J_PC_FINISH));//PC瀹屾垚
-
-            OP150_S_ORDER_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP150_S_PRODUCT_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP150_S_SFC_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP150_S_PRODUCT_STATE_CODE = OP150_GROUP.addItem((OPCElement.OP150_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�*/
-
-            //OP160缁�
-            final Group OP160_GROUP = server.addGroup("OP160");
-            OP160_F_HEART_BEAT = OP160_GROUP.addItem((OPCElement.OP160_F_HEART_BEAT));//蹇冭烦
-            OP160_J_PLC_START = OP160_GROUP.addItem((OPCElement.OP160_J_PLC_START));//PLC寮�濮�
-            OP160_J_PC_WRITE_ORDER = OP160_GROUP.addItem((OPCElement.OP160_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP160_J_PLC_FINISH = OP160_GROUP.addItem((OPCElement.OP160_J_PLC_FINISH));//PLC瀹屾垚
-            OP160_J_PC_FINISH = OP160_GROUP.addItem((OPCElement.OP160_J_PC_FINISH));//PC瀹屾垚
-
-            OP160_S_ORDER_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP160_S_PRODUCT_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP160_S_SFC_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP160_S_PRODUCT_STATE_CODE = OP160_GROUP.addItem((OPCElement.OP160_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //OP170缁�
-            final Group OP170_GROUP = server.addGroup("OP170");
-            OP170_F_HEART_BEAT = OP170_GROUP.addItem((OPCElement.OP170_F_HEART_BEAT));//蹇冭烦
-            OP170_J_PLC_START = OP170_GROUP.addItem((OPCElement.OP170_J_PLC_START));//PLC寮�濮�
-            OP170_J_PC_WRITE_ORDER = OP170_GROUP.addItem((OPCElement.OP170_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            OP170_J_PLC_FINISH = OP170_GROUP.addItem((OPCElement.OP170_J_PLC_FINISH));//PLC瀹屾垚
-            OP170_J_PC_FINISH = OP170_GROUP.addItem((OPCElement.OP170_J_PC_FINISH));//PC瀹屾垚
-
-            OP170_S_ORDER_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_ORDER_CODE));//宸ュ崟缂栧彿
-            OP170_S_PRODUCT_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_PRODUCT_CODE));//浜у搧缂栧彿
-            OP170_S_SFC_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            OP170_S_PRODUCT_STATE_CODE = OP170_GROUP.addItem((OPCElement.OP170_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-
-            //COP010缁�
-            final Group COP010_GROUP = server.addGroup("COP010");
-            COP010_F_HEART_BEAT = COP010_GROUP.addItem((OPCElement.COP010_F_HEART_BEAT));//蹇冭烦
-            COP010_J_PLC_START = COP010_GROUP.addItem((OPCElement.COP010_J_PLC_START));//PLC寮�濮�
-            COP010_J_PC_WRITE_ORDER = COP010_GROUP.addItem((OPCElement.COP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            COP010_J_PLC_FINISH = COP010_GROUP.addItem((OPCElement.COP010_J_PLC_FINISH));//PLC瀹屾垚
-            COP010_J_PC_FINISH = COP010_GROUP.addItem((OPCElement.COP010_J_PC_FINISH));//PC瀹屾垚
-
-            COP010_S_ORDER_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_ORDER_CODE));//宸ュ崟缂栧彿
-            COP010_S_PRODUCT_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_PRODUCT_CODE));//浜у搧缂栧彿
-            COP010_S_SFC_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            COP010_S_PRODUCT_STATE_CODE = COP010_GROUP.addItem((OPCElement.COP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-            COP010_S_NUMBER = COP010_GROUP.addItem((OPCElement.COP010_S_NUMBER));//浜у搧璁″垝鏁伴噺
-
-            COP010_P_REPAIR = COP010_GROUP.addItem((OPCElement.COP010_P_REPAIR));//杩斾慨鐘舵��
-            COP010_P_REPAIR_LOCATION = COP010_GROUP.addItem((OPCElement.COP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅
-
-            //COP020缁�
-            final Group COP020_GROUP = server.addGroup("COP020");
-            COP020_F_HEART_BEAT = COP020_GROUP.addItem((OPCElement.COP020_F_HEART_BEAT));//蹇冭烦
-            COP020_J_PLC_START = COP020_GROUP.addItem((OPCElement.COP020_J_PLC_START));//PLC寮�濮�
-            COP020_J_PC_WRITE_ORDER = COP020_GROUP.addItem((OPCElement.COP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            COP020_J_PLC_FINISH = COP020_GROUP.addItem((OPCElement.COP020_J_PLC_FINISH));//PLC瀹屾垚
-            COP020_J_PC_FINISH = COP020_GROUP.addItem((OPCElement.COP020_J_PC_FINISH));//PC瀹屾垚
-
-            COP020_S_ORDER_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_ORDER_CODE));//宸ュ崟缂栧彿
-            COP020_S_PRODUCT_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_PRODUCT_CODE));//浜у搧缂栧彿
-            COP020_S_SFC_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            COP020_S_PRODUCT_STATE_CODE = COP020_GROUP.addItem((OPCElement.COP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //COP030缁�
-            final Group COP030_GROUP = server.addGroup("COP030");
-            COP030_F_HEART_BEAT = COP030_GROUP.addItem((OPCElement.COP030_F_HEART_BEAT));//蹇冭烦
-            COP030_J_PLC_START = COP030_GROUP.addItem((OPCElement.COP030_J_PLC_START));//PLC寮�濮�
-            COP030_J_PC_WRITE_ORDER = COP030_GROUP.addItem((OPCElement.COP030_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            COP030_J_PLC_FINISH = COP030_GROUP.addItem((OPCElement.COP030_J_PLC_FINISH));//PLC瀹屾垚
-            COP030_J_PC_FINISH = COP030_GROUP.addItem((OPCElement.COP030_J_PC_FINISH));//PC瀹屾垚
-
-            COP030_S_ORDER_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_ORDER_CODE));//宸ュ崟缂栧彿
-            COP030_S_PRODUCT_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_PRODUCT_CODE));//浜у搧缂栧彿
-            COP030_S_SFC_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            COP030_S_PRODUCT_STATE_CODE = COP030_GROUP.addItem((OPCElement.COP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //BOP010缁�
-            final Group BOP010_GROUP = server.addGroup("BOP010");
-            BOP010_F_HEART_BEAT = BOP010_GROUP.addItem((OPCElement.BOP010_F_HEART_BEAT));//蹇冭烦
-            BOP010_J_PLC_START = BOP010_GROUP.addItem((OPCElement.BOP010_J_PLC_START));//PLC寮�濮�
-            BOP010_J_PC_WRITE_ORDER = BOP010_GROUP.addItem((OPCElement.BOP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            BOP010_J_PLC_FINISH = BOP010_GROUP.addItem((OPCElement.BOP010_J_PLC_FINISH));//PLC瀹屾垚
-            BOP010_J_PC_FINISH = BOP010_GROUP.addItem((OPCElement.BOP010_J_PC_FINISH));//PC瀹屾垚
-
-            BOP010_S_ORDER_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_ORDER_CODE));//宸ュ崟缂栧彿
-            BOP010_S_PRODUCT_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_PRODUCT_CODE));//浜у搧缂栧彿
-            BOP010_S_SFC_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            BOP010_S_PRODUCT_STATE_CODE = BOP010_GROUP.addItem((OPCElement.BOP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-            BOP010_S_NUMBER = BOP010_GROUP.addItem((OPCElement.BOP010_S_NUMBER));//浜у搧璁″垝鏁伴噺
-
-            BOP010_P_REPAIR = BOP010_GROUP.addItem((OPCElement.BOP010_P_REPAIR));//杩斾慨鐘舵��
-            BOP010_P_REPAIR_LOCATION = BOP010_GROUP.addItem((OPCElement.BOP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅
-
-            //BOP020缁�
-            final Group BOP020_GROUP = server.addGroup("BOP020");
-            BOP020_F_HEART_BEAT = BOP020_GROUP.addItem((OPCElement.BOP020_F_HEART_BEAT));//蹇冭烦
-            BOP020_J_PLC_START = BOP020_GROUP.addItem((OPCElement.BOP020_J_PLC_START));//PLC寮�濮�
-            BOP020_J_PC_WRITE_ORDER = BOP020_GROUP.addItem((OPCElement.BOP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            BOP020_J_PLC_FINISH = BOP020_GROUP.addItem((OPCElement.BOP020_J_PLC_FINISH));//PLC瀹屾垚
-            BOP020_J_PC_FINISH = BOP020_GROUP.addItem((OPCElement.BOP020_J_PC_FINISH));//PC瀹屾垚
-
-            BOP020_S_ORDER_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_ORDER_CODE));//宸ュ崟缂栧彿
-            BOP020_S_PRODUCT_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_PRODUCT_CODE));//浜у搧缂栧彿
-            BOP020_S_SFC_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            BOP020_S_PRODUCT_STATE_CODE = BOP020_GROUP.addItem((OPCElement.BOP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //BOP030缁�
-            final Group BOP030_GROUP = server.addGroup("BOP030");
-            BOP030_F_HEART_BEAT = BOP030_GROUP.addItem((OPCElement.BOP030_F_HEART_BEAT));//蹇冭烦
-            BOP030_J_PLC_START = BOP030_GROUP.addItem((OPCElement.BOP030_J_PLC_START));//PLC寮�濮�
-            BOP030_J_PC_WRITE_ORDER = BOP030_GROUP.addItem((OPCElement.BOP030_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            BOP030_J_PLC_FINISH = BOP030_GROUP.addItem((OPCElement.BOP030_J_PLC_FINISH));//PLC瀹屾垚
-            BOP030_J_PC_FINISH = BOP030_GROUP.addItem((OPCElement.BOP030_J_PC_FINISH));//PC瀹屾垚
-
-            BOP030_S_ORDER_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_ORDER_CODE));//宸ュ崟缂栧彿
-            BOP030_S_PRODUCT_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_PRODUCT_CODE));//浜у搧缂栧彿
-            BOP030_S_SFC_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            BOP030_S_PRODUCT_STATE_CODE = BOP030_GROUP.addItem((OPCElement.BOP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            BOP030_OIL_STATE = BOP030_GROUP.addItem((OPCElement.BOP030_OIL_STATE));//娌硅剛鐘舵��
-
-
-
-            //BOP030B缁�
-            final Group BOP030B_GROUP = server.addGroup("BOP030B");
-            BOP030B_F_HEART_BEAT = BOP030B_GROUP.addItem((OPCElement.BOP030B_F_HEART_BEAT));//蹇冭烦
-            BOP030B_J_PLC_START = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PLC_START));//PLC寮�濮�
-            BOP030B_J_PC_WRITE_ORDER = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            BOP030B_J_PLC_FINISH = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PLC_FINISH));//PLC瀹屾垚
-            BOP030B_J_PC_FINISH = BOP030B_GROUP.addItem((OPCElement.BOP030B_J_PC_FINISH));//PC瀹屾垚
-
-            BOP030B_S_ORDER_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_ORDER_CODE));//宸ュ崟缂栧彿
-            BOP030B_S_PRODUCT_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_PRODUCT_CODE));//浜у搧缂栧彿
-            BOP030B_S_SFC_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            BOP030B_S_PRODUCT_STATE_CODE = BOP030B_GROUP.addItem((OPCElement.BOP030B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-
-            //BOP040缁�
-            final Group BOP040_GROUP = server.addGroup("BOP040");
-            BOP040_F_HEART_BEAT = BOP040_GROUP.addItem((OPCElement.BOP040_F_HEART_BEAT));//蹇冭烦
-            BOP040_J_PLC_START = BOP040_GROUP.addItem((OPCElement.BOP040_J_PLC_START));//PLC寮�濮�
-            BOP040_J_PC_WRITE_ORDER = BOP040_GROUP.addItem((OPCElement.BOP040_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            BOP040_J_PLC_FINISH = BOP040_GROUP.addItem((OPCElement.BOP040_J_PLC_FINISH));//PLC瀹屾垚
-            BOP040_J_PC_FINISH = BOP040_GROUP.addItem((OPCElement.BOP040_J_PC_FINISH));//PC瀹屾垚
-
-            BOP040_S_ORDER_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_ORDER_CODE));//宸ュ崟缂栧彿
-            BOP040_S_PRODUCT_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_PRODUCT_CODE));//浜у搧缂栧彿
-            BOP040_S_SFC_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            BOP040_S_PRODUCT_STATE_CODE = BOP040_GROUP.addItem((OPCElement.BOP040_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //BOP040B缁�
-            final Group BOP040B_GROUP = server.addGroup("BOP040B");
-            BOP040B_F_HEART_BEAT = BOP040B_GROUP.addItem((OPCElement.BOP040B_F_HEART_BEAT));//蹇冭烦
-            BOP040B_J_PLC_START = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PLC_START));//PLC寮�濮�
-            BOP040B_J_PC_WRITE_ORDER = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            BOP040B_J_PLC_FINISH = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PLC_FINISH));//PLC瀹屾垚
-            BOP040B_J_PC_FINISH = BOP040B_GROUP.addItem((OPCElement.BOP040B_J_PC_FINISH));//PC瀹屾垚
-
-            BOP040B_S_ORDER_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_ORDER_CODE));//宸ュ崟缂栧彿
-            BOP040B_S_PRODUCT_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_PRODUCT_CODE));//浜у搧缂栧彿
-            BOP040B_S_SFC_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            BOP040B_S_PRODUCT_STATE_CODE = BOP040B_GROUP.addItem((OPCElement.BOP040B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-
-            //EOP010缁�
-            final Group EOP010_GROUP = server.addGroup("EOP010");
-            EOP010_F_HEART_BEAT = EOP010_GROUP.addItem((OPCElement.EOP010_F_HEART_BEAT));//蹇冭烦
-            EOP010_J_PLC_START = EOP010_GROUP.addItem((OPCElement.EOP010_J_PLC_START));//PLC寮�濮�
-            EOP010_J_PC_WRITE_ORDER = EOP010_GROUP.addItem((OPCElement.EOP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP010_J_PLC_FINISH = EOP010_GROUP.addItem((OPCElement.EOP010_J_PLC_FINISH));//PLC瀹屾垚
-            EOP010_J_PC_FINISH = EOP010_GROUP.addItem((OPCElement.EOP010_J_PC_FINISH));//PC瀹屾垚
-
-            EOP010_S_ORDER_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP010_S_PRODUCT_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP010_S_SFC_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP010_S_PRODUCT_STATE_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            EOP010_S_MATERIAL_CODE = EOP010_GROUP.addItem((OPCElement.EOP010_S_MATERIAL_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP020缁�
-            final Group EOP020_GROUP = server.addGroup("EOP020");
-            EOP020_F_HEART_BEAT = EOP020_GROUP.addItem((OPCElement.EOP020_F_HEART_BEAT));//蹇冭烦
-            EOP020_J_PLC_START = EOP020_GROUP.addItem((OPCElement.EOP020_J_PLC_START));//PLC寮�濮�
-            EOP020_J_PC_WRITE_ORDER = EOP020_GROUP.addItem((OPCElement.EOP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP020_J_PLC_FINISH = EOP020_GROUP.addItem((OPCElement.EOP020_J_PLC_FINISH));//PLC瀹屾垚
-            EOP020_J_PC_FINISH = EOP020_GROUP.addItem((OPCElement.EOP020_J_PC_FINISH));//PC瀹屾垚
-
-            EOP020_S_ORDER_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP020_S_PRODUCT_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP020_S_SFC_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP020_S_PRODUCT_STATE_CODE = EOP020_GROUP.addItem((OPCElement.EOP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP030缁�
-            final Group EOP030_GROUP = server.addGroup("EOP030");
-            EOP030_F_HEART_BEAT = EOP030_GROUP.addItem((OPCElement.EOP030_F_HEART_BEAT));//蹇冭烦
-            EOP030_J_PLC_START = EOP030_GROUP.addItem((OPCElement.EOP030_J_PLC_START));//PLC寮�濮�
-            EOP030_J_PC_WRITE_ORDER = EOP030_GROUP.addItem((OPCElement.EOP030_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP030_J_PLC_FINISH = EOP030_GROUP.addItem((OPCElement.EOP030_J_PLC_FINISH));//PLC瀹屾垚
-            EOP030_J_PC_FINISH = EOP030_GROUP.addItem((OPCElement.EOP030_J_PC_FINISH));//PC瀹屾垚
-
-            EOP030_S_ORDER_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP030_S_PRODUCT_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP030_S_SFC_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP030_S_PRODUCT_STATE_CODE = EOP030_GROUP.addItem((OPCElement.EOP030_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP040缁�
-            final Group EOP040_GROUP = server.addGroup("EOP040");
-            EOP040_F_HEART_BEAT = EOP040_GROUP.addItem((OPCElement.EOP040_F_HEART_BEAT));//蹇冭烦
-            EOP040_J_PLC_START = EOP040_GROUP.addItem((OPCElement.EOP040_J_PLC_START));//PLC寮�濮�
-             EOP040_J_PC_WRITE_ORDER = EOP040_GROUP.addItem((OPCElement.EOP040_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP040_J_PLC_FINISH = EOP040_GROUP.addItem((OPCElement.EOP040_J_PLC_FINISH));//PLC瀹屾垚
-            EOP040_J_PC_FINISH = EOP040_GROUP.addItem((OPCElement.EOP040_J_PC_FINISH));//PC瀹屾垚
-
-            EOP040_S_ORDER_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP040_S_PRODUCT_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP040_S_SFC_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP040_S_PRODUCT_STATE_CODE = EOP040_GROUP.addItem((OPCElement.EOP040_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-           //EOP050缁�
-            final Group EOP050_GROUP = server.addGroup("EOP050");
-            EOP050_F_HEART_BEAT = EOP050_GROUP.addItem((OPCElement.EOP050_F_HEART_BEAT));//蹇冭烦
-            EOP050_J_PLC_START = EOP050_GROUP.addItem((OPCElement.EOP050_J_PLC_START));//PLC寮�濮�
-            EOP050_J_PC_WRITE_ORDER = EOP050_GROUP.addItem((OPCElement.EOP050_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP050_J_PLC_FINISH = EOP050_GROUP.addItem((OPCElement.EOP050_J_PLC_FINISH));//PLC瀹屾垚
-            EOP050_J_PC_FINISH = EOP050_GROUP.addItem((OPCElement.EOP050_J_PC_FINISH));//PC瀹屾垚
-
-            EOP050_S_ORDER_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP050_S_PRODUCT_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP050_S_SFC_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP050_S_PRODUCT_STATE_CODE = EOP050_GROUP.addItem((OPCElement.EOP050_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP060缁�
-            final Group EOP060_GROUP = server.addGroup("EOP060");
-            EOP060_F_HEART_BEAT = EOP060_GROUP.addItem((OPCElement.EOP060_F_HEART_BEAT));//蹇冭烦
-            EOP060_J_PLC_START = EOP060_GROUP.addItem((OPCElement.EOP060_J_PLC_START));//PLC寮�濮�
-            EOP060_J_PC_WRITE_ORDER = EOP060_GROUP.addItem((OPCElement.EOP060_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP060_J_PLC_FINISH = EOP060_GROUP.addItem((OPCElement.EOP060_J_PLC_FINISH));//PLC瀹屾垚
-            EOP060_J_PC_FINISH = EOP060_GROUP.addItem((OPCElement.EOP060_J_PC_FINISH));//PC瀹屾垚
-
-            EOP060_S_ORDER_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP060_S_PRODUCT_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP060_S_SFC_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP060_S_PRODUCT_STATE_CODE = EOP060_GROUP.addItem((OPCElement.EOP060_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-           EOP060_P_REPAIR =EOP060_GROUP.addItem((OPCElement.OP010_P_REPAIR));//杩斾慨鐘舵��
-           EOP060_P_REPAIR_LOCATION =EOP060_GROUP.addItem((OPCElement.OP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅
-
-            //EOP070缁�
-            final Group EOP070_GROUP = server.addGroup("EOP070");
-            EOP070_F_HEART_BEAT = EOP070_GROUP.addItem((OPCElement.EOP070_F_HEART_BEAT));//蹇冭烦
-            EOP070_J_PLC_START = EOP070_GROUP.addItem((OPCElement.EOP070_J_PLC_START));//PLC寮�濮�
-            EOP070_J_PC_WRITE_ORDER = EOP070_GROUP.addItem((OPCElement.EOP070_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP070_J_PLC_FINISH = EOP070_GROUP.addItem((OPCElement.EOP070_J_PLC_FINISH));//PLC瀹屾垚
-            EOP070_J_PC_FINISH = EOP070_GROUP.addItem((OPCElement.EOP070_J_PC_FINISH));//PC瀹屾垚
-
-            EOP070_S_ORDER_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP070_S_PRODUCT_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP070_S_SFC_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP070_S_PRODUCT_STATE_CODE = EOP070_GROUP.addItem((OPCElement.EOP070_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP070B缁�
-            final Group EOP070B_GROUP = server.addGroup("EOP070B");
-            EOP070B_F_HEART_BEAT = EOP070B_GROUP.addItem((OPCElement.EOP070B_F_HEART_BEAT));//蹇冭烦
-            EOP070B_J_PLC_START = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PLC_START));//PLC寮�濮�
-            EOP070B_J_PC_WRITE_ORDER = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP070B_J_PLC_FINISH = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PLC_FINISH));//PLC瀹屾垚
-            EOP070B_J_PC_FINISH = EOP070B_GROUP.addItem((OPCElement.EOP070B_J_PC_FINISH));//PC瀹屾垚
-
-            EOP070B_S_ORDER_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP070B_S_PRODUCT_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP070B_S_SFC_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP070B_S_PRODUCT_STATE_CODE = EOP070B_GROUP.addItem((OPCElement.EOP070B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP080缁�
-            final Group EOP080_GROUP = server.addGroup("EOP080");
-            EOP080_F_HEART_BEAT = EOP080_GROUP.addItem((OPCElement.EOP080_F_HEART_BEAT));//蹇冭烦
-            EOP080_J_PLC_START = EOP080_GROUP.addItem((OPCElement.EOP080_J_PLC_START));//PLC寮�濮�
-            EOP080_J_PC_WRITE_ORDER = EOP080_GROUP.addItem((OPCElement.EOP080_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP080_J_PLC_FINISH = EOP080_GROUP.addItem((OPCElement.EOP080_J_PLC_FINISH));//PLC瀹屾垚
-            EOP080_J_PC_FINISH = EOP080_GROUP.addItem((OPCElement.EOP080_J_PC_FINISH));//PC瀹屾垚
-
-            EOP080_S_ORDER_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP080_S_PRODUCT_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP080_S_SFC_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP080_S_PRODUCT_STATE_CODE = EOP080_GROUP.addItem((OPCElement.EOP080_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP090缁�
-            final Group EOP090_GROUP = server.addGroup("EOP090");
-            EOP090_F_HEART_BEAT = EOP090_GROUP.addItem((OPCElement.EOP090_F_HEART_BEAT));//蹇冭烦
-            EOP090_J_PLC_START = EOP090_GROUP.addItem((OPCElement.EOP090_J_PLC_START));//PLC寮�濮�
-            EOP090_J_PC_WRITE_ORDER = EOP090_GROUP.addItem((OPCElement.EOP090_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP090_J_PLC_FINISH = EOP090_GROUP.addItem((OPCElement.EOP090_J_PLC_FINISH));//PLC瀹屾垚
-            EOP090_J_PC_FINISH = EOP090_GROUP.addItem((OPCElement.EOP090_J_PC_FINISH));//PC瀹屾垚
-
-            EOP090_S_ORDER_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP090_S_PRODUCT_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP090_S_SFC_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP090_S_PRODUCT_STATE_CODE = EOP090_GROUP.addItem((OPCElement.EOP090_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //EOP090B缁�
-            final Group EOP090B_GROUP = server.addGroup("EOP090B");
-            EOP090B_F_HEART_BEAT = EOP090B_GROUP.addItem((OPCElement.EOP090B_F_HEART_BEAT));//蹇冭烦
-            EOP090B_J_PLC_START = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PLC_START));//PLC寮�濮�
-            EOP090B_J_PC_WRITE_ORDER = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            EOP090B_J_PLC_FINISH = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PLC_FINISH));//PLC瀹屾垚
-            EOP090B_J_PC_FINISH = EOP090B_GROUP.addItem((OPCElement.EOP090B_J_PC_FINISH));//PC瀹屾垚
-
-            EOP090B_S_ORDER_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_ORDER_CODE));//宸ュ崟缂栧彿
-            EOP090B_S_PRODUCT_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_PRODUCT_CODE));//浜у搧缂栧彿
-            EOP090B_S_SFC_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            EOP090B_S_PRODUCT_STATE_CODE = EOP090B_GROUP.addItem((OPCElement.EOP090B_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            //DOP010缁�
-            final Group DOP010_GROUP = server.addGroup("DOP010");
-            DOP010_F_HEART_BEAT = DOP010_GROUP.addItem((OPCElement.DOP010_F_HEART_BEAT));//蹇冭烦
-            DOP010_J_PLC_START = DOP010_GROUP.addItem((OPCElement.DOP010_J_PLC_START));//PLC寮�濮�
-            DOP010_J_PC_WRITE_ORDER = DOP010_GROUP.addItem((OPCElement.DOP010_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            DOP010_J_PLC_FINISH = DOP010_GROUP.addItem((OPCElement.DOP010_J_PLC_FINISH));//PLC瀹屾垚
-            DOP010_J_PC_FINISH = DOP010_GROUP.addItem((OPCElement.DOP010_J_PC_FINISH));//PC瀹屾垚
-
-            DOP010_S_ORDER_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_ORDER_CODE));//宸ュ崟缂栧彿
-            DOP010_S_PRODUCT_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_PRODUCT_CODE));//浜у搧缂栧彿
-            DOP010_S_SFC_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            DOP010_S_PRODUCT_STATE_CODE = DOP010_GROUP.addItem((OPCElement.DOP010_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-            DOP010_S_NUMBER = DOP010_GROUP.addItem((OPCElement.DOP010_S_NUMBER));//浜у搧璁″垝鏁伴噺
-
-            DOP010_P_REPAIR = DOP010_GROUP.addItem((OPCElement.DOP010_P_REPAIR));//杩斾慨鐘舵��
-            DOP010_P_REPAIR_LOCATION = DOP010_GROUP.addItem((OPCElement.DOP010_P_REPAIR_LOCATION));//杩斾慨宸ヤ綅
-
-            //DOP020缁�
-            /*final Group DOP020_GROUP = server.addGroup("DOP020");
-            DOP020_F_HEART_BEAT = DOP020_GROUP.addItem((OPCElement.DOP020_F_HEART_BEAT));//蹇冭烦
-            DOP020_J_PLC_START = DOP020_GROUP.addItem((OPCElement.DOP020_J_PLC_START));//PLC寮�濮�
-            DOP020_J_PC_WRITE_ORDER = DOP020_GROUP.addItem((OPCElement.DOP020_J_PC_WRITE_ORDER));//PC涓嬪彂宸ュ崟
-            DOP020_J_PLC_FINISH = DOP020_GROUP.addItem((OPCElement.DOP020_J_PLC_FINISH));//PLC瀹屾垚
-            DOP020_J_PC_FINISH = DOP020_GROUP.addItem((OPCElement.DOP020_J_PC_FINISH));//PC瀹屾垚
-
-            DOP020_S_ORDER_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_ORDER_CODE));//宸ュ崟缂栧彿
-            DOP020_S_PRODUCT_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_PRODUCT_CODE));//浜у搧缂栧彿
-            DOP020_S_SFC_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_SFC_CODE));//鎬绘垚缂栫爜
-
-            DOP020_S_PRODUCT_STATE_CODE = DOP020_GROUP.addItem((OPCElement.DOP020_S_PRODUCT_STATE_CODE));//浜у搧鐘舵�佺紪鐮�
-
-            DOP020_OIL_STATE = DOP020_GROUP.addItem((OPCElement.DOP020_OIL_STATE));//娌硅剛鐘舵��*/
-
-
-            // start reading
-            access.bind();
-        } catch (final JIException e) {
-            Thread.sleep(1000*10);
-            //init();
-            System.out.println(String.format("%08X: %s", e.getErrorCode(), server.getErrorMessage(e.getErrorCode())));
-        }
-    }
-
-    public Server getServer() {
-        return server;
-
-    }
-
-    public Item getOP010_F_HEART_BEAT() {
-        return OP010_F_HEART_BEAT;
-    }
-
-    public Item getOP010_J_PLC_START() {
-        return OP010_J_PLC_START;
-    }
-
-    public Item getOP010_J_PC_WRITE_ORDER() {
-        return OP010_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP010_J_PLC_FINISH() {
-        return OP010_J_PLC_FINISH;
-    }
-
-    public Item getOP010_J_PC_FINISH() {
-        return OP010_J_PC_FINISH;
-    }
-
-    public Item getOP010_S_ORDER_CODE() {
-        return OP010_S_ORDER_CODE;
-    }
-
-    public Item getOP010_S_PRODUCT_CODE() {
-        return OP010_S_PRODUCT_CODE;
-    }
-
-    public Item getOP010_S_SFC_CODE() {
-        return OP010_S_SFC_CODE;
-    }
-
-    public Item getOP010_S_RIGHT_CODE() {
-        return OP010_S_RIGHT_CODE;
-    }
-
-
-    public Item getOP010_S_PRODUCT_STATE_CODE() {
-        return OP010_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP020_F_HEART_BEAT() {
-        return OP020_F_HEART_BEAT;
-    }
-
-    public Item getOP020_J_PLC_START() {
-        return OP020_J_PLC_START;
-    }
-
-    public Item getOP020_J_PC_WRITE_ORDER() {
-        return OP020_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP020_J_PLC_FINISH() {
-        return OP020_J_PLC_FINISH;
-    }
-
-    public Item getOP020_J_PC_FINISH() {
-        return OP020_J_PC_FINISH;
-    }
-
-    public Item getOP020_S_ORDER_CODE() {
-        return OP020_S_ORDER_CODE;
-    }
-
-    public Item getOP020_S_PRODUCT_CODE() {
-        return OP020_S_PRODUCT_CODE;
-    }
-
-    public Item getOP020_S_SFC_CODE() {
-        return OP020_S_SFC_CODE;
-    }
-
-
-    public Item getOP020_S_PRODUCT_STATE_CODE() {
-        return OP020_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP030_F_HEART_BEAT() {
-        return OP030_F_HEART_BEAT;
-    }
-
-    public Item getOP030_J_PLC_START() {
-        return OP030_J_PLC_START;
-    }
-
-    public Item getOP030_J_PC_WRITE_ORDER() {
-        return OP030_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP030_J_PLC_FINISH() {
-        return OP030_J_PLC_FINISH;
-    }
-
-    public Item getOP030_J_PC_FINISH() {
-        return OP030_J_PC_FINISH;
-    }
-
-    public Item getOP030_S_ORDER_CODE() {
-        return OP030_S_ORDER_CODE;
-    }
-
-    public Item getOP030_S_PRODUCT_CODE() {
-        return OP030_S_PRODUCT_CODE;
-    }
-
-    public Item getOP030_S_SFC_CODE() {
-        return OP030_S_SFC_CODE;
-    }
-
-    public Item getOP030_S_PRODUCT_STATE_CODE() {
-        return OP030_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP040_F_HEART_BEAT() {
-        return OP040_F_HEART_BEAT;
-    }
-
-    public Item getOP040_J_PLC_START() {
-        return OP040_J_PLC_START;
-    }
-
-    public Item getOP040_J_PC_WRITE_ORDER() {
-        return OP040_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP040_J_PLC_FINISH() {
-        return OP040_J_PLC_FINISH;
-    }
-
-    public Item getOP040_J_PC_FINISH() {
-        return OP040_J_PC_FINISH;
-    }
-
-    public Item getOP040_S_ORDER_CODE() {
-        return OP040_S_ORDER_CODE;
-    }
-
-    public Item getOP040_S_PRODUCT_CODE() {
-        return OP040_S_PRODUCT_CODE;
-    }
-
-    public Item getOP040_S_SFC_CODE() {
-        return OP040_S_SFC_CODE;
-    }
-
-    public Item getOP040_S_PRODUCT_STATE_CODE() {
-        return OP040_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP050_F_HEART_BEAT() {
-        return OP050_F_HEART_BEAT;
-    }
-
-    public Item getOP050_J_PLC_START() {
-        return OP050_J_PLC_START;
-    }
-
-    public Item getOP050_J_PC_WRITE_ORDER() {
-        return OP050_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP050_J_PLC_FINISH() {
-        return OP050_J_PLC_FINISH;
-    }
-
-    public Item getOP050_J_PC_FINISH() {
-        return OP050_J_PC_FINISH;
-    }
-
-    public Item getOP050_S_ORDER_CODE() {
-        return OP050_S_ORDER_CODE;
-    }
-
-    public Item getOP050_S_PRODUCT_CODE() {
-        return OP050_S_PRODUCT_CODE;
-    }
-
-    public Item getOP050_S_SFC_CODE() {
-        return OP050_S_SFC_CODE;
-    }
-
-    public Item getOP050_S_PRODUCT_STATE_CODE() {
-        return OP050_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP070_F_HEART_BEAT() {
-        return OP070_F_HEART_BEAT;
-    }
-
-    public Item getOP070_J_PLC_START() {
-        return OP070_J_PLC_START;
-    }
-
-    public Item getOP070_J_PC_WRITE_ORDER() {
-        return OP070_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP070_J_PLC_FINISH() {
-        return OP070_J_PLC_FINISH;
-    }
-
-    public Item getOP070_J_PC_FINISH() {
-        return OP070_J_PC_FINISH;
-    }
-
-    public Item getOP070_S_ORDER_CODE() {
-        return OP070_S_ORDER_CODE;
-    }
-
-    public Item getOP070_S_PRODUCT_CODE() {
-        return OP070_S_PRODUCT_CODE;
-    }
-
-    public Item getOP070_S_SFC_CODE() {
-        return OP070_S_SFC_CODE;
-    }
-
-    public Item getOP070_S_PRODUCT_STATE_CODE() {
-        return OP070_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP080_F_HEART_BEAT() {
-        return OP080_F_HEART_BEAT;
-    }
-
-    public Item getOP080_J_PLC_START() {
-        return OP080_J_PLC_START;
-    }
-
-    public Item getOP080_J_PC_WRITE_ORDER() {
-        return OP080_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP080_J_PLC_FINISH() {
-        return OP080_J_PLC_FINISH;
-    }
-
-    public Item getOP080_J_PC_FINISH() {
-        return OP080_J_PC_FINISH;
-    }
-
-    public Item getOP080_S_ORDER_CODE() {
-        return OP080_S_ORDER_CODE;
-    }
-
-    public Item getOP080_S_PRODUCT_CODE() {
-        return OP080_S_PRODUCT_CODE;
-    }
-
-    public Item getOP080_S_SFC_CODE() {
-        return OP080_S_SFC_CODE;
-    }
-
-    public Item getOP080_S_PRODUCT_STATE_CODE() {
-        return OP080_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP090_F_HEART_BEAT() {
-        return OP090_F_HEART_BEAT;
-    }
-
-    public Item getOP090_J_PLC_START() {
-        return OP090_J_PLC_START;
-    }
-
-    public Item getOP090_J_PC_WRITE_ORDER() {
-        return OP090_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP090_J_PLC_FINISH() {
-        return OP090_J_PLC_FINISH;
-    }
-
-    public Item getOP090_J_PC_FINISH() {
-        return OP090_J_PC_FINISH;
-    }
-
-    public Item getOP090_S_ORDER_CODE() {
-        return OP090_S_ORDER_CODE;
-    }
-
-    public Item getOP090_S_PRODUCT_CODE() {
-        return OP090_S_PRODUCT_CODE;
-    }
-
-    public Item getOP090_S_SFC_CODE() {
-        return OP090_S_SFC_CODE;
-    }
-
-    public Item getOP090_S_PRODUCT_STATE_CODE() {
-        return OP090_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP100_F_HEART_BEAT() {
-        return OP100_F_HEART_BEAT;
-    }
-
-    public Item getOP100_J_PLC_START() {
-        return OP100_J_PLC_START;
-    }
-
-    public Item getOP100_J_PC_WRITE_ORDER() {
-        return OP100_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP100_J_PLC_FINISH() {
-        return OP100_J_PLC_FINISH;
-    }
-
-    public Item getOP100_J_PC_FINISH() {
-        return OP100_J_PC_FINISH;
-    }
-
-    public Item getOP100_S_ORDER_CODE() {
-        return OP100_S_ORDER_CODE;
-    }
-
-    public Item getOP100_S_PRODUCT_CODE() {
-        return OP100_S_PRODUCT_CODE;
-    }
-
-    public Item getOP100_S_SFC_CODE() {
-        return OP100_S_SFC_CODE;
-    }
-
-    public Item getOP100_S_PRODUCT_STATE_CODE() {
-        return OP100_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP110_F_HEART_BEAT() {
-        return OP110_F_HEART_BEAT;
-    }
-
-    public Item getOP110_J_PLC_START() {
-        return OP110_J_PLC_START;
-    }
-
-    public Item getOP110_J_PC_WRITE_ORDER() {
-        return OP110_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP110_J_PLC_FINISH() {
-        return OP110_J_PLC_FINISH;
-    }
-
-    public Item getOP110_J_PC_FINISH() {
-        return OP110_J_PC_FINISH;
-    }
-
-    public Item getOP110_S_ORDER_CODE() {
-        return OP110_S_ORDER_CODE;
-    }
-
-    public Item getOP110_S_PRODUCT_CODE() {
-        return OP110_S_PRODUCT_CODE;
-    }
-
-    public Item getOP110_S_SFC_CODE() {
-        return OP110_S_SFC_CODE;
-    }
-
-    public Item getOP110_S_PRODUCT_STATE_CODE() {
-        return OP110_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP120_F_HEART_BEAT() {
-        return OP120_F_HEART_BEAT;
-    }
-
-    public Item getOP120_J_PLC_START() {
-        return OP120_J_PLC_START;
-    }
-
-    public Item getOP120_J_PC_WRITE_ORDER() {
-        return OP120_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP120_J_PLC_FINISH() {
-        return OP120_J_PLC_FINISH;
-    }
-
-    public Item getOP120_J_PC_FINISH() {
-        return OP120_J_PC_FINISH;
-    }
-
-    public Item getOP120_S_ORDER_CODE() {
-        return OP120_S_ORDER_CODE;
-    }
-
-    public Item getOP120_S_PRODUCT_CODE() {
-        return OP120_S_PRODUCT_CODE;
-    }
-
-    public Item getOP120_S_SFC_CODE() {
-        return OP120_S_SFC_CODE;
-    }
-
-    public Item getOP120_S_PRODUCT_STATE_CODE() {
-        return OP120_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP130_F_HEART_BEAT() {
-        return OP130_F_HEART_BEAT;
-    }
-
-    public Item getOP130_J_PLC_START() {
-        return OP130_J_PLC_START;
-    }
-
-    public Item getOP130_J_PC_WRITE_ORDER() {
-        return OP130_J_PC_WRITE_ORDER;
-    }
-
-    public Item getOP130_J_PLC_FINISH() {
-        return OP130_J_PLC_FINISH;
-    }
-
-    public Item getOP130_J_PC_FINISH() {
-        return OP130_J_PC_FINISH;
-    }
-
-    public Item getOP130_S_ORDER_CODE() {
-        return OP130_S_ORDER_CODE;
-    }
-
-    public Item getOP130_S_PRODUCT_CODE() {
-        return OP130_S_PRODUCT_CODE;
-    }
-
-    public Item getOP130_S_SFC_CODE() {
-        return OP130_S_SFC_CODE;
-    }
-
-    public Item getOP130_S_PRODUCT_STATE_CODE() {
-        return OP130_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP140_F_HEART_BEAT() {
-        return OP140_F_HEART_BEAT;
-    }
-
-    public Item getOP140_J_PLC_START() {
-        return OP140_J_PLC_START;
-    }
-
-    public Item getOP140_J_PC_WRITE_ORDER() {
-        return OP140_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP140_J_PLC_FINISH() {
-        return OP140_J_PLC_FINISH;
-    }
-
-    public Item getOP140_J_PC_FINISH() {
-        return OP140_J_PC_FINISH;
-    }
-
-    public Item getOP140_S_ORDER_CODE() {
-        return OP140_S_ORDER_CODE;
-    }
-
-    public Item getOP140_S_PRODUCT_CODE() {
-        return OP140_S_PRODUCT_CODE;
-    }
-
-    public Item getOP140_S_SFC_CODE() {
-        return OP140_S_SFC_CODE;
-    }
-
-    public Item getOP140_S_PRODUCT_STATE_CODE() {
-        return OP140_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP150_F_HEART_BEAT() {
-        return OP150_F_HEART_BEAT;
-    }
-
-    public Item getOP150_J_PLC_START() {
-        return OP150_J_PLC_START;
-    }
-
-    public Item getOP150_J_PC_WRITE_ORDER() {
-        return OP150_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP150_J_PLC_FINISH() {
-        return OP150_J_PLC_FINISH;
-    }
-
-    public Item getOP150_J_PC_FINISH() {
-        return OP150_J_PC_FINISH;
-    }
-
-    public Item getOP150_S_ORDER_CODE() {
-        return OP150_S_ORDER_CODE;
-    }
-
-    public Item getOP150_S_PRODUCT_CODE() {
-        return OP150_S_PRODUCT_CODE;
-    }
-
-    public Item getOP150_S_SFC_CODE() {
-        return OP150_S_SFC_CODE;
-    }
-
-    public Item getOP150_S_PRODUCT_STATE_CODE() {
-        return OP150_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP160_F_HEART_BEAT() {
-        return OP160_F_HEART_BEAT;
-    }
-
-    public Item getOP160_J_PLC_START() {
-        return OP160_J_PLC_START;
-    }
-
-    public Item getOP160_J_PC_WRITE_ORDER() {
-        return OP160_J_PC_WRITE_ORDER;
-    }
-
-    public Item getOP160_J_PLC_WRITE_INFO() {
-        return OP160_J_PLC_WRITE_INFO;
-    }
-
-    public Item getOP160_J_PC_READ_INFO() {
-        return OP160_J_PC_READ_INFO;
-    }
-
-    public Item getOP160_J_PLC_FINISH() {
-        return OP160_J_PLC_FINISH;
-    }
-
-    public Item getOP160_J_PC_FINISH() {
-        return OP160_J_PC_FINISH;
-    }
-
-    public Item getOP160_S_ORDER_CODE() {
-        return OP160_S_ORDER_CODE;
-    }
-
-    public Item getOP160_S_PRODUCT_CODE() {
-        return OP160_S_PRODUCT_CODE;
-    }
-
-    public Item getOP160_S_SFC_CODE() {
-        return OP160_S_SFC_CODE;
-    }
-
-    public Item getOP160_S_PRODUCT_STATE_CODE() {
-        return OP160_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP170_F_HEART_BEAT() {
-        return OP170_F_HEART_BEAT;
-    }
-
-    public Item getOP170_J_PLC_START() {
-        return OP170_J_PLC_START;
-    }
-
-    public Item getOP170_J_PC_WRITE_ORDER() {
-        return OP170_J_PC_WRITE_ORDER;
-    }
-
-    public Item getOP170_J_PLC_WRITE_INFO() {
-        return OP170_J_PLC_WRITE_INFO;
-    }
-
-    public Item getOP170_J_PC_READ_INFO() {
-        return OP170_J_PC_READ_INFO;
-    }
-
-    public Item getOP170_J_PLC_FINISH() {
-        return OP170_J_PLC_FINISH;
-    }
-
-    public Item getOP170_J_PC_FINISH() {
-        return OP170_J_PC_FINISH;
-    }
-
-    public Item getOP170_S_ORDER_CODE() {
-        return OP170_S_ORDER_CODE;
-    }
-
-    public Item getOP170_S_PRODUCT_CODE() {
-        return OP170_S_PRODUCT_CODE;
-    }
-
-    public Item getOP170_S_SFC_CODE() {
-        return OP170_S_SFC_CODE;
-    }
-
-    public Item getOP170_S_PRODUCT_STATE_CODE() {
-        return OP170_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP120B_F_HEART_BEAT() {
-        return OP120B_F_HEART_BEAT;
-    }
-
-    public Item getOP120B_J_PLC_START() {
-        return OP120B_J_PLC_START;
-    }
-
-    public Item getOP120B_J_PC_WRITE_ORDER() {
-        return OP120B_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getOP120B_J_PLC_FINISH() {
-        return OP120B_J_PLC_FINISH;
-    }
-
-    public Item getOP120B_J_PC_FINISH() {
-        return OP120B_J_PC_FINISH;
-    }
-
-    public Item getOP120B_S_ORDER_CODE() {
-        return OP120B_S_ORDER_CODE;
-    }
-
-    public Item getOP120B_S_PRODUCT_CODE() {
-        return OP120B_S_PRODUCT_CODE;
-    }
-
-    public Item getOP120B_S_SFC_CODE() {
-        return OP120B_S_SFC_CODE;
-    }
-
-    public Item getOP120B_S_PRODUCT_STATE_CODE() {
-        return OP120B_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP090_S_SFC_CODE_EOP() {
-        return OP090_S_SFC_CODE_EOP;
-    }
-
-    public Item getCOP010_F_HEART_BEAT() {
-        return COP010_F_HEART_BEAT;
-    }
-
-    public Item getCOP010_J_PLC_START() {
-        return COP010_J_PLC_START;
-    }
-
-    public Item getCOP010_J_PC_WRITE_ORDER() {
-        return COP010_J_PC_WRITE_ORDER;
-    }
-
-    public Item getCOP010_J_PLC_WRITE_INFO() {
-        return COP010_J_PLC_WRITE_INFO;
-    }
-
-    public Item getCOP010_J_PC_READ_INFO() {
-        return COP010_J_PC_READ_INFO;
-    }
-
-    public Item getCOP010_J_PLC_FINISH() {
-        return COP010_J_PLC_FINISH;
-    }
-
-    public Item getCOP010_J_PC_FINISH() {
-        return COP010_J_PC_FINISH;
-    }
-
-    public Item getCOP010_S_ORDER_CODE() {
-        return COP010_S_ORDER_CODE;
-    }
-
-    public Item getCOP010_S_PRODUCT_CODE() {
-        return COP010_S_PRODUCT_CODE;
-    }
-
-    public Item getCOP010_S_SFC_CODE() {
-        return COP010_S_SFC_CODE;
-    }
-
-    public Item getCOP010_S_PRODUCT_STATE_CODE() {
-        return COP010_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getCOP020_F_HEART_BEAT() {
-        return COP020_F_HEART_BEAT;
-    }
-
-    public Item getCOP020_J_PLC_START() {
-        return COP020_J_PLC_START;
-    }
-
-    public Item getCOP020_J_PC_WRITE_ORDER() {
-        return COP020_J_PC_WRITE_ORDER;
-    }
-
-    public Item getCOP020_J_PLC_WRITE_INFO() {
-        return COP020_J_PLC_WRITE_INFO;
-    }
-
-    public Item getCOP020_J_PC_READ_INFO() {
-        return COP020_J_PC_READ_INFO;
-    }
-
-    public Item getCOP020_J_PLC_FINISH() {
-        return COP020_J_PLC_FINISH;
-    }
-
-    public Item getCOP020_J_PC_FINISH() {
-        return COP020_J_PC_FINISH;
-    }
-
-    public Item getCOP020_S_ORDER_CODE() {
-        return COP020_S_ORDER_CODE;
-    }
-
-    public Item getCOP020_S_PRODUCT_CODE() {
-        return COP020_S_PRODUCT_CODE;
-    }
-
-    public Item getCOP020_S_SFC_CODE() {
-        return COP020_S_SFC_CODE;
-    }
-
-    public Item getCOP020_S_PRODUCT_STATE_CODE() {
-        return COP020_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getCOP030_F_HEART_BEAT() {
-        return COP030_F_HEART_BEAT;
-    }
-
-    public Item getCOP030_J_PLC_START() {
-        return COP030_J_PLC_START;
-    }
-
-    public Item getCOP030_J_PC_WRITE_ORDER() {
-        return COP030_J_PC_WRITE_ORDER;
-    }
-
-    public Item getCOP030_J_PLC_WRITE_INFO() {
-        return COP030_J_PLC_WRITE_INFO;
-    }
-
-    public Item getCOP030_J_PC_READ_INFO() {
-        return COP030_J_PC_READ_INFO;
-    }
-
-    public Item getCOP030_J_PLC_FINISH() {
-        return COP030_J_PLC_FINISH;
-    }
-
-    public Item getCOP030_J_PC_FINISH() {
-        return COP030_J_PC_FINISH;
-    }
-
-    public Item getCOP030_S_ORDER_CODE() {
-        return COP030_S_ORDER_CODE;
-    }
-
-    public Item getCOP030_S_PRODUCT_CODE() {
-        return COP030_S_PRODUCT_CODE;
-    }
-
-    public Item getCOP030_S_SFC_CODE() {
-        return COP030_S_SFC_CODE;
-    }
-
-    public Item getCOP030_S_PRODUCT_STATE_CODE() {
-        return COP030_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getBOP010_F_HEART_BEAT() {
-        return BOP010_F_HEART_BEAT;
-    }
-
-    public Item getBOP010_J_PLC_START() {
-        return BOP010_J_PLC_START;
-    }
-
-    public Item getBOP010_J_PC_WRITE_ORDER() {
-        return BOP010_J_PC_WRITE_ORDER;
-    }
-
-    public Item getBOP010_J_PLC_WRITE_INFO() {
-        return BOP010_J_PLC_WRITE_INFO;
-    }
-
-    public Item getBOP010_J_PC_READ_INFO() {
-        return BOP010_J_PC_READ_INFO;
-    }
-
-    public Item getBOP010_J_PLC_FINISH() {
-        return BOP010_J_PLC_FINISH;
-    }
-
-    public Item getBOP010_J_PC_FINISH() {
-        return BOP010_J_PC_FINISH;
-    }
-
-    public Item getBOP010_S_ORDER_CODE() {
-        return BOP010_S_ORDER_CODE;
-    }
-
-    public Item getBOP010_S_PRODUCT_CODE() {
-        return BOP010_S_PRODUCT_CODE;
-    }
-
-    public Item getBOP010_S_SFC_CODE() {
-        return BOP010_S_SFC_CODE;
-    }
-
-    public Item getBOP010_S_PRODUCT_STATE_CODE() {
-        return BOP010_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getBOP020_F_HEART_BEAT() {
-        return BOP020_F_HEART_BEAT;
-    }
-
-    public Item getBOP020_J_PLC_START() {
-        return BOP020_J_PLC_START;
-    }
-
-    public Item getBOP020_J_PC_WRITE_ORDER() {
-        return BOP020_J_PC_WRITE_ORDER;
-    }
-
-    public Item getBOP020_J_PLC_WRITE_INFO() {
-        return BOP020_J_PLC_WRITE_INFO;
-    }
-
-    public Item getBOP020_J_PC_READ_INFO() {
-        return BOP020_J_PC_READ_INFO;
-    }
-
-    public Item getBOP020_J_PLC_FINISH() {
-        return BOP020_J_PLC_FINISH;
-    }
-
-    public Item getBOP020_J_PC_FINISH() {
-        return BOP020_J_PC_FINISH;
-    }
-
-    public Item getBOP020_S_ORDER_CODE() {
-        return BOP020_S_ORDER_CODE;
-    }
-
-    public Item getBOP020_S_PRODUCT_CODE() {
-        return BOP020_S_PRODUCT_CODE;
-    }
-
-    public Item getBOP020_S_SFC_CODE() {
-        return BOP020_S_SFC_CODE;
-    }
-
-    public Item getBOP020_S_PRODUCT_STATE_CODE() {
-        return BOP020_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getBOP030_F_HEART_BEAT() {
-        return BOP030_F_HEART_BEAT;
-    }
-
-    public Item getBOP030_J_PLC_START() {
-        return BOP030_J_PLC_START;
-    }
-
-    public Item getBOP030_J_PC_WRITE_ORDER() {
-        return BOP030_J_PC_WRITE_ORDER;
-    }
-
-    public Item getBOP030_J_PLC_WRITE_INFO() {
-        return BOP030_J_PLC_WRITE_INFO;
-    }
-
-    public Item getBOP030_J_PC_READ_INFO() {
-        return BOP030_J_PC_READ_INFO;
-    }
-
-    public Item getBOP030_J_PLC_FINISH() {
-        return BOP030_J_PLC_FINISH;
-    }
-
-    public Item getBOP030_J_PC_FINISH() {
-        return BOP030_J_PC_FINISH;
-    }
-
-    public Item getBOP030_S_ORDER_CODE() {
-        return BOP030_S_ORDER_CODE;
-    }
-
-    public Item getBOP030_S_PRODUCT_CODE() {
-        return BOP030_S_PRODUCT_CODE;
-    }
-
-    public Item getBOP030_S_SFC_CODE() {
-        return BOP030_S_SFC_CODE;
-    }
-
-    public Item getBOP030_S_PRODUCT_STATE_CODE() {
-        return BOP030_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getBOP040_F_HEART_BEAT() {
-        return BOP040_F_HEART_BEAT;
-    }
-
-    public Item getBOP040_J_PLC_START() {
-        return BOP040_J_PLC_START;
-    }
-
-    public Item getBOP040_J_PC_WRITE_ORDER() {
-        return BOP040_J_PC_WRITE_ORDER;
-    }
-
-    public Item getBOP040_J_PLC_WRITE_INFO() {
-        return BOP040_J_PLC_WRITE_INFO;
-    }
-
-    public Item getBOP040_J_PC_READ_INFO() {
-        return BOP040_J_PC_READ_INFO;
-    }
-
-    public Item getBOP040_J_PLC_FINISH() {
-        return BOP040_J_PLC_FINISH;
-    }
-
-    public Item getBOP040_J_PC_FINISH() {
-        return BOP040_J_PC_FINISH;
-    }
-
-    public Item getBOP040_S_ORDER_CODE() {
-        return BOP040_S_ORDER_CODE;
-    }
-
-    public Item getBOP040_S_PRODUCT_CODE() {
-        return BOP040_S_PRODUCT_CODE;
-    }
-
-    public Item getBOP040_S_SFC_CODE() {
-        return BOP040_S_SFC_CODE;
-    }
-
-    public Item getBOP040_S_PRODUCT_STATE_CODE() {
-        return BOP040_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP010_F_HEART_BEAT() {
-        return EOP010_F_HEART_BEAT;
-    }
-
-    public Item getEOP010_J_PLC_START() {
-        return EOP010_J_PLC_START;
-    }
-
-    public Item getEOP010_J_PC_WRITE_ORDER() {
-        return EOP010_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getEOP010_J_PLC_FINISH() {
-        return EOP010_J_PLC_FINISH;
-    }
-
-    public Item getEOP010_J_PC_FINISH() {
-        return EOP010_J_PC_FINISH;
-    }
-
-    public Item getEOP010_S_ORDER_CODE() {
-        return EOP010_S_ORDER_CODE;
-    }
-
-    public Item getEOP010_S_PRODUCT_CODE() {
-        return EOP010_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP010_S_SFC_CODE() {
-        return EOP010_S_SFC_CODE;
-    }
-
-    public Item getEOP010_S_PRODUCT_STATE_CODE() {
-        return EOP010_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP020_F_HEART_BEAT() {
-        return EOP020_F_HEART_BEAT;
-    }
-
-    public Item getEOP020_J_PLC_START() {
-        return EOP020_J_PLC_START;
-    }
-
-    public Item getEOP020_J_PC_WRITE_ORDER() {
-        return EOP020_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getEOP020_J_PLC_FINISH() {
-        return EOP020_J_PLC_FINISH;
-    }
-
-    public Item getEOP020_J_PC_FINISH() {
-        return EOP020_J_PC_FINISH;
-    }
-
-    public Item getEOP020_S_ORDER_CODE() {
-        return EOP020_S_ORDER_CODE;
-    }
-
-    public Item getEOP020_S_PRODUCT_CODE() {
-        return EOP020_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP020_S_SFC_CODE() {
-        return EOP020_S_SFC_CODE;
-    }
-
-    public Item getEOP020_S_PRODUCT_STATE_CODE() {
-        return EOP020_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP030_F_HEART_BEAT() {
-        return EOP030_F_HEART_BEAT;
-    }
-
-    public Item getEOP030_J_PLC_START() {
-        return EOP030_J_PLC_START;
-    }
-
-    public Item getEOP030_J_PC_WRITE_ORDER() {
-        return EOP030_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getEOP030_J_PLC_FINISH() {
-        return EOP030_J_PLC_FINISH;
-    }
-
-    public Item getEOP030_J_PC_FINISH() {
-        return EOP030_J_PC_FINISH;
-    }
-
-    public Item getEOP030_S_ORDER_CODE() {
-        return EOP030_S_ORDER_CODE;
-    }
-
-    public Item getEOP030_S_PRODUCT_CODE() {
-        return EOP030_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP030_S_SFC_CODE() {
-        return EOP030_S_SFC_CODE;
-    }
-
-    public Item getEOP030_S_PRODUCT_STATE_CODE() {
-        return EOP030_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP050_F_HEART_BEAT() {
-        return EOP050_F_HEART_BEAT;
-    }
-
-    public Item getEOP050_J_PLC_START() {
-        return EOP050_J_PLC_START;
-    }
-
-    public Item getEOP050_J_PC_WRITE_ORDER() {
-        return EOP050_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getEOP050_J_PLC_FINISH() {
-        return EOP050_J_PLC_FINISH;
-    }
-
-    public Item getEOP050_J_PC_FINISH() {
-        return EOP050_J_PC_FINISH;
-    }
-
-    public Item getEOP050_S_ORDER_CODE() {
-        return EOP050_S_ORDER_CODE;
-    }
-
-    public Item getEOP050_S_PRODUCT_CODE() {
-        return EOP050_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP050_S_SFC_CODE() {
-        return EOP050_S_SFC_CODE;
-    }
-
-    public Item getEOP050_S_PRODUCT_STATE_CODE() {
-        return EOP050_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP060_F_HEART_BEAT() {
-        return EOP060_F_HEART_BEAT;
-    }
-
-    public Item getEOP060_J_PLC_START() {
-        return EOP060_J_PLC_START;
-    }
-
-    public Item getEOP060_J_PC_WRITE_ORDER() {
-        return EOP060_J_PC_WRITE_ORDER;
-    }
-
-    public Item getEOP060_J_PLC_WRITE_INFO() {
-        return EOP060_J_PLC_WRITE_INFO;
-    }
-
-    public Item getEOP060_J_PC_READ_INFO() {
-        return EOP060_J_PC_READ_INFO;
-    }
-
-    public Item getEOP060_J_PLC_FINISH() {
-        return EOP060_J_PLC_FINISH;
-    }
-
-    public Item getEOP060_J_PC_FINISH() {
-        return EOP060_J_PC_FINISH;
-    }
-
-    public Item getEOP060_S_ORDER_CODE() {
-        return EOP060_S_ORDER_CODE;
-    }
-
-    public Item getEOP060_S_PRODUCT_CODE() {
-        return EOP060_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP060_S_SFC_CODE() {
-        return EOP060_S_SFC_CODE;
-    }
-
-    public Item getEOP060_S_PRODUCT_STATE_CODE() {
-        return EOP060_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP070_F_HEART_BEAT() {
-        return EOP070_F_HEART_BEAT;
-    }
-
-    public Item getEOP070_J_PLC_START() {
-        return EOP070_J_PLC_START;
-    }
-
-    public Item getEOP070_J_PC_WRITE_ORDER() {
-        return EOP070_J_PC_WRITE_ORDER;
-    }
-
-
-    public Item getEOP070_J_PLC_FINISH() {
-        return EOP070_J_PLC_FINISH;
-    }
-
-    public Item getEOP070_J_PC_FINISH() {
-        return EOP070_J_PC_FINISH;
-    }
-
-    public Item getEOP070_S_ORDER_CODE() {
-        return EOP070_S_ORDER_CODE;
-    }
-
-    public Item getEOP070_S_PRODUCT_CODE() {
-        return EOP070_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP070_S_SFC_CODE() {
-        return EOP070_S_SFC_CODE;
-    }
-
-    public Item getEOP070_S_PRODUCT_STATE_CODE() {
-        return EOP070_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP080_F_HEART_BEAT() {
-        return EOP080_F_HEART_BEAT;
-    }
-
-    public Item getEOP080_J_PLC_START() {
-        return EOP080_J_PLC_START;
-    }
-
-    public Item getEOP080_J_PC_WRITE_ORDER() {
-        return EOP080_J_PC_WRITE_ORDER;
-    }
-
-    public Item getEOP080_J_PLC_WRITE_INFO() {
-        return EOP080_J_PLC_WRITE_INFO;
-    }
-
-    public Item getEOP080_J_PC_READ_INFO() {
-        return EOP080_J_PC_READ_INFO;
-    }
-
-    public Item getEOP080_J_PLC_FINISH() {
-        return EOP080_J_PLC_FINISH;
-    }
-
-    public Item getEOP080_J_PC_FINISH() {
-        return EOP080_J_PC_FINISH;
-    }
-
-    public Item getEOP080_S_ORDER_CODE() {
-        return EOP080_S_ORDER_CODE;
-    }
-
-    public Item getEOP080_S_PRODUCT_CODE() {
-        return EOP080_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP080_S_SFC_CODE() {
-        return EOP080_S_SFC_CODE;
-    }
-
-    public Item getEOP080_S_PRODUCT_STATE_CODE() {
-        return EOP080_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP090_F_HEART_BEAT() {
-        return EOP090_F_HEART_BEAT;
-    }
-
-    public Item getEOP090_J_PLC_START() {
-        return EOP090_J_PLC_START;
-    }
-
-    public Item getEOP090_J_PC_WRITE_ORDER() {
-        return EOP090_J_PC_WRITE_ORDER;
-    }
-
-    public Item getEOP090_J_PLC_WRITE_INFO() {
-        return EOP090_J_PLC_WRITE_INFO;
-    }
-
-    public Item getEOP090_J_PC_READ_INFO() {
-        return EOP090_J_PC_READ_INFO;
-    }
-
-    public Item getEOP090_J_PLC_FINISH() {
-        return EOP090_J_PLC_FINISH;
-    }
-
-    public Item getEOP090_J_PC_FINISH() {
-        return EOP090_J_PC_FINISH;
-    }
-
-    public Item getEOP090_S_ORDER_CODE() {
-        return EOP090_S_ORDER_CODE;
-    }
-
-    public Item getEOP090_S_PRODUCT_CODE() {
-        return EOP090_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP090_S_SFC_CODE() {
-        return EOP090_S_SFC_CODE;
-    }
-
-    public Item getEOP090_S_PRODUCT_STATE_CODE() {
-        return EOP090_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getDOP010_F_HEART_BEAT() {
-        return DOP010_F_HEART_BEAT;
-    }
-
-    public Item getDOP010_J_PLC_START() {
-        return DOP010_J_PLC_START;
-    }
-
-    public Item getDOP010_J_PC_WRITE_ORDER() {
-        return DOP010_J_PC_WRITE_ORDER;
-    }
-
-    public Item getDOP010_J_PLC_WRITE_INFO() {
-        return DOP010_J_PLC_WRITE_INFO;
-    }
-
-    public Item getDOP010_J_PC_READ_INFO() {
-        return DOP010_J_PC_READ_INFO;
-    }
-
-    public Item getDOP010_J_PLC_FINISH() {
-        return DOP010_J_PLC_FINISH;
-    }
-
-    public Item getDOP010_J_PC_FINISH() {
-        return DOP010_J_PC_FINISH;
-    }
-
-    public Item getDOP010_S_ORDER_CODE() {
-        return DOP010_S_ORDER_CODE;
-    }
-
-    public Item getDOP010_S_PRODUCT_CODE() {
-        return DOP010_S_PRODUCT_CODE;
-    }
-
-    public Item getDOP010_S_SFC_CODE() {
-        return DOP010_S_SFC_CODE;
-    }
-
-    public Item getDOP010_S_PRODUCT_STATE_CODE() {
-        return DOP010_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getDOP020_F_HEART_BEAT() {
-        return DOP020_F_HEART_BEAT;
-    }
-
-    public Item getDOP020_J_PLC_START() {
-        return DOP020_J_PLC_START;
-    }
-
-    public Item getDOP020_J_PC_WRITE_ORDER() {
-        return DOP020_J_PC_WRITE_ORDER;
-    }
-
-    public Item getDOP020_J_PLC_WRITE_INFO() {
-        return DOP020_J_PLC_WRITE_INFO;
-    }
-
-    public Item getDOP020_J_PC_READ_INFO() {
-        return DOP020_J_PC_READ_INFO;
-    }
-
-    public Item getDOP020_J_PLC_FINISH() {
-        return DOP020_J_PLC_FINISH;
-    }
-
-    public Item getDOP020_J_PC_FINISH() {
-        return DOP020_J_PC_FINISH;
-    }
-
-    public Item getDOP020_S_ORDER_CODE() {
-        return DOP020_S_ORDER_CODE;
-    }
-
-    public Item getDOP020_S_PRODUCT_CODE() {
-        return DOP020_S_PRODUCT_CODE;
-    }
-
-    public Item getDOP020_S_SFC_CODE() {
-        return DOP020_S_SFC_CODE;
-    }
-
-    public Item getDOP020_S_PRODUCT_STATE_CODE() {
-        return DOP020_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP010_S_NUMBER() {
-        return OP010_S_NUMBER;
-    }
-
-    public Item getCOP010_S_NUMBER() {
-        return COP010_S_NUMBER;
-    }
-
-    public Item getDOP010_S_NUMBER() {
-        return DOP010_S_NUMBER;
-    }
-
-    public Item getEOP040_F_HEART_BEAT() {
-        return EOP040_F_HEART_BEAT;
-    }
-
-    public Item getEOP040_J_PLC_START() {
-        return EOP040_J_PLC_START;
-    }
-
-    public Item getEOP040_J_PC_WRITE_ORDER() {
-        return EOP040_J_PC_WRITE_ORDER;
-    }
-
-    public Item getEOP040_J_PLC_FINISH() {
-        return EOP040_J_PLC_FINISH;
-    }
-
-    public Item getEOP040_J_PC_FINISH() {
-        return EOP040_J_PC_FINISH;
-    }
-
-    public Item getEOP040_S_ORDER_CODE() {
-        return EOP040_S_ORDER_CODE;
-    }
-
-    public Item getEOP040_S_PRODUCT_CODE() {
-        return EOP040_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP040_S_SFC_CODE() {
-        return EOP040_S_SFC_CODE;
-    }
-
-    public Item getEOP040_S_PRODUCT_STATE_CODE() {
-        return EOP040_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getBOP010_S_NUMBER() {
-        return BOP010_S_NUMBER;
-    }
-
-    public Item getEOP090B_F_HEART_BEAT() {
-        return EOP090B_F_HEART_BEAT;
-    }
-
-    public Item getEOP090B_J_PLC_START() {
-        return EOP090B_J_PLC_START;
-    }
-
-    public Item getEOP090B_J_PC_WRITE_ORDER() {
-        return EOP090B_J_PC_WRITE_ORDER;
-    }
-
-    public Item getEOP090B_J_PLC_WRITE_INFO() {
-        return EOP090B_J_PLC_WRITE_INFO;
-    }
-
-    public Item getEOP090B_J_PC_READ_INFO() {
-        return EOP090B_J_PC_READ_INFO;
-    }
-
-    public Item getEOP090B_J_PLC_FINISH() {
-        return EOP090B_J_PLC_FINISH;
-    }
-
-    public Item getEOP090B_J_PC_FINISH() {
-        return EOP090B_J_PC_FINISH;
-    }
-
-    public Item getEOP090B_S_ORDER_CODE() {
-        return EOP090B_S_ORDER_CODE;
-    }
-
-    public Item getEOP090B_S_PRODUCT_CODE() {
-        return EOP090B_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP090B_S_SFC_CODE() {
-        return EOP090B_S_SFC_CODE;
-    }
-
-    public Item getEOP090B_S_PRODUCT_STATE_CODE() {
-        return EOP090B_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP010_E_STATE() {
-        return OP010_E_STATE;
-    }
-
-    public Item getOP130B_F_HEART_BEAT() {
-        return OP130B_F_HEART_BEAT;
-    }
-
-    public Item getOP130B_J_PLC_START() {
-        return OP130B_J_PLC_START;
-    }
-
-    public Item getOP130B_J_PC_WRITE_ORDER() {
-        return OP130B_J_PC_WRITE_ORDER;
-    }
-
-    public Item getOP130B_J_PLC_FINISH() {
-        return OP130B_J_PLC_FINISH;
-    }
-
-    public Item getOP130B_J_PC_FINISH() {
-        return OP130B_J_PC_FINISH;
-    }
-
-    public Item getOP130B_S_ORDER_CODE() {
-        return OP130B_S_ORDER_CODE;
-    }
-
-    public Item getOP130B_S_PRODUCT_CODE() {
-        return OP130B_S_PRODUCT_CODE;
-    }
-
-    public Item getOP130B_S_SFC_CODE() {
-        return OP130B_S_SFC_CODE;
-    }
-
-    public Item getOP130B_S_PRODUCT_STATE_CODE() {
-        return OP130B_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP070B_F_HEART_BEAT() {
-        return EOP070B_F_HEART_BEAT;
-    }
-
-    public Item getEOP070B_J_PLC_START() {
-        return EOP070B_J_PLC_START;
-    }
-
-    public Item getEOP070B_J_PC_WRITE_ORDER() {
-        return EOP070B_J_PC_WRITE_ORDER;
-    }
-
-    public Item getEOP070B_J_PLC_FINISH() {
-        return EOP070B_J_PLC_FINISH;
-    }
-
-    public Item getEOP070B_J_PC_FINISH() {
-        return EOP070B_J_PC_FINISH;
-    }
-
-    public Item getEOP070B_S_ORDER_CODE() {
-        return EOP070B_S_ORDER_CODE;
-    }
-
-    public Item getEOP070B_S_PRODUCT_CODE() {
-        return EOP070B_S_PRODUCT_CODE;
-    }
-
-    public Item getEOP070B_S_SFC_CODE() {
-        return EOP070B_S_SFC_CODE;
-    }
-
-    public Item getEOP070B_S_PRODUCT_STATE_CODE() {
-        return EOP070B_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getOP050_S_SFC_CODE_COP() {
-        return OP050_S_SFC_CODE_COP;
-    }
-
-    public Item getOP050_S_SFC_CODE_BOP() {
-        return OP050_S_SFC_CODE_BOP;
-    }
-
-    public Item getBOP030B_F_HEART_BEAT() {
-        return BOP030B_F_HEART_BEAT;
-    }
-
-    public Item getBOP030B_J_PLC_START() {
-        return BOP030B_J_PLC_START;
-    }
-
-    public Item getBOP030B_J_PC_WRITE_ORDER() {
-        return BOP030B_J_PC_WRITE_ORDER;
-    }
-
-    public Item getBOP030B_J_PLC_WRITE_INFO() {
-        return BOP030B_J_PLC_WRITE_INFO;
-    }
-
-    public Item getBOP030B_J_PC_READ_INFO() {
-        return BOP030B_J_PC_READ_INFO;
-    }
-
-    public Item getBOP030B_J_PLC_FINISH() {
-        return BOP030B_J_PLC_FINISH;
-    }
-
-    public Item getBOP030B_J_PC_FINISH() {
-        return BOP030B_J_PC_FINISH;
-    }
-
-    public Item getBOP030B_S_ORDER_CODE() {
-        return BOP030B_S_ORDER_CODE;
-    }
-
-    public Item getBOP030B_S_PRODUCT_CODE() {
-        return BOP030B_S_PRODUCT_CODE;
-    }
-
-    public Item getBOP030B_S_SFC_CODE() {
-        return BOP030B_S_SFC_CODE;
-    }
-
-    public Item getBOP030B_S_PRODUCT_STATE_CODE() {
-        return BOP030B_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getBOP040B_F_HEART_BEAT() {
-        return BOP040B_F_HEART_BEAT;
-    }
-
-    public Item getBOP040B_J_PLC_START() {
-        return BOP040B_J_PLC_START;
-    }
-
-    public Item getBOP040B_J_PC_WRITE_ORDER() {
-        return BOP040B_J_PC_WRITE_ORDER;
-    }
-
-    public Item getBOP040B_J_PLC_WRITE_INFO() {
-        return BOP040B_J_PLC_WRITE_INFO;
-    }
-
-    public Item getBOP040B_J_PC_READ_INFO() {
-        return BOP040B_J_PC_READ_INFO;
-    }
-
-    public Item getBOP040B_J_PLC_FINISH() {
-        return BOP040B_J_PLC_FINISH;
-    }
-
-    public Item getBOP040B_J_PC_FINISH() {
-        return BOP040B_J_PC_FINISH;
-    }
-
-    public Item getBOP040B_S_ORDER_CODE() {
-        return BOP040B_S_ORDER_CODE;
-    }
-
-    public Item getBOP040B_S_PRODUCT_CODE() {
-        return BOP040B_S_PRODUCT_CODE;
-    }
-
-    public Item getBOP040B_S_SFC_CODE() {
-        return BOP040B_S_SFC_CODE;
-    }
-
-    public Item getBOP040B_S_PRODUCT_STATE_CODE() {
-        return BOP040B_S_PRODUCT_STATE_CODE;
-    }
-
-    public Item getEOP010_S_MATERIAL_CODE() {
-        return EOP010_S_MATERIAL_CODE;
-    }
-
-    public Item getOP010_P_REPAIR() {
-        return OP010_P_REPAIR;
-    }
-
-    public Item getOP010_P_REPAIR_LOCATION() {
-        return OP010_P_REPAIR_LOCATION;
-    }
-
-    public Item getOP080_P_REPAIR() {
-        return OP080_P_REPAIR;
-    }
-
-    public Item getOP080_P_REPAIR_LOCATION() {
-        return OP080_P_REPAIR_LOCATION;
-    }
-
-    public Item getCOP010_P_REPAIR() {
-        return COP010_P_REPAIR;
-    }
-
-    public Item getCOP010_P_REPAIR_LOCATION() {
-        return COP010_P_REPAIR_LOCATION;
-    }
-
-    public Item getBOP010_P_REPAIR() {
-        return BOP010_P_REPAIR;
-    }
-
-    public Item getBOP010_P_REPAIR_LOCATION() {
-        return BOP010_P_REPAIR_LOCATION;
-    }
-
-    public Item getEOP060_P_REPAIR() {
-        return EOP060_P_REPAIR;
-    }
-
-    public Item getEOP060_P_REPAIR_LOCATION() {
-        return EOP060_P_REPAIR_LOCATION;
-    }
-
-    public Item getDOP010_P_REPAIR() {
-        return DOP010_P_REPAIR;
-    }
-
-    public Item getDOP010_P_REPAIR_LOCATION() {
-        return DOP010_P_REPAIR_LOCATION;
-    }
-
-    public GreaseManageService getGreaseManageService() {
-        return greaseManageService;
-    }
-
-    public Item getOP050_OIL_STATE() {
-        return OP050_OIL_STATE;
-    }
-
-    public Item getBOP030_OIL_STATE() {
-        return BOP030_OIL_STATE;
-    }
-
-    public Item getDOP020_OIL_STATE() {
-        return DOP020_OIL_STATE;
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/conf/OPCConfiguration.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/conf/OPCConfiguration.java
deleted file mode 100644
index 5fcd056..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/conf/OPCConfiguration.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package cn.stylefeng.guns.plcserver.opc.conf;
-
-import org.openscada.opc.lib.common.ConnectionInformation;
-
-public final class OPCConfiguration {
-
-    private final static ConnectionInformation ci;
-    private static String HOST = "172.20.1.10";
-    //private static String HOST = "192.168.1.100";
-    private static String USER = "OPCServer";
-    private static String PASSWORD = "admin@123";
-    private static String CLSID= "7BC0CC8E-482C-47CA-ABDC-0FE7F9C6E729";
-    private static String PROGID = "";
-
-    /*public final static String CONFIG_USERNAME = "username";
-    public final static String CONFIG_PASSWORD = "password";
-    public final static String CONFIG_HOST = "host";
-    public final static String CONFIG_DOMAIN = "domain";
-    public final static String CONFIG_CLSID = "clsid";
-    public final static String CONFIG_PROGID = "progid";
-    private final static String CONFIG_FILE_NAME = "opc.properties";*/
-    /**
-     * 鍔犺浇閰嶇疆鏂囦欢
-     */
-    static {
-        ci = new ConnectionInformation();
-        /*prop = new Properties();
-        try {
-            prop.load(OPCConfiguration.class.getClassLoader().getResourceAsStream(CONFIG_FILE_NAME));
-        } catch (IOException e) {
-            e.printStackTrace();
-        }*/
-    }
-    /**
-     * 閫氳繃鍚嶅瓧鑾峰緱閰嶇疆鐨勫��
-     */
-    /*public static String getEntryValue(String name) {
-        return prop.getProperty(name);
-    }*/
-    /**
-     * 鑾峰緱鍖呭惈ClsId鐨勮繛鎺ヤ俊鎭�
-     */
-    public static ConnectionInformation getCLSIDConnectionInfomation() {
-        ci.setProgId(null);
-        getConnectionInfomation();
-        ci.setClsid(CLSID);
-        return ci;
-    }
-    /**
-     * 鑾峰緱鍖呭惈ProgId鐨勮繛鎺ヤ俊鎭�
-     */
-    public static ConnectionInformation getPROGIDConnectionInfomation() {
-        ci.setClsid(null);
-        getConnectionInfomation();
-        ci.setProgId(PROGID);
-        return ci;
-    }
-    /**
-     * 鑾峰緱鍩虹鐨勮繛鎺ヤ俊鎭�
-     */
-    private static void getConnectionInfomation() {
-        ci.setHost(HOST);
-        ci.setDomain("");
-        ci.setUser(USER);
-        ci.setPassword(PASSWORD);
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/BOP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/BOP010ServerInterface.java
deleted file mode 100644
index 00f12b3..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/BOP010ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010;
-
-public interface BOP010ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_F_HEART_BEAT.java
deleted file mode 100644
index 6e41964..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getBOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP010_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_FINISH.java
deleted file mode 100644
index 72d3088..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP010_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_READ_INFO.java
deleted file mode 100644
index b7b6cc7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP010_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_WRITE_ORDER.java
deleted file mode 100644
index e023d92..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP010_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_FINISH.java
deleted file mode 100644
index ef0f253..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP010_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_START.java
deleted file mode 100644
index 14e7bea..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP010_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 6d684d9..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/callback/DataCallBack_BOP010_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP010_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP010_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/impl/BOP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/impl/BOP010ServerInterfaceImpl.java
deleted file mode 100644
index 6f52b1a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP010/impl/BOP010ServerInterfaceImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP010.impl;
-
-
-import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.result.MaterialTraceabilityResult;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.opc.unit.qrCode;
-import cn.stylefeng.guns.plcserver.server.BOP010.BOP010ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Random;
-
-
-public class BOP010ServerInterfaceImpl implements BOP010ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(BOP010ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "BOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "BOP010";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "BOP010_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if (value.equals("false")) {
-            OPCUnit.write(opc.getBOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP010_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-            /*String isHeartBeat = OPCUnit.read(opc.getBOP010_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.BOP010_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getBOP010_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-
-                    String isFinish = OPCUnit.read(opc.getBOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-
-                    if(isFinish.equals("false")){
-                        String isRepair = OPCUnit.read(opc.getBOP010_P_REPAIR());//鏄惁杩斾慨
-                        if(isRepair.equals("true")){
-                            handleRepair();
-                        }else{
-                            handleOrder();
-                        }
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getBOP010_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleMaterial();
-                    }
-                }
-
-
-            }else{
-                logger.info("BOP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleRepair() {
-        RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam();
-        repairManageInfoParam.setLocationCode(LOCATION_CODE);
-        repairManageInfoParam.setManageType("2");
-        repairManageInfoParam.setUpPlc("0");
-        RepairManageInfoService repairManageInfoService = opc.repairManageInfoService;
-        List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam);
-        if(list.size()>0) {
-            RepairManageInfoResult result = list.get(0);
-
-            //鑷姩鐢熸垚鍞竴鐮�
-            Random random = new Random(System.currentTimeMillis());
-            S_SFC_CODE = "BOP" + random.nextLong();
-
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getProductCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            String  repairLocation = result.getPoorLocationCode();//
-
-            //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿
-            LocationInfoParam param = new LocationInfoParam();
-            param.setLocationCode(repairLocation);
-            LocationInfoService locationInfoService = opc.locationInfoService;
-            List<LocationInfoResult> results = locationInfoService.findListBySpec(param);
-            if(results.size()>0) {
-                LocationInfoResult r = results.get(0);
-                String repairLocationNo = r.getSpareField2();
-                if(null != repairLocationNo && "" != repairLocationNo){
-                    OPCUnit.write(opc.getBOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-                    OPCUnit.write(opc.getBOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-                    OPCUnit.write(opc.getBOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-                    OPCUnit.write(opc.getBOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙�
-                    OPCUnit.write(opc.getBOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-
-                    //鏇存柊涓哄凡缁忚繑淇笂绾�
-                    Long id = result.getId();
-                    repairManageInfoParam.setId(id);
-                    repairManageInfoParam.setUpPlc("1");
-                    repairManageInfoService.update(repairManageInfoParam);
-
-                }else{
-                    logger.info("BOP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒");
-                }
-            }else{
-                logger.info("BOP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�");
-            }
-        }
-    }
-    //PC涓嬪彂宸ュ崟
-    public void handleOrder() {
-
-        IN_TIME = DateTool.getLocalTimeForDate();
-        ProductionOrdeInfoParam param = new ProductionOrdeInfoParam();
-        param.setProductionLine("");//浜х嚎
-        param.setOrderStatus("3");//宸ュ崟鐘舵��
-
-        ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-        List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param);
-
-        if(list.size()>0) {
-            ProductionOrdeInfoResult result = list.get(0);
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getMaterialCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-
-            //鑷姩鐢熸垚鍞竴鐮�
-            Random random = new Random(System.currentTimeMillis());
-            S_SFC_CODE = "BOP" + random.nextLong();
-
-
-            OPCUnit.write(opc.getBOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-            OPCUnit.write(opc.getBOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧绫诲瀷
-            OPCUnit.write(opc.getBOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-            // OPCUnit.write(opc.getBOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮�
-            OPCUnit.write(opc.getBOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺
-
-            OPCUnit.write(opc.getBOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-            logger.info("BOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�2");
-        }else{
-            logger.info("BOP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�");
-        }
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getBOP010_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP010_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getBOP010_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP010_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        //鍐欏畬鎴�
-        OPCUnit.write(opc.getBOP010_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("BOP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/BOP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/BOP020ServerInterface.java
deleted file mode 100644
index c42bf6d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/BOP020ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020;
-
-public interface BOP020ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_F_HEART_BEAT.java
deleted file mode 100644
index 7f95220..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getBOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP020_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_FINISH.java
deleted file mode 100644
index 031d6a0..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP020_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_READ_INFO.java
deleted file mode 100644
index fc8b21d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP020_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_WRITE_ORDER.java
deleted file mode 100644
index b9fac05..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP020_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_FINISH.java
deleted file mode 100644
index 35d19e9..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP020_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_START.java
deleted file mode 100644
index cb1cb23..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP020_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 3ee15c3..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/callback/DataCallBack_BOP020_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP020_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP020_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/impl/BOP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/impl/BOP020ServerInterfaceImpl.java
deleted file mode 100644
index 4f4374c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP020/impl/BOP020ServerInterfaceImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP020.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.BOP020.BOP020ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class BOP020ServerInterfaceImpl implements BOP020ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(BOP020ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "BOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "BOP020";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "BOP020_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if (value.equals("false")) {
-            OPCUnit.write(opc.getBOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP020_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-            /*String isHeartBeat = OPCUnit.read(opc.getBOP020_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.BOP020_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getBOP020_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getBOP020_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-
-
-                    }
-                }
-
-            }else{
-                logger.info("BOP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getBOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getBOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getBOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("BOP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("BOP020宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("BOP020宸ヤ綅,handleInfo END锛�");
-    }
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getBOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getBOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP020_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getBOP020_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("BOP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/BOP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/BOP030ServerInterface.java
deleted file mode 100644
index 2068336..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/BOP030ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030;
-
-public interface BOP030ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_F_HEART_BEAT.java
deleted file mode 100644
index 0c23838..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getBOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP030_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_FINISH.java
deleted file mode 100644
index f0a4798..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP030_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_READ_INFO.java
deleted file mode 100644
index bca7b2a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP030_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_WRITE_ORDER.java
deleted file mode 100644
index bf6d6f8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP030_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_FINISH.java
deleted file mode 100644
index 37a2d18..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP030_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_START.java
deleted file mode 100644
index f6364b8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP030_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_WRITE_INFO.java
deleted file mode 100644
index beee4d7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/callback/DataCallBack_BOP030_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP030_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/impl/BOP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/impl/BOP030ServerInterfaceImpl.java
deleted file mode 100644
index 413e49c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030/impl/BOP030ServerInterfaceImpl.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult;
-import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.BOP030.BOP030ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
-import java.util.Date;
-import java.util.List;
-
-
-public class BOP030ServerInterfaceImpl implements BOP030ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(BOP030ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "BOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "BOP030";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "BOP030_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if (value.equals("false")) {
-            OPCUnit.write(opc.getBOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP030_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-      /*      String isHeartBeat = OPCUnit.read(opc.getBOP030_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.BOP030_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getBOP030_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getBOP030_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-                handleOilState();
-            }else{
-                logger.info("BOP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleOilState(){
-        GreaseManageParam param = new GreaseManageParam();
-        GreaseManageService greaseManageService = opc.greaseManageService;
-        param.setLocationCode(LOCATION_CODE);
-        List<GreaseManageResult> list = greaseManageService.findListBySpec(param);
-        if(list.size()>0) {
-            String duaDate = list.get(0).getDuaDate();
-
-            SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
-            String currentDate = format.format(new Date());
-            long  daysBetween = getRemainder(currentDate,duaDate);
-            if(daysBetween>0){
-                OPCUnit.write(opc.getBOP030_OIL_STATE(), "false"); //鍐欐补鑴傜姸鎬�
-            }else{
-                OPCUnit.write(opc.getBOP030_OIL_STATE(), "true"); //鍐欐补鑴傜姸鎬�
-            }
-            //logger.info("鍒版湡鏃ユ湡锛�"+duaDate+"褰撳墠鏃ユ湡锛�"+currentDate+"鍓╀綑澶╂暟锛氾細"+daysBetween);
-        }
-    }
-
-    public static long getRemainder(String currentDate,String tableDate){
-        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
-        LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter);
-        LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter);
-        long days = ChronoUnit.DAYS.between(localDate1, localDate2);
-        return days;
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getBOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getBOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getBOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("BOP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("BOP030宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("BOP030宸ヤ綅,handleInfo END锛�");
-    }
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getBOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getBOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP030_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getBOP030_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("BOP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/BOP030BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/BOP030BServerInterface.java
deleted file mode 100644
index db2bed1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/BOP030BServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030B;
-
-public interface BOP030BServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/callback/DataCallBack_BOP030B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/callback/DataCallBack_BOP030B_F_HEART_BEAT.java
deleted file mode 100644
index 8ea42e5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/callback/DataCallBack_BOP030B_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP030B_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getBOP030B_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP030B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP030B_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/impl/BOP030BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/impl/BOP030BServerInterfaceImpl.java
deleted file mode 100644
index 930f273..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP030B/impl/BOP030BServerInterfaceImpl.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP030B.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.server.BOP030.BOP030ServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP030B.BOP030BServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class BOP030BServerInterfaceImpl implements BOP030BServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(BOP030BServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "BOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "BOP030B";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "BOP030B_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if (value.equals("false")) {
-            OPCUnit.write(opc.getBOP030B_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP030B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP030B_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-         /*   String isHeartBeat = OPCUnit.read(opc.getBOP030B_F_HEART_BEAT());
-            assert isHeartBeat != null;
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.BOP030B_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getBOP030B_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP030B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getBOP030B_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP030B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                    }
-                }
-
-            }else{
-                logger.info("BOP030B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getBOP030B_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030B_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getBOP030B_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getBOP030B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("BOP030B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("BOP030B宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("BOP030B宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getBOP030B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP030B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getBOP030B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP030B_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getBOP030B_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("BOP030B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/BOP040ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/BOP040ServerInterface.java
deleted file mode 100644
index 105495f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/BOP040ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040;
-
-public interface BOP040ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_F_HEART_BEAT.java
deleted file mode 100644
index fca0790..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getBOP040_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP040_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP040_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_FINISH.java
deleted file mode 100644
index c862a6c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP040_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_READ_INFO.java
deleted file mode 100644
index 3aa4714..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP040_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 358ccb8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP040_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_FINISH.java
deleted file mode 100644
index 3c849b4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP040_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_START.java
deleted file mode 100644
index a5daa18..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP040_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 1880208..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/callback/DataCallBack_BOP040_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.BOP040_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/impl/BOP040ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/impl/BOP040ServerInterfaceImpl.java
deleted file mode 100644
index 05277f8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040/impl/BOP040ServerInterfaceImpl.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.BOP040.BOP040ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class BOP040ServerInterfaceImpl implements BOP040ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(BOP040ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "BOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "BOP040";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "BOP040_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if (value.equals("false")) {
-            OPCUnit.write(opc.getBOP040_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP040_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP040_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-        /*    String isHeartBeat = OPCUnit.read(opc.getBOP040_F_HEART_BEAT());
-            assert isHeartBeat != null;
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.BOP040_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getBOP040_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP040_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getBOP040_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP040_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("BOP040宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getBOP040_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getBOP040_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getBOP040_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("BOP040宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("BOP040宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("BOP040宸ヤ綅,handleInfo END锛�");
-    }
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getBOP040_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getBOP040_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP040_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getBOP040_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("BOP040宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/BOP040BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/BOP040BServerInterface.java
deleted file mode 100644
index 06a513d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/BOP040BServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040B;
-
-public interface BOP040BServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/callback/DataCallBack_BOP040B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/callback/DataCallBack_BOP040B_F_HEART_BEAT.java
deleted file mode 100644
index 46cb9c5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/callback/DataCallBack_BOP040B_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_BOP040B_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getBOP040B_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP040B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP040B_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/impl/BOP040BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/impl/BOP040BServerInterfaceImpl.java
deleted file mode 100644
index 5ceef9b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/BOP040B/impl/BOP040BServerInterfaceImpl.java
+++ /dev/null
@@ -1,202 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.BOP040B.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.server.BOP040.BOP040ServerInterface;
-import cn.stylefeng.guns.plcserver.server.BOP040B.BOP040BServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class BOP040BServerInterfaceImpl implements BOP040BServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(BOP040BServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "BOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "BOP040B";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "BOP040B_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if (value.equals("false")) {
-            OPCUnit.write(opc.getBOP040B_F_HEART_BEAT(), "true");
-            GlobalVariable.BOP040B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.BOP040B_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getBOP040B_F_HEART_BEAT());
-            assert isHeartBeat != null;
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.BOP040B_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getBOP040B_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP040B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getBOP040B_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getBOP040B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                    }
-                }
-
-            }else{
-                logger.info("BOP040B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getBOP040B_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040B_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getBOP040B_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getBOP040B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("BOP040B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("BOP040B宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("BOP040B宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getBOP040B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getBOP040B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getBOP040B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getBOP040B_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getBOP040B_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("BOP040B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/COP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/COP010ServerInterface.java
deleted file mode 100644
index 29a9b0e..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/COP010ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010;
-
-public interface COP010ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_F_HEART_BEAT.java
deleted file mode 100644
index 337e1a5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getCOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.COP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.COP010_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_FINISH.java
deleted file mode 100644
index d0f5d30..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP010_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_READ_INFO.java
deleted file mode 100644
index 2425334..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP010_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_WRITE_ORDER.java
deleted file mode 100644
index c3c44f1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP010_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_FINISH.java
deleted file mode 100644
index c46d70f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP010_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_START.java
deleted file mode 100644
index 3173f6c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP010_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 34adf03..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/callback/DataCallBack_COP010_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP010_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP010_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/impl/COP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/impl/COP010ServerInterfaceImpl.java
deleted file mode 100644
index 42ffd9b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP010/impl/COP010ServerInterfaceImpl.java
+++ /dev/null
@@ -1,281 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP010.impl;
-
-
-import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.opc.unit.qrCode;
-import cn.stylefeng.guns.plcserver.server.COP010.COP010ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Random;
-
-
-public class COP010ServerInterfaceImpl implements COP010ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(COP010ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "COP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "COP010";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "COP010_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getCOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.COP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.COP010_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-        /*    String isHeartBeat = OPCUnit.read(opc.getCOP010_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-
-            if(GlobalVariable.COP010_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getCOP010_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getCOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        String isRepair = OPCUnit.read(opc.getCOP010_P_REPAIR());//鏄惁杩斾慨
-                        if(isRepair.equals("true")){
-                            handleRepair();
-                        }else{
-                            handleOrder();
-                        }
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getCOP010_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getCOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleMaterial();
-                    }
-                }
-
-
-            }else{
-                logger.info("COP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleRepair() {
-        RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam();
-        repairManageInfoParam.setLocationCode(LOCATION_CODE);
-        repairManageInfoParam.setManageType("2");
-        repairManageInfoParam.setUpPlc("0");
-        RepairManageInfoService repairManageInfoService = opc.repairManageInfoService;
-        List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam);
-        if(list.size()>0) {
-            RepairManageInfoResult result = list.get(0);
-
-            //鑷姩鐢熸垚鍞竴鐮�
-            Random random = new Random(System.currentTimeMillis());
-            S_SFC_CODE = "COP" + random.nextLong();
-
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getProductCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            String  repairLocation = result.getPoorLocationCode();//
-
-            //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿
-            LocationInfoParam param = new LocationInfoParam();
-            param.setLocationCode(repairLocation);
-            LocationInfoService locationInfoService = opc.locationInfoService;
-            List<LocationInfoResult> results = locationInfoService.findListBySpec(param);
-            if(results.size()>0) {
-                LocationInfoResult r = results.get(0);
-                String repairLocationNo = r.getSpareField2();
-                if(null != repairLocationNo && "" != repairLocationNo){
-                    OPCUnit.write(opc.getCOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-                    OPCUnit.write(opc.getCOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-                    OPCUnit.write(opc.getCOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-                    OPCUnit.write(opc.getCOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙�
-                    OPCUnit.write(opc.getCOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-
-                    //鏇存柊涓哄凡缁忚繑淇笂绾�
-                    Long id = result.getId();
-                    repairManageInfoParam.setId(id);
-                    repairManageInfoParam.setUpPlc("1");
-                    repairManageInfoService.update(repairManageInfoParam);
-
-                }else{
-                    logger.info("COP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒");
-                }
-            }else{
-                logger.info("COP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�");
-            }
-        }
-    }
-
-    //PC涓嬪彂宸ュ崟
-    public void handleOrder() {
-
-        IN_TIME = DateTool.getLocalTimeForDate();
-        ProductionOrdeInfoParam param = new ProductionOrdeInfoParam();
-        param.setProductionLine("");//浜х嚎
-        param.setOrderStatus("3");//宸ュ崟鐘舵��
-
-        ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-        List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param);
-
-        if(list.size()>0) {
-            ProductionOrdeInfoResult result = list.get(0);
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getMaterialCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-
-            //鑷姩鐢熸垚鍞竴鐮�
-            Random random = new Random(System.currentTimeMillis());
-            S_SFC_CODE = "COP"+ random.nextLong();
-
-
-            OPCUnit.write(opc.getCOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-            OPCUnit.write(opc.getCOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧绫诲瀷
-            OPCUnit.write(opc.getCOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-           // OPCUnit.write(opc.getCOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮�
-            OPCUnit.write(opc.getCOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺
-
-            OPCUnit.write(opc.getCOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-            logger.info("COP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�2");
-        }else{
-            logger.info("COP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�");
-        }
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getCOP010_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP010_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getCOP010_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getCOP010_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        //鍐欏畬鎴�
-        OPCUnit.write(opc.getCOP010_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("COP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/COP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/COP020ServerInterface.java
deleted file mode 100644
index 2c6c60b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/COP020ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020;
-
-public interface COP020ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_F_HEART_BEAT.java
deleted file mode 100644
index 4b04334..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getCOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.COP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.COP020_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_FINISH.java
deleted file mode 100644
index 5f25163..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP020_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_READ_INFO.java
deleted file mode 100644
index b1e0c98..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP020_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 0fe13d2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP020_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_FINISH.java
deleted file mode 100644
index 746c234..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP020_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_START.java
deleted file mode 100644
index a1d8237..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP020_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_WRITE_INFO.java
deleted file mode 100644
index b658187..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/callback/DataCallBack_COP020_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP020_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP020_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/impl/COP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/impl/COP020ServerInterfaceImpl.java
deleted file mode 100644
index 9e7bc93..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP020/impl/COP020ServerInterfaceImpl.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP020.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.COP020.COP020ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class COP020ServerInterfaceImpl implements COP020ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(COP020ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "COP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "COP020";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "COP020_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getCOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.COP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.COP020_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-        /*    String isHeartBeat = OPCUnit.read(opc.getCOP020_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.COP020_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getCOP020_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getCOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getCOP020_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getCOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("COP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getCOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getCOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getCOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("COP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("COP020宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("COP020宸ヤ綅,handleInfo END锛�");
-    }
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getCOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getCOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getCOP020_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getCOP020_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("COP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/COP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/COP030ServerInterface.java
deleted file mode 100644
index 2b3a4a5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/COP030ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030;
-
-public interface COP030ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_F_HEART_BEAT.java
deleted file mode 100644
index 63c340c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getCOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.COP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count >  GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.COP030_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_FINISH.java
deleted file mode 100644
index 1cdeb5c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP030_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_READ_INFO.java
deleted file mode 100644
index 40bf51b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP030_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 7af13ac..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP030_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_FINISH.java
deleted file mode 100644
index 9ecf0f2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP030_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_START.java
deleted file mode 100644
index ab17f74..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP030_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 5145a3a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/callback/DataCallBack_COP030_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_COP030_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.COP030_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/impl/COP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/impl/COP030ServerInterfaceImpl.java
deleted file mode 100644
index 8600293..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/COP030/impl/COP030ServerInterfaceImpl.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.COP030.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.COP030.COP030ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class COP030ServerInterfaceImpl implements COP030ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(COP030ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "COP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "COP030";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "COP030_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getCOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.COP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.COP030_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-         /*   String isHeartBeat = OPCUnit.read(opc.getCOP030_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.COP030_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getCOP030_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getCOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getCOP030_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getCOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("COP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getCOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getCOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getCOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("COP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("COP030宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("COP030宸ヤ綅,handleInfo END锛�");
-    }
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getCOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getCOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getCOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getCOP030_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getCOP030_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("COP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/DOP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/DOP010ServerInterface.java
deleted file mode 100644
index e734a2f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/DOP010ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010;
-
-public interface DOP010ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_F_HEART_BEAT.java
deleted file mode 100644
index e0ca583..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getDOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.DOP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.DOP010_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_FINISH.java
deleted file mode 100644
index 4e83aa3..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP010_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_READ_INFO.java
deleted file mode 100644
index 0bcb29b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP010_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_WRITE_ORDER.java
deleted file mode 100644
index f301fae..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP010_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_FINISH.java
deleted file mode 100644
index 904a178..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP010_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_START.java
deleted file mode 100644
index ae4cd7c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP010_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 4543fe5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/callback/DataCallBack_DOP010_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP010_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP010_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/impl/DOP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/impl/DOP010ServerInterfaceImpl.java
deleted file mode 100644
index 814b5b1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP010/impl/DOP010ServerInterfaceImpl.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP010.impl;
-
-
-import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.result.MaterialTraceabilityResult;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.server.COP010.COP010ServerInterface;
-import cn.stylefeng.guns.plcserver.server.DOP010.DOP010ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Random;
-
-
-public class DOP010ServerInterfaceImpl implements DOP010ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(DOP010ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "DOP010";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "DOP010_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getDOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.DOP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.DOP010_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-          /*  String isHeartBeat = OPCUnit.read(opc.getDOP010_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.DOP010_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getDOP010_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getDOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-
-                    if(isFinish.equals("false")){
-                        String isRepair = OPCUnit.read(opc.getDOP010_P_REPAIR());//鏄惁杩斾慨
-                        if(isRepair.equals("true")){
-                            handleRepair();
-                        }else{
-                            handleOrder();
-                        }
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getDOP010_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getDOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("DOP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleRepair() {
-        RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam();
-        repairManageInfoParam.setLocationCode(LOCATION_CODE);
-        repairManageInfoParam.setManageType("2");
-        repairManageInfoParam.setUpPlc("0");
-        RepairManageInfoService repairManageInfoService = opc.repairManageInfoService;
-        List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam);
-        if(list.size()>0) {
-            RepairManageInfoResult result = list.get(0);
-
-            S_SFC_CODE = result.getSfc();
-
-            //鏌ヨsfc缂栫爜
-            MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-            materialTraceabilityParam.setMaterialCode(result.getSfc());
-            MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-            List<MaterialTraceabilityResult> materialTraceabilityResults = materialTraceabilityService.findListBySpec(materialTraceabilityParam);
-            if(materialTraceabilityResults.size()>0){
-                MaterialTraceabilityResult materialTraceabilityResult = materialTraceabilityResults.get(0);
-                S_SFC_CODE = materialTraceabilityResult.getProductNo();
-            }
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getProductCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            String  repairLocation = result.getPoorLocationCode();//
-
-            //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿
-            LocationInfoParam param = new LocationInfoParam();
-            param.setLocationCode(repairLocation);
-            LocationInfoService locationInfoService = opc.locationInfoService;
-            List<LocationInfoResult> results = locationInfoService.findListBySpec(param);
-            if(results.size()>0) {
-                LocationInfoResult r = results.get(0);
-                String repairLocationNo = r.getSpareField2();
-                if(null != repairLocationNo && "" != repairLocationNo){
-                    OPCUnit.write(opc.getDOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-                    OPCUnit.write(opc.getDOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-                    OPCUnit.write(opc.getDOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-                    OPCUnit.write(opc.getDOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙�
-                    OPCUnit.write(opc.getDOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-
-                    //鏇存柊涓哄凡缁忚繑淇笂绾�
-                    Long id = result.getId();
-                    repairManageInfoParam.setId(id);
-                    repairManageInfoParam.setUpPlc("1");
-                    repairManageInfoService.update(repairManageInfoParam);
-
-                }else{
-                    logger.info("DOP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒");
-                }
-            }else{
-                logger.info("DOP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�");
-            }
-        }
-    }
-
-    //PC涓嬪彂宸ュ崟
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        ProductionOrdeInfoParam param = new ProductionOrdeInfoParam();
-        param.setProductionLine("");//浜х嚎
-        param.setOrderStatus("3");//宸ュ崟鐘舵��
-
-        ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-        List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param);
-
-        if(list.size()>0) {
-            ProductionOrdeInfoResult result = list.get(0);
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getMaterialCode();
-
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-
-            //ACTUAL_ONLINE_QTY = result.getActualOnlineQty();
-            //S_SFC_CODE = qrCode.unitNoRetrospect();
-            //S_RIGHT_CODE = qrCode.SerialNumbers;
-
-            //鑷姩鐢熸垚鍞竴鐮�
-            Random random = new Random(System.currentTimeMillis());
-            S_SFC_CODE = "EOP"+ random.nextLong();
-
-
-            OPCUnit.write(opc.getDOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-            OPCUnit.write(opc.getDOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧绫诲瀷
-            OPCUnit.write(opc.getDOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-           // OPCUnit.write(opc.getDOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮�
-            OPCUnit.write(opc.getDOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺
-            OPCUnit.write(opc.getDOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-            logger.info("DOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-        }else{
-            logger.info("DOP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�");
-        }
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getDOP010_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getDOP010_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getDOP010_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getDOP010_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        //涓婄嚎鏁伴噺鍔�1    鏍规嵁宸ュ崟鍙凤紝鏇存柊 ACTUAL_ONLINE_QTY +1
-       /* ProductionOrdeInfoParam orderParam = new ProductionOrdeInfoParam();
-        orderParam.setWorkOrderNo(S_ORDER_CODE);
-        orderParam.setActualOnlineQty(ACTUAL_ONLINE_QTY+1);
-        ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-        productionOrdeInfoService.updateOrderOnlineQry(orderParam);*/
-
-        //鍐欏畬鎴�
-        OPCUnit.write(opc.getDOP010_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("DOP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/DOP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/DOP020ServerInterface.java
deleted file mode 100644
index 71569cc..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/DOP020ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020;
-
-public interface DOP020ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_F_HEART_BEAT.java
deleted file mode 100644
index 4fb9012..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getDOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.DOP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.DOP020_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_FINISH.java
deleted file mode 100644
index 7d34a06..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP020_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_READ_INFO.java
deleted file mode 100644
index f00f09d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP020_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_WRITE_ORDER.java
deleted file mode 100644
index c2464ec..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP020_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_FINISH.java
deleted file mode 100644
index e94ab9e..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP020_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_START.java
deleted file mode 100644
index dfef504..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP020_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 8a8d11c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/callback/DataCallBack_DOP020_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_DOP020_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.DOP020_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/impl/DOP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/impl/DOP020ServerInterfaceImpl.java
deleted file mode 100644
index dd78843..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/DOP020/impl/DOP020ServerInterfaceImpl.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.DOP020.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult;
-import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.DOP020.DOP020ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
-import java.util.Date;
-import java.util.List;
-
-
-public class DOP020ServerInterfaceImpl implements DOP020ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(DOP020ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "DOP020";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "DOP020_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getDOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.DOP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.DOP020_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-           /* String isHeartBeat = OPCUnit.read(opc.getDOP020_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.DOP020_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getDOP020_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getDOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getDOP020_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getDOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-                handleOilState();
-            }else{
-                logger.info("DOP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-    public void handleOilState(){
-        GreaseManageParam param = new GreaseManageParam();
-        GreaseManageService greaseManageService = opc.greaseManageService;
-        param.setLocationCode(LOCATION_CODE);
-        List<GreaseManageResult> list = greaseManageService.findListBySpec(param);
-        if(list.size()>0) {
-            String duaDate = list.get(0).getDuaDate();
-
-            SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
-            String currentDate = format.format(new Date());
-            long  daysBetween = getRemainder(currentDate,duaDate);
-            if(daysBetween>0){
-                OPCUnit.write(opc.getDOP020_OIL_STATE(), "false"); //鍐欐补鑴傜姸鎬�
-            }else{
-                OPCUnit.write(opc.getDOP020_OIL_STATE(), "true"); //鍐欐补鑴傜姸鎬�
-            }
-            //logger.info("鍒版湡鏃ユ湡锛�"+duaDate+"褰撳墠鏃ユ湡锛�"+currentDate+"鍓╀綑澶╂暟锛氾細"+daysBetween);
-        }
-    }
-
-    public static long getRemainder(String currentDate,String tableDate){
-        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
-        LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter);
-        LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter);
-        long days = ChronoUnit.DAYS.between(localDate1, localDate2);
-        return days;
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getDOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getDOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getDOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getDOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("DOP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("DOP020宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("DOP020宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getDOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getDOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getDOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getDOP020_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getDOP020_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("DOP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/EOP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/EOP010ServerInterface.java
deleted file mode 100644
index 2485171..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/EOP010ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010;
-
-public interface EOP010ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_F_HEART_BEAT.java
deleted file mode 100644
index bb729b4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP010_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP010_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_FINISH.java
deleted file mode 100644
index 32de374..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP010_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP010_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_WRITE_ORDER.java
deleted file mode 100644
index d92ff88..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP010_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP010_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_FINISH.java
deleted file mode 100644
index 6234ae2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP010_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP010_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_START.java
deleted file mode 100644
index 1aec23c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/callback/DataCallBack_EOP010_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP010_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP010_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/impl/EOP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/impl/EOP010ServerInterfaceImpl.java
deleted file mode 100644
index ba022d3..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP010/impl/EOP010ServerInterfaceImpl.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP010.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP010.EOP010ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP010ServerInterfaceImpl implements EOP010ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP010ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP010";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP010_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP010_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-        /*    String isHeartBeat = OPCUnit.read(opc.getEOP010_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP010_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP010_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP010_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-
-                    }
-                }
-
-            }else{
-                logger.info("EOP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP010_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP010_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP010_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP010_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        String materialCode = OPCUnit.read(opc.getEOP010_S_MATERIAL_CODE());
-        MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-        materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-        materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-        materialTraceabilityParam.setProductNo(S_SFC_CODE);
-        materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-        materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-        materialTraceabilityParam.setMaterialCode(materialCode);
-        MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-        materialTraceabilityParam.setAssemblyQty(1);
-        materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-        materialTraceabilityService.add(materialTraceabilityParam);
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-                materialTraceabilityService.add(materialTraceabilityParam);
-
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-
-    }
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP010宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP010宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP010_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP010_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP010_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP010_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP010_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/EOP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/EOP020ServerInterface.java
deleted file mode 100644
index 76c36e5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/EOP020ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020;
-
-public interface EOP020ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_F_HEART_BEAT.java
deleted file mode 100644
index c9eb27c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP020_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP020_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_FINISH.java
deleted file mode 100644
index 0117fd1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP020_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP020_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 0a733c8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP020_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP020_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_FINISH.java
deleted file mode 100644
index 9964c52..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP020_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP020_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_START.java
deleted file mode 100644
index 8eeaf18..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/callback/DataCallBack_EOP020_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP020_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP020_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/impl/EOP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/impl/EOP020ServerInterfaceImpl.java
deleted file mode 100644
index 9097f30..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP020/impl/EOP020ServerInterfaceImpl.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP020.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP020.EOP020ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP020ServerInterfaceImpl implements EOP020ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP020ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP020";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP020_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP020_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-         /*   String isHeartBeat = OPCUnit.read(opc.getEOP020_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP020_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP020_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP020_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP020宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP020宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP020_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP020_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/EOP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/EOP030ServerInterface.java
deleted file mode 100644
index d8761db..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/EOP030ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030;
-
-public interface EOP030ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_F_HEART_BEAT.java
deleted file mode 100644
index b369683..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP030_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP030_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_FINISH.java
deleted file mode 100644
index 81a85d5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP030_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP030_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_WRITE_ORDER.java
deleted file mode 100644
index d9246cf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP030_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP030_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_FINISH.java
deleted file mode 100644
index 3e66a40..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP030_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP030_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_START.java
deleted file mode 100644
index 1e4e642..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/callback/DataCallBack_EOP030_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP030_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP030_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/impl/EOP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/impl/EOP030ServerInterfaceImpl.java
deleted file mode 100644
index 50976b8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP030/impl/EOP030ServerInterfaceImpl.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP030.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult;
-import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP030.EOP030ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.time.LocalDate;
-import java.time.temporal.ChronoUnit;
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP030ServerInterfaceImpl implements EOP030ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP030ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP030";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP030_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP030_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-         /*   String isHeartBeat = OPCUnit.read(opc.getEOP030_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP030_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP030_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP030_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP030宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP030宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP030_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP030_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/EOP040ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/EOP040ServerInterface.java
deleted file mode 100644
index b0325b0..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/EOP040ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP040;
-
-public interface EOP040ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_F_HEART_BEAT.java
deleted file mode 100644
index ab1cc2b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP040_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP040_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP040_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP040_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PC_FINISH.java
deleted file mode 100644
index b490e87..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP040_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP040_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_FINISH.java
deleted file mode 100644
index 21068de..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP040_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP040_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_START.java
deleted file mode 100644
index 14db2ae..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/callback/DataCallBack_EOP040_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP040_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP040_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/impl/EOP040ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/impl/EOP040ServerInterfaceImpl.java
deleted file mode 100644
index c1a9ee0..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP040/impl/EOP040ServerInterfaceImpl.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP040.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP040.EOP040ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP040ServerInterfaceImpl implements EOP040ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP040ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP040";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP040_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP040_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP040_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP040_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-     /*       String isHeartBeat = OPCUnit.read(opc.getEOP040_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP040_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP040_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP040_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP040_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP040_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP040宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP040_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP040_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP040_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP040_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP040宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP040宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP040宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP040_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP040_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP040_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP040_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP040_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP040宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/EOP050ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/EOP050ServerInterface.java
deleted file mode 100644
index b982681..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/EOP050ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050;
-
-public interface EOP050ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_F_HEART_BEAT.java
deleted file mode 100644
index 6a1f306..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP050_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP050_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP050_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP050_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_FINISH.java
deleted file mode 100644
index ae7ee89..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP050_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP050_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_WRITE_ORDER.java
deleted file mode 100644
index fbec941..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP050_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP050_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_FINISH.java
deleted file mode 100644
index 4b9b390..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP050_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP050_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_START.java
deleted file mode 100644
index 9776143..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/callback/DataCallBack_EOP050_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP050_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP050_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/impl/EOP050ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/impl/EOP050ServerInterfaceImpl.java
deleted file mode 100644
index daf9ab1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP050/impl/EOP050ServerInterfaceImpl.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP050.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP050.EOP050ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP050ServerInterfaceImpl implements EOP050ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP050ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP050";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP050_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP050_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP050_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP050_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-   /*         String isHeartBeat = OPCUnit.read(opc.getEOP050_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP050_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP050_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP050_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP050_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP050_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP050宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP050_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP050_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP050_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP050_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP050宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP050宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP050宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP050_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP050_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP050_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP050_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP050_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP050宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/EOP060ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/EOP060ServerInterface.java
deleted file mode 100644
index ff47456..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/EOP060ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060;
-
-public interface EOP060ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_F_HEART_BEAT.java
deleted file mode 100644
index e477ce4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP060_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP060_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP060_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP060_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_FINISH.java
deleted file mode 100644
index 50c77d3..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP060_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP060_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 3786478..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP060_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP060_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_FINISH.java
deleted file mode 100644
index 0191852..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP060_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP060_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_START.java
deleted file mode 100644
index 1c2ed89..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/callback/DataCallBack_EOP060_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP060_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP060_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/impl/EOP060ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/impl/EOP060ServerInterfaceImpl.java
deleted file mode 100644
index 36a16e2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP060/impl/EOP060ServerInterfaceImpl.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP060.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.result.MaterialTraceabilityResult;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP060.EOP060ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP060ServerInterfaceImpl implements EOP060ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP060ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP060";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP060_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP060_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP060_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP060_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-          /*  String isHeartBeat = OPCUnit.read(opc.getEOP060_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP060_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP060_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP060_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-
-                    if(isFinish.equals("false")){
-                        String isRepair = OPCUnit.read(opc.getEOP060_P_REPAIR());//鏄惁杩斾慨
-                        if(isRepair.equals("true")){
-                            handleRepair();
-                        }else{
-                            handleOrder();
-                        }
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP060_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP060_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP060宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleRepair() {
-        RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam();
-        repairManageInfoParam.setLocationCode(LOCATION_CODE);
-        repairManageInfoParam.setManageType("2");
-        repairManageInfoParam.setUpPlc("0");
-        RepairManageInfoService repairManageInfoService = opc.repairManageInfoService;
-        List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam);
-        if(list.size()>0) {
-            RepairManageInfoResult result = list.get(0);
-
-            S_SFC_CODE = result.getSfc();
-
-            //鏌ヨsfc缂栫爜
-            MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-            materialTraceabilityParam.setMaterialCode(result.getSfc());
-            MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-            List<MaterialTraceabilityResult> materialTraceabilityResults = materialTraceabilityService.findListBySpec(materialTraceabilityParam);
-            if(materialTraceabilityResults.size()>0){
-                MaterialTraceabilityResult materialTraceabilityResult = materialTraceabilityResults.get(0);
-                S_SFC_CODE = materialTraceabilityResult.getProductNo();
-            }
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getProductCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            String  repairLocation = result.getPoorLocationCode();//
-
-            //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿
-            LocationInfoParam param = new LocationInfoParam();
-            param.setLocationCode(repairLocation);
-            LocationInfoService locationInfoService = opc.locationInfoService;
-            List<LocationInfoResult> results = locationInfoService.findListBySpec(param);
-            if(results.size()>0) {
-                LocationInfoResult r = results.get(0);
-                String repairLocationNo = r.getSpareField2();
-                if(null != repairLocationNo && "" != repairLocationNo){
-                    OPCUnit.write(opc.getEOP060_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-                    OPCUnit.write(opc.getEOP060_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-                    OPCUnit.write(opc.getEOP060_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-                    OPCUnit.write(opc.getEOP060_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙�
-                    OPCUnit.write(opc.getEOP060_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-
-                    //鏇存柊涓哄凡缁忚繑淇笂绾�
-                    Long id = result.getId();
-                    repairManageInfoParam.setId(id);
-                    repairManageInfoParam.setUpPlc("1");
-                    repairManageInfoService.update(repairManageInfoParam);
-
-                }else{
-                    logger.info("EOP060宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒");
-                }
-            }else{
-                logger.info("EOP060宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP060_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP060_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP060_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP060_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP060宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP060宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP060宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP060_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP060_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP060_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP060_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP060_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP060宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/EOP070ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/EOP070ServerInterface.java
deleted file mode 100644
index d8741b1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/EOP070ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070;
-
-public interface EOP070ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_F_HEART_BEAT.java
deleted file mode 100644
index 7d95c06..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP070_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP070_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP070_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP070_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_FINISH.java
deleted file mode 100644
index f9bd24c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP070_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP070_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 8e62f70..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP070_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP070_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_FINISH.java
deleted file mode 100644
index 53eed32..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP070_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP070_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_START.java
deleted file mode 100644
index 432f2ba..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/callback/DataCallBack_EOP070_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP070_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP070_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/impl/EOP070ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/impl/EOP070ServerInterfaceImpl.java
deleted file mode 100644
index 8cfe9bf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070/impl/EOP070ServerInterfaceImpl.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP070.EOP070ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP070ServerInterfaceImpl implements EOP070ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP070ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP070";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP070_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP070_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP070_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP070_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-         /*   String isHeartBeat = OPCUnit.read(opc.getEOP070_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP070_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP070_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP070_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP070_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP070_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP070宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP070_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP070_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP070_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP070宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP070宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP070宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP070_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP070_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP070_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP070_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP070宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/EOP070BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/EOP070BServerInterface.java
deleted file mode 100644
index ba94af5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/EOP070BServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070B;
-
-public interface EOP070BServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/callback/DataCallBack_EOP070B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/callback/DataCallBack_EOP070B_F_HEART_BEAT.java
deleted file mode 100644
index 87d81b2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/callback/DataCallBack_EOP070B_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP070B_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP070_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP070B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP070B_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/impl/EOP070BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/impl/EOP070BServerInterfaceImpl.java
deleted file mode 100644
index cf6ef23..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP070B/impl/EOP070BServerInterfaceImpl.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP070B.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP070B.EOP070BServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP070BServerInterfaceImpl implements EOP070BServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP070BServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP070B";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP070B_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP070B_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP070B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP070B_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-         /*   String isHeartBeat = OPCUnit.read(opc.getEOP070B_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP070B_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP070B_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP070B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP070B_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP070B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                    }
-                }
-
-            }else{
-                logger.info("EOP070B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP070B_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070B_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP070B_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP070B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP070B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP070B宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP070B宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP070B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP070B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP070B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP070B_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP070B_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP070B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/EOP080ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/EOP080ServerInterface.java
deleted file mode 100644
index 984a9e0..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/EOP080ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080;
-
-public interface EOP080ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_F_HEART_BEAT.java
deleted file mode 100644
index e499b02..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP080_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP080_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP080_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_FINISH.java
deleted file mode 100644
index 43f400c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP080_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_READ_INFO.java
deleted file mode 100644
index 61f662c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP080_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 91f88dc..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP080_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_FINISH.java
deleted file mode 100644
index 1f87ea8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP080_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_START.java
deleted file mode 100644
index b292ef7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP080_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 3945de5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/callback/DataCallBack_EOP080_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP080_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP080_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/impl/EOP080ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/impl/EOP080ServerInterfaceImpl.java
deleted file mode 100644
index d18fd54..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP080/impl/EOP080ServerInterfaceImpl.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP080.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP080.EOP080ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP080ServerInterfaceImpl implements EOP080ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP080ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP080";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP080_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP080_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP080_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP080_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-           /* String isHeartBeat = OPCUnit.read(opc.getEOP080_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP080_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP080_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP080_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP080_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP080_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP080宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP080_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP080_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP080_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP080_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP080宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP080宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP080宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP080_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP080_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP080_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP080_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP080_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP080宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/EOP090ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/EOP090ServerInterface.java
deleted file mode 100644
index aafd0bf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/EOP090ServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090;
-
-public interface EOP090ServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_F_HEART_BEAT.java
deleted file mode 100644
index 76a1318..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP090_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP090_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP090_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_FINISH.java
deleted file mode 100644
index bd3ae08..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_READ_INFO.java
deleted file mode 100644
index deb2fcd..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 5be85ed..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_FINISH.java
deleted file mode 100644
index 2f1253c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_START.java
deleted file mode 100644
index 1cb70dd..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 7acde15..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/callback/DataCallBack_EOP090_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/impl/EOP090ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/impl/EOP090ServerInterfaceImpl.java
deleted file mode 100644
index c5c3c52..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090/impl/EOP090ServerInterfaceImpl.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP090.EOP090ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP090ServerInterfaceImpl implements EOP090ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP090ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP090";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP090_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP090_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP090_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP090_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-          /*  String isHeartBeat = OPCUnit.read(opc.getEOP090_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP090_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP090_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP090_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP090_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP090_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                        handleMaterial();
-                    }
-                }
-
-            }else{
-                logger.info("EOP090宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP090_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP090_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP090_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP090宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP090宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP090宸ヤ綅,handleInfo END锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP090_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP090_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP090_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP090_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP090宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/EOP090BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/EOP090BServerInterface.java
deleted file mode 100644
index b6b2c58..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/EOP090BServerInterface.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090B;
-
-public interface EOP090BServerInterface {
-    public void monitor();
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_F_HEART_BEAT.java
deleted file mode 100644
index d814485..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090B_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getEOP090B_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP090B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP090B_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PC_FINISH.java
deleted file mode 100644
index 4635c18..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090B_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090B_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_FINISH.java
deleted file mode 100644
index 3caab23..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090B_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090B_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_START.java
deleted file mode 100644
index 4c47610..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/callback/DataCallBack_EOP090B_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_EOP090B_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.EOP090B_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/impl/EOP090BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/impl/EOP090BServerInterfaceImpl.java
deleted file mode 100644
index cc9484c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/EOP090B/impl/EOP090BServerInterfaceImpl.java
+++ /dev/null
@@ -1,200 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.EOP090B.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.EOP090B.EOP090BServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class EOP090BServerInterfaceImpl implements EOP090BServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(EOP090BServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "EOP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "EOP090B";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "EOP090B_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getEOP090B_F_HEART_BEAT(), "true");
-            GlobalVariable.EOP090B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.EOP090B_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-           /* String isHeartBeat = OPCUnit.read(opc.getEOP090B_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.EOP090B_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getEOP090B_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP090B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getEOP090B_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getEOP090B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                    }
-                }
-
-            }else{
-                logger.info("EOP090B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getEOP090B_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090B_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getEOP090B_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getEOP090B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("EOP090B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("EOP090B宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("EOP090B宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getEOP090B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getEOP090B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getEOP090B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getEOP090B_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getEOP090B_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("EOP090B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/OP010ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/OP010ServerInterface.java
deleted file mode 100644
index 15327ea..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/OP010ServerInterface.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010;
-
-import lombok.Synchronized;
-
-public interface OP010ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_E_STATE.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_E_STATE.java
deleted file mode 100644
index fd6571d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_E_STATE.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.modular.em.equipmentAlarm.model.params.EquipmentAlarmParam;
-import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService;
-import cn.stylefeng.guns.modular.em.equipmentStatus.model.params.EquipmentStatusParam;
-import cn.stylefeng.guns.modular.em.equipmentStatus.model.result.EquipmentStatusResult;
-import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-import java.util.List;
-
-public class DataCallBack_OP010_E_STATE implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_I2) {
-                int value = itemState.getValue().getObjectAsShort();
-                if(value != GlobalVariable.OP010_E_STATE){
-                    EquipmentStatusParam equipmentStatusParam = new EquipmentStatusParam();
-                    equipmentStatusParam.setLocationCode("OP010");
-
-                    EquipmentStatusService equipmentStatusService = opc.equipmentStatusService;
-                    List<EquipmentStatusResult> list = equipmentStatusService.findListBySpec(equipmentStatusParam);
-                    if(list.size()>0){
-                        EquipmentStatusResult equipmentStatusResult = list.get(0);
-                        equipmentStatusParam.setId(equipmentStatusResult.getId());
-                        equipmentStatusParam.setStatus(String.valueOf(value));
-                        equipmentStatusService.update(equipmentStatusParam);
-                        GlobalVariable.OP010_E_STATE = value;
-                    }
-                    if(value == 3){
-                        EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam();
-                        equipmentAlarmParam.setLocationCode("OP010");
-                        equipmentAlarmParam.setErrorDesc("璁惧鍛婅");
-                        equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate());
-                        EquipmentAlarmService equipmentAlarmService = opc.equipmentAlarmService;
-                        equipmentAlarmService.add(equipmentAlarmParam);
-                    }
-                }
-
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_F_HEART_BEAT.java
deleted file mode 100644
index 80aa5f1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.OP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP010_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_FINISH.java
deleted file mode 100644
index b2968b5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP010_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_READ_INFO.java
deleted file mode 100644
index 3919c46..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP010_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 9670710..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP010_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_FINISH.java
deleted file mode 100644
index 0c13966..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP010_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_START.java
deleted file mode 100644
index e3b1214..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP010_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_WRITE_INFO.java
deleted file mode 100644
index d29d4fc..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/callback/DataCallBack_OP010_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP010_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP010_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/impl/OP010ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/impl/OP010ServerInterfaceImpl.java
deleted file mode 100644
index d26236e..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP010/impl/OP010ServerInterfaceImpl.java
+++ /dev/null
@@ -1,366 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP010.impl;
-
-
-import cn.stylefeng.guns.GunsApplication;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.entity.ProductionOrdeInfo;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult;
-import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.opc.unit.SFCCodeTool;
-import cn.stylefeng.guns.plcserver.server.OP010.OP010ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import cn.stylefeng.roses.core.util.ToolUtil;
-import lombok.Synchronized;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
-import org.springframework.boot.SpringApplication;
-
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-
-
-
-public class OP010ServerInterfaceImpl implements OP010ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP010ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_SFC_CODE = "test222";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "test333";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP010";//宸ヤ綅鍙�
-    private static Date IN_TIME = null;//杩涚珯鏃堕棿
-
-    private static Integer ACTUAL_ONLINE_QTY  = 0 ;//涓婄嚎鏁伴噺
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP010_F_HEART_BEAT(), "true");
-            GlobalVariable.OP010_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP010_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP010_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP010_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP010_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP010_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-
-                        String isRepair = OPCUnit.read(opc.getOP010_P_REPAIR());//鏄惁杩斾慨
-                        if(isRepair.equals("true")){
-                            handleRepair();
-                        }else{
-                            handleOrder();
-                        }
-
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP010_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP010_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP010宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleRepair() {
-        RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam();
-        repairManageInfoParam.setLocationCode(LOCATION_CODE);
-        repairManageInfoParam.setManageType("2");
-        repairManageInfoParam.setUpPlc("0");
-        RepairManageInfoService repairManageInfoService = opc.repairManageInfoService;
-        List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam);
-        if(list.size()>0) {
-            RepairManageInfoResult result = list.get(0);
-
-            S_SFC_CODE = result.getSfc();
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getProductCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            String  repairLocation = result.getPoorLocationCode();//
-
-            //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿
-            LocationInfoParam param = new LocationInfoParam();
-            param.setLocationCode(repairLocation);
-            LocationInfoService locationInfoService = opc.locationInfoService;
-            List<LocationInfoResult> results = locationInfoService.findListBySpec(param);
-            if(results.size()>0) {
-                LocationInfoResult r = results.get(0);
-                String repairLocationNo = r.getSpareField2();
-                if(null != repairLocationNo && "" != repairLocationNo){
-                    OPCUnit.write(opc.getOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-                    OPCUnit.write(opc.getOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-                    OPCUnit.write(opc.getOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-                    OPCUnit.write(opc.getOP010_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙�
-                    OPCUnit.write(opc.getOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-
-                    //鏇存柊涓哄凡缁忚繑淇笂绾�
-                    Long id = result.getId();
-                    repairManageInfoParam.setId(id);
-                    repairManageInfoParam.setUpPlc("1");
-                    repairManageInfoService.update(repairManageInfoParam);
-
-                }else{
-                    logger.info("OP010宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒");
-                }
-            }else{
-                logger.info("OP010宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�");
-            }
-
-
-
-        }
-    }
-    //PC涓嬪彂宸ュ崟
-    public void handleOrder() {
-
-        logger.info("OP010宸ヤ綅,handleOrder PC澶勭悊寮�濮嬶紒");
-        IN_TIME = DateTool.getLocalTimeForDate();
-        ProductionOrdeInfoParam param = new ProductionOrdeInfoParam();
-        param.setProductionLine("");//浜х嚎
-        param.setOrderStatus("3");//宸ュ崟鐘舵��
-
-        ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-        List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(param);
-
-        if(list.size()>0) {
-            ProductionOrdeInfoResult result = list.get(0);
-
-            String customerCode = result.getCustom();//瀹㈡埛缂栫爜
-            String productCode = result.getMaterialCode();//浜у搧缂栫爜
-            String softwareVersionCode = result.getSoftwareVersionCode();//浜у搧鍨嬪彿
-            String productCompanyCode = result.getProductCompanyCode();//鐝
-
-            //搴忓垪鍙�
-            String serialNumbers = "0000";
-            SerialNumbersConfParam serialNumbersConfParam = new SerialNumbersConfParam();
-            Calendar calendar = Calendar.getInstance();
-            String Years = String.valueOf(calendar.get(Calendar.YEAR)); //骞翠唤
-            String Months = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.MONTH) + 1),2, "0"); //鏈堜唤
-            String Dates = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.DATE)),2, "0"); //鏃ユ湡
-            serialNumbersConfParam.setYears(Years+Months+Dates);//鑾峰彇褰撳墠鏄摢涓�澶�
-            serialNumbersConfParam.setState("1");
-            SerialNumbersConfService serialNumbersConfService = opc.serialNumbersConfService;
-            List<SerialNumbersConfResult> serialNumberslist = serialNumbersConfService.findListBySpec(serialNumbersConfParam);
-            if(serialNumberslist.size()>0){
-                SerialNumbersConfResult serialNumbersConfResult = serialNumberslist.get(0);
-                serialNumbers = serialNumbersConfResult.getSerialNumber();
-                serialNumbersConfParam.setId(serialNumbersConfResult.getId());
-            }else{
-                serialNumbersConfParam.setSerialNumber(serialNumbers);
-                serialNumbersConfParam.setLengths("4");
-                serialNumbersConfService.add(serialNumbersConfParam);
-                List<SerialNumbersConfResult> serialNumberslist2 = serialNumbersConfService.findListBySpec(serialNumbersConfParam);
-                if(serialNumberslist2.size()>0){
-                    SerialNumbersConfResult serialNumbersConfResult = serialNumberslist2.get(0);
-                    //serialNumbers = serialNumbersConfResult.getSerialNumber();
-                    serialNumbersConfParam.setId(serialNumbersConfResult.getId());
-                }
-                //logger.info("搴忓垪鍙锋病鏈夐厤缃紝璇锋壘绠$悊鍛樿繘琛岄厤缃紒");
-            }
-
-            //鏇存柊搴忓垪鍙�+1
-            int i = Integer.valueOf(serialNumbers)+1;
-            serialNumbers = StringUtils.leftPad(String.valueOf(i),4, "0");
-            serialNumbersConfParam.setSerialNumber(serialNumbers);
-            serialNumbersConfService.update(serialNumbersConfParam);
-
-            //鐢熸垚鎬绘垚缂栫爜
-            String sfcCode = SFCCodeTool.createCodingRulesSFC(softwareVersionCode,productCompanyCode,serialNumbers);//鎬绘垚鍙�
-            S_SFC_CODE = sfcCode;
-
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getMaterialCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            ACTUAL_ONLINE_QTY = result.getActualOnlineQty();
-
-
-            //鏂板鎶ュ伐璁板綍
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            productionOrderRecordsParam.setMaterialCode(S_PRODUCT_CODE);
-            productionOrderRecordsParam.setStartTime(DateTool.getLocalTimeForDate());
-            productionOrderRecordsParam.setWhetherPass("true");
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-            productionOrderRecordsService.add(productionOrderRecordsParam);
-
-
-            OPCUnit.write(opc.getOP010_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-            OPCUnit.write(opc.getOP010_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-            OPCUnit.write(opc.getOP010_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-           //OPCUnit.write(opc.getOP010_S_RIGHT_CODE(), S_RIGHT_CODE); //鍙冲3浣撶紪鐮�
-            OPCUnit.write(opc.getOP010_S_NUMBER(), result.getPlanQty().toString()); //璁″垝鏁伴噺
-            OPCUnit.write(opc.getOP010_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-            logger.info("OP010宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛乛--------------------------------------------");
-        }else{
-            logger.info("OP010宸ヤ綅娌℃湁鍙墽琛岀殑宸ュ崟,璇疯仈绯诲伐鍗曠鐞嗗憳涓嬪彂璇ヤ骇绾跨殑宸ュ崟锛�");
-        }
-    }
-
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        logger.info("OP010宸ヤ綅,handleFinsh PC澶勭悊寮�濮嬶紒");
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP010_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP010_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP010_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP010_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-        //澶勭悊杩囩珯淇℃伅
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-        //涓婄嚎鏁伴噺鍔�1    鏍规嵁宸ュ崟鍙凤紝鏇存柊 ACTUAL_ONLINE_QTY +1
-       /* ProductionOrdeInfoParam orderParam = new ProductionOrdeInfoParam();
-        orderParam.setWorkOrderNo(S_ORDER_CODE);
-        orderParam.setActualOnlineQty(ACTUAL_ONLINE_QTY+1);
-        ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-        productionOrdeInfoService.updateOrderOnlineQry(orderParam);*/
-        //鍐欏畬鎴�
-        OPCUnit.write(opc.getOP010_J_PC_FINISH(), "true"); //PC瀹屾垚
-        logger.info("OP010宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�-------------------------------");
-    }
-
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/OP020ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/OP020ServerInterface.java
deleted file mode 100644
index 1c28fb8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/OP020ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020;
-
-public interface OP020ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_F_HEART_BEAT.java
deleted file mode 100644
index f4ec5b9..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.OP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP020_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_FINISH.java
deleted file mode 100644
index bae34b5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP020_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_READ_INFO.java
deleted file mode 100644
index 4f8d256..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP020_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 002298d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP020_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_FINISH.java
deleted file mode 100644
index 8648011..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP020_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_START.java
deleted file mode 100644
index 7ec2126..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP020_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_WRITE_INFO.java
deleted file mode 100644
index c88ffcd..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/callback/DataCallBack_OP020_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP020_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP020_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/impl/OP020ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/impl/OP020ServerInterfaceImpl.java
deleted file mode 100644
index 4e1a1c1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP020/impl/OP020ServerInterfaceImpl.java
+++ /dev/null
@@ -1,272 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP020.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP020.OP020ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP020ServerInterfaceImpl implements OP020ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP020ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP020";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP020_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP020_F_HEART_BEAT(), "true");
-            GlobalVariable.OP020_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP020_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-          /*  String isHeartBeat = OPCUnit.read(opc.getOP020_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP020_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP020_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP020_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP020_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP020_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP020宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP020_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP020宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                //productionOrderBatchInfoParam.setProductionLine((remainingQuantity-1)+"");
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP020宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP020宸ヤ綅,handleInfo END锛�");
-    }
-
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP020_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP020_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP020_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP020_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-        //澶勭悊杩囩珯淇℃伅
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP020_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP020宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/OP030ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/OP030ServerInterface.java
deleted file mode 100644
index dbd6326..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/OP030ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030;
-
-public interface OP030ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_F_HEART_BEAT.java
deleted file mode 100644
index 97b5784..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.OP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃10娆★紝涔熷氨鏄�5s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP030_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_FINISH.java
deleted file mode 100644
index 1c2a9bd..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP030_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_READ_INFO.java
deleted file mode 100644
index 79bebfc..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP030_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 34d194a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP030_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_FINISH.java
deleted file mode 100644
index 29ad6ff..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP030_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_START.java
deleted file mode 100644
index 38f6d7f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP030_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 1ef98b8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/callback/DataCallBack_OP030_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP030_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP030_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/impl/OP030ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/impl/OP030ServerInterfaceImpl.java
deleted file mode 100644
index 83e0c14..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP030/impl/OP030ServerInterfaceImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP030.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP030.OP030ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP030ServerInterfaceImpl implements OP030ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP030ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP030";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP030_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP030_F_HEART_BEAT(), "true");
-            GlobalVariable.OP030_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP030_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-       /*     String isHeartBeat = OPCUnit.read(opc.getOP030_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP030_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP030_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP030_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP030_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP030_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP030宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP030_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP030宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP030宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP030宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP030_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP030_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP030_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP030_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP030_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP030宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/OP040ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/OP040ServerInterface.java
deleted file mode 100644
index a33d43c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/OP040ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040;
-
-public interface OP040ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_F_HEART_BEAT.java
deleted file mode 100644
index f351144..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP040_F_HEART_BEAT(), "true");
-            GlobalVariable.OP040_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP040_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_FINISH.java
deleted file mode 100644
index f0cd271..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP040_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_READ_INFO.java
deleted file mode 100644
index 1680048..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP040_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 7e29381..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP040_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_FINISH.java
deleted file mode 100644
index 429b854..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP040_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_START.java
deleted file mode 100644
index d015ced..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP040_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_WRITE_INFO.java
deleted file mode 100644
index ac9f814..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/callback/DataCallBack_OP040_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP040_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP040_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/impl/OP040ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/impl/OP040ServerInterfaceImpl.java
deleted file mode 100644
index e074a75..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP040/impl/OP040ServerInterfaceImpl.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP040.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP040.OP040ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP040ServerInterfaceImpl implements OP040ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP040ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP040";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP040_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP040_F_HEART_BEAT(), "true");
-            GlobalVariable.OP040_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP040_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP040_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP040_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP040_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP040_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP040_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP040_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP040宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP040_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP040_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP040_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP040_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP040宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP040宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP040宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP040_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP040_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP040_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP040_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP040_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/OP050ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/OP050ServerInterface.java
deleted file mode 100644
index f2deabd..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/OP050ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050;
-
-public interface OP050ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_F_HEART_BEAT.java
deleted file mode 100644
index e6e4fe9..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP050_F_HEART_BEAT(), "true");
-            GlobalVariable.OP050_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP050_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_FINISH.java
deleted file mode 100644
index a57be93..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_READ_INFO.java
deleted file mode 100644
index 62ceaf7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 8fa95c7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_FINISH.java
deleted file mode 100644
index aa164cf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_START.java
deleted file mode 100644
index 5f891f3..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 9df1979..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/callback/DataCallBack_OP050_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP050_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/impl/OP050ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/impl/OP050ServerInterfaceImpl.java
deleted file mode 100644
index 9c6aeee..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP050/impl/OP050ServerInterfaceImpl.java
+++ /dev/null
@@ -1,347 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP050.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam;
-import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult;
-import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP050.OP050ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.ChronoUnit;
-import java.util.Date;
-import java.util.List;
-
-
-public class OP050ServerInterfaceImpl implements OP050ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP050ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP050";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP050_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP050_F_HEART_BEAT(), "true");
-            GlobalVariable.OP050_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP050_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP050_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP050_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP050_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP050_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP050_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP050_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-                handleOilState();
-
-            }else{
-                logger.info("OP050宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-
-    public void handleOilState(){
-        GreaseManageParam param = new GreaseManageParam();
-        GreaseManageService greaseManageService = opc.greaseManageService;
-        param.setLocationCode(LOCATION_CODE);
-        List<GreaseManageResult> list = greaseManageService.findListBySpec(param);
-        if(list.size()>0) {
-            String duaDate = list.get(0).getDuaDate();
-
-            SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
-            String currentDate = format.format(new Date());
-            long  daysBetween = getRemainder(currentDate,duaDate);
-            if(daysBetween>0){
-                OPCUnit.write(opc.getOP050_OIL_STATE(), "false"); //鍐欐补鑴傜姸鎬�
-            }else{
-                OPCUnit.write(opc.getOP050_OIL_STATE(), "true"); //鍐欐补鑴傜姸鎬�
-            }
-            //logger.info("鍒版湡鏃ユ湡锛�"+duaDate+"褰撳墠鏃ユ湡锛�"+currentDate+"鍓╀綑澶╂暟锛氾細"+daysBetween);
-        }
-    }
-
-    public static long getRemainder(String currentDate,String tableDate){
-        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd");
-        LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter);
-        LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter);
-        long days = ChronoUnit.DAYS.between(localDate1, localDate2);
-        return days;
-    }
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP050_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP050_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP050_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP050_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP050宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP050宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP050宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP050_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP050_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP050_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP050_S_PRODUCT_STATE_CODE());
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-
-
-        String  copSfcCode = OPCUnit.read(opc.getOP050_S_SFC_CODE_COP());//COP鍒嗘�绘垚
-        String  bopSfcCode = OPCUnit.read(opc.getOP050_S_SFC_CODE_BOP());//BOP鍒嗘�绘垚
-
-        //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP鐗╂枡鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜
-        MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-        materialTraceabilityService.updateSFC(S_SFC_CODE,copSfcCode);
-        materialTraceabilityService.updateSFC(S_SFC_CODE,bopSfcCode);
-
-        //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP杩囩珯鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜
-        passingStationCollectionService.updateSFC(S_SFC_CODE,copSfcCode);
-        passingStationCollectionService.updateSFC(S_SFC_CODE,bopSfcCode);
-
-
-        //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP閲囬泦鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜
-        ParamCollectionService paramCollectionService = opc.paramCollectionService;
-        paramCollectionService.updateSFC(S_SFC_CODE,copSfcCode);
-        paramCollectionService.updateSFC(S_SFC_CODE,bopSfcCode);
-
-        logger.info("S_SFC_CODE:"+S_SFC_CODE);
-        logger.info("copSfcCode:"+copSfcCode);
-        logger.info("bopSfcCode:"+bopSfcCode);
-
-        //鏌ヨCOP鍜孊OP鏄惁鍚堟牸
-        PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam();
-        passingStationCollectionParam.setSfcCode(S_SFC_CODE);
-        List<PassingStationCollectionResult> passingStationCollectionResultList =
-                opc.passingStationCollectionService.findListBySpec(passingStationCollectionParam);
-
-        String isProductState = "true";
-        for(int i=0;i<passingStationCollectionResultList.size();i++){
-            PassingStationCollectionResult passingStationCollectionResult = passingStationCollectionResultList.get(i);
-            if("false".equals(passingStationCollectionResult.getOutRsSign())){
-                isProductState = "false";
-                break;
-            }
-        }
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE) || "false".equals(isProductState)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass("false");
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        OPCUnit.write(opc.getOP050_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP050宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/OP070ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/OP070ServerInterface.java
deleted file mode 100644
index bc481c2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/OP070ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070;
-
-public interface OP070ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_F_HEART_BEAT.java
deleted file mode 100644
index 0621828..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP070_F_HEART_BEAT(), "true");
-            GlobalVariable.OP070_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP070_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_FINISH.java
deleted file mode 100644
index 965b900..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP070_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_READ_INFO.java
deleted file mode 100644
index 02c4138..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP070_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 5a72c76..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP070_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_FINISH.java
deleted file mode 100644
index 6215111..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP070_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_START.java
deleted file mode 100644
index aa38fa8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP070_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 8bcaa7f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/callback/DataCallBack_OP070_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP070_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP070_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/impl/OP070ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/impl/OP070ServerInterfaceImpl.java
deleted file mode 100644
index 8aa33b7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP070/impl/OP070ServerInterfaceImpl.java
+++ /dev/null
@@ -1,268 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP070.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP070.OP070ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP070ServerInterfaceImpl implements OP070ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP070ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP070";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP070_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP070_F_HEART_BEAT(), "true");
-            GlobalVariable.OP070_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP070_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-            /*String isHeartBeat = OPCUnit.read(opc.getOP070_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP070_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP070_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP070_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP070_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP070_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP070宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP070_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP070_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP070_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP070_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP070宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP070宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP070宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP070_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP070_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP070_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP070_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP070_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP070宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/OP080ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/OP080ServerInterface.java
deleted file mode 100644
index 9824857..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/OP080ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080;
-
-public interface OP080ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_F_HEART_BEAT.java
deleted file mode 100644
index b75cc44..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP080_F_HEART_BEAT(), "true");
-            GlobalVariable.OP080_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP080_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_FINISH.java
deleted file mode 100644
index 482ad3c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP080_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_READ_INFO.java
deleted file mode 100644
index ed4a7bb..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP080_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_WRITE_ORDER.java
deleted file mode 100644
index d547945..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP080_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_FINISH.java
deleted file mode 100644
index a8e1f7f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP080_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_START.java
deleted file mode 100644
index f4e0438..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP080_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 3242e7a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/callback/DataCallBack_OP080_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP080_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP080_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/impl/OP080ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/impl/OP080ServerInterfaceImpl.java
deleted file mode 100644
index 334f2be..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP080/impl/OP080ServerInterfaceImpl.java
+++ /dev/null
@@ -1,328 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP080.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam;
-import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult;
-import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult;
-import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP080.OP080ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP080ServerInterfaceImpl implements OP080ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP080ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP080";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP080_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP080_F_HEART_BEAT(), "true");
-            GlobalVariable.OP080_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP080_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-          /*  String isHeartBeat = OPCUnit.read(opc.getOP080_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP080_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP080_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP080_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-
-                        String isRepair = OPCUnit.read(opc.getOP080_P_REPAIR());//鏄惁杩斾慨
-                        if(isRepair.equals("true")){
-                            handleRepair();
-                        }else{
-                            handleOrder();
-                        }
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP080_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP080_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP080宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    public void handleRepair() {
-        RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam();
-        repairManageInfoParam.setLocationCode(LOCATION_CODE);
-        repairManageInfoParam.setManageType("2");
-        repairManageInfoParam.setUpPlc("0");
-        RepairManageInfoService repairManageInfoService = opc.repairManageInfoService;
-        List<RepairManageInfoResult> list = repairManageInfoService.findListBySpec(repairManageInfoParam);
-        if(list.size()>0) {
-            RepairManageInfoResult result = list.get(0);
-
-            S_SFC_CODE = result.getSfc();
-            S_ORDER_CODE = result.getWorkOrderNo();
-            S_PRODUCT_CODE = result.getProductCode();
-            S_PRODUCT_TYPE = GlobalVariable.PRODUCT_TYPE_MAP.get(S_PRODUCT_CODE);
-            String  repairLocation = result.getPoorLocationCode();//
-
-            //鏍规嵁宸ヤ綅缂栫爜鏌ヨ宸ヤ綅琛ㄤ腑閰嶇疆鐨勮繑淇伐浣嶅彿
-            LocationInfoParam param = new LocationInfoParam();
-            param.setLocationCode(repairLocation);
-            LocationInfoService locationInfoService = opc.locationInfoService;
-            List<LocationInfoResult> results = locationInfoService.findListBySpec(param);
-            if(results.size()>0) {
-                LocationInfoResult r = results.get(0);
-                String repairLocationNo = r.getSpareField2();
-                if(null != repairLocationNo && "" != repairLocationNo){
-                    OPCUnit.write(opc.getOP080_S_ORDER_CODE(),S_ORDER_CODE); //宸ュ崟缂栧彿
-                    OPCUnit.write(opc.getOP080_S_PRODUCT_CODE(), S_PRODUCT_TYPE); //浜у搧缂栧彿
-                    OPCUnit.write(opc.getOP080_S_SFC_CODE(), S_SFC_CODE); //鎬绘垚缂栫爜
-                    OPCUnit.write(opc.getOP080_P_REPAIR_LOCATION(), repairLocationNo); //杩斾慨宸ヤ綅鍙�
-                    OPCUnit.write(opc.getOP080_J_PC_WRITE_ORDER(), "true"); //PC涓嬪彂宸ュ崟瀹屾垚
-
-                    //鏇存柊涓哄凡缁忚繑淇笂绾�
-                    Long id = result.getId();
-                    repairManageInfoParam.setId(id);
-                    repairManageInfoParam.setUpPlc("1");
-                    repairManageInfoService.update(repairManageInfoParam);
-
-                }else{
-                    logger.info("OP080宸ヤ綅,handleRepair 璇锋煡璇�"+repairLocation+"宸ヤ綅鏄惁閰嶇疆杩斾慨宸ヤ綅鍙凤紒");
-                }
-            }else{
-                logger.info("OP080宸ヤ綅,handleRepair 鏃犳硶鏌ヨ鍒�"+repairLocation+"宸ヤ綅锛�");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP080_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP080_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP080_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP080_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP080宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP080宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP080宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP080_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP080_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP080_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP080_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP080_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP080宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/OP090ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/OP090ServerInterface.java
deleted file mode 100644
index 1b46539..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/OP090ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090;
-
-public interface OP090ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_F_HEART_BEAT.java
deleted file mode 100644
index 4f8c17d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP090_F_HEART_BEAT(), "true");
-            GlobalVariable.OP090_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP090_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_FINISH.java
deleted file mode 100644
index 304ae13..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP090_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_READ_INFO.java
deleted file mode 100644
index cc15fe2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP090_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_WRITE_ORDER.java
deleted file mode 100644
index ab75682..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP090_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_FINISH.java
deleted file mode 100644
index 2d0778e..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP090_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_START.java
deleted file mode 100644
index d9a39ca..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP090_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_WRITE_INFO.java
deleted file mode 100644
index bc45903..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/callback/DataCallBack_OP090_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP090_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP090_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/impl/OP090ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/impl/OP090ServerInterfaceImpl.java
deleted file mode 100644
index ed5608c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP090/impl/OP090ServerInterfaceImpl.java
+++ /dev/null
@@ -1,299 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP090.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP090.OP090ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP090ServerInterfaceImpl implements OP090ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP090ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP090";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP090_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP090_F_HEART_BEAT(), "true");
-            GlobalVariable.OP090_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP090_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP090_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP090_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP090_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP090_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP090_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP090_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP090宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP090_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP090_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP090_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP090_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP090宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP090宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP090宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP090_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP090_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP090_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP090_S_PRODUCT_STATE_CODE());
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-
-        String  eopSfcCode = OPCUnit.read(opc.getOP090_S_SFC_CODE_EOP());//EOP鍒嗘�绘垚
-
-        //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP鐗╂枡鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜
-        MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-        materialTraceabilityService.updateSFC(S_SFC_CODE,eopSfcCode);
-
-        //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP杩囩珯鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜
-        passingStationCollectionService.updateSFC(S_SFC_CODE,eopSfcCode);
-
-        //鏍规嵁鍒嗘�绘垚缂栫爜锛屽皢EOP閲囬泦鏁版嵁缁戝畾鍏崇郴淇敼涓烘�绘垚缂栫爜
-        ParamCollectionService paramCollectionService = opc.paramCollectionService;
-        paramCollectionService.updateSFC(S_SFC_CODE,eopSfcCode);
-
-        logger.info("S_SFC_CODE:"+S_SFC_CODE);
-        logger.info("eopSfcCode:"+eopSfcCode);
-
-        //鏌ヨCOP鍜孊OP鏄惁鍚堟牸
-        PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam();
-        passingStationCollectionParam.setSfcCode(S_SFC_CODE);
-        List<PassingStationCollectionResult> passingStationCollectionResultList =
-                opc.passingStationCollectionService.findListBySpec(passingStationCollectionParam);
-
-        String isProductState = "true";
-        for(int i=0;i<passingStationCollectionResultList.size();i++){
-            PassingStationCollectionResult passingStationCollectionResult = passingStationCollectionResultList.get(i);
-            if("false".equals(passingStationCollectionResult.getOutRsSign())){
-                isProductState = "false";
-                break;
-            }
-        }
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE) || "false".equals(isProductState)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass("false");
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-        OPCUnit.write(opc.getOP090_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP090宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/OP100ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/OP100ServerInterface.java
deleted file mode 100644
index 081d681..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/OP100ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100;
-
-public interface OP100ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_F_HEART_BEAT.java
deleted file mode 100644
index 11a5784..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP100_F_HEART_BEAT(), "true");
-            GlobalVariable.OP100_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP100_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_FINISH.java
deleted file mode 100644
index 48174d8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP100_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_READ_INFO.java
deleted file mode 100644
index f9b2989..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP100_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 035aea6..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP100_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_FINISH.java
deleted file mode 100644
index 3b02822..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP100_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_START.java
deleted file mode 100644
index 72f5922..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP100_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 5faf9cd..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/callback/DataCallBack_OP100_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP100_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP100_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/impl/OP100ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/impl/OP100ServerInterfaceImpl.java
deleted file mode 100644
index 21a62da..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP100/impl/OP100ServerInterfaceImpl.java
+++ /dev/null
@@ -1,273 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP100.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP100.OP100ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP100ServerInterfaceImpl implements OP100ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP100ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP100";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP100_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP100_F_HEART_BEAT(), "true");
-            GlobalVariable.OP100_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP100_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-          /*  String isHeartBeat = OPCUnit.read(opc.getOP100_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP100_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP100_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP100_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP100_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP100_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP100宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP100_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP100_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP100_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP100_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP100宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP100_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP100_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP100_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 ){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP100宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP100宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP100_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP100_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP100_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP100_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP100_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP100宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/OP110ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/OP110ServerInterface.java
deleted file mode 100644
index 246d71c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/OP110ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110;
-
-public interface OP110ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_F_HEART_BEAT.java
deleted file mode 100644
index 740f8d4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP110_F_HEART_BEAT(), "true");
-            GlobalVariable.OP110_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP110_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_FINISH.java
deleted file mode 100644
index ef43d2f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP110_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_READ_INFO.java
deleted file mode 100644
index 75ce711..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP110_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_WRITE_ORDER.java
deleted file mode 100644
index dc6ee3a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP110_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_FINISH.java
deleted file mode 100644
index 14a44cf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP110_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_START.java
deleted file mode 100644
index 834066d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP110_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 5baed3b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/callback/DataCallBack_OP110_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP110_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP110_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/impl/OP110ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/impl/OP110ServerInterfaceImpl.java
deleted file mode 100644
index 43193e4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP110/impl/OP110ServerInterfaceImpl.java
+++ /dev/null
@@ -1,267 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP110.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP110.OP110ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP110ServerInterfaceImpl implements OP110ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP110ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP110";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP110_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP110_F_HEART_BEAT(), "true");
-            GlobalVariable.OP110_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP110_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-          /*  String isHeartBeat = OPCUnit.read(opc.getOP110_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP110_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP110_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP110_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP110_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP110_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP110宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP110_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP110_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP110_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP110_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP110宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP110宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP110宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP110_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP110_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP110_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP110_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP110_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP110宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/OP120ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/OP120ServerInterface.java
deleted file mode 100644
index 69e9bb5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/OP120ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120;
-
-public interface OP120ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_F_HEART_BEAT.java
deleted file mode 100644
index 4c6a631..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP120_F_HEART_BEAT(), "true");
-            GlobalVariable.OP120_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > 6) {
-            GlobalVariable.OP120_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_FINISH.java
deleted file mode 100644
index fc35c5e..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_READ_INFO.java
deleted file mode 100644
index 7a56525..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_WRITE_ORDER.java
deleted file mode 100644
index efb9120..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_FINISH.java
deleted file mode 100644
index a58eaf2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_START.java
deleted file mode 100644
index 0f89614..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_WRITE_INFO.java
deleted file mode 100644
index f402655..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/callback/DataCallBack_OP120_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/impl/OP120ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/impl/OP120ServerInterfaceImpl.java
deleted file mode 100644
index 2daada2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120/impl/OP120ServerInterfaceImpl.java
+++ /dev/null
@@ -1,269 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP120.OP120ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP120ServerInterfaceImpl implements OP120ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP120ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP120";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP120_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP120_F_HEART_BEAT(), "true");
-            GlobalVariable.OP120_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP120_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-            /*String isHeartBeat = OPCUnit.read(opc.getOP120_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP120_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP120_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP120_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP120_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP120_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP120宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP120_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP120_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP120_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP120宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP120宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP120宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP120_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP120_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP120_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP120_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP120宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/OP120BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/OP120BServerInterface.java
deleted file mode 100644
index 5970552..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/OP120BServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B;
-
-public interface OP120BServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_F_HEART_BEAT.java
deleted file mode 100644
index bacedae..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP120B_F_HEART_BEAT(), "true");
-            GlobalVariable.OP120B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > 6) {
-            GlobalVariable.OP120B_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_FINISH.java
deleted file mode 100644
index 62f4344..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120B_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_READ_INFO.java
deleted file mode 100644
index 6d2081d..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120B_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 5ed58c9..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120B_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_FINISH.java
deleted file mode 100644
index f9c9a55..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120B_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_START.java
deleted file mode 100644
index e40faa7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120B_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 9d09212..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/callback/DataCallBack_OP120B_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP120B_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP120B_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/impl/OP120BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/impl/OP120BServerInterfaceImpl.java
deleted file mode 100644
index 04b1dba..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP120B/impl/OP120BServerInterfaceImpl.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP120B.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP120B.OP120BServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP120BServerInterfaceImpl implements OP120BServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP120BServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP120B";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP120B_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP120B_F_HEART_BEAT(), "true");
-            GlobalVariable.OP120B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP120B_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-            /*String isHeartBeat = OPCUnit.read(opc.getOP120B_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP120B_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP120B_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP120B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP120B_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP120B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        handleInfo();
-                       // handleMaterial();
-
-                    }
-                }
-
-            }else{
-                logger.info("OP120B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP120B_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120B_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP120B_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP120B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP120B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP120B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP120B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            //鍒ゆ柇鏄惁鏈夎宸ヤ綅
-            String[] locationCodes = productionOrderBatchInfoResult.getLocationCode().split("/");
-            logger.info("褰撳墠宸ヤ綅锛�"+locationCodes.toString());
-            boolean isLocationCode = false;
-            if(locationCodes.length>0)
-            {
-                for (int j=0;j<locationCodes.length;j++){
-                    String location = locationCodes[j];
-                    if(location.equals(LOCATION_CODE)){
-                        isLocationCode = true;
-                    }
-                }
-            }
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 && isLocationCode){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP120B宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP120B宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP120B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP120B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP120B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP120B_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP120B_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP120B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/OP130ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/OP130ServerInterface.java
deleted file mode 100644
index d0f51a6..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/OP130ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130;
-
-public interface OP130ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_F_HEART_BEAT.java
deleted file mode 100644
index 18a59f4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP130_F_HEART_BEAT(), "true");
-            GlobalVariable.OP130_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP130_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_FINISH.java
deleted file mode 100644
index 8dd51b2..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_READ_INFO.java
deleted file mode 100644
index ba0c3fc..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 9d9e5cf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_FINISH.java
deleted file mode 100644
index 0d5638a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_START.java
deleted file mode 100644
index f03e6a8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 002aa43..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/callback/DataCallBack_OP130_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/impl/OP130ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/impl/OP130ServerInterfaceImpl.java
deleted file mode 100644
index dd4203b..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130/impl/OP130ServerInterfaceImpl.java
+++ /dev/null
@@ -1,280 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP130.OP130ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP130ServerInterfaceImpl implements OP130ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP130ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP130";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP130_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP130_F_HEART_BEAT(), "true");
-            GlobalVariable.OP130_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP130_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-   /*         String isHeartBeat = OPCUnit.read(opc.getOP130_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP130_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP130_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP130_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP130_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP130_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP130宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP130_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP130_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP130_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP130宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP130_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP130_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP130宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP130宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        logger.info("OP130宸ヤ綅,handleFinsh PC澶勭悊寮�濮嬶紒");
-
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP130_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP130_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP130_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP130_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP130宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/OP130BServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/OP130BServerInterface.java
deleted file mode 100644
index 6711f3a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/OP130BServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130B;
-
-public interface OP130BServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_F_HEART_BEAT.java
deleted file mode 100644
index ac1d4e4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130B_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP130B_F_HEART_BEAT(), "true");
-            GlobalVariable.OP130B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP130B_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_FINISH.java
deleted file mode 100644
index 2808091..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130B_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130B_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_START.java
deleted file mode 100644
index 8393ba4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/callback/DataCallBack_OP130B_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130B.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP130B_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP130B_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/impl/OP130BServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/impl/OP130BServerInterfaceImpl.java
deleted file mode 100644
index bc4ed9f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP130B/impl/OP130BServerInterfaceImpl.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP130B.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.server.OP130.OP130ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP130B.OP130BServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP130BServerInterfaceImpl implements OP130BServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP130BServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP130B";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP130B_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP130B_F_HEART_BEAT(), "true");
-            GlobalVariable.OP130B_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP130B_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-          /*  String isHeartBeat = OPCUnit.read(opc.getOP130B_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP130B_F_HEART_BEAT) {
-
-                    //PC璇诲伐鍗�
-                    String isPLCStart = OPCUnit.read(opc.getOP130B_J_PLC_START());//PLC寮�濮�
-                    if(isPLCStart.equals("true")){
-                        String isFinish = OPCUnit.read(opc.getOP130B_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                        if(isFinish.equals("false")){
-                            handleOrder();
-                        }
-                    }
-
-
-                    //PC瀹屾垚
-                    String isPLCFinish = OPCUnit.read(opc.getOP130B_J_PLC_FINISH());//PLC瀹屾垚
-                    if(isPLCFinish.equals("true")){
-                        String isFinish = OPCUnit.read(opc.getOP130B_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                        if(isFinish.equals("false")){
-                            handleFinsh();
-                            handleInfo();
-                            //handleMaterial();
-
-                        }
-                    }
-
-            }else{
-                logger.info("OP130B宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP130B_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130B_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP130B_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP130B_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP130B宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP130B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP130B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            //鍒ゆ柇鏄惁鏈夎宸ヤ綅
-            String[] locationCodes = productionOrderBatchInfoResult.getLocationCode().split("/");
-            logger.info("褰撳墠宸ヤ綅锛�"+locationCodes.toString());
-            boolean isLocationCode = false;
-            if(locationCodes.length>0)
-            {
-                for (int j=0;j<locationCodes.length;j++){
-                    String location = locationCodes[j];
-                    if(location.equals(LOCATION_CODE)){
-                        isLocationCode = true;
-                    }
-                }
-            }
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0 && isLocationCode){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setProductionLine((remainingQuantity-1)+"");
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP130B宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP130B宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        logger.info("OP130B宸ヤ綅,handleFinsh PC澶勭悊寮�濮嬶紒");
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP130B_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP130B_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP130B_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP130B_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP130B_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP130B宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/OP140ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/OP140ServerInterface.java
deleted file mode 100644
index a90b7a1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/OP140ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140;
-
-public interface OP140ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_F_HEART_BEAT.java
deleted file mode 100644
index 9441197..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP140_F_HEART_BEAT(), "true");
-            GlobalVariable.OP140_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP140_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_FINISH.java
deleted file mode 100644
index 97d2760..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP140_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_READ_INFO.java
deleted file mode 100644
index f7b33a4..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP140_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_WRITE_ORDER.java
deleted file mode 100644
index 88ee464..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP140_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_FINISH.java
deleted file mode 100644
index 61a261a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP140_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_START.java
deleted file mode 100644
index 4c8c24a..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP140_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_WRITE_INFO.java
deleted file mode 100644
index d47a8eb..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/callback/DataCallBack_OP140_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP140_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP140_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/impl/OP140ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/impl/OP140ServerInterfaceImpl.java
deleted file mode 100644
index 8c4f676..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP140/impl/OP140ServerInterfaceImpl.java
+++ /dev/null
@@ -1,277 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP140.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP140.OP140ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP140ServerInterfaceImpl implements OP140ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP140ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP140";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP140_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP140_F_HEART_BEAT(), "true");
-            GlobalVariable.OP140_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP140_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP140_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP140_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP140_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP140_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP140_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP140_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-
-                    }
-                }
-
-            }else{
-                logger.info("OP140宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP140_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP140_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP140_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP140_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP140宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP140_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP140_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP140_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP140宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP140宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP140_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP140_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP140_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP140_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP140_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP140宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/OP150ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/OP150ServerInterface.java
deleted file mode 100644
index 132cb55..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/OP150ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150;
-
-public interface OP150ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_F_HEART_BEAT.java
deleted file mode 100644
index 00154a5..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP150_F_HEART_BEAT(), "true");
-            GlobalVariable.OP150_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP150_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_FINISH.java
deleted file mode 100644
index de459da..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP150_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_READ_INFO.java
deleted file mode 100644
index 1ae16da..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP150_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_WRITE_ORDER.java
deleted file mode 100644
index eac5fb6..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP150_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_FINISH.java
deleted file mode 100644
index 13041c7..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP150_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_START.java
deleted file mode 100644
index f207a2f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP150_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_WRITE_INFO.java
deleted file mode 100644
index ed9141f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/callback/DataCallBack_OP150_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP150_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP150_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/impl/OP150ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/impl/OP150ServerInterfaceImpl.java
deleted file mode 100644
index 9202896..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP150/impl/OP150ServerInterfaceImpl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP150.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.server.OP150.OP150ServerInterface;
-import cn.stylefeng.guns.plcserver.server.OP170.OP170ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP150ServerInterfaceImpl implements OP150ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP150ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP150";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP150_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP150_F_HEART_BEAT(), "true");
-            GlobalVariable.OP150_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP150_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP150_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP150_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP150_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP150_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP150_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP150_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleFinsh();
-                        //handleInfo();
-                        handleMaterial();
-
-                    }
-                }
-
-            }else{
-                logger.info("OP150宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP150_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP150_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP150_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP150_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP150宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP150宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP150宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP150_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP150_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP150_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP150_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP150_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP150宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/OP160ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/OP160ServerInterface.java
deleted file mode 100644
index f68f6b6..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/OP160ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160;
-
-public interface OP160ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_F_HEART_BEAT.java
deleted file mode 100644
index f6aff96..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP160_F_HEART_BEAT(), "true");
-            GlobalVariable.OP160_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP160_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_FINISH.java
deleted file mode 100644
index 3ba7ddf..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP160_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_READ_INFO.java
deleted file mode 100644
index 5f93d62..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP160_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_WRITE_ORDER.java
deleted file mode 100644
index e8ffd66..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP160_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_FINISH.java
deleted file mode 100644
index 98834b8..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP160_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_START.java
deleted file mode 100644
index 4a0dd85..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP160_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 41afe4c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/callback/DataCallBack_OP160_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP160_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP160_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/impl/OP160ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/impl/OP160ServerInterfaceImpl.java
deleted file mode 100644
index e1ad2e1..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP160/impl/OP160ServerInterfaceImpl.java
+++ /dev/null
@@ -1,270 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP160.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP160.OP160ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP160ServerInterfaceImpl implements OP160ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP160ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP160";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP160_P";//缁勫悕
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP160_F_HEART_BEAT(), "true");
-            GlobalVariable.OP160_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP160_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-         /*   String isHeartBeat = OPCUnit.read(opc.getOP160_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP160_F_HEART_BEAT) {
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP160_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP160_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP160_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP160_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-
-                    }
-                }
-
-            }else{
-                logger.info("OP160宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP160_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP160_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP160_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP160_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP160宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP160宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP160宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP160_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP160_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP160_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP160_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        if("false".equals(S_PRODUCT_STATE_CODE)){
-            ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-            productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-            productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-            ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-            List<ProductionOrderRecordsResult> list = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-            if(list.size()>0){
-                ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0);
-                productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-                productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-                productionOrderRecordsService.update(productionOrderRecordsParam);
-            }
-        }
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-        OPCUnit.write(opc.getOP160_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP160宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/OP170ServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/OP170ServerInterface.java
deleted file mode 100644
index 3342a3c..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/OP170ServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170;
-
-public interface OP170ServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_F_HEART_BEAT.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_F_HEART_BEAT.java
deleted file mode 100644
index 873d4e9..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_F_HEART_BEAT.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_F_HEART_BEAT implements DataCallback {
-
-    private OPCComm opc = OPCComm.getInstance();
-    private int count = 0;
-
-    @Override
-    public void changed(Item item, ItemState itemState) {
-        // 璇诲彇蹇冭烦鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                setHeartbeat(value);
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(boolean value) {
-        if (!value) {
-            OPCUnit.write(opc.getOP170_F_HEART_BEAT(), "true");
-            GlobalVariable.OP170_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP170_F_HEART_BEAT = false;
-        }
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_FINISH.java
deleted file mode 100644
index 15461cc..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_J_PC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP170_J_PC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_READ_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_READ_INFO.java
deleted file mode 100644
index 353c547..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_READ_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_J_PC_READ_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP170_J_PC_READ_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_WRITE_ORDER.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_WRITE_ORDER.java
deleted file mode 100644
index ef6ea2f..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PC_WRITE_ORDER.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_J_PC_WRITE_ORDER implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP170_J_PC_WRITE_ORDER = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_FINISH.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_FINISH.java
deleted file mode 100644
index d2df2db..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_FINISH.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_J_PLC_FINISH implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP050_J_PLC_FINISH = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_START.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_START.java
deleted file mode 100644
index ea37e98..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_START.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_J_PLC_START implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP170_J_PLC_START = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_WRITE_INFO.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_WRITE_INFO.java
deleted file mode 100644
index 2d3dd88..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/callback/DataCallBack_OP170_J_PLC_WRITE_INFO.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.callback;
-
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import org.jinterop.dcom.common.JIException;
-import org.jinterop.dcom.core.JIVariant;
-import org.openscada.opc.lib.da.DataCallback;
-import org.openscada.opc.lib.da.Item;
-import org.openscada.opc.lib.da.ItemState;
-
-public class DataCallBack_OP170_J_PLC_WRITE_INFO implements DataCallback {
-    @Override
-    public void changed(Item item, ItemState itemState) {
-
-        // 璇诲彇鍙橀噺鐨勫��
-        try {
-            if (itemState.getValue().getType() == JIVariant.VT_BOOL) {
-                boolean value = itemState.getValue().getObjectAsBoolean();
-                GlobalVariable.OP170_J_PLC_WRITE_INFO = value;
-            }
-        } catch (JIException e) {
-            e.printStackTrace();
-        }
-    }
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/impl/OP170ServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/impl/OP170ServerInterfaceImpl.java
deleted file mode 100644
index 95a7b07..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/OP170/impl/OP170ServerInterfaceImpl.java
+++ /dev/null
@@ -1,290 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.OP170.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam;
-import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult;
-import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult;
-import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-
-import cn.stylefeng.guns.plcserver.server.OP170.OP170ServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.List;
-
-
-public class OP170ServerInterfaceImpl implements OP170ServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(OP170ServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-    private static Date IN_TIME = null;
-    private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿
-    private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿
-    private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷
-    private static String S_PRODUCT_CODE_OLD = "";//浜у搧缂栧彿
-    private static String S_SFC_CODE = "";//鎬绘垚缂栫爜
-    private static String S_RIGHT_CODE  = "";//鍙冲3浣撶紪鐮�
-    private static String PRODUCTION_LINE  = "OP";//浜х嚎鍙�
-    private static String LOCATION_CODE  = "OP170";//宸ヤ綅鍙�
-    private static String GROUP_NAME  = "OP170_P";//宸ヤ綅鍙�
-    private static List list = null;
-    private static Group group = null;
-
-    private int count = 0;
-
-    /**
-     * 璁剧疆蹇冭烦鏍囧織浣嶏紝淇濆瓨鍒板叏灞�鍙橀噺
-     */
-    public void setHeartbeat(String value) {
-        if ("false".equals(value)) {
-            OPCUnit.write(opc.getOP170_F_HEART_BEAT(), "true");
-            GlobalVariable.OP170_F_HEART_BEAT = true;
-            count = 0;
-        } else {
-            count++;
-        }
-        // 寰幆璇诲彇棰戠巼鏄細500ms涓�娆★紝濡傛灉瓒呰繃6娆★紝涔熷氨鏄�3s璁ゅ畾瓒呮椂
-        if (count > GlobalVariable.HEART_MAX_COUNT) {
-            GlobalVariable.OP170_F_HEART_BEAT = false;
-        }
-    }
-
-    @Override
-    public synchronized void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-
-           /* String isHeartBeat = OPCUnit.read(opc.getOP170_F_HEART_BEAT());
-            setHeartbeat(isHeartBeat);*/
-
-            if(GlobalVariable.OP170_F_HEART_BEAT) {
-
-                //PC璇诲伐鍗�
-                String isPLCStart = OPCUnit.read(opc.getOP170_J_PLC_START());//PLC寮�濮�
-                if(isPLCStart.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP170_J_PC_WRITE_ORDER());//PC涓嬪彂宸ュ崟瀹屾垚
-                    if(isFinish.equals("false")){
-                        handleOrder();
-                    }
-                }
-
-
-                //PC瀹屾垚
-                String isPLCFinish = OPCUnit.read(opc.getOP170_J_PLC_FINISH());//PLC瀹屾垚
-                if(isPLCFinish.equals("true")){
-                    String isFinish = OPCUnit.read(opc.getOP170_J_PC_FINISH());//PC鎿嶄綔瀹屾垚
-                    if(isFinish.equals("false")){
-                        logger.info("handleFinsh寮�濮嬫椂闂�:"+new Date());
-                        handleFinsh();
-                        logger.info("handleFinsh瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleInfo寮�濮嬫椂闂�:"+new Date());
-                        handleInfo();
-                        logger.info("handleInfo瀹屾垚鏃堕棿:"+new Date());
-                        logger.info("handleMaterial寮�濮嬫椂闂�:"+new Date());
-                        handleMaterial();
-                        logger.info("handleMaterial瀹屾垚鏃堕棿:"+new Date());
-                    }
-                }
-
-            }else{
-                logger.info("OP170宸ヤ綅涓嶱LC鏂紑,璇锋鏌LC鎴栫綉缁滄槸鍚﹀紓甯革紒");
-            }
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-    //PC璇诲伐鍗�
-    public void handleOrder() {
-        IN_TIME = DateTool.getLocalTimeForDate();
-        S_ORDER_CODE = OPCUnit.read(opc.getOP170_S_ORDER_CODE());//宸ュ崟缂栧彿
-        S_PRODUCT_TYPE = OPCUnit.read(opc.getOP170_S_PRODUCT_CODE());//浜у搧缂栧彿
-        S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-        S_SFC_CODE = OPCUnit.read(opc.getOP170_S_SFC_CODE());//鎬绘垚缂栫爜
-        OPCUnit.write(opc.getOP170_J_PC_WRITE_ORDER(), "true"); //PC璇诲伐鍗曞畬鎴�
-        logger.info("OP170宸ヤ綅,handleOrder PC澶勭悊瀹屾垚锛�");
-    }
-
-    public void handleMaterial() {
-
-        //鏌ヨ鎵规涓婃枡淇℃伅
-        ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam();
-        productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderBatchInfoParam.setLocationCode(LOCATION_CODE);
-        ProductionOrderBatchInfoService productionOrderBatchInfoService = opc.productionOrderBatchInfoService;
-        List<ProductionOrderBatchInfoResult> list1 = productionOrderBatchInfoService.findListBySpec(productionOrderBatchInfoParam);
-        for(int i=0;i<list1.size();i++){
-            ProductionOrderBatchInfoResult productionOrderBatchInfoResult = list1.get(i);
-            int remainingQuantity =  productionOrderBatchInfoResult.getResidueQuantity();//鍓╀綑鏁伴噺
-            if(remainingQuantity>0){
-                //鏂板鐗╂枡杩芥函
-                MaterialTraceabilityParam materialTraceabilityParam = new MaterialTraceabilityParam();
-                materialTraceabilityParam.setWorkOrderNo(S_ORDER_CODE);
-                materialTraceabilityParam.setProductCode(S_PRODUCT_CODE);
-                materialTraceabilityParam.setProductNo(S_SFC_CODE);
-                materialTraceabilityParam.setLineCode(PRODUCTION_LINE);
-                materialTraceabilityParam.setLocationCode(LOCATION_CODE);
-                materialTraceabilityParam.setAssemblyQty(1);
-                materialTraceabilityParam.setAssemblyTime(DateTool.getLocalTimeForDate());
-                materialTraceabilityParam.setMaterialCode(productionOrderBatchInfoResult.getMaterialCode());//鐗╂枡缂栫爜
-                materialTraceabilityParam.setMaterialBatchNo(productionOrderBatchInfoResult.getBatch());//鐗╂枡鎵规
-
-                MaterialTraceabilityService materialTraceabilityService = opc.materialTraceabilityService;
-                materialTraceabilityService.add(materialTraceabilityParam);
-                //鏇存柊鍓╀綑鏁伴噺
-                productionOrderBatchInfoParam.setId(productionOrderBatchInfoResult.getId());
-                productionOrderBatchInfoParam.setResidueQuantity(remainingQuantity-1);//鍓╀綑鏁伴噺
-                productionOrderBatchInfoService.update(productionOrderBatchInfoParam);
-            }
-        }
-    }
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP170宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam();
-            //collectionParamConfParam.setProductCode(S_PRODUCT_CODE);
-            collectionParamConfParam.setLocationCode(LOCATION_CODE);
-            CollectionParamConfService collectionParamConfService = opc.collectionParamConfService;
-            list = collectionParamConfService.findListBySpec(collectionParamConfParam);
-
-
-            for(int i=0;i<list.size();i++){
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = group.addItem(result.getGatherAddress());
-                result.setItem(item);
-                list.set(i,result);
-            }
-            //S_PRODUCT_CODE_OLD = S_PRODUCT_CODE;
-        }
-
-        if(null != list && list.size()>0) {
-            ParamCollectionService paramCollectionService = opc.paramCollectionService;
-            for (int i = 0; i < list.size(); i++) {
-                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��
-                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
-                paramCollectionParam.setParamCode(result.getParamCode());
-                paramCollectionParam.setParamName(result.getParamName());
-                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
-                paramCollectionParam.setSfcCode(S_SFC_CODE);
-                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
-                paramCollectionParam.setProductionLine(result.getProductionLine());
-                paramCollectionParam.setLocationCode(result.getLocationCode());
-                paramCollectionParam.setParamValue(value);
-                paramCollectionParam.setParamLower(result.getParamLower());
-                paramCollectionParam.setParamUpper(result.getParamUpper());
-                paramCollectionParam.setParamStandard(result.getParamCentral());
-                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
-                paramCollectionParam.setUnit(result.getUnit());
-                paramCollectionService.add(paramCollectionParam);
-            }
-        }
-
-        logger.info("OP170宸ヤ綅,handleInfo END锛�");
-    }
-
-    //PC瀹屾垚
-    public void handleFinsh() {
-        if("".equals(S_ORDER_CODE)){
-            IN_TIME = DateTool.getLocalTimeForDate();
-            S_ORDER_CODE = OPCUnit.read(opc.getOP170_S_ORDER_CODE());//宸ュ崟缂栧彿
-            S_PRODUCT_TYPE = OPCUnit.read(opc.getOP170_S_PRODUCT_CODE());//浜у搧缂栧彿
-            S_PRODUCT_CODE = GlobalVariable.PRODUCT_CODE_MAP.get(S_PRODUCT_TYPE);
-            S_SFC_CODE = OPCUnit.read(opc.getOP170_S_SFC_CODE());//鎬绘垚缂栫爜
-        }
-        //澶勭悊杩囩珯淇℃伅
-        String S_PRODUCT_STATE_CODE = OPCUnit.read(opc.getOP170_S_PRODUCT_STATE_CODE());
-
-        //淇敼鎶ュ伐璁板綍
-        ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam();
-        productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE);
-        productionOrderRecordsParam.setProductNo(S_SFC_CODE);
-        ProductionOrderRecordsService productionOrderRecordsService = opc.productionOrderRecordsService;
-
-        List<ProductionOrderRecordsResult> list2 = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam);
-        if(list2.size()>0){
-            ProductionOrderRecordsResult productionOrderRecordsResult = list2.get(0);
-            productionOrderRecordsParam.setId(productionOrderRecordsResult.getId());
-            productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE);
-            productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate());
-            productionOrderRecordsService.update(productionOrderRecordsParam);
-        }
-
-
-
-        PassingStationCollectionParam param = new PassingStationCollectionParam();
-        param.setWorkOrderNo(S_ORDER_CODE);
-        param.setProductCode(S_PRODUCT_CODE);
-        param.setSfcCode(S_SFC_CODE);
-        param.setProductionLine(PRODUCTION_LINE);
-        param.setLocationCode(LOCATION_CODE);
-        param.setInboundTime(IN_TIME);
-        param.setOutboundTime(DateTool.getLocalTimeForDate());
-        param.setOutRsSign(S_PRODUCT_STATE_CODE);//鍑虹珯鏄惁鍚堟牸
-        PassingStationCollectionService passingStationCollectionService = opc.passingStationCollectionService;
-        passingStationCollectionService.add(param);
-
-
-
-        //鏇存柊宸ュ崟瀹屾垚鏁伴噺
-        ProductionOrdeInfoParam orderParam = new ProductionOrdeInfoParam();
-        orderParam.setWorkOrderNo(S_ORDER_CODE);
-        if(!"".equals(S_ORDER_CODE)&&null!=S_ORDER_CODE){
-            ProductionOrdeInfoService productionOrdeInfoService = opc.productionOrdeInfoService;
-            List<ProductionOrdeInfoResult> list = productionOrdeInfoService.findListBySpec(orderParam);
-            if(list.size()>0) {
-                ProductionOrdeInfoResult result = list.get(0);
-                orderParam.setId(result.getId());
-                if (null == result.getActualQty() || "".equals(result.getActualQty())){
-                    result.setActualQty(0);
-                }
-                orderParam.setActualQty(result.getActualQty()+1);
-                productionOrdeInfoService.update(orderParam);
-            }
-        }
-        OPCUnit.write(opc.getOP170_J_PC_FINISH(), "true"); //PC瀹屾垚
-
-        logger.info("OP170宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�");
-    }
-
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/StateServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/StateServerInterface.java
deleted file mode 100644
index aa8c0f6..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/StateServerInterface.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.state;
-
-public interface StateServerInterface {
-    public void monitor();
-}
diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/impl/StateServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/impl/StateServerInterfaceImpl.java
deleted file mode 100644
index b6fbd20..0000000
--- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/state/impl/StateServerInterfaceImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package cn.stylefeng.guns.plcserver.server.state.impl;
-
-
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult;
-import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService;
-import cn.stylefeng.guns.modular.bs.equipmentInfo.model.params.EquipmentInfoParam;
-import cn.stylefeng.guns.modular.bs.equipmentInfo.model.result.EquipmentInfoResult;
-import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService;
-import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam;
-import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam;
-import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService;
-import cn.stylefeng.guns.modular.em.equipmentAlarm.model.params.EquipmentAlarmParam;
-import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService;
-import cn.stylefeng.guns.modular.em.equipmentStatus.model.params.EquipmentStatusParam;
-import cn.stylefeng.guns.modular.em.equipmentStatus.model.result.EquipmentStatusResult;
-import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService;
-import cn.stylefeng.guns.plcserver.opc.GlobalVariable;
-import cn.stylefeng.guns.plcserver.opc.OPCComm;
-import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit;
-import cn.stylefeng.guns.plcserver.server.OP100.OP100ServerInterface;
-import cn.stylefeng.guns.plcserver.server.state.StateServerInterface;
-import cn.stylefeng.guns.plcserver.tool.DateTool;
-import cn.stylefeng.guns.plcserver.tool.LogUtil;
-import org.apache.log4j.Logger;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.Item;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-public class StateServerInterfaceImpl implements StateServerInterface {
-
-    private static Logger logger;
-    LogUtil logUtil = new LogUtil();
-    static {
-        logger = Logger.getLogger(StateServerInterfaceImpl.class);
-    }
-
-    private OPCComm opc = OPCComm.getInstance();
-
-    private static String GROUP_NAME  = "STATE_GROUP";//缁�
-    private static List list = null;
-    private static Group group = null;
-
-    @Override
-    public void monitor() {
-        String ecpStr = "";//寮傚父璁板綍鏍囪
-        try{
-            handleInfo();
-
-        }catch (Exception e) {
-            ecpStr ="鍑虹幇寮傚父锛�" + logUtil.getTrace(e);
-        }finally {
-            if(!"".equals(ecpStr)){
-                logger.info(ecpStr+"\r\n");
-            }
-        }
-    }
-
-
-    //PC璇诲弬鏁颁俊鎭�
-    public void handleInfo() throws Exception {
-        logger.info("OP100宸ヤ綅,handleInfo START锛�");
-
-        if(null == list /*|| !S_PRODUCT_CODE_OLD.equals(S_PRODUCT_CODE)*/){
-            if(group != null){
-                opc.getServer().removeGroup(group,true);
-            }
-            group = opc.getServer().addGroup(GROUP_NAME);
-
-            EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam();
-            EquipmentInfoService equipmentInfoService = opc.equipmentInfoService;
-            list = equipmentInfoService.findListBySpec(equipmentInfoParam);
-
-            for(int i=0;i<list.size();i++){
-                EquipmentInfoResult result = (EquipmentInfoResult) list.get(i);
-                Item item = group.addItem(result.getSpareField1());
-                result.setItem(item);
-                list.set(i,result);
-            }
-        }
-        if(null != list && list.size()>0) {
-            EquipmentStatusService equipmentStatusService = opc.equipmentStatusService;
-
-            for (int i = 0; i < list.size(); i++) {
-                EquipmentInfoResult result = (EquipmentInfoResult) list.get(i);
-                Item item = result.getItem();
-                String value = OPCUnit.read(item);//璇诲弬鏁板��  璁惧鐘舵��
-                String equipmentNo = result.getEquipmentNo();
-
-                EquipmentStatusParam equipmentStatusParam = new EquipmentStatusParam();
-                equipmentStatusParam.setEquipmentNo(equipmentNo);
-                List statuslist = equipmentStatusService.findListBySpec(equipmentStatusParam);
-                if(statuslist.size()>0){
-                    EquipmentStatusResult equipmentStatusResult = (EquipmentStatusResult) statuslist.get(0);
-                    if(!value.equals(equipmentStatusResult.getStatus())){
-                        equipmentStatusParam.setId(equipmentStatusResult.getId());
-                        equipmentStatusParam.setStatus(value);
-                        equipmentStatusParam.setUpdateTime(DateTool.getLocalTimeForDate());
-                        equipmentStatusService.update(equipmentStatusParam);//鏇存柊璁惧鐘舵��
-
-                        //娣诲姞璁惧鎶ヨ
-                        if("3".equals(value)){
-                            EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam();
-                            equipmentAlarmParam.setEquipmentNo(equipmentNo);
-                            equipmentAlarmParam.setEquipmentName(result.getEquipmentName());
-                            equipmentAlarmParam.setWorkshopCode(result.getWorkshopCode());
-                            equipmentAlarmParam.setProductionLineCode(result.getProductionLineCode());
-                            equipmentAlarmParam.setLocationCode(result.getLocationCode());
-                            equipmentAlarmParam.setErrorDesc(result.getEquipmentName()+"鎶ヨ锛�");
-                            equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate());
-                            EquipmentAlarmService equipmentAlarmService = opc.equipmentAlarmService;
-                            equipmentAlarmService.add(equipmentAlarmParam);
-                        }
-                    }
-
-                }else{
-                    equipmentStatusParam.setEquipmentName(result.getEquipmentName());
-                    equipmentStatusParam.setWorkshopCode(result.getWorkshopCode());
-                    equipmentStatusParam.setProductionLineCode(result.getProductionLineCode());
-                    equipmentStatusParam.setLocationCode(result.getLocationCode());
-                    equipmentStatusParam.setStatus(value);
-                    equipmentStatusParam.setUpdateTime(DateTool.getLocalTimeForDate());
-                    equipmentStatusService.add(equipmentStatusParam);
-
-                    //娣诲姞璁惧鎶ヨ
-                    if("3".equals(value)){
-                        EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam();
-                        equipmentAlarmParam.setEquipmentNo(equipmentNo);
-                        equipmentAlarmParam.setEquipmentName(result.getEquipmentName());
-                        equipmentAlarmParam.setWorkshopCode(result.getWorkshopCode());
-                        equipmentAlarmParam.setProductionLineCode(result.getProductionLineCode());
-                        equipmentAlarmParam.setLocationCode(result.getLocationCode());
-                        equipmentAlarmParam.setErrorDesc(result.getEquipmentName()+"鎶ヨ锛�");
-                        equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate());
-                        EquipmentAlarmService equipmentAlarmService = opc.equipmentAlarmService;
-                        equipmentAlarmService.add(equipmentAlarmParam);
-                    }
-                }
-
-            }
-        }
-
-    }
-
-
-}

--
Gitblit v1.9.3