package com.sy.service.impl; import com.sy.mapper.RESMESSAGEMapper; import com.sy.model.GatherInfo; import com.sy.model.LAND_BUSINEESTYPE_LIST_INFO; import com.sy.model.RESMESSAGE; import com.sy.service.ResMessageService; import com.sy.socket.CommandClient; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Vector; /** * @author * @time 2019-${MOUTH}-22 21:32 */ @Service public class ResMessageServiceImpl implements ResMessageService { private static final Logger logger = Logger.getLogger(ResMessageServiceImpl.class); private static String FANGXING="-等运单未放行"; private static String AWB_EMPTY="未申请装载运单"; @Autowired private RESMESSAGEMapper mapper; @Override public int saveEnter(RESMESSAGE resmessage){ return mapper.insertSelective(resmessage); } @Override public RESMESSAGE selectByManifest(String manifest){ return mapper.selectByManifest(manifest); } @Override public List<RESMESSAGE> selectByManifestList(String[] manifest) { return mapper.selectByManifestList(manifest); } @Override public boolean checkManifestRelease(GatherInfo info, List<LAND_BUSINEESTYPE_LIST_INFO> list_infos) { List<String> noRelease = new Vector<>(); if (list_infos.size() < 1) { CommandClient.Client(info, AWB_EMPTY); return false; } logger.info("运单列表:" + toStrArry(list_infos)); boolean flag = false; List<RESMESSAGE> list = selectByManifestList(toStrArry(list_infos)); if (list.size() == toStrArry(list_infos).length) { flag = true; }else{ //返回未放行的运单列表 if (toStrArry(list_infos).length>0){ for (String awb : toStrArry(list_infos)) { boolean anyMatch = list.stream().anyMatch(resmessage -> { return resmessage.getManifest().equals(awb); }); if (!anyMatch){ noRelease.add(awb); } } if (!noRelease.isEmpty()) { logger.info(Arrays.toString(noRelease.toArray())+FANGXING); CommandClient.Client(info, Arrays.toString(noRelease.toArray())+FANGXING); } } } return flag; } public static String[] toStrArry(List<LAND_BUSINEESTYPE_LIST_INFO> list_infos){ List<String> manifestList=new ArrayList<String>(); for(LAND_BUSINEESTYPE_LIST_INFO land:list_infos){ manifestList.add(land.getAwba().replace("-","")); } //manifestList = manifestList.replace("-", "").replace(",", ","); String[] maifest = manifestList.toArray(new String[manifestList.size()]); return maifest; } }