PREPAREMASTERServiceImp.java 4.2 KB
package com.tianbo.analysis.service.imp;

import com.tianbo.analysis.dao.PREPAREMASTERMapper;
import com.tianbo.analysis.dao.PREPARESECONDARYMapper;
import com.tianbo.analysis.model.PREPAREMASTER;
import com.tianbo.analysis.model.PREPARESECONDARY;
import com.tianbo.analysis.model.NmmsBase;
import com.tianbo.analysis.service.PREPAREMASTERService;
import com.tianbo.analysis.tools.AWBTools;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Auther: shenhl
 * @Date: 2019/8/26 15:29
 */
@Service
@Slf4j
@Async
public class PREPAREMASTERServiceImp extends NmmsBase implements PREPAREMASTERService {

    @Autowired
    PREPAREMASTERMapper preparemasterMapper;

    @Autowired
    PREPARESECONDARYMapper preparesecondaryMapper;

    /**
     * 入库分单回执信息
     * @return 成功返回1,失败返回0。
     */
    @Override
    public int second() {
        // 设置 接收运抵分单  回执
        PREPARESECONDARY preparesecondary = new PREPARESECONDARY();
        preparesecondary.setReceiptinformation(reception);
        String[] flightInfo = AWBTools.splitFlight(customReception.getFlightNo());
        preparesecondary.setFlightno(flightInfo[1]);
        preparesecondary.setCarrier(flightInfo[0]);
        preparesecondary.setFlightdate(flightDate);
        //设置主分单的 主单号
        preparesecondary.setWaybillnomaster(awbA);
//取分单号
        String[] awbhArr = awbH.split("_");
        String awbh = awbhArr[1];
        preparesecondary.setWaybillnosecondary(awbh);
        preparesecondary.setStatus(nmsStatusCode);
        //更新分单回执
        int i = preparesecondaryMapper.updateRECEIPTION(preparesecondary);
        //获取分单autoid
        List<PREPARESECONDARY> arrivedsecondaryList = preparesecondaryMapper.selectAutoIdByawbAawbH(preparesecondary);
        if(!arrivedsecondaryList.isEmpty()){
            PREPARESECONDARY preparesecondary1 = arrivedsecondaryList.get(0);
            String autoId = preparesecondary1.getAutoid();
            //插入sendlog记录表
            log.info("即将插入日志运单号为:"+awbH+"->autoid="+autoId);
            int ii = coustomAnalysisServiceImp.insertSendlog(customReception.getMessageType(),reception,autoId);

            int iii = shareServiceImp.updateMessages(customReception);
            if (i>0 && ii>0){
                log.info("运单号 {} 原始回执更新成功",awbH);
                return 1;
            }
            if (iii > 0){
                return 1;
            }
        }
        return 0;

    }

    /**
     * 入库分单回执信息
     * @return 成功返回1,失败返回0。
     */
    @Override
    public int master() {
        //设置主单回执、航班号、航班日期
        PREPAREMASTER preparemaster = new PREPAREMASTER();
        preparemaster.setReceiptinformation(reception);
        String[] flightInfo = AWBTools.splitFlight(customReception.getFlightNo());
        preparemaster.setFlightno(flightInfo[1]);
        preparemaster.setCarrier(flightInfo[0]);
        preparemaster.setFlightdate(flightDate);
        preparemaster.setWaybillnomaster(awbA);
        preparemaster.setStatus(nmsStatusCode);
        //更新主单回执
        int i = preparemasterMapper.updateRECEIPTION(preparemaster);
        //获取分单autoid
        List<PREPAREMASTER> arrivedmasterList = preparemasterMapper.selectAutoIdByAwb(preparemaster);
        if(!arrivedmasterList.isEmpty()){
            PREPAREMASTER originMaster = arrivedmasterList.get(0);
            String autoId = originMaster.getAutoid();

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

            int iii = shareServiceImp.updateMessages(customReception);
            if (i>0 && ii>0){
                log.info("运单号 {} 原始回执更新成功",awbA);
                return 1;
            }
            if (iii > 0){
                return 1;
            }
        }
        return 0;
    }
}