审查视图

src/main/java/com/sy/bwAnalysis/AnalysisRoute.java 8.5 KB
zhangFan authored
1
package com.sy.bwAnalysis;
2 3

import com.sy.bwAssist.Message;
zhangFan authored
4
import com.sy.logic.LogicOperation;
5 6
import com.sy.model.*;
import com.sy.service.*;
zhangFan authored
7
import org.apache.log4j.Logger;
zhangFan authored
8
import org.apache.log4j.PropertyConfigurator;
9 10 11 12
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
zhangFan authored
13
import java.util.Date;
14 15
import java.util.List;
16
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
@Component
public class AnalysisRoute {

    @Autowired
    private aironeExStockService exStockService;

    @Autowired
    private aironeImStockService imStockService;

    @Autowired
    private GATService gatService;

    @Autowired
    private CLRService clrService;

    @Autowired
    private GatherInfoService infoService;
zhangFan authored
35 36 37
    @Autowired
    private CommandInfoService commandService;
zhangFan authored
38 39 40
    @Autowired
    private LandBusListService listService;
zhangFan authored
41 42 43
    @Autowired
    private ResMessageService resMessageService;
zhangFan authored
44 45 46
    @Autowired
    private RepertoryService repertoryService;
zhangFan authored
47 48
    protected static final Logger logger = Logger.getLogger(AnalysisRoute.class);
49 50 51 52 53 54 55 56
    private static AnalysisRoute route;

    private static MessageAnalysis analysis = new MessageAnalysis();
    private static CLRAnalysis clrAnalysis = new CLRAnalysis();
    private static ExStockAnalysis exStockAnalysis = new ExStockAnalysis();
    private static ImStockAnalysis imStockAnalysis = new ImStockAnalysis();
    private static GATAnaluysis gatAnaluysis = new GATAnaluysis();
    private static GatherInfoAnalysis gatherInfoAnalysis = new GatherInfoAnalysis();
zhangFan authored
57
    private static CommandInfoAnalysis commandInfoAnalysis = new CommandInfoAnalysis();
zhangFan authored
58
    private static ResMessageAnalysis resMessageAnalysis = new ResMessageAnalysis();
59 60 61 62 63 64 65 66 67

