yi.wang

根据申报地海关编码判断口岸

---海关编码
INSERT INTO T_BI_DICTIONARY(CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,PARENT_ID) VALUES('customsNo','海关编码','customsNo','海关编码',1,23)
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0101','PVG','PVG','PVG',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5001,'port_pvg','0101')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('2233','PEK','PEK','PEK',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5002,'port_pek','2233')
INSERT INTO T_BI_DICTIONARY_ENTRIES (CODE,CHINESE_NAME,ENGLISH_NAME,DESCRIPTION,STATUS,DICT_ID,DICT_CODE,ORDINAL,EXT2,EXT6) VALUES('0207','TSN','TSN','TSN',1,(SELECT ID FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),(SELECT CODE FROM T_BI_DICTIONARY WHERE CHINESE_NAME ='海关编码'),5003,'port_tsn','0207')
......@@ -48,6 +48,10 @@ public class Constant {
*/
public static final String PORT_TSN = "port_tsn";
/**
* 海关编码
*/
public static final String CUSTOMSNO = "customsNo";
/**
* 货源地
*/
public static Map<String,DomesticDestinationMapping> domesticDestinationMappingCache = new HashMap();
......
......@@ -251,8 +251,8 @@ public class ChmConsignmentDetail implements Serializable {
/**
* 录入品名
*/
// @Column(name = "INPUT_ITEM")
// private String inputItem;
@Column(name = "INPUT_ITEM")
private String inputItem;
@Override
......
......@@ -33,4 +33,12 @@ public interface DictionaryEntriesRepository extends JpaRepository<DictionaryEn
@Query(nativeQuery = true, value = "select ID,CODE,CHINESE_NAME,DICT_CODE,EXT2,EXT3,EXT6 from T_BI_DICTIONARY_ENTRIES where STATUS=1")
public List<DictionaryEntries> findAllDictionaryEntries();
/**
* 根据dictCode查找
* @param code
* @return
*/
@Query(nativeQuery = true, value = "SELECT * FROM T_BI_DICTIONARY_ENTRIES WHERE DICT_CODE = ?1 AND EXT6 = ?2")
public DictionaryEntries findDictionaryEntriesByDicCode(String code,String numBer);
}
......
......@@ -6,6 +6,7 @@ import com.erry.iclear.dateInterface.entity.*;
import com.erry.iclear.dateInterface.repository.ChmConsignmentDetailRepository;
import com.erry.iclear.dateInterface.repository.ChmConsignmentRepository;
import com.erry.iclear.dateInterface.util.NumberUtils;
import com.erry.iclear.dateInterface.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -123,6 +124,8 @@ public class ChmConsignmentDetailService {
result.setDomesticDestination(Objects.equals(destinationCountryDictionaryEntries,null)?"":destinationCountryDictionaryEntries.getChineseName());
}
result.setDetailId(mawbDetail.getDetailId());
//录入品名
result.setInputItem(StringUtil.isEmptyWithTrim(mawbDetail.getGname()) == true ? "" : mawbDetail.getGname());
}catch (Exception e){
log.error("convertToChmConsignmentDetail() error:"+e.getMessage());
}
......
......@@ -9,8 +9,10 @@ import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.entity.ChmConsignmentDetail;
import com.erry.iclear.dateInterface.entity.DictionaryEntries;
import com.erry.iclear.dateInterface.repository.ChmConsignmentRepository;
import com.erry.iclear.dateInterface.repository.DictionaryEntriesRepository;
import com.erry.iclear.dateInterface.util.DateUtils;
import com.erry.iclear.dateInterface.util.NumberUtils;
import com.erry.iclear.dateInterface.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
......@@ -38,6 +40,9 @@ public class ChmConsignmentService {
@Autowired
private ChmConsignmentDetailService chmConsignmentDetailService;
@Autowired
private DictionaryEntriesRepository dictionaryEntriesRepository;
/**
* 转换主单
* @return
......@@ -64,7 +69,22 @@ public class ChmConsignmentService {
//合同号
result.setContractCode(mawb.getContrNo());
//主管海关(申报地海关)
if (!StringUtil.isEmptyWithTrim(mawb.getCustomMaster())){
//wy on 2021年9月7日15:12 ,根据申报地海关编码判断口岸
result.setCustomsNo(mawb.getCustomMaster());
DictionaryEntries dictionaryEntries = dictionaryEntriesRepository.findDictionaryEntriesByDicCode(Constant.CUSTOMSNO,mawb.getCustomMaster());
if (dictionaryEntries != null){
//添加TSN口岸
DictionaryEntries portTSN = Constant.dictionaryEntriesCache.get(dictionaryEntries.getExt2());
if (!Objects.equals(portTSN,null)){
result.setPortId(portTSN);
result.setPortName(portTSN.getChineseName());
//申报口岸
result.setDeclaredPort(portTSN.getChineseName());
}
}
}
//征免性质
DictionaryEntries levyTypeDictionaryEntries = Constant.dictionaryEntriesCache.get(Constant.NATURE_EXEMPTION+mawb.getCutMode());
if(!Objects.equals(levyTypeDictionaryEntries,null)){
......@@ -201,16 +221,7 @@ public class ChmConsignmentService {
result.setConsStatusDic(transferWaybillStatusDictionaryEntries);
result.setConsStatus(transferWaybillStatusDictionaryEntries.getChineseName());
}
//添加TSN口岸
DictionaryEntries portTSN = Constant.dictionaryEntriesCache.get(Constant.PORT_TSN);
if (!Objects.equals(portTSN,null)){
result.setPortId(portTSN);
result.setPortName(portTSN.getChineseName());
}
//西门子数据都为TSN口岸,可通过口岸查询查看
if (creator.equals("IDE")){
result.setDeclaredPort("TSN");
}
//推送时间作为创建时间,可以用来校验数据的有序性,如果新的推送时间小于已有的创建时间,就不更新数据
result.setCreateTime(new Date());
result.setUpdateTime(pushTime);
......