AnalysisRoute.java 5.0 KB
package com.sy.controller;

import com.sy.bwAnalysis.*;
import com.sy.bwAssist.Message;
import com.sy.model.*;
import com.sy.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.List;


@Component
public class AnalysisRoute {

    @Autowired
    private aironeExStockService exStockService;

    @Autowired
    private aironeImStockService imStockService;

    @Autowired
    private GATService gatService;

    @Autowired
    private CLRService clrService;

    @Autowired
    private GatherInfoService infoService;

    @Autowired
    private CommandInfoService commandService;

    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();
    private static CommandInfoAnalysis commandInfoAnalysis = new CommandInfoAnalysis();

    @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;
        route.commandService = this.commandService;
    }
 /*   public static void main(String[] args) {
        AnalysisRoute route = new AnalysisRoute();
        route.analysis("<MSG><META><SNDR>KAKO</SNDR><RCVR></RCVR><SEQN>20181226160547</SEQN><DDTM>20181226160547</DDTM><TYPE>KAKO</TYPE><STYP>CARM</STYP></META><GATHER_INFO AREA_ID=\"4604000000\" CHNL_NO=\"4604333322\" I_E_TYPE=\"E\" SEQ_NO=\"20181128144318000004\">\n" +
                "\t<IC>\n" +
                "\t\t<DR_IC_NO/>\n" +
                "\t\t<IC_DR_CUSTOMS_NO/>\n" +
                "\t\t<IC_CO_CUSTOMS_NO/>\n" +
                "\t\t<IC_BILL_NO/>\n" +
                "\t\t<IC_FORM_TYPE/>\n" +
                "\t\t<IC_GROSS_WT/>\n" +
                "\t\t<IC_VE_CUSTOMS_NO/>\n" +
                "\t\t<IC_VE_NAME/>\n" +
                "\t\t<IC_CONTA_ID/>\n" +
                "\t\t<IC_ESEAL_ID/>\n" +
                "\t\t<IC_REG_DATETIME/>\n" +
                "\t\t<IC_PER_DAY_DUE/>\n" +
                "\t</IC>\n" +
                "\t<WEIGHT>\n" +
                "\t\t<GROSS_WT>9100</GROSS_WT>\n" +
                "\t</WEIGHT>\n" +
                "\t<CAR>\n" +
                "\t\t<VE_NAME>豫AJ1205</VE_NAME>\n" +
                "\t\t<CAR_EC_NO>E0040000BFB0C007</CAR_EC_NO>\n" +
                "\t\t<CAR_EC_NO2/>\n" +
                "\t\t<VE_CUSTOMS_NO/>\n" +
                "\t\t<VE_WT/>\n" +
                "\t</CAR>\n" +
                "\t<CONTA>\n" +
                "\t\t<CONTA_NUM/>\n" +
                "\t\t<CONTA_RECO>1</CONTA_RECO>\n" +
                "\t\t<CONTA_ID_F/>\n" +
                "\t\t<CONTA_ID_B/>\n" +
                "\t\t<CONTA_MODEL_F/>\n" +
                "\t\t<CONTA_MODEL_B/>\n" +
                "\t</CONTA>\n" +
                "\t<ORDER_NUM/>\n" +
                "\t<BAR_CODE/>\n" +
                "\t<SEAL>\n" +
                "\t\t<ESEAL_ID/>\n" +
                "\t\t<SEAL_KEY/>\n" +
                "\t</SEAL>\n" +
                "</GATHER_INFO></MSG>");
    }*/
    public void analysis(String string) {
        Message message = analysis.readTicketsXml(string);
        String stype = message.getMeta().getSmType();
        if (stype.equals("CARM")) {
            if(message.getComInfo() !=null){
                commandInfo info  = commandInfoAnalysis.toJavaBean(message);
                route.commandService.save(info);
            }else{
                GatherInfo info = gatherInfoAnalysis.toJavaBean(message);
                route.infoService.save(info);
            }
        } else if (stype.equals("ES1")) {
            airone_ex_stock exStock = exStockAnalysis.toExStock(message);
            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);
            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);
        }
    }

}