    @PostConstruct
    public void init(){
        route = this;
        route.clrService = this.clrService;
        route.exStockService = this.exStockService;
        route.imStockService = this.imStockService;
        route.gatService = this.gatService;
        route.infoService = this.infoService;
zhangFan authored
68
        route.commandService = this.commandService;
zhangFan authored
69
        route.listService = this.listService;
zhangFan authored
70
        route.resMessageService = this.resMessageService;
zhangFan authored
71
        route.repertoryService = this.repertoryService;
72
    }
zhangFan authored
73
zhangFan authored
74
    public static void analysis(String string) {
zhangFan authored
75 76 77
        PropertyConfigurator.configure("config/log4j.properties");
        string = string.replace("Msg","MSG");
        Message message = analysis.readTicketsXml(string);;
zhangFan authored
78
        String stype = message.getMeta().getSmType();
79
        if (stype.equals("CARM")) {
zhangFan authored
80 81 82 83 84
            if(message.getComInfo() !=null){
                commandInfo info  = commandInfoAnalysis.toJavaBean(message);
                route.commandService.save(info);
            }else{
                GatherInfo info = gatherInfoAnalysis.toJavaBean(message);
zhangFan authored
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
                if(info.getBarcode().length()>0){
                    if(LogicOperation.operation(info)){
                        String type = null;
                        if("I".equals(info.getIetype())){
                            type="进入";
                        }else{
                            type="离开";
                        }
                        logger.info("进出站业务申请成功");
                        logger.info("------->>>>>>>"+info.getVename()+"已"+type+info.getAreaid()+"场站<<<<<<<-----");
                    }
                }else{
                    if("4604000000".equals(info.getAreaid())){
                        if("I".equals(info.getIetype())){
                            LogicOperation.sendData("HK05",info.getVename(),false);
                        }else{
                            LogicOperation.sendData("HK06",info.getVename(),false);
                        }
                    }
zhangFan authored
104
                }
zhangFan authored
105 106
                route.infoService.save(info);
            }
107 108
        } else if (stype.equals("ES1")) {
            airone_ex_stock exStock = exStockAnalysis.toExStock(message);
zhangFan authored
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
            T_AIR_REPERTORY repertory = route.repertoryService.selectByPermaryKey(exStock.getMawbNo());
            if(repertory!=null){
                if(repertory.getCnt()>exStock.getCnt().longValue() && repertory.getWt().longValue()>exStock.getWt().longValue()){
                    repertory.setCnt(repertory.getCnt()-exStock.getCnt().longValue());
                    repertory.setWt(repertory.getWt().subtract(exStock.getWt()));
                    repertory.setUpdateTime(new Date());
                    route.repertoryService.updateEntry(repertory);
                }
            }else{
                T_AIR_REPERTORY airRepertoryrepertory = new T_AIR_REPERTORY();
                airRepertoryrepertory.setAreaCode(exStock.getAreaCode());
                airRepertoryrepertory.setSupCode(exStock.getSupCode());
                airRepertoryrepertory.setSupName(exStock.getSupName());
                airRepertoryrepertory.setVoyageNo(exStock.getVoyageNo());
                airRepertoryrepertory.setIeDate(exStock.getIeDate());
                airRepertoryrepertory.setMawbNo(exStock.getMawbNo());
                airRepertoryrepertory.setIeFlag(exStock.getIeFlag());
                airRepertoryrepertory.setCnt(exStock.getCnt().longValue());
                airRepertoryrepertory.setWt(exStock.getWt());
                airRepertoryrepertory.setGoodName(exStock.getgName());
                airRepertoryrepertory.setCopCode(exStock.getCopCode());
                airRepertoryrepertory.setCopName(exStock.getCopName());
                airRepertoryrepertory.setOpCode(exStock.getInputCode());
                airRepertoryrepertory.setCreateDate(new Date());
                route.repertoryService.insertEntry(airRepertoryrepertory);
            }
135 136 137 138 139 140
            route.exStockService.save(exStock);
        } else if (stype.equals("CLR")) {
            v_express_billno billno = clrAnalysis.toBill(message);
            route.clrService.save(billno);
        } else if (stype.equals("IS1")) {
            airone_im_stock imStock = imStockAnalysis.toImStock(message);
zhangFan authored
141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
            T_AIR_REPERTORY repertory = route.repertoryService.selectByPermaryKey(imStock.getMawbNo());
            if(repertory!=null){
                repertory.setCnt(repertory.getCnt()+imStock.getCnt());
                repertory.setWt(repertory.getWt().add(imStock.getWt()));
                repertory.setUpdateTime(new Date());
                route.repertoryService.updateEntry(repertory);
            }else{
                T_AIR_REPERTORY airRepertoryrepertory = new T_AIR_REPERTORY();
                airRepertoryrepertory.setAreaCode(imStock.getAreaCode());
                airRepertoryrepertory.setSupCode(imStock.getSupCode());
                airRepertoryrepertory.setSupName(imStock.getSupName());
                airRepertoryrepertory.setVoyageNo(imStock.getVoyageNo());
                airRepertoryrepertory.setIeDate(imStock.getIeDate());
                airRepertoryrepertory.setMawbNo(imStock.getMawbNo());
                airRepertoryrepertory.setCnt(imStock.getCnt());
                airRepertoryrepertory.setWt(imStock.getWt());
                airRepertoryrepertory.setIeFlag(imStock.getIeFlag());
                airRepertoryrepertory.setGoodName(imStock.getgName());
                airRepertoryrepertory.setCopCode(imStock.getCopCode());
                airRepertoryrepertory.setCopName(imStock.getCopName());
                airRepertoryrepertory.setOpCode(imStock.getInputCode());
                airRepertoryrepertory.setCreateDate(new Date());
                route.repertoryService.insertEntry(airRepertoryrepertory);
            }
165 166 167 168 169 170 171 172 173 174
            route.imStockService.save(imStock);
        } else if (stype.equals("GAT")) {
            port_manifest_head portHead = gatAnaluysis.toPortHead(message);
            route.gatService.savePortHead(portHead);
            List<port_manifest_body> portBody = gatAnaluysis.toPortBody(message);
            for (int a = 0; a<portBody.size();a++){
                route. gatService.savePortBody(portBody.get(a));
            }
            port_manifest_head_stat portStat = gatAnaluysis.toPortStat(message);
            route.gatService.savePortStat(portStat);
zhangFan authored
175 176 177 178 179 180 181 182
        } else if(stype.equals("CDHZ")){
            if("MT9999".equals(message.getManifest().getHead().getMessageType())){
                RESMESSAGE resmessage = resMessageAnalysis.saveEntry(message.getManifest());
                RESMESSAGE msg =route.resMessageService.selectByManifest(resmessage.getManifest());
                if(msg==null){
                    route.resMessageService.saveEnter(resmessage);
                }
            }
183 184 185
        }
    }
zhangFan authored
186
187 188 189
}