ALLOCATEARRIVALServiceImp.java 3.5 KB
package com.tianbo.analysis.service.imp;

import com.tianbo.analysis.dao.ALLOCATEARRIVALMapper;
import com.tianbo.analysis.model.ALLOCATEARRIVAL;
import com.tianbo.analysis.model.CustomReception;
import com.tianbo.analysis.service.ALLOCATEARRIVALService;
import com.tianbo.analysis.service.NmmsBaseService;
import com.tianbo.analysis.tools.AWBTools;
import com.tianbo.util.Date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

/**
 * @Auther: shenhl
 * @Date: 2019/8/28 11:08
 */
@Service
@Slf4j
public class ALLOCATEARRIVALServiceImp extends NmmsBaseService implements ALLOCATEARRIVALService {

    @Autowired
    ALLOCATEARRIVALMapper allocatearrivalMapper;


    @Override
    public int insertRecept(CustomReception customReception) {
        ShareServiceImp shareServiceImp = new ShareServiceImp();

        // 发送日志 插入
        CoustomAnalysisServiceImp coustomAnalysisServiceImp = new CoustomAnalysisServiceImp();

        // 主单号
        String awbA = customReception.getWayBillMaster();
        //回执内容
        String reception = customReception.getResponseText();
        String flightDateStr = customReception.getFlightDate();
        if (!StringUtils.isEmpty(flightDateStr)) {
            Date flightDate = DateUtil.formatByyyyyMMdd(flightDateStr);


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


            }


            // 判断航班号 航班日期  是否为空
            if (flightDate != null && customReception.getFlightNo() != null){
                //处理主单格式,将海关回执的主单号58019316861,变为580-19316861
                if (awbA!=null && awbA.length()>0){

                }
            }else {

                return shareServiceImp.share("MT3202", customReception);
            }

        }

        //未进入主分单解析 返回0 失败
        return 0;
    }

    @Override
    public int master() {
        //设置主单回执、航班号、航班日期
        ALLOCATEARRIVAL allocatearrival = new ALLOCATEARRIVAL();
        allocatearrival.setReceiptinformation(reception);
        String[] flightInfo = AWBTools.splitFlight(customReception.getFlightNo());
        allocatearrival.setFlightno(flightInfo[1]);
        allocatearrival.setCarrier(flightInfo[0]);
        allocatearrival.setFlightdate(flightDate);
        //设置主分单的 主单号
        allocatearrival.setWaybillno(awbA);
        allocatearrival.setStatus(nmsStatusCode);
        //更新主单回执
        int i = allocatearrivalMapper.updateRECEIPTION(allocatearrival);
        //获取分单autoid
        List<ALLOCATEARRIVAL> arrivedmasterList = allocatearrivalMapper.selectAutoIdByAwb(allocatearrival);
        if(!arrivedmasterList.isEmpty()){
            ALLOCATEARRIVAL departuresloading1 = arrivedmasterList.get(0);
            String autoId = departuresloading1.getId();

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

            int iii = shareServiceImp.updateMessages(customReception);
            if (i>0 && ii>0 && iii > 0){
                return 1;
            }
        }
        return 0;
    }
}