审查视图

src/main/java/com/tianbo/analysis/service/imp/CoustomAnalysisServiceImp.java 5.0 KB
朱兆平 authored
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
package com.tianbo.analysis.service.imp;

import com.tianbo.analysis.dao.ORIGINMANIFESTMASTERMapper;
import com.tianbo.analysis.dao.OriginmanifestsecondaryMapper;
import com.tianbo.analysis.dao.SENDLOGMapper;
import com.tianbo.analysis.model.CustomReception;
import com.tianbo.analysis.model.ORIGINMANIFESTMASTER;
import com.tianbo.analysis.model.Originmanifestsecondary;
import com.tianbo.analysis.model.SENDLOG;
import com.tianbo.analysis.service.CoustomAnalysisService;
import com.tianbo.util.Date.DateUtil;
import com.tianbo.util.Helper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Service
@Slf4j
public class CoustomAnalysisServiceImp implements CoustomAnalysisService {

    @Autowired
    SENDLOGMapper sendlogMapper;
    @Autowired
    ORIGINMANIFESTMASTERMapper originmanifestmasterMapper;
    @Autowired
    OriginmanifestsecondaryMapper originmanifestsecondaryMapper;


    @Override
    public int insertRecept(CustomReception customReception){

        String awbA = customReception.getWayBillMaster();
        String awbH = customReception.getWayBillSecond();
        //回执内容
        String reception = customReception.getResponseText();
        String flightDateStr = customReception.getFlightDate();
        Date flightDate = DateUtil.formatByyyyyMMdd(flightDateStr);

        //设置分单回执
        Originmanifestsecondary originmanifestsecondary = new Originmanifestsecondary();
        originmanifestsecondary.setReceiption(reception);

        //设置主单回执、航班号、航班日期
        ORIGINMANIFESTMASTER originmanifestmaster = new ORIGINMANIFESTMASTER();
        originmanifestmaster.setReceiptinformation(reception);
        originmanifestmaster.setFlightno(customReception.getFlightNo());
        originmanifestmaster.setFlightDate(flightDate);

        if (awbA!=null && awbA.length()>0){
            StringBuffer stringBuffer = new StringBuffer(awbA);
            stringBuffer.insert(3,"-");
            awbA = stringBuffer.toString();

            //设置主分单的 主单号
            originmanifestsecondary.setWaybillnomaster(awbA);
            originmanifestmaster.setWaybillnomaster(awbA);
        }

        //有分单号 更新分单
        if(awbA!=null && awbA.length()>0 && awbH!=null && awbH.length()> 0){
            //取分单号
            String[] awbhArr = awbH.split("_");
            String awbh = awbhArr[1];
            originmanifestsecondary.setWaybillnosecondary(awbh);
            //更新分单回执
            int i = originmanifestsecondaryMapper.updateRECEIPTION(originmanifestsecondary);
            //获取分单autoid
            List<Originmanifestsecondary> originmanifestsecondaryList = originmanifestsecondaryMapper.selectAutoIdByawbAawbH(originmanifestsecondary);
            if(!originmanifestsecondaryList.isEmpty()){
                Originmanifestsecondary originSecond = originmanifestsecondaryList.get(0);
                String autoId =  originSecond.getAutoid();
                //插入sendlog记录表
                log.info("即将插入日志运单号为:"+awbH+"->autoid="+autoId);
                int ii = insertSendlog("MT1201",reception,autoId);

                if (i>0 && ii>0){
                    return 1;
                }
            }
            return 0;
        }

        //处理主单格式,将海关回执的主单号58019316861,变为580-19316861
        if (awbA!=null && awbA.length()>0){
            //更新主单回执
            int i = originmanifestmasterMapper.updateRECEIPTION(originmanifestmaster);
            //获取分单autoid
            List<ORIGINMANIFESTMASTER> originmanifestmasterList = originmanifestmasterMapper.selectAutoIdByAwb(originmanifestmaster);
            if(!originmanifestmasterList.isEmpty()){
                ORIGINMANIFESTMASTER originMaster = originmanifestmasterList.get(0);
                String autoId = originMaster.getAutoid();

                //插入sendlog记录表
                log.info("即将插入日志运单号为:"+awbA+"->autoid="+autoId);
                int ii =insertSendlog("MT1201",reception,autoId);

                if (i>0 && ii>0){
                    return 1;
                }
            }
            return 0;
        }
        //未进入主分单解析 返回0 失败
        return 0;
    }


    private int insertSendlog(String type,String reception,String autoId){
        SENDLOG sendlog = new SENDLOG();
        sendlog.setAutoid(Helper.getUUID());
        sendlog.setCreatedate(new Date());
        sendlog.setMessageautoid(autoId);
        sendlog.setMessagetype(type);
        sendlog.setReceiption(reception);
        sendlog.setSendpeice(new Long(0));
        sendlog.setSendweight(new BigDecimal(0));
        int i = sendlogMapper.insertSelective(sendlog);
        if (i>0){
            log.info("插入日志成功,插入数据量为:"+i);
        }

        return i;
    }
